ATLAS Offline Software
RPDDataAnalyzer.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ZDCANALYSIS_RPDDataAnalyzer_h
6 #define ZDCANALYSIS_RPDDataAnalyzer_h
7 
8 #include <string>
9 #include <vector>
10 #include <functional>
11 #include <bitset>
12 
13 #include "ZdcAnalysis/ZDCMsg.h"
14 
17 
18 struct RPDConfig {
19  unsigned int nRows;
20  unsigned int nColumns;
21  unsigned int nSamples;
22  unsigned int nBaselineSamples;
23  unsigned int endSignalSample;
26  unsigned int goodPulseSampleStart;
27  unsigned int goodPulseSampleStop;
28  unsigned int nominalBaseline;
31  unsigned int nNegativesAllowed;
32  unsigned int AdcOverflow;
33 };
34 
36 {
37  public:
38  enum {
39  ValidBit = 0, // analysis and output are valid
40  OutOfTimePileupBit = 1, // OOT detected, pileup subtraction attempted
41  OverflowBit = 2, // overflow detected => invalid
42  PrePulseBit = 3, // pulse detected before expected range => invalid
43  PostPulseBit = 4, // pulse detected after expected range => invalid
44  NoPulseBit = 5, // no pulse detected => invalid
45  BadAvgBaselineSubtrBit = 6, // subtraction of avg. of baseline samples yielded too many negatives => invalid
46  InsufficientPileupFitPointsBit = 7, // baseline samples indicate pileup, but there are not enough points to perform fit -> nominal baseline used without pileup subtraction
47  PileupStretchedExpFitFailBit = 8, // fit to stretched exponential failed -> fallback to exponential fit
48  PileupStretchedExpGrowthBit = 9, // fit to stretched exponential does not decay -> fallback to exponential fit
49  PileupBadStretchedExpSubtrBit = 10, // subtraction of stretched exponential fit yielded too many negatives -> fallback to exponential fit
50  PileupExpFitFailBit = 11, // fit to exponential failed => invalid IF stretched exponential fit is also bad
51  PileupExpGrowthBit = 12, // fit to exponential does not decay => invalid IF stretched exponential fit is also bad
52  PileupBadExpSubtrBit = 13, // subtraction of stretched exponential yielded too many negatives => invalid IF stretched exponential fit is also bad
53  PileupStretchedExpPulseLikeBit = 14, // fit to stretched exponential probably looks more like a pulse than pileup
54  };
55 
56  RPDDataAnalyzer(ZDCMsg::MessageFunctionPtr messageFunc_p, const std::string& tag, const RPDConfig& config, std::vector<float> const& calibFactors);
57 
58  virtual ~RPDDataAnalyzer() = default;
59 
60  void loadChannelData(unsigned int channel, const std::vector<uint16_t>& FadcData);
61  void analyzeData();
62 
63  unsigned int getChMaxSample(unsigned int channel) const;
64  float getChSumAdc(unsigned int channel) const;
65  float getChSumAdcCalib(unsigned int channel) const;
66  float getChMaxAdc(unsigned int channel) const;
67  float getChMaxAdcCalib(unsigned int channel) const;
68  float getChPileupFrac(unsigned int channel) const;
69  float getChBaseline(unsigned int channel) const;
70  const std::vector<float>& getChPileupExpFitParams(unsigned int channel) const;
71  const std::vector<float>& getChPileupStretchedExpFitParams(unsigned int channel) const;
72  const std::vector<float>& getChPileupExpFitParamErrs(unsigned int channel) const;
73  const std::vector<float>& getChPileupStretchedExpFitParamErrs(unsigned int channel) const;
74  float getChPileupExpFitMSE(unsigned int channel) const;
75  float getChPileupStretchedExpFitMSE(unsigned int channel) const;
76 
77  unsigned int getChStatus(unsigned int channel) const;
78  unsigned int getSideStatus() const;
79 
80  void reset();
81 
82  private:
83  bool checkOverflow(unsigned int channel);
84  bool checkPulses(unsigned int channel);
85  unsigned int countSignalRangeNegatives(std::vector<float> const& values) const;
86  bool doBaselinePileupSubtraction(unsigned int channel);
87  void calculateMaxSampleMaxAdc(unsigned int channel);
88  void calculateSumAdc(unsigned int channel);
89 
90  void setSideStatusBits();
91 
92  bool doPileupExpFit(unsigned int channel, std::vector<std::pair<unsigned int, float>> const& pileupFitPoints);
93  bool doPileupStretchedExpFit(unsigned int channel, std::vector<std::pair<unsigned int, float>> const& pileupFitPoints);
94  float calculateBaselineSamplesMSE(unsigned int channel, std::function<float(unsigned int)> const& fit) const;
95 
97  std::string m_tag;
98  unsigned int m_nRows;
99  unsigned int m_nColumns;
100  unsigned int m_nChannels;
101  unsigned int m_nChannelsLoaded = 0;
102  unsigned int m_nSamples;
103  unsigned int m_nBaselineSamples;
104  unsigned int m_endSignalSample;
107  unsigned int m_goodPulseSampleStart;
108  unsigned int m_goodPulseSampleStop;
109  unsigned int m_nominalBaseline;
112  unsigned int m_nNegativesAllowed;
113  unsigned int m_AdcOverflow;
114  std::vector<float> m_outputCalibFactors;
116  std::vector<std::vector<float>> m_chFadcData;
117  std::vector<std::vector<float>> m_chCorrectedFadcData;
118  std::vector<float> m_chMaxSample;
119  std::vector<float> m_chSumAdc;
120  std::vector<float> m_chSumAdcCalib;
121  std::vector<float> m_chMaxAdc;
122  std::vector<float> m_chMaxAdcCalib;
123  std::vector<float> m_chPileupFrac;
124  std::vector<float> m_chBaseline;
125  std::vector<std::vector<float>> m_chPileupExpFitParams;
126  std::vector<std::vector<float>> m_chPileupStretchedExpFitParams;
127  std::vector<std::vector<float>> m_chPileupExpFitParamErrs;
128  std::vector<std::vector<float>> m_chPileupStretchedExpFitParamErrs;
129  std::vector<bool> m_chPileupFuncType;
130  std::vector<std::function<float(unsigned int)>> m_chExpPileupFuncs;
131  std::vector<std::function<float(unsigned int)>> m_ch2ndOrderStretchedExpPileupFuncs;
132  std::vector<float> m_chExpPileupMSE;
134  std::vector<std::bitset<32>> m_chStatus;
135  std::bitset<32> m_sideStatus;
143  static unsigned int constexpr s_minPileupFitPoints = 3;
144 };
145 #endif
RPDDataAnalyzer::analyzeData
void analyzeData()
Analyze RPD data.
Definition: RPDDataAnalyzer.cxx:450
RPDDataAnalyzer::m_chPileupStretchedExpFitParamErrs
std::vector< std::vector< float > > m_chPileupStretchedExpFitParamErrs
parameter errors for pileup exponential fit (if pileup was detected and fit did not fail); per channe...
Definition: RPDDataAnalyzer.h:128
RPDDataAnalyzer::getChPileupStretchedExpFitParams
const std::vector< float > & getChPileupStretchedExpFitParams(unsigned int channel) const
Get parameters for pileup stretched exponential fit (if pileup was detected and fit did not fail): ex...
Definition: RPDDataAnalyzer.cxx:547
RPDDataAnalyzer::PileupStretchedExpPulseLikeBit
@ PileupStretchedExpPulseLikeBit
Definition: RPDDataAnalyzer.h:53
RPDDataAnalyzer::m_chSumAdc
std::vector< float > m_chSumAdc
sample of max of RPD data in signal range after pileup subtraction; per channel
Definition: RPDDataAnalyzer.h:119
RPDDataAnalyzer::InsufficientPileupFitPointsBit
@ InsufficientPileupFitPointsBit
Definition: RPDDataAnalyzer.h:46
RPDDataAnalyzer::getChMaxAdc
float getChMaxAdc(unsigned int channel) const
Get max of RPD data in signal range after baseline and pileup subtraction.
Definition: RPDDataAnalyzer.cxx:509
RPDDataAnalyzer::m_chMaxAdcCalib
std::vector< float > m_chMaxAdcCalib
max of RPD data in signal range after baseline and pileup subtraction; per channel
Definition: RPDDataAnalyzer.h:122
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:28
RPDConfig::postPulseFracThresh
float postPulseFracThresh
Definition: RPDDataAnalyzer.h:25
RPDDataAnalyzer::m_pileupBaselineSumThresh
float m_pileupBaselineSumThresh
The global nominal baseline; used when pileup is detected.
Definition: RPDDataAnalyzer.h:110
RPDDataAnalyzer::m_nNegativesAllowed
unsigned int m_nNegativesAllowed
Baseline standard deviations less than this number indicate there is not pileup.
Definition: RPDDataAnalyzer.h:112
RPDDataAnalyzer::m_chPileupStretchedExpFitParams
std::vector< std::vector< float > > m_chPileupStretchedExpFitParams
parameters for pileup exponential fit (if pileup was detected and fit did not fail): exp( [0] + [1]*s...
Definition: RPDDataAnalyzer.h:126
RPDDataAnalyzer::calculateMaxSampleMaxAdc
void calculateMaxSampleMaxAdc(unsigned int channel)
Calculate max ADC and max sample.
Definition: RPDDataAnalyzer.cxx:356
RPDDataAnalyzer::getChStatus
unsigned int getChStatus(unsigned int channel) const
Get status word for channel.
Definition: RPDDataAnalyzer.cxx:582
RPDDataAnalyzer::BadAvgBaselineSubtrBit
@ BadAvgBaselineSubtrBit
Definition: RPDDataAnalyzer.h:45
RPDDataAnalyzer::m_nColumns
unsigned int m_nColumns
Definition: RPDDataAnalyzer.h:99
RPDDataAnalyzer::getChPileupStretchedExpFitParamErrs
const std::vector< float > & getChPileupStretchedExpFitParamErrs(unsigned int channel) const
Get parameter errors for pileup stretched exponential fit (if pileup was detected and fit did not fai...
Definition: RPDDataAnalyzer.cxx:561
RPDDataAnalyzer::m_chSumAdcCalib
std::vector< float > m_chSumAdcCalib
sum of RPD data in signal range after baseline and pileup subtraction; per channel
Definition: RPDDataAnalyzer.h:120
RPDDataAnalyzer::m_chBaseline
std::vector< float > m_chBaseline
OOT pileup sum as a fraction of non-pileup sum in entire window (0 if no OOT pileup,...
Definition: RPDDataAnalyzer.h:124
RPDDataAnalyzer::reset
void reset()
Reset all member variables to default values.
Definition: RPDDataAnalyzer.cxx:85
RPDDataAnalyzer::m_sideStatus
std::bitset< 32 > m_sideStatus
status bits per channel
Definition: RPDDataAnalyzer.h:135
RPDDataAnalyzer::m_outputCalibFactors
std::vector< float > m_outputCalibFactors
ADC values greater than or equal to this number are considered overflow.
Definition: RPDDataAnalyzer.h:114
RPDDataAnalyzer::m_chPileupExpFitParams
std::vector< std::vector< float > > m_chPileupExpFitParams
baseline used in baseline subtraction; per channel
Definition: RPDDataAnalyzer.h:125
RPDDataAnalyzer::~RPDDataAnalyzer
virtual ~RPDDataAnalyzer()=default
RPDDataAnalyzer::getChMaxAdcCalib
float getChMaxAdcCalib(unsigned int channel) const
Get max of RPD data in signal range after baseline and pileup subtraction, with output calibration fa...
Definition: RPDDataAnalyzer.cxx:517
RPDConfig::nNegativesAllowed
unsigned int nNegativesAllowed
Definition: RPDDataAnalyzer.h:31
RPDDataAnalyzer::getChMaxSample
unsigned int getChMaxSample(unsigned int channel) const
Get sample of max of RPD data in signal range after pileup subtraction.
Definition: RPDDataAnalyzer.cxx:485
RPDConfig::goodPulseSampleStop
unsigned int goodPulseSampleStop
Definition: RPDDataAnalyzer.h:27
RPDDataAnalyzer::m_nRows
unsigned int m_nRows
Definition: RPDDataAnalyzer.h:98
ATLAS_NO_CHECK_FILE_THREAD_SAFETY
ATLAS_NO_CHECK_FILE_THREAD_SAFETY
Definition: RPDDataAnalyzer.h:16
RPDDataAnalyzer::m_chPileupFrac
std::vector< float > m_chPileupFrac
max of RPD data in signal range after baseline and pileup subtraction, with output calibration factor...
Definition: RPDDataAnalyzer.h:123
RPDDataAnalyzer::PrePulseBit
@ PrePulseBit
Definition: RPDDataAnalyzer.h:42
RPDDataAnalyzer::countSignalRangeNegatives
unsigned int countSignalRangeNegatives(std::vector< float > const &values) const
Calculate the number of negative values in signal range.
Definition: RPDDataAnalyzer.cxx:264
RPDDataAnalyzer::getChSumAdc
float getChSumAdc(unsigned int channel) const
Get sum of RPD data in signal range after baseline and pileup subtraction.
Definition: RPDDataAnalyzer.cxx:493
RPDConfig::nominalBaseline
unsigned int nominalBaseline
Definition: RPDDataAnalyzer.h:28
config
Definition: PhysicsAnalysis/AnalysisCommon/AssociationUtils/python/config.py:1
python.Bindings.values
values
Definition: Control/AthenaPython/python/Bindings.py:797
RPDDataAnalyzer::RPDDataAnalyzer
RPDDataAnalyzer(ZDCMsg::MessageFunctionPtr messageFunc_p, const std::string &tag, const RPDConfig &config, std::vector< float > const &calibFactors)
Definition: RPDDataAnalyzer.cxx:12
RPDDataAnalyzer::getChSumAdcCalib
float getChSumAdcCalib(unsigned int channel) const
Get sum of RPD data in signal range after baseline and pileup subtraction, with output calibration fa...
Definition: RPDDataAnalyzer.cxx:501
RPDDataAnalyzer::loadChannelData
void loadChannelData(unsigned int channel, const std::vector< uint16_t > &FadcData)
Load a single channel's FADC data into member variable.
Definition: RPDDataAnalyzer.cxx:71
RPDDataAnalyzer::NoPulseBit
@ NoPulseBit
Definition: RPDDataAnalyzer.h:44
RPDDataAnalyzer::m_chCorrectedFadcData
std::vector< std::vector< float > > m_chCorrectedFadcData
raw RPD data; index channel then sample
Definition: RPDDataAnalyzer.h:117
RPDDataAnalyzer::PileupStretchedExpGrowthBit
@ PileupStretchedExpGrowthBit
Definition: RPDDataAnalyzer.h:48
RPDDataAnalyzer::m_AdcOverflow
unsigned int m_AdcOverflow
Maximum number of negative ADC values after baseline and pileup subtraction allowed in signal range.
Definition: RPDDataAnalyzer.h:113
RPDDataAnalyzer::getChPileupStretchedExpFitMSE
float getChPileupStretchedExpFitMSE(unsigned int channel) const
Get mean squared error of pileup stretched exponential fit in baseline samples (if pileup was detecte...
Definition: RPDDataAnalyzer.cxx:575
RPDDataAnalyzer::m_chExpPileupMSE
std::vector< float > m_chExpPileupMSE
pileup stretched exponential fit function (if pileup was detected and fit did not fail); per channel
Definition: RPDDataAnalyzer.h:132
RPDDataAnalyzer::m_chMaxAdc
std::vector< float > m_chMaxAdc
sum of RPD data in signal range after baseline and pileup subtraction, with output calibration factor...
Definition: RPDDataAnalyzer.h:121
RPDDataAnalyzer::calculateSumAdc
void calculateSumAdc(unsigned int channel)
Calculate sum ADC and if there is pileup, calculate fractional pileup.
Definition: RPDDataAnalyzer.cxx:381
RPDDataAnalyzer::calculateBaselineSamplesMSE
float calculateBaselineSamplesMSE(unsigned int channel, std::function< float(unsigned int)> const &fit) const
Calculate the mean squared error of the fit function in the baseline samples.
Definition: RPDDataAnalyzer.cxx:182
RPDDataAnalyzer::m_ch2ndOrderStretchedExpPileupMSE
std::vector< float > m_ch2ndOrderStretchedExpPileupMSE
mean squared error of pileup exponential fit in baseline samples (if pileup was detected and fit did ...
Definition: RPDDataAnalyzer.h:133
RPDConfig::nSamples
unsigned int nSamples
Definition: RPDDataAnalyzer.h:21
RPDDataAnalyzer::getChPileupExpFitParamErrs
const std::vector< float > & getChPileupExpFitParamErrs(unsigned int channel) const
Get parameter errors for pileup exponential fit (if pileup was detected and fit did not fail).
Definition: RPDDataAnalyzer.cxx:554
RPDDataAnalyzer
Definition: RPDDataAnalyzer.h:36
RPDDataAnalyzer::m_chPileupFuncType
std::vector< bool > m_chPileupFuncType
parameter errors for pileup stretched exponential fit (if pileup was detected and fit did not fail); ...
Definition: RPDDataAnalyzer.h:129
RPDDataAnalyzer::m_goodPulseSampleStart
unsigned int m_goodPulseSampleStart
If there is a good pulse and post-pulse and size of post-pulse as a fraction of good pulse is less th...
Definition: RPDDataAnalyzer.h:107
RPDDataAnalyzer::m_goodPulseSampleStop
unsigned int m_goodPulseSampleStop
Pulses before this sample are considered pre-pulses.
Definition: RPDDataAnalyzer.h:108
RPDDataAnalyzer::getChPileupExpFitMSE
float getChPileupExpFitMSE(unsigned int channel) const
Get mean squared error of pileup exponential fit in baseline samples (if pileup was detected and fit ...
Definition: RPDDataAnalyzer.cxx:568
RPDConfig::goodPulseSampleStart
unsigned int goodPulseSampleStart
Definition: RPDDataAnalyzer.h:26
RPDDataAnalyzer::setSideStatusBits
void setSideStatusBits()
Set side status bits according to channel status bits.
Definition: RPDDataAnalyzer.cxx:425
RPDConfig::pulse2ndDerivThresh
float pulse2ndDerivThresh
Definition: RPDDataAnalyzer.h:24
RPDDataAnalyzer::ValidBit
@ ValidBit
Definition: RPDDataAnalyzer.h:39
RPDConfig::nColumns
unsigned int nColumns
Definition: RPDDataAnalyzer.h:20
RPDDataAnalyzer::doPileupStretchedExpFit
bool doPileupStretchedExpFit(unsigned int channel, std::vector< std::pair< unsigned int, float >> const &pileupFitPoints)
Perform a stretched exponential fit in baseline-subtracted baseline samples and set relevant status b...
Definition: RPDDataAnalyzer.cxx:227
RPDDataAnalyzer::m_nChannelsLoaded
unsigned int m_nChannelsLoaded
Definition: RPDDataAnalyzer.h:101
RPDDataAnalyzer::checkOverflow
bool checkOverflow(unsigned int channel)
Check for overflow and set relevant status bit.
Definition: RPDDataAnalyzer.cxx:123
RPDConfig::endSignalSample
unsigned int endSignalSample
Definition: RPDDataAnalyzer.h:23
RPDDataAnalyzer::PileupExpGrowthBit
@ PileupExpGrowthBit
Definition: RPDDataAnalyzer.h:51
RPDDataAnalyzer::PileupExpFitFailBit
@ PileupExpFitFailBit
Definition: RPDDataAnalyzer.h:50
RPDDataAnalyzer::PileupStretchedExpFitFailBit
@ PileupStretchedExpFitFailBit
Definition: RPDDataAnalyzer.h:47
MuonValidation_CreateResolutionProfiles.fit
def fit(h, emin, emax)
Definition: MuonValidation_CreateResolutionProfiles.py:69
RPDDataAnalyzer::m_endSignalSample
unsigned int m_endSignalSample
Number of baseline samples; the sample equal to this number is the start of signal region.
Definition: RPDDataAnalyzer.h:104
ZDCMsg.h
RPDDataAnalyzer::getChPileupExpFitParams
const std::vector< float > & getChPileupExpFitParams(unsigned int channel) const
Get parameters for pileup exponential fit (if pileup was detected and fit did not fail): exp( [0] + [...
Definition: RPDDataAnalyzer.cxx:540
RPDDataAnalyzer::m_nChannels
unsigned int m_nChannels
Definition: RPDDataAnalyzer.h:100
RPDDataAnalyzer::m_chPileupExpFitParamErrs
std::vector< std::vector< float > > m_chPileupExpFitParamErrs
parameters for pileup stretched exponential fit (if pileup was detected and fit did not fail): exp( [...
Definition: RPDDataAnalyzer.h:127
RPDDataAnalyzer::m_postPulseFracThresh
float m_postPulseFracThresh
Second differences less than or equal to this number indicate a pulse.
Definition: RPDDataAnalyzer.h:106
RPDConfig::pileupBaselineStdDevThresh
float pileupBaselineStdDevThresh
Definition: RPDDataAnalyzer.h:30
RPDDataAnalyzer::m_ch2ndOrderStretchedExpPileupFuncs
std::vector< std::function< float(unsigned int)> > m_ch2ndOrderStretchedExpPileupFuncs
pileup exponential fit function (if pileup was detected and fit did not fail); per channel
Definition: RPDDataAnalyzer.h:131
RPDDataAnalyzer::m_nSamples
unsigned int m_nSamples
Definition: RPDDataAnalyzer.h:102
ZDCMsg::MessageFunctionPtr
std::shared_ptr< MessageFunction > MessageFunctionPtr
Definition: ZDCMsg.h:14
RPDDataAnalyzer::m_pulse2ndDerivThresh
float m_pulse2ndDerivThresh
Samples before (not including) this sample are the signal region; nSamples goes to end of window.
Definition: RPDDataAnalyzer.h:105
RPDDataAnalyzer::m_chStatus
std::vector< std::bitset< 32 > > m_chStatus
mean squared error of pileup stretched exponential fit in baseline samples (if pileup was detected an...
Definition: RPDDataAnalyzer.h:134
RPDDataAnalyzer::getSideStatus
unsigned int getSideStatus() const
Get status word for side.
Definition: RPDDataAnalyzer.cxx:590
RPDConfig
Definition: RPDDataAnalyzer.h:18
RPDDataAnalyzer::doBaselinePileupSubtraction
bool doBaselinePileupSubtraction(unsigned int channel)
Determine if there is pileup, subtract baseline and pileup, and set relevant status bits.
Definition: RPDDataAnalyzer.cxx:277
RPDConfig::AdcOverflow
unsigned int AdcOverflow
Definition: RPDDataAnalyzer.h:32
RPDDataAnalyzer::m_pileupBaselineStdDevThresh
float m_pileupBaselineStdDevThresh
Baseline sums less than this number indicate there is not pileup.
Definition: RPDDataAnalyzer.h:111
RPDConfig::nBaselineSamples
unsigned int nBaselineSamples
Definition: RPDDataAnalyzer.h:22
RPDDataAnalyzer::m_chMaxSample
std::vector< float > m_chMaxSample
RPD data with baseline and pileup subtracted; index channel then sample.
Definition: RPDDataAnalyzer.h:118
RPDDataAnalyzer::PileupBadExpSubtrBit
@ PileupBadExpSubtrBit
Definition: RPDDataAnalyzer.h:52
RPDDataAnalyzer::m_nominalBaseline
unsigned int m_nominalBaseline
Pulses after this sample are considered post-pulses.
Definition: RPDDataAnalyzer.h:109
RPDDataAnalyzer::m_chFadcData
std::vector< std::vector< float > > m_chFadcData
multiplicative calibration factors to apply to output, e.g., max and sum ADC; per channel
Definition: RPDDataAnalyzer.h:116
RPDDataAnalyzer::s_minPileupFitPoints
static unsigned constexpr int s_minPileupFitPoints
status bits for side
Definition: RPDDataAnalyzer.h:143
RPDDataAnalyzer::m_tag
std::string m_tag
Definition: RPDDataAnalyzer.h:97
RPDDataAnalyzer::m_nBaselineSamples
unsigned int m_nBaselineSamples
Definition: RPDDataAnalyzer.h:103
RPDDataAnalyzer::m_msgFunc_p
ZDCMsg::MessageFunctionPtr m_msgFunc_p
Definition: RPDDataAnalyzer.h:96
RPDDataAnalyzer::getChPileupFrac
float getChPileupFrac(unsigned int channel) const
Get OOT pileup sum as a fraction of non-pileup sum in entire window (0 if no OOT pileup,...
Definition: RPDDataAnalyzer.cxx:525
CaloCondBlobAlgs_fillNoiseFromASCII.tag
string tag
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:24
checker_macros.h
Define macros for attributes used to control the static checker.
RPDDataAnalyzer::checkPulses
bool checkPulses(unsigned int channel)
Calculate 2nd difference, identify pulses, and set relevant status bits.
Definition: RPDDataAnalyzer.cxx:139
RPDDataAnalyzer::getChBaseline
float getChBaseline(unsigned int channel) const
Get baseline used in baseline subtraction.
Definition: RPDDataAnalyzer.cxx:533
RPDDataAnalyzer::doPileupExpFit
bool doPileupExpFit(unsigned int channel, std::vector< std::pair< unsigned int, float >> const &pileupFitPoints)
Perform an exponential fit in baseline-subtracted baseline samples and set relevant status bits.
Definition: RPDDataAnalyzer.cxx:196
RPDDataAnalyzer::OutOfTimePileupBit
@ OutOfTimePileupBit
Definition: RPDDataAnalyzer.h:40
RPDDataAnalyzer::OverflowBit
@ OverflowBit
Definition: RPDDataAnalyzer.h:41
readCCLHist.float
float
Definition: readCCLHist.py:83
RPDDataAnalyzer::m_chExpPileupFuncs
std::vector< std::function< float(unsigned int)> > m_chExpPileupFuncs
true when stretched exponential is used, false if exponential is used for pileup subtraction (if pile...
Definition: RPDDataAnalyzer.h:130
RPDDataAnalyzer::PostPulseBit
@ PostPulseBit
Definition: RPDDataAnalyzer.h:43
RPDConfig::pileupBaselineSumThresh
float pileupBaselineSumThresh
Definition: RPDDataAnalyzer.h:29
RPDDataAnalyzer::PileupBadStretchedExpSubtrBit
@ PileupBadStretchedExpSubtrBit
Definition: RPDDataAnalyzer.h:49
RPDConfig::nRows
unsigned int nRows
Definition: RPDDataAnalyzer.h:19