Project
Loading...
Searching...
No Matches
o2::emcal::PedestalProcessorData Class Reference

Exchange container between PedestalProcessorDevice and PedestalAggregatorDevice. More...

#include <PedestalProcessorData.h>

Classes

class  ChannelIndexException
 Handling access to invalid channel index (out-of-bounds) More...
 

Public Types

using ProfileHistFEC = std::array< o2::math_utils::StatAccumulator, 17664 >
 
using ProfileHistLEDMON = std::array< o2::math_utils::StatAccumulator, 480 >
 
using PedestalValue = std::tuple< double, double >
 

Public Member Functions

 PedestalProcessorData ()=default
 Constructor.
 
 ~PedestalProcessorData ()=default
 Destructor.
 
PedestalProcessorDataoperator+= (const PedestalProcessorData &other)
 Accumulation operator.
 
void fillADC (unsigned short adc, unsigned short tower, bool lowGain, bool LEDMON)
 Fill ADC value for certain channel.
 
PedestalValue getValue (unsigned short tower, bool lowGain, bool LEDMON) const
 Get mean ADC and RMS for a certain channel.
 
int getEntriesForChannel (unsigned short tower, bool lowGain, bool LEDMON) const
 Get number of entries for a certain channel.
 
void reset ()
 Reset object.
 
const ProfileHistFECaccessFECData (bool lowGain) const
 Provide access to accumulated data for FEC channels.
 
const ProfileHistLEDMONaccessLEDMONData (bool lowGain) const
 Provide access to accumulated data for LEDMON channels.
 

Detailed Description

Exchange container between PedestalProcessorDevice and PedestalAggregatorDevice.

Author
Markus Fasel marku.nosp@m.s.fa.nosp@m.sel@c.nosp@m.ern..nosp@m.ch, Oak Ridge National Laboratory
Since
March 22, 2024

Object containing arrays of stat accumulators that behave like flat profile histograms calculating mean and RMS of a set of ADC values. Corresponding arrays are used for both FEC and LEDMON channels, and in both cases for high and low gain. Distinction between channel and gain type is done via arguments in the fill and get functions, always defining the true cases with LEDMON and low gain.

Definition at line 36 of file PedestalProcessorData.h.

Member Typedef Documentation

◆ PedestalValue

using o2::emcal::PedestalProcessorData::PedestalValue = std::tuple<double, double>

Definition at line 76 of file PedestalProcessorData.h.

◆ ProfileHistFEC

◆ ProfileHistLEDMON

Constructor & Destructor Documentation

◆ PedestalProcessorData()

o2::emcal::PedestalProcessorData::PedestalProcessorData ( )
default

Constructor.

◆ ~PedestalProcessorData()

o2::emcal::PedestalProcessorData::~PedestalProcessorData ( )
default

Destructor.

Member Function Documentation

◆ accessFECData()

const ProfileHistFEC & o2::emcal::PedestalProcessorData::accessFECData ( bool  lowGain) const
inline

Provide access to accumulated data for FEC channels.

Parameters
lowGainLow gain data
Returns
Accumulated data for low gain (if lowGain) or high gain

Definition at line 124 of file PedestalProcessorData.h.

◆ accessLEDMONData()

const ProfileHistLEDMON & o2::emcal::PedestalProcessorData::accessLEDMONData ( bool  lowGain) const
inline

Provide access to accumulated data for LEDMON channels.

Parameters
lowGainLow gain data
Returns
Accumulated data for low gain (if lowGain) or high gain

Definition at line 129 of file PedestalProcessorData.h.

◆ fillADC()

void PedestalProcessorData::fillADC ( unsigned short  adc,
unsigned short  tower,
bool  lowGain,
bool  LEDMON 
)

Fill ADC value for certain channel.

Parameters
adcADC value
towerAbsolute tower ID
lowGainSwitch between low and high gain (true = low gain)
LEDMONSwitch between LEDMON and FEE data (true = LEDMON)
Exceptions
ChannelIndexExceptionfor channel index out-of-range

Definition at line 30 of file PedestalProcessorData.cxx.

◆ getEntriesForChannel()

int PedestalProcessorData::getEntriesForChannel ( unsigned short  tower,
bool  lowGain,
bool  LEDMON 
) const

Get number of entries for a certain channel.

Parameters
towerAbsolute tower ID
lowGainSwitch between low and high gain (true = low gain)
LEDMONSwitch between LEDMON and FEE data (true = LEDMON)
Returns
Number of entries
Exceptions
ChannelIndexExceptionfor channel index out-of-range

Definition at line 73 of file PedestalProcessorData.cxx.

◆ getValue()

PedestalProcessorData::PedestalValue PedestalProcessorData::getValue ( unsigned short  tower,
bool  lowGain,
bool  LEDMON 
) const

Get mean ADC and RMS for a certain channel.

Parameters
towerAbsolute tower ID
lowGainSwitch between low and high gain (true = low gain)
LEDMONSwitch between LEDMON and FEE data (true = LEDMON)
Returns
std::tuple with mean and rms of the ADC distribution for the given channl
Exceptions
ChannelIndexExceptionfor channel index out-of-range

Definition at line 51 of file PedestalProcessorData.cxx.

◆ operator+=()

PedestalProcessorData & PedestalProcessorData::operator+= ( const PedestalProcessorData other)

Accumulation operator.

Parameters
otherObject to add to this object
Returns
This object after accumulation

Adding stat. accumulators for all channels to this object. The state of this object is modified.

Definition at line 17 of file PedestalProcessorData.cxx.

◆ reset()

void PedestalProcessorData::reset ( )

Reset object.

Set all stat accumulators to 0.

Definition at line 95 of file PedestalProcessorData.cxx.


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