Project
Loading...
Searching...
No Matches
o2::tpc::SAMPAProcessing Class Reference

#include <SAMPAProcessing.h>

Public Member Functions

 ~SAMPAProcessing ()=default
 Destructor.
 
void updateParameters (float vdrift=0)
 Update the OCDB parameters cached in the class. To be called once per event.
 
template<typename T >
getADCvalue (T nElectrons) const
 
float getADCSaturation (const float signal) const
 
template<DigitzationMode MODE>
float makeSignal (float ADCcounts, const int sector, const int globalPadInSector, const float commonMode, float &pedestal, float &noise, float tot=0)
 
void getShapedSignal (float ADCsignal, float driftTime, std::vector< float > &signalArray) const
 
template<typename T >
getGamma4 (T time, T startTime, T ADC) const
 
TimeBin getTimeBin (float zPos) const
 
float getZfromTimeBin (float timeBin, Side s) const
 
TimeBin getTimeBinFromTime (float time) const
 
float getTimeFromBin (TimeBin timeBin) const
 
float getTimeBinTime (float time) const
 
float getNoise (const int sector, const int globalPadInSector)
 
float getZeroSuppression (const int sector, const int globalPadInSector) const
 Get the zero suppression threshold for a given channel.
 
float getPedestal (const int sector, const int globalPadInSector) const
 
float getPedestalCRU (const int sector, const int globalPadInSector) const
 

Static Public Member Functions

static SAMPAProcessinginstance ()
 

Detailed Description

This class takes care of the signal processing in the Front-End Cards (FECs), i.e. the shaping and the digitization Further effects such as saturation of the FECs are implemented.

Definition at line 40 of file SAMPAProcessing.h.

Constructor & Destructor Documentation

◆ ~SAMPAProcessing()

o2::tpc::SAMPAProcessing::~SAMPAProcessing ( )
default

Destructor.

Member Function Documentation

◆ getADCSaturation()

float o2::tpc::SAMPAProcessing::getADCSaturation ( const float  signal) const
inline

For larger input values the SAMPA response is not linear which is taken into account by this function

Parameters
signalInput signal
Returns
ADC value of the (saturated) SAMPA

Definition at line 221 of file SAMPAProcessing.h.

◆ getADCvalue()

template<typename T >
T o2::tpc::SAMPAProcessing::getADCvalue ( nElectrons) const
inline

Conversion from a given number of electrons into ADC value without taking into account saturation (vectorized)

Parameters
nElectronsNumber of electrons in time bin
Returns
ADC value

Definition at line 150 of file SAMPAProcessing.h.

◆ getGamma4()

template<typename T >
T o2::tpc::SAMPAProcessing::getGamma4 ( time,
startTime,
ADC 
) const
inline

Value of the Gamma4 shaping function at a given time (vectorized)

Parameters
timeTime of the ADC value with respect to the first bin in the pulse
startTimeFirst bin in the pulse
ADCADC value of the corresponding time bin

55 is for normalization: 1/Integral(Gamma4)

Definition at line 231 of file SAMPAProcessing.h.

◆ getNoise()

float o2::tpc::SAMPAProcessing::getNoise ( const int  sector,
const int  globalPadInSector 
)
inline

Get the noise for a given channel

Parameters
sectorsector number
globalPadInSectorpad number in sector
Returns
Noise on the channel of interest

Definition at line 278 of file SAMPAProcessing.h.

◆ getPedestal()

float o2::tpc::SAMPAProcessing::getPedestal ( const int  sector,
const int  globalPadInSector 
) const
inline

Get the pedestal for a given channel

Parameters
sectorsector number
globalPadInSectorpad number in sector
Returns
Pedestal of the channel of interest

Definition at line 288 of file SAMPAProcessing.h.

◆ getPedestalCRU()

float o2::tpc::SAMPAProcessing::getPedestalCRU ( const int  sector,
const int  globalPadInSector 
) const
inline

Get the pedestal for a given channel as used in the CRU with 10+2bit precision

Parameters
sectorsector number
globalPadInSectorpad number in sector
Returns
Pedestal of the channel of interest

Definition at line 293 of file SAMPAProcessing.h.

◆ getShapedSignal()

void SAMPAProcessing::getShapedSignal ( float  ADCsignal,
float  driftTime,
std::vector< float > &  signalArray 
) const

A delta signal is shaped by the FECs and thus spread over several time bins This function returns an array with the signal spread into the following time bins

Parameters
ADCsignalSignal of the incoming charge
driftTimet0 of the incoming charge
Returns
Array with the shaped signal
Todo:
the size of the array should be retrieved from ParameterElectronics::getNShapedPoints()

Definition at line 45 of file SAMPAProcessing.cxx.

◆ getTimeBin()

TimeBin o2::tpc::SAMPAProcessing::getTimeBin ( float  zPos) const
inline

Compute time bin from z position

Parameters
zPosz position of the charge
Returns
Time bin of the charge

Definition at line 248 of file SAMPAProcessing.h.

◆ getTimeBinFromTime()

TimeBin o2::tpc::SAMPAProcessing::getTimeBinFromTime ( float  time) const
inline

Compute time bin from time

Parameters
timetime of the charge
Returns
Time bin of the charge

Definition at line 259 of file SAMPAProcessing.h.

◆ getTimeBinTime()

float o2::tpc::SAMPAProcessing::getTimeBinTime ( float  time) const
inline

Compute the time of a given time bin

Parameters
timeTime of the charge
Returns
Time of the time bin of the charge

Definition at line 273 of file SAMPAProcessing.h.

◆ getTimeFromBin()

float o2::tpc::SAMPAProcessing::getTimeFromBin ( TimeBin  timeBin) const
inline

Compute time from time bin

Parameters
timeBintime bin of the charge
Returns
Time of the charge

Definition at line 268 of file SAMPAProcessing.h.

◆ getZeroSuppression()

float o2::tpc::SAMPAProcessing::getZeroSuppression ( const int  sector,
const int  globalPadInSector 
) const
inline

Get the zero suppression threshold for a given channel.

Definition at line 283 of file SAMPAProcessing.h.

◆ getZfromTimeBin()

float o2::tpc::SAMPAProcessing::getZfromTimeBin ( float  timeBin,
Side  s 
) const
inline

Compute z position from time bin

Parameters
Timebin of the charge
Sideof the TPC
Returns
zPos z position of the charge

Definition at line 253 of file SAMPAProcessing.h.

◆ instance()

static SAMPAProcessing & o2::tpc::SAMPAProcessing::instance ( )
inlinestatic

Definition at line 43 of file SAMPAProcessing.h.

◆ makeSignal()

template<DigitzationMode MODE>
float o2::tpc::SAMPAProcessing::makeSignal ( float  ADCcounts,
const int  sector,
const int  globalPadInSector,
const float  commonMode,
float &  pedestal,
float &  noise,
float  tot = 0 
)
inline

Make the full signal including noise and pedestals from the OCDB

Parameters
ADCcountsADC value of the signal (common mode already subtracted)
sectorSector number
globalPadInSectorglobal pad number in the sector
commonModevalue of the common mode
Returns
ADC value after application of noise, pedestal and saturation

Definition at line 158 of file SAMPAProcessing.h.

◆ updateParameters()

void SAMPAProcessing::updateParameters ( float  vdrift = 0)

Update the OCDB parameters cached in the class. To be called once per event.

Definition at line 32 of file SAMPAProcessing.cxx.


The documentation for this class was generated from the following files: