ATLAS Offline Software
RPDDataAnalyzer.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 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 #include "ZdcUtils/RPDUtils.h"
15 
17 
19 
20 namespace ZDC {
21 
22 struct RPDConfig {
23  unsigned int nSamples;
24  unsigned int nBaselineSamples;
25  unsigned int endSignalSample;
28  unsigned int goodPulseSampleStart;
29  unsigned int goodPulseSampleStop;
33  unsigned int nNegativesAllowed;
34  unsigned int ADCOverflow;
35 };
36 
38  public:
39  enum {
40  ValidBit = 0, // analysis and output are valid
41  OutOfTimePileupBit = 1, // OOT detected, pileup subtraction attempted
42  OverflowBit = 2, // overflow detected => invalid
43  PrePulseBit = 3, // pulse detected before expected range => invalid
44  PostPulseBit = 4, // pulse detected after expected range => invalid
45  NoPulseBit = 5, // no pulse detected => invalid
46  BadAvgBaselineSubtrBit = 6, // subtraction of avg. of baseline samples yielded too many negatives => invalid
47  InsufficientPileupFitPointsBit = 7, // baseline samples indicate pileup, but there are not enough points to perform fit -> nominal baseline used without pileup subtraction
48  PileupStretchedExpFitFailBit = 8, // fit to stretched exponential failed -> fallback to exponential fit
49  PileupStretchedExpGrowthBit = 9, // fit to stretched exponential does not decay -> fallback to exponential fit
50  PileupBadStretchedExpSubtrBit = 10, // subtraction of stretched exponential fit yielded too many negatives -> fallback to exponential fit
51  PileupExpFitFailBit = 11, // fit to exponential failed => invalid IF stretched exponential fit is also bad
52  PileupExpGrowthBit = 12, // fit to exponential does not decay => invalid IF stretched exponential fit is also bad
53  PileupBadExpSubtrBit = 13, // subtraction of stretched exponential yielded too many negatives => invalid IF stretched exponential fit is also bad
54  PileupStretchedExpPulseLikeBit = 14, // fit to stretched exponential probably looks more like a pulse than pileup
56  };
57  enum class PileupFitFuncType {
59  };
60 
61  RPDDataAnalyzer(ZDCMsg::MessageFunctionPtr messageFunc_p, std::string tag, RPDConfig const& config, std::vector<float> const& calibFactors);
62  virtual ~RPDDataAnalyzer() = default;
63  // this class is not intended to be copied or moved
64  RPDDataAnalyzer(RPDDataAnalyzer const&) = delete;
68 
69  void loadChannelData(unsigned int channel, const std::vector<uint16_t>& FadcData);
70  void analyzeData();
71 
72  unsigned int getChMaxSample(unsigned int channel) const;
73  float getChSumAdc(unsigned int channel) const;
74  float getChSumAdcCalib(unsigned int channel) const;
75  float getChMaxAdc(unsigned int channel) const;
76  float getChMaxAdcCalib(unsigned int channel) const;
77  float getChPileupFrac(unsigned int channel) const;
78  float getChBaseline(unsigned int channel) const;
79  const std::vector<float>& getChPileupExpFitParams(unsigned int channel) const;
80  const std::vector<float>& getChPileupStretchedExpFitParams(unsigned int channel) const;
81  const std::vector<float>& getChPileupExpFitParamErrs(unsigned int channel) const;
82  const std::vector<float>& getChPileupStretchedExpFitParamErrs(unsigned int channel) const;
83  float getChPileupExpFitMSE(unsigned int channel) const;
84  float getChPileupStretchedExpFitMSE(unsigned int channel) const;
85 
86  unsigned int getChStatus(unsigned int channel) const;
87  unsigned int getSideStatus() const;
88 
89  void reset();
90 
91  private:
92  bool checkOverflow(unsigned int channel);
93  bool checkPulses(unsigned int channel);
94  unsigned int countSignalRangeNegatives(std::vector<float> const& values) const;
95  bool doBaselinePileupSubtraction(unsigned int channel);
96  void calculateMaxSampleMaxAdc(unsigned int channel);
97  void calculateSumAdc(unsigned int channel);
98 
99  void setSideStatusBits();
100 
101  bool doPileupExpFit(unsigned int channel, std::vector<std::pair<unsigned int, float>> const& pileupFitPoints);
102  bool doPileupStretchedExpFit(unsigned int channel, std::vector<std::pair<unsigned int, float>> const& pileupFitPoints);
103  float calculateBaselineSamplesMSE(unsigned int channel, std::function<float(unsigned int)> const& fit) const;
104 
106  std::string m_tag;
107 
108  static unsigned int constexpr s_nChannels = RPDUtils::nChannels; // for convenience
109 
110  unsigned int m_nChannelsLoaded = 0;
111  unsigned int m_nSamples;
112  unsigned int m_nBaselineSamples;
113  unsigned int m_endSignalSample;
116  unsigned int m_goodPulseSampleStart;
117  unsigned int m_goodPulseSampleStop;
121  unsigned int m_nNegativesAllowed;
122  unsigned int m_AdcOverflow;
123  std::array<float, s_nChannels> m_outputCalibFactors {};
125  std::array<std::vector<uint16_t>, s_nChannels> m_chFADCData;
126  std::array<std::vector<float>, s_nChannels> m_chCorrectedFadcData;
127  std::array<unsigned int, s_nChannels> m_chMaxSample {};
128  std::array<float, s_nChannels> m_chSumAdc {};
129  std::array<float, s_nChannels> m_chSumAdcCalib {};
130  std::array<float, s_nChannels> m_chMaxAdc {};
131  std::array<float, s_nChannels> m_chMaxAdcCalib {};
132  std::array<float, s_nChannels> m_chPileupFrac {};
133  std::array<float, s_nChannels> m_chBaseline {};
134  std::array<std::vector<float>, s_nChannels> m_chPileupExpFitParams;
135  std::array<std::vector<float>, s_nChannels> m_chPileupStretchedExpFitParams;
136  std::array<std::vector<float>, s_nChannels> m_chPileupExpFitParamErrs;
137  std::array<std::vector<float>, s_nChannels> m_chPileupStretchedExpFitParamErrs;
138  std::array<PileupFitFuncType, s_nChannels> m_chPileupFuncType {};
139  std::array<std::function<float(unsigned int)>, s_nChannels> m_chExpPileupFuncs;
141  std::array<float, s_nChannels> m_chExpPileupMSE {};
142  std::array<float, s_nChannels> m_ch2ndOrderStretchedExpPileupMSE {};
143  std::array<std::bitset<N_STATUS_BITS>, s_nChannels> m_chStatus;
144  std::bitset<N_STATUS_BITS> m_sideStatus;
152  static unsigned int constexpr s_minPileupFitPoints = 3;
153 };
154 
155 } // namespace ZDC
156 
157 #endif
ZDC::RPDDataAnalyzer::m_nChannelsLoaded
unsigned int m_nChannelsLoaded
Definition: RPDDataAnalyzer.h:110
ZDC::RPDConfig::postPulseFracThresh
float postPulseFracThresh
Definition: RPDDataAnalyzer.h:27
RPDUtils::nChannels
unsigned constexpr int nChannels
Definition: RPDUtils.h:23
ZDC::RPDConfig::goodPulseSampleStart
unsigned int goodPulseSampleStart
Definition: RPDDataAnalyzer.h:28
ZDC::RPDDataAnalyzer::m_nBaselineSamples
unsigned int m_nBaselineSamples
Definition: RPDDataAnalyzer.h:112
ZDC::RPDDataAnalyzer::m_chCorrectedFadcData
std::array< std::vector< float >, s_nChannels > m_chCorrectedFadcData
raw RPD data; index channel then sample
Definition: RPDDataAnalyzer.h:126
ZDC::RPDDataAnalyzer::PileupExpGrowthBit
@ PileupExpGrowthBit
Definition: RPDDataAnalyzer.h:52
ZDC::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:493
ZDC::RPDConfig::goodPulseSampleStop
unsigned int goodPulseSampleStop
Definition: RPDDataAnalyzer.h:29
ZDC::RPDDataAnalyzer::RPDDataAnalyzer
RPDDataAnalyzer(RPDDataAnalyzer const &)=delete
ZDC::RPDDataAnalyzer::m_ch2ndOrderStretchedExpPileupFuncs
std::array< std::function< float(unsigned int)>, s_nChannels > m_ch2ndOrderStretchedExpPileupFuncs
pileup exponential fit function (if pileup was detected and fit did not fail); per channel
Definition: RPDDataAnalyzer.h:140
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:24
ZDC::RPDDataAnalyzer::m_nominalBaseline
float m_nominalBaseline
Pulses after this sample are considered post-pulses.
Definition: RPDDataAnalyzer.h:118
ZDC::RPDConfig::nominalBaseline
float nominalBaseline
Definition: RPDDataAnalyzer.h:30
ZDC::RPDDataAnalyzer::m_goodPulseSampleStop
unsigned int m_goodPulseSampleStop
Pulses before this sample are considered pre-pulses.
Definition: RPDDataAnalyzer.h:117
ZDC::RPDConfig::ADCOverflow
unsigned int ADCOverflow
Definition: RPDDataAnalyzer.h:34
ZDC::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:116
ZDC::RPDDataAnalyzer::~RPDDataAnalyzer
virtual ~RPDDataAnalyzer()=default
ZDC::RPDDataAnalyzer::PileupBadStretchedExpSubtrBit
@ PileupBadStretchedExpSubtrBit
Definition: RPDDataAnalyzer.h:50
ZDC::RPDDataAnalyzer::doBaselinePileupSubtraction
bool doBaselinePileupSubtraction(unsigned int channel)
Determine if there is pileup, subtract baseline and pileup, and set relevant status bits.
Definition: RPDDataAnalyzer.cxx:281
ZDC::RPDConfig::nBaselineSamples
unsigned int nBaselineSamples
Definition: RPDDataAnalyzer.h:24
ZDC::RPDDataAnalyzer::OverflowBit
@ OverflowBit
Definition: RPDDataAnalyzer.h:42
ZDC::RPDDataAnalyzer::analyzeData
void analyzeData()
Analyze RPD data.
Definition: RPDDataAnalyzer.cxx:458
ZDC::RPDDataAnalyzer::m_chPileupExpFitParamErrs
std::array< std::vector< float >, s_nChannels > m_chPileupExpFitParamErrs
parameters for pileup stretched exponential fit (if pileup was detected and fit did not fail): exp( [...
Definition: RPDDataAnalyzer.h:136
ZDC::RPDConfig::endSignalSample
unsigned int endSignalSample
Definition: RPDDataAnalyzer.h:25
ZDC::RPDDataAnalyzer::PileupFitFuncType
PileupFitFuncType
Definition: RPDDataAnalyzer.h:57
ZDC::RPDConfig::pileupBaselineStdDevThresh
float pileupBaselineStdDevThresh
Definition: RPDDataAnalyzer.h:32
ZDC::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:555
ZDC::RPDDataAnalyzer::ValidBit
@ ValidBit
Definition: RPDDataAnalyzer.h:40
ZDC::RPDDataAnalyzer::getChBaseline
float getChBaseline(unsigned int channel) const
Get baseline used in baseline subtraction.
Definition: RPDDataAnalyzer.cxx:541
ZDC::RPDDataAnalyzer::m_chMaxAdcCalib
std::array< float, s_nChannels > m_chMaxAdcCalib
max of RPD data in signal range after baseline and pileup subtraction; per channel
Definition: RPDDataAnalyzer.h:131
ZDC::RPDDataAnalyzer::PrePulseBit
@ PrePulseBit
Definition: RPDDataAnalyzer.h:43
ZDC::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:576
ZDC::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
ZDC::RPDDataAnalyzer::checkPulses
bool checkPulses(unsigned int channel)
Calculate 2nd difference, identify pulses, and set relevant status bits.
Definition: RPDDataAnalyzer.cxx:139
ZDC::RPDDataAnalyzer::m_nNegativesAllowed
unsigned int m_nNegativesAllowed
Baseline standard deviations less than this number indicate there is not pileup.
Definition: RPDDataAnalyzer.h:121
ZDC::RPDDataAnalyzer::m_chFADCData
std::array< std::vector< uint16_t >, s_nChannels > m_chFADCData
multiplicative calibration factors to apply to output, e.g., max and sum ADC; per channel
Definition: RPDDataAnalyzer.h:125
ATLAS_NO_CHECK_FILE_THREAD_SAFETY
ATLAS_NO_CHECK_FILE_THREAD_SAFETY
Definition: RPDDataAnalyzer.h:18
ZDC::RPDDataAnalyzer::calculateMaxSampleMaxAdc
void calculateMaxSampleMaxAdc(unsigned int channel)
Calculate max ADC and max sample.
Definition: RPDDataAnalyzer.cxx:361
ZDC::RPDDataAnalyzer::N_STATUS_BITS
@ N_STATUS_BITS
Definition: RPDDataAnalyzer.h:55
ZDC::RPDDataAnalyzer::m_chPileupStretchedExpFitParams
std::array< std::vector< float >, s_nChannels > m_chPileupStretchedExpFitParams
parameters for pileup exponential fit (if pileup was detected and fit did not fail): exp( [0] + [1]*s...
Definition: RPDDataAnalyzer.h:135
config
Definition: PhysicsAnalysis/AnalysisCommon/AssociationUtils/python/config.py:1
ZDC::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:583
python.Bindings.values
values
Definition: Control/AthenaPython/python/Bindings.py:805
ZDC::RPDDataAnalyzer::getChSumAdc
float getChSumAdc(unsigned int channel) const
Get sum of RPD data in signal range after baseline and pileup subtraction.
Definition: RPDDataAnalyzer.cxx:501
ZDC::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:122
ZDC::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:569
ZDC::RPDDataAnalyzer::RPDDataAnalyzer
RPDDataAnalyzer(ZDCMsg::MessageFunctionPtr messageFunc_p, std::string tag, RPDConfig const &config, std::vector< float > const &calibFactors)
Definition: RPDDataAnalyzer.cxx:21
ZDC::RPDConfig::nSamples
unsigned int nSamples
Definition: RPDDataAnalyzer.h:23
ZDC::RPDDataAnalyzer::m_chPileupExpFitParams
std::array< std::vector< float >, s_nChannels > m_chPileupExpFitParams
baseline used in baseline subtraction; per channel
Definition: RPDDataAnalyzer.h:134
ZDC::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:525
ZDC::RPDDataAnalyzer::NoPulseBit
@ NoPulseBit
Definition: RPDDataAnalyzer.h:45
ZDC::RPDConfig::nNegativesAllowed
unsigned int nNegativesAllowed
Definition: RPDDataAnalyzer.h:33
ZDC::RPDDataAnalyzer::m_msgFunc_p
ZDCMsg::MessageFunctionPtr m_msgFunc_p
Definition: RPDDataAnalyzer.h:105
ZDC::RPDDataAnalyzer::reset
void reset()
Reset all member variables to default values.
Definition: RPDDataAnalyzer.cxx:85
ZDC::RPDDataAnalyzer::m_sideStatus
std::bitset< N_STATUS_BITS > m_sideStatus
status bits per channel
Definition: RPDDataAnalyzer.h:144
ZDC::RPDDataAnalyzer::s_minPileupFitPoints
static unsigned constexpr int s_minPileupFitPoints
status bits for side
Definition: RPDDataAnalyzer.h:152
ZDC::RPDDataAnalyzer::m_pileupBaselineSumThresh
float m_pileupBaselineSumThresh
The global nominal baseline; used when pileup is detected.
Definition: RPDDataAnalyzer.h:119
ZDC::RPDDataAnalyzer::RPDDataAnalyzer
RPDDataAnalyzer(RPDDataAnalyzer &&)=delete
ZDC::RPDDataAnalyzer::PileupFitFuncType::Exp
@ Exp
ZDC::RPDConfig::pulse2ndDerivThresh
float pulse2ndDerivThresh
Definition: RPDDataAnalyzer.h:26
ZDC::RPDDataAnalyzer::m_chExpPileupFuncs
std::array< std::function< float(unsigned int)>, s_nChannels > m_chExpPileupFuncs
enum indicating type of pileup fit function; per channel
Definition: RPDDataAnalyzer.h:139
ZDC::RPDDataAnalyzer::PostPulseBit
@ PostPulseBit
Definition: RPDDataAnalyzer.h:44
ZDC::RPDDataAnalyzer::m_postPulseFracThresh
float m_postPulseFracThresh
Second differences less than or equal to this number indicate a pulse.
Definition: RPDDataAnalyzer.h:115
ZDC::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
ZDC::RPDDataAnalyzer::m_tag
std::string m_tag
Definition: RPDDataAnalyzer.h:106
ZDC::RPDDataAnalyzer::m_ch2ndOrderStretchedExpPileupMSE
std::array< float, s_nChannels > m_ch2ndOrderStretchedExpPileupMSE
mean squared error of pileup exponential fit in baseline samples (if pileup was detected and fit did ...
Definition: RPDDataAnalyzer.h:142
ZDC::RPDDataAnalyzer::m_outputCalibFactors
std::array< float, s_nChannels > m_outputCalibFactors
ADC values greater than or equal to this number are considered overflow.
Definition: RPDDataAnalyzer.h:123
ZDC::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:533
ZDC::RPDDataAnalyzer::getSideStatus
unsigned int getSideStatus() const
Get status word for side.
Definition: RPDDataAnalyzer.cxx:598
ZDC::RPDDataAnalyzer::m_chPileupFrac
std::array< float, s_nChannels > m_chPileupFrac
max of RPD data in signal range after baseline and pileup subtraction, with output calibration factor...
Definition: RPDDataAnalyzer.h:132
MuonValidation_CreateResolutionProfiles.fit
def fit(h, emin, emax)
Definition: MuonValidation_CreateResolutionProfiles.py:69
ZDCMsg.h
lumiFormat.array
array
Definition: lumiFormat.py:91
RPDUtils.h
ZDC::RPDDataAnalyzer::countSignalRangeNegatives
unsigned int countSignalRangeNegatives(std::vector< float > const &values) const
Calculate the number of negative values in signal range.
Definition: RPDDataAnalyzer.cxx:268
ZDC::RPDDataAnalyzer::getChStatus
unsigned int getChStatus(unsigned int channel) const
Get status word for channel.
Definition: RPDDataAnalyzer.cxx:590
ZDC::RPDDataAnalyzer::setSideStatusBits
void setSideStatusBits()
Set side status bits according to channel status bits.
Definition: RPDDataAnalyzer.cxx:433
ZDC::RPDDataAnalyzer::operator=
RPDDataAnalyzer & operator=(RPDDataAnalyzer &&)=delete
ZDC::RPDDataAnalyzer::m_chSumAdcCalib
std::array< float, s_nChannels > m_chSumAdcCalib
sum of RPD data in signal range after baseline and pileup subtraction; per channel
Definition: RPDDataAnalyzer.h:129
ZDCMsg::MessageFunctionPtr
std::shared_ptr< MessageFunction > MessageFunctionPtr
Definition: ZDCMsg.h:14
ZDC::RPDDataAnalyzer::PileupExpFitFailBit
@ PileupExpFitFailBit
Definition: RPDDataAnalyzer.h:51
ZDC::RPDDataAnalyzer
Definition: RPDDataAnalyzer.h:37
ZDC::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:548
ZDC::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:70
ZDC::RPDDataAnalyzer::checkOverflow
bool checkOverflow(unsigned int channel)
Check for overflow and set relevant status bit.
Definition: RPDDataAnalyzer.cxx:123
ZDC::RPDDataAnalyzer::BadAvgBaselineSubtrBit
@ BadAvgBaselineSubtrBit
Definition: RPDDataAnalyzer.h:46
ZDC::RPDDataAnalyzer::s_nChannels
static unsigned constexpr int s_nChannels
Definition: RPDDataAnalyzer.h:108
ZDC::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:113
ZDC::RPDDataAnalyzer::m_chExpPileupMSE
std::array< float, s_nChannels > m_chExpPileupMSE
pileup stretched exponential fit function (if pileup was detected and fit did not fail); per channel
Definition: RPDDataAnalyzer.h:141
ZDC::RPDDataAnalyzer::InsufficientPileupFitPointsBit
@ InsufficientPileupFitPointsBit
Definition: RPDDataAnalyzer.h:47
ZDC::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
ZDC::RPDDataAnalyzer::calculateSumAdc
void calculateSumAdc(unsigned int channel)
Calculate sum ADC and if there is pileup, calculate fractional pileup.
Definition: RPDDataAnalyzer.cxx:386
ZDC::RPDDataAnalyzer::operator=
RPDDataAnalyzer & operator=(RPDDataAnalyzer const &)=delete
ZDC::RPDDataAnalyzer::m_chPileupFuncType
std::array< PileupFitFuncType, s_nChannels > m_chPileupFuncType
parameter errors for pileup stretched exponential fit (if pileup was detected and fit did not fail); ...
Definition: RPDDataAnalyzer.h:138
ZDC::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:509
ZDC::RPDDataAnalyzer::PileupBadExpSubtrBit
@ PileupBadExpSubtrBit
Definition: RPDDataAnalyzer.h:53
ZDC::RPDDataAnalyzer::PileupStretchedExpFitFailBit
@ PileupStretchedExpFitFailBit
Definition: RPDDataAnalyzer.h:48
ZDC::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:562
ZDC::RPDDataAnalyzer::m_chSumAdc
std::array< float, s_nChannels > m_chSumAdc
sample of max of RPD data in signal range after pileup subtraction; per channel
Definition: RPDDataAnalyzer.h:128
ZDC
Definition: RPDAnalysisTool.cxx:12
ZDC::RPDConfig
Definition: RPDDataAnalyzer.h:22
ZDC::RPDDataAnalyzer::m_chStatus
std::array< std::bitset< N_STATUS_BITS >, s_nChannels > m_chStatus
mean squared error of pileup stretched exponential fit in baseline samples (if pileup was detected an...
Definition: RPDDataAnalyzer.h:143
ZDC::RPDDataAnalyzer::PileupStretchedExpPulseLikeBit
@ PileupStretchedExpPulseLikeBit
Definition: RPDDataAnalyzer.h:54
ZDC::RPDDataAnalyzer::m_pileupBaselineStdDevThresh
float m_pileupBaselineStdDevThresh
Baseline sums less than this number indicate there is not pileup.
Definition: RPDDataAnalyzer.h:120
ZDC::RPDDataAnalyzer::PileupStretchedExpGrowthBit
@ PileupStretchedExpGrowthBit
Definition: RPDDataAnalyzer.h:49
CaloCondBlobAlgs_fillNoiseFromASCII.tag
string tag
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:24
ZDC::RPDDataAnalyzer::m_nSamples
unsigned int m_nSamples
Definition: RPDDataAnalyzer.h:111
ZDC::RPDDataAnalyzer::m_chMaxSample
std::array< unsigned int, s_nChannels > m_chMaxSample
RPD data with baseline and pileup subtracted; index channel then sample.
Definition: RPDDataAnalyzer.h:127
ZDC::RPDDataAnalyzer::m_chPileupStretchedExpFitParamErrs
std::array< std::vector< float >, s_nChannels > m_chPileupStretchedExpFitParamErrs
parameter errors for pileup exponential fit (if pileup was detected and fit did not fail); per channe...
Definition: RPDDataAnalyzer.h:137
ZDC::RPDDataAnalyzer::PileupFitFuncType::None
@ None
ZDC::RPDDataAnalyzer::m_chBaseline
std::array< float, s_nChannels > m_chBaseline
OOT pileup sum as a fraction of non-pileup sum in entire window (0 if no OOT pileup,...
Definition: RPDDataAnalyzer.h:133
checker_macros.h
Define macros for attributes used to control the static checker.
ZDC::RPDConfig::pileupBaselineSumThresh
float pileupBaselineSumThresh
Definition: RPDDataAnalyzer.h:31
ZDC::RPDDataAnalyzer::OutOfTimePileupBit
@ OutOfTimePileupBit
Definition: RPDDataAnalyzer.h:41
ZDC::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:114
readCCLHist.float
float
Definition: readCCLHist.py:83
ZDC::RPDDataAnalyzer::m_chMaxAdc
std::array< float, s_nChannels > m_chMaxAdc
sum of RPD data in signal range after baseline and pileup subtraction, with output calibration factor...
Definition: RPDDataAnalyzer.h:130
ZDC::RPDDataAnalyzer::getChMaxAdc
float getChMaxAdc(unsigned int channel) const
Get max of RPD data in signal range after baseline and pileup subtraction.
Definition: RPDDataAnalyzer.cxx:517
ZDC::RPDDataAnalyzer::PileupFitFuncType::SecondOrderStretchedExp
@ SecondOrderStretchedExp