ATLAS Offline Software
Loading...
Searching...
No Matches
ZDC::RPDAnalysisTool Class Reference

#include <RPDAnalysisTool.h>

Inheritance diagram for ZDC::RPDAnalysisTool:
Collaboration diagram for ZDC::RPDAnalysisTool:

Public Member Functions

 RPDAnalysisTool (std::string const &name)
 ~RPDAnalysisTool () override=default
 RPDAnalysisTool (RPDAnalysisTool const &)=delete
RPDAnalysisTooloperator= (RPDAnalysisTool const &)=delete
 RPDAnalysisTool (RPDAnalysisTool &&)=delete
RPDAnalysisTooloperator= (RPDAnalysisTool &&)=delete
StatusCode initialize () override
 Dummy implementation of the initialisation function.
virtual void print () const
 Print the state of the tool.
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const
Additional helper functions, not directly mimicking Athena
template<class T>
const T * getProperty (const std::string &name) const
 Get one of the tool's properties.
const std::string & msg_level_name () const __attribute__((deprecated))
 A deprecated function for getting the message level's name.
const std::string & getName (const void *ptr) const
 Get the name of an object that is / should be in the event store.
SG::sgkey_t getKey (const void *ptr) const
 Get the (hashed) key of an object that is in the event store.

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

StatusCode recoZdcModules (xAOD::ZdcModuleContainer const &moduleContainer, xAOD::ZdcModuleContainer const &moduleSumContainer) override
StatusCode reprocessZdc () override
void reset ()
void readAOD (xAOD::ZdcModuleContainer const &moduleContainer)
void analyze ()
void writeAOD (xAOD::ZdcModuleContainer const &moduleContainer, xAOD::ZdcModuleContainer const &moduleSumContainer) const
StatusCode initializeWriteKey (std::string const &containerName, SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > &writeHandleKey, std::string const &key)
ZDCMsg::MessageFunctionPtr MakeMessageFunction ()
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

bool m_initialized = false
std::string m_configuration
bool m_writeAux
std::string m_auxSuffix
std::string m_ZDCModuleContainerName
std::string m_ZDCSumContainerName
RPDUtils::OptionalToolProperty< unsigned int > m_forceNSamples
RPDUtils::OptionalToolProperty< unsigned int > m_forceNBaselineSamples
RPDUtils::OptionalToolProperty< unsigned int > m_forceEndSignalSample
RPDUtils::OptionalToolProperty< float > m_forcePulse2ndDerivThresh
RPDUtils::OptionalToolProperty< float > m_forcePostPulseFracThresh
RPDUtils::OptionalToolProperty< unsigned int > m_forceGoodPulseSampleStart
RPDUtils::OptionalToolProperty< unsigned int > m_forceGoodPulseSampleStop
RPDUtils::OptionalToolProperty< float > m_forceNominalBaseline
RPDUtils::OptionalToolProperty< float > m_forcePileupBaselineSumThresh
RPDUtils::OptionalToolProperty< float > m_forcePileupBaselineStdDevThresh
RPDUtils::OptionalToolProperty< unsigned int > m_forceNNegativesAllowed
RPDUtils::OptionalToolProperty< unsigned int > m_forceADCOverflow
std::array< RPDUtils::OptionalToolProperty< std::vector< float > >, 2 > m_forceOutputCalibFactors
std::array< std::unique_ptr< RPDDataAnalyzer >, 2 > m_dataAnalyzers
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainerm_chBaselineKey {this, "RPDChannelBaseline", "", "RPD channel baseline"}
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainerm_chPileupExpFitParamsKey {this, "RPDChannelPileupExpFitParams", "", "RPD channel pileup exponential fit parameters: exp( [0] + [1]*sample )"}
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainerm_chPileupStretchedExpFitParamsKey {this, "RPDChannelPileupStretchedExpFitParams", "", "RPD channel pileup stretched exponential fit parameters: exp( [0] + [1]*(sample + 4)**0.5 + [2]*(sample + 4)**-0.5 )"}
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainerm_chPileupExpFitParamErrsKey {this, "RPDChannelPileupExpFitParamErrs", "", "RPD channel pileup exponential fit parameter errors"}
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainerm_chPileupStretchedExpFitParamErrsKey {this, "RPDChannelPileupStretchedExpFitParamErrs", "", "RPD channel pileup stretched exponential fit parameter errors"}
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainerm_chPileupExpFitMSEKey {this, "RPDChannelPileupExpFitMSE", "", "RPD Channel pileup exponential fit mean squared error in baseline samples"}
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainerm_chPileupStretchedExpFitMSEKey {this, "RPDChannelPileupStretchedExpFitMSE", "", "RPD channel pileup stretched exponential fit mean squared error in baseline samples"}
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainerm_chAmplitudeKey {this, "RPDChannelAmplitude", "", "RPD channel sum ADC (baseline and pileup subtracted)"}
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainerm_chAmplitudeCalibKey {this, "RPDChannelAmplitudeCalib", "", "RPD channel sum ADC (baseline and pileup subtracted) with output calibration factors applied"}
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainerm_chMaxADCKey {this, "RPDChannelMaxADC", "", "RPD channel max ADC (baseline and pileup subtracted)"}
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainerm_chMaxADCCalibKey {this, "RPDChannelMaxADCCalib", "", "RPD channel max ADC (baseline and pileup subtracted) with output calibration factors applied"}
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainerm_chMaxSampleKey {this, "RPDChannelMaxSample", "", "RPD channel max sample"}
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainerm_chStatusKey {this, "RPDChannelStatus", "", "RPD channel status"}
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainerm_chPileupFracKey {this, "RPDChannelPileupFrac", "", "RPD channel pileup as fraction of total (nominal baseline-subtracted) sum ADC"}
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainerm_sideStatusKey {this, "ZdcSumRPDStatus", "", "RPD side level status"}
SG::ReadHandleKey< xAOD::EventInfom_eventInfoKey {this, "EventInfoKey", "EventInfo", "Location of the event info."}
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Definition at line 18 of file RPDAnalysisTool.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ RPDAnalysisTool() [1/3]

ZDC::RPDAnalysisTool::RPDAnalysisTool ( std::string const & name)
explicit

Definition at line 14 of file RPDAnalysisTool.cxx.

14 : asg::AsgTool(name) {
15 declareProperty("ZdcModuleContainerName", m_ZDCModuleContainerName = "ZdcModules", "Location of ZDC processed data");
16 declareProperty("ZdcSumContainerName", m_ZDCSumContainerName = "ZdcSums", "Location of ZDC processed sums");
17 declareProperty("Configuration", m_configuration = "default");
18 declareProperty("WriteAux", m_writeAux = true);
19 declareProperty("AuxSuffix", m_auxSuffix = "");
20
21 declareProperty("NSamples", m_forceNSamples, "Total number of FADC samples in readout window");
22 declareProperty("NBaselineSamples", m_forceNBaselineSamples, "Number of baseline samples; the sample equal to this number is the start of signal region");
23 declareProperty("EndSignalSample", m_forceEndSignalSample, "Samples before (not including) this sample are the signal region; 0 or Nsamples goes to end of window");
24 declareProperty("Pulse2ndDerivThresh", m_forcePulse2ndDerivThresh, "Second differences less than or equal to this number indicate a pulse");
25 declareProperty("PostPulseFracThresh", m_forcePostPulseFracThresh, "If there is a good pulse and post-pulse and size of post-pulse as a fraction of good pulse is less than or equal to this number, ignore post-pulse");
26 declareProperty("GoodPulseSampleStart", m_forceGoodPulseSampleStart, "Pulses before this sample are considered pre-pulses");
27 declareProperty("GoodPulseSampleStop", m_forceGoodPulseSampleStop, "Pulses after this sample are considered post-pulses");
28 declareProperty("NominalBaseline", m_forceNominalBaseline, "The global nominal baseline; used when pileup is detected");
29 declareProperty("PileupBaselineSumThresh", m_forcePileupBaselineSumThresh, "Baseline sum (after subtracting nominal baseline) less than this number indicates there is NO pileup");
30 declareProperty("PileupBaselineStdDevThresh", m_forcePileupBaselineStdDevThresh, "Baseline standard deviations less than this number indicate there is NO pileup");
31 declareProperty("NNegativesAllowed", m_forceNNegativesAllowed, "Maximum number of negative ADC values after baseline and pileup subtraction allowed in signal range");
32 declareProperty("ADCOverflow", m_forceADCOverflow, "ADC values greater than or equal to this number are considered overflow");
33 declareProperty("SideCCalibFactors", m_forceOutputCalibFactors.at(RPDUtils::sideC), "Multiplicative calibration factors to apply to RPD output, e.g., sum/max ADC, per channel on side C");
34 declareProperty("SideACalibFactors", m_forceOutputCalibFactors.at(RPDUtils::sideA), "Multiplicative calibration factors to apply to RPD output, e.g., sum/max ADC, per channel on side A");
35}
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
RPDUtils::OptionalToolProperty< float > m_forcePostPulseFracThresh
RPDUtils::OptionalToolProperty< unsigned int > m_forceNBaselineSamples
std::string m_ZDCSumContainerName
RPDUtils::OptionalToolProperty< unsigned int > m_forceADCOverflow
RPDUtils::OptionalToolProperty< unsigned int > m_forceGoodPulseSampleStop
RPDUtils::OptionalToolProperty< unsigned int > m_forceEndSignalSample
RPDUtils::OptionalToolProperty< float > m_forcePileupBaselineStdDevThresh
RPDUtils::OptionalToolProperty< unsigned int > m_forceGoodPulseSampleStart
std::string m_ZDCModuleContainerName
RPDUtils::OptionalToolProperty< unsigned int > m_forceNNegativesAllowed
RPDUtils::OptionalToolProperty< unsigned int > m_forceNSamples
std::string m_configuration
RPDUtils::OptionalToolProperty< float > m_forceNominalBaseline
RPDUtils::OptionalToolProperty< float > m_forcePulse2ndDerivThresh
RPDUtils::OptionalToolProperty< float > m_forcePileupBaselineSumThresh
std::array< RPDUtils::OptionalToolProperty< std::vector< float > >, 2 > m_forceOutputCalibFactors
unsigned int constexpr sideC
Definition RPDUtils.h:15
unsigned int constexpr sideA
Definition RPDUtils.h:16

◆ ~RPDAnalysisTool()

ZDC::RPDAnalysisTool::~RPDAnalysisTool ( )
overridedefault

◆ RPDAnalysisTool() [2/3]

ZDC::RPDAnalysisTool::RPDAnalysisTool ( RPDAnalysisTool const & )
delete

◆ RPDAnalysisTool() [3/3]

ZDC::RPDAnalysisTool::RPDAnalysisTool ( RPDAnalysisTool && )
delete

Member Function Documentation

◆ analyze()

void ZDC::RPDAnalysisTool::analyze ( )
private

Definition at line 192 of file RPDAnalysisTool.cxx.

192 {
193 for (auto & analyzer : m_dataAnalyzers) {
194 analyzer->analyzeData();
195 }
196}
std::array< std::unique_ptr< RPDDataAnalyzer >, 2 > m_dataAnalyzers

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ getKey()

SG::sgkey_t asg::AsgTool::getKey ( const void * ptr) const
inherited

Get the (hashed) key of an object that is in the event store.

This is a bit of a special one. StoreGateSvc and xAOD::TEvent both provide ways for getting the SG::sgkey_t key for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.

In order to allow tools to efficiently perform this operation, they can use this helper function.

See also
asg::AsgTool::getName
Parameters
ptrThe bare pointer to the object that the event store should know about
Returns
The hashed key of the object in the store. If not found, an invalid (zero) key.

Definition at line 119 of file AsgTool.cxx.

119 {
120
121#ifdef XAOD_STANDALONE
122 // In case we use @c xAOD::TEvent, we have a direct function call
123 // for this.
124 return evtStore()->event()->getKey( ptr );
125#else
126 const SG::DataProxy* proxy = evtStore()->proxy( ptr );
127 return ( proxy == nullptr ? 0 : proxy->sgkey() );
128#endif // XAOD_STANDALONE
129 }
ServiceHandle< StoreGateSvc > & evtStore()

◆ getName()

const std::string & asg::AsgTool::getName ( const void * ptr) const
inherited

Get the name of an object that is / should be in the event store.

This is a bit of a special one. StoreGateSvc and xAOD::TEvent both provide ways for getting the std::string name for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.

In order to allow tools to efficiently perform this operation, they can use this helper function.

See also
asg::AsgTool::getKey
Parameters
ptrThe bare pointer to the object that the event store should know about
Returns
The string name of the object in the store. If not found, an empty string.

Definition at line 106 of file AsgTool.cxx.

106 {
107
108#ifdef XAOD_STANDALONE
109 // In case we use @c xAOD::TEvent, we have a direct function call
110 // for this.
111 return evtStore()->event()->getName( ptr );
112#else
113 const SG::DataProxy* proxy = evtStore()->proxy( ptr );
114 static const std::string dummy = "";
115 return ( proxy == nullptr ? dummy : proxy->name() );
116#endif // XAOD_STANDALONE
117 }

◆ getProperty()

template<class T>
const T * asg::AsgTool::getProperty ( const std::string & name) const
inherited

Get one of the tool's properties.

◆ initialize()

StatusCode ZDC::RPDAnalysisTool::initialize ( void )
overridevirtual

Dummy implementation of the initialisation function.

It's here to allow the dual-use tools to skip defining an initialisation function. Since many are doing so...

Reimplemented from asg::AsgTool.

Definition at line 42 of file RPDAnalysisTool.cxx.

42 {
43 RPDConfig finalConfig {};
44 std::array<std::vector<float>, 2> finalOutputCalibFactors;
45 // first initialize reconstruction parameters
46 finalConfig.nSamples = 24;
47 finalConfig.nBaselineSamples = 7;
48 finalConfig.endSignalSample = 23;
49 finalConfig.pulse2ndDerivThresh = -18;
50 finalConfig.postPulseFracThresh = 0.15;
51 finalConfig.goodPulseSampleStart = 8;
52 finalConfig.goodPulseSampleStop = 10;
53 finalConfig.nominalBaseline = 100;
54 finalConfig.pileupBaselineSumThresh = 53;
55 finalConfig.pileupBaselineStdDevThresh = 2;
56 finalConfig.nNegativesAllowed = 2;
57 finalConfig.ADCOverflow = 4095;
58 finalOutputCalibFactors.at(RPDUtils::sideC) = std::vector<float>(16, 1.0);
59 finalOutputCalibFactors.at(RPDUtils::sideA) = std::vector<float>(16, 1.0);
60
61 // then overwrite individual parameters from configuration if any were provided
62 if (m_forceNSamples.has_value()) {
63 finalConfig.nSamples = m_forceNSamples.value();
64 }
65 if (m_forceNBaselineSamples.has_value()) {
66 finalConfig.nBaselineSamples = m_forceNBaselineSamples.value();
67 }
68 if (m_forceEndSignalSample.has_value()) {
69 finalConfig.endSignalSample = m_forceEndSignalSample.value();
70 }
71 if (m_forcePulse2ndDerivThresh.has_value()) {
72 finalConfig.pulse2ndDerivThresh = m_forcePulse2ndDerivThresh.value();
73 }
74 if (m_forcePostPulseFracThresh.has_value()) {
75 finalConfig.postPulseFracThresh = m_forcePostPulseFracThresh.value();
76 }
77 if (m_forceGoodPulseSampleStart.has_value()) {
78 finalConfig.goodPulseSampleStart = m_forceGoodPulseSampleStart.value();
79 }
80 if (m_forceGoodPulseSampleStop.has_value()) {
81 finalConfig.goodPulseSampleStop = m_forceGoodPulseSampleStop.value();
82 }
83 if (m_forceNominalBaseline.has_value()) {
84 finalConfig.nominalBaseline = m_forceNominalBaseline.value();
85 }
86 if (m_forcePileupBaselineSumThresh.has_value()) {
87 finalConfig.pileupBaselineSumThresh = m_forcePileupBaselineSumThresh.value();
88 }
89 if (m_forcePileupBaselineStdDevThresh.has_value()) {
90 finalConfig.pileupBaselineStdDevThresh = m_forcePileupBaselineStdDevThresh.value();
91 }
92 if (m_forceNNegativesAllowed.has_value()) {
93 finalConfig.nNegativesAllowed = m_forceNNegativesAllowed.value();
94 }
95 if (m_forceADCOverflow.has_value()) {
96 finalConfig.ADCOverflow = m_forceADCOverflow.value();
97 }
98 for (auto const side : RPDUtils::sides) {
99 if (m_forceOutputCalibFactors.at(side).has_value()) {
100 finalOutputCalibFactors.at(side) = m_forceOutputCalibFactors.at(side).value();
101 }
102 }
103
104 ATH_MSG_DEBUG("RPDAnalysisTool reconstruction parameters:");
105 ATH_MSG_DEBUG("config = " << m_configuration);
106 ATH_MSG_DEBUG("nSamples = " << finalConfig.nSamples);
107 ATH_MSG_DEBUG("nBaselineSamples = " << finalConfig.nBaselineSamples);
108 ATH_MSG_DEBUG("endSignalSample = " << finalConfig.endSignalSample);
109 ATH_MSG_DEBUG("pulse2ndDerivThresh = " << finalConfig.pulse2ndDerivThresh);
110 ATH_MSG_DEBUG("postPulseFracThresh = " << finalConfig.postPulseFracThresh);
111 ATH_MSG_DEBUG("goodPulseSampleStart = " << finalConfig.goodPulseSampleStart);
112 ATH_MSG_DEBUG("goodPulseSampleStop = " << finalConfig.goodPulseSampleStop);
113 ATH_MSG_DEBUG("nominalBaseline = " << finalConfig.nominalBaseline);
114 ATH_MSG_DEBUG("pileupBaselineSumThresh = " << finalConfig.pileupBaselineSumThresh);
115 ATH_MSG_DEBUG("pileupBaselineStdDevThresh = " << finalConfig.pileupBaselineStdDevThresh);
116 ATH_MSG_DEBUG("nNegativesAllowed = " << finalConfig.nNegativesAllowed);
117 ATH_MSG_DEBUG("ADCOverflow = " << finalConfig.ADCOverflow);
118 ATH_MSG_DEBUG("sideCCalibFactors = " << RPDUtils::vecToString(finalOutputCalibFactors.at(RPDUtils::sideC)));
119 ATH_MSG_DEBUG("sideACalibFactors = " << RPDUtils::vecToString(finalOutputCalibFactors.at(RPDUtils::sideA)));
120
121 m_dataAnalyzers.at(RPDUtils::sideC) = std::make_unique<RPDDataAnalyzer>(MakeMessageFunction(), "rpdC", finalConfig, finalOutputCalibFactors.at(RPDUtils::sideC));
122 m_dataAnalyzers.at(RPDUtils::sideA) = std::make_unique<RPDDataAnalyzer>(MakeMessageFunction(), "rpdA", finalConfig, finalOutputCalibFactors.at(RPDUtils::sideA));
123
124 // initialize per-channel decorations (in ZdcModules)
139
140 // initialize per-side decorations (in ZdcSums)
142
143 ATH_CHECK( m_eventInfoKey.initialize());
144
145 if (m_writeAux && !m_auxSuffix.empty()) {
146 ATH_MSG_DEBUG("Suffix string = " << m_auxSuffix);
147 }
148
149 m_initialized = true;
150 return StatusCode::SUCCESS;
151}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_DEBUG(x)
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > m_chPileupStretchedExpFitParamErrsKey
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > m_sideStatusKey
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > m_chAmplitudeCalibKey
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > m_chPileupExpFitParamErrsKey
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > m_chPileupExpFitParamsKey
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > m_chBaselineKey
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > m_chMaxSampleKey
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > m_chAmplitudeKey
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > m_chStatusKey
ZDCMsg::MessageFunctionPtr MakeMessageFunction()
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > m_chMaxADCCalibKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > m_chPileupStretchedExpFitMSEKey
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > m_chMaxADCKey
StatusCode initializeWriteKey(std::string const &containerName, SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > &writeHandleKey, std::string const &key)
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > m_chPileupStretchedExpFitParamsKey
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > m_chPileupExpFitMSEKey
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > m_chPileupFracKey
std::initializer_list< unsigned int > constexpr sides
Definition RPDUtils.h:17
std::string vecToString(std::vector< T > const &v)
Definition RPDUtils.cxx:57

◆ initializeWriteKey()

StatusCode ZDC::RPDAnalysisTool::initializeWriteKey ( std::string const & containerName,
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > & writeHandleKey,
std::string const & key )
private

Definition at line 37 of file RPDAnalysisTool.cxx.

37 {
38 writeHandleKey = containerName + key + m_auxSuffix;
39 return writeHandleKey.initialize();
40}
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ MakeMessageFunction()

ZDCMsg::MessageFunctionPtr ZDC::RPDAnalysisTool::MakeMessageFunction ( )
private

Definition at line 153 of file RPDAnalysisTool.cxx.

153 {
154 return std::make_shared<ZDCMsg::MessageFunction>(
155 [this] (int const messageZdcLevel, const std::string& message) -> bool {
156 auto const messageAthenaLevel = static_cast<MSG::Level>(messageZdcLevel);
157 bool const passesStreamOutputLevel = messageAthenaLevel >= this->msg().level();
158 if (passesStreamOutputLevel) {
159 this->msg(messageAthenaLevel) << message << endmsg;
160 }
161 return passesStreamOutputLevel;
162 }
163 );
164}
#define endmsg
MsgStream & msg
Definition testRead.cxx:32

◆ msg()

MsgStream & AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msg_level_name()

const std::string & asg::AsgTool::msg_level_name ( ) const
inherited

A deprecated function for getting the message level's name.

Instead of using this, weirdly named function, user code should get the string name of the current minimum message level (in case they really need it...), with:

MSG::name( msg().level() )

This function's name doesn't follow the ATLAS coding rules, and as such will be removed in the not too distant future.

Returns
The string name of the current minimum message level that's printed

Definition at line 101 of file AsgTool.cxx.

101 {
102
103 return MSG::name( msg().level() );
104 }
MsgStream & msg() const
const std::string & name(Level lvl)
Convenience function for translating message levels to strings.
Definition MsgLevel.cxx:19

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ operator=() [1/2]

RPDAnalysisTool & ZDC::RPDAnalysisTool::operator= ( RPDAnalysisTool && )
delete

◆ operator=() [2/2]

RPDAnalysisTool & ZDC::RPDAnalysisTool::operator= ( RPDAnalysisTool const & )
delete

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ print()

◆ readAOD()

void ZDC::RPDAnalysisTool::readAOD ( xAOD::ZdcModuleContainer const & moduleContainer)
private

Definition at line 172 of file RPDAnalysisTool.cxx.

172 {
173 // loop through ZDC modules to find those which are RPD channels
174 for (auto const module : moduleContainer) {
175 if (module->zdcType() != RPDUtils::ZDCModuleRPDType) {
176 // this is not an RPD channel, so skip it
177 continue;
178 }
179 unsigned int const side = RPDUtils::ZDCSideToSideIndex(module->zdcSide());
180 if (module->zdcChannel() < 0 || static_cast<unsigned int>(module->zdcChannel()) > RPDUtils::nChannels - 1) {
181 ATH_MSG_ERROR("Invalid RPD channel found on side " << side << ": channel number = " << module->zdcChannel());
182 }
183 // channel numbers are fixed in mapping in ZdcConditions, numbered 0-15
184 unsigned int const channel = module->zdcChannel();
185 ATH_MSG_DEBUG("RPD side " << side << " channel " << module->zdcChannel());
186 SG::ConstAccessor<std::vector<uint16_t>> accessor("g0data");
187 auto const& waveform = accessor(*module);
188 m_dataAnalyzers.at(side)->loadChannelData(channel, waveform);
189 }
190}
#define ATH_MSG_ERROR(x)
unsigned int ZDCSideToSideIndex(int const ZDCSide)
Definition RPDUtils.cxx:7
unsigned int constexpr nChannels
Definition RPDUtils.h:23
unsigned int constexpr ZDCModuleRPDType
Definition RPDUtils.h:21
const AccessorWrapper< T > * accessor(xAOD::JetAttribute::AttributeID id)
Returns an attribute accessor corresponding to an AttributeID.

◆ recoZdcModules()

StatusCode ZDC::RPDAnalysisTool::recoZdcModules ( xAOD::ZdcModuleContainer const & moduleContainer,
xAOD::ZdcModuleContainer const & moduleSumContainer )
overrideprivatevirtual

Implements ZDC::IZdcAnalysisTool.

Definition at line 255 of file RPDAnalysisTool.cxx.

255 {
256 if (moduleContainer.empty()) {
257 return StatusCode::SUCCESS; // if no modules, do nothing
258 }
259
260 SG::ReadHandle<xAOD::EventInfo> eventInfo(m_eventInfoKey);
261 if (!eventInfo.isValid()) {
262 return StatusCode::FAILURE;
263 }
264
265 if (eventInfo->isEventFlagBitSet(xAOD::EventInfo::ForwardDet, ZdcEventInfo::RPDDECODINGERROR)) {
266 ATH_MSG_WARNING("RPD decoding error found - abandoning RPD reco!");
267 return StatusCode::SUCCESS;
268 }
269
270 reset();
271 readAOD(moduleContainer);
272 analyze();
273 writeAOD(moduleContainer, moduleSumContainer);
274
275 return StatusCode::SUCCESS;
276}
#define ATH_MSG_WARNING(x)
void readAOD(xAOD::ZdcModuleContainer const &moduleContainer)
void writeAOD(xAOD::ZdcModuleContainer const &moduleContainer, xAOD::ZdcModuleContainer const &moduleSumContainer) const
@ ForwardDet
The forward detectors.

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ reprocessZdc()

StatusCode ZDC::RPDAnalysisTool::reprocessZdc ( )
overrideprivatevirtual

Implements ZDC::IZdcAnalysisTool.

Definition at line 278 of file RPDAnalysisTool.cxx.

278 {
279 if (!m_initialized) {
280 ATH_MSG_WARNING("Tool not initialized!");
281 return StatusCode::FAILURE;
282 }
283 xAOD::ZdcModuleContainer const* ZDCModules = nullptr;
285 xAOD::ZdcModuleContainer const* ZDCSums = nullptr;
287 return recoZdcModules(*ZDCModules, *ZDCSums);
288}
StatusCode recoZdcModules(xAOD::ZdcModuleContainer const &moduleContainer, xAOD::ZdcModuleContainer const &moduleSumContainer) override
retrieve(aClass, aKey=None)
Definition PyKernel.py:110
ZdcModuleContainer_v1 ZdcModuleContainer

◆ reset()

void ZDC::RPDAnalysisTool::reset ( )
private

Definition at line 166 of file RPDAnalysisTool.cxx.

166 {
167 for (auto & analyzer : m_dataAnalyzers) {
168 analyzer->reset();
169 }
170}

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

◆ writeAOD()

void ZDC::RPDAnalysisTool::writeAOD ( xAOD::ZdcModuleContainer const & moduleContainer,
xAOD::ZdcModuleContainer const & moduleSumContainer ) const
private

Definition at line 198 of file RPDAnalysisTool.cxx.

198 {
199 if (!m_writeAux) {
200 return;
201 }
202
203 ATH_MSG_DEBUG("Adding variables with suffix = " + m_auxSuffix);
204
205 // write per-channel decorations (in ZdcModules)
206 SG::WriteDecorHandle<xAOD::ZdcModuleContainer, float> chBaseline(m_chBaselineKey);
207 SG::WriteDecorHandle<xAOD::ZdcModuleContainer, std::vector<float>> chPileupExpFitParams(m_chPileupExpFitParamsKey);
208 SG::WriteDecorHandle<xAOD::ZdcModuleContainer, std::vector<float>> chPileupStretchedExpFitParams(m_chPileupStretchedExpFitParamsKey);
209 SG::WriteDecorHandle<xAOD::ZdcModuleContainer, std::vector<float>> chPileupExpFitParamErrs(m_chPileupExpFitParamErrsKey);
210 SG::WriteDecorHandle<xAOD::ZdcModuleContainer, std::vector<float>> chPileupStretchedExpFitParamErrs(m_chPileupStretchedExpFitParamErrsKey);
211 SG::WriteDecorHandle<xAOD::ZdcModuleContainer, float> chPileupExpFitMSE(m_chPileupExpFitMSEKey);
212 SG::WriteDecorHandle<xAOD::ZdcModuleContainer, float> chPileupStretchedExpFitMSE(m_chPileupStretchedExpFitMSEKey);
213 SG::WriteDecorHandle<xAOD::ZdcModuleContainer, float> chAmplitude(m_chAmplitudeKey);
214 SG::WriteDecorHandle<xAOD::ZdcModuleContainer, float> chAmplitudeCalib(m_chAmplitudeCalibKey);
215 SG::WriteDecorHandle<xAOD::ZdcModuleContainer, float> chMaxADC(m_chMaxADCKey);
216 SG::WriteDecorHandle<xAOD::ZdcModuleContainer, float> chMaxADCCalib(m_chMaxADCCalibKey);
217 SG::WriteDecorHandle<xAOD::ZdcModuleContainer, unsigned int> chMaxSample(m_chMaxSampleKey);
218 SG::WriteDecorHandle<xAOD::ZdcModuleContainer, unsigned int> chStatus(m_chStatusKey);
219 SG::WriteDecorHandle<xAOD::ZdcModuleContainer, float> chPileupFrac(m_chPileupFracKey);
220 for (auto const module : moduleContainer) {
221 if (module->zdcType() != RPDUtils::ZDCModuleRPDType) {
222 // this is not an RPD channel, so skip it
223 continue;
224 }
225 unsigned int const side = RPDUtils::ZDCSideToSideIndex(module->zdcSide());
226 unsigned int const channel = module->zdcChannel();
227 chBaseline(*module) = m_dataAnalyzers.at(side)->getChBaseline(channel);
228 chPileupExpFitParams(*module) = m_dataAnalyzers.at(side)->getChPileupExpFitParams(channel);
229 chPileupStretchedExpFitParams(*module) = m_dataAnalyzers.at(side)->getChPileupStretchedExpFitParams(channel);
230 chPileupExpFitParamErrs(*module) = m_dataAnalyzers.at(side)->getChPileupExpFitParamErrs(channel);
231 chPileupStretchedExpFitParamErrs(*module) = m_dataAnalyzers.at(side)->getChPileupStretchedExpFitParamErrs(channel);
232 chPileupExpFitMSE(*module) = m_dataAnalyzers.at(side)->getChPileupExpFitMSE(channel);
233 chPileupStretchedExpFitMSE(*module) = m_dataAnalyzers.at(side)->getChPileupStretchedExpFitMSE(channel);
234 chAmplitude(*module) = m_dataAnalyzers.at(side)->getChSumAdc(channel);
235 chAmplitudeCalib(*module) = m_dataAnalyzers.at(side)->getChSumAdcCalib(channel);
236 chMaxADC(*module) = m_dataAnalyzers.at(side)->getChMaxAdc(channel);
237 chMaxADCCalib(*module) = m_dataAnalyzers.at(side)->getChMaxAdcCalib(channel);
238 chMaxSample(*module) = m_dataAnalyzers.at(side)->getChMaxSample(channel);
239 chStatus(*module) = m_dataAnalyzers.at(side)->getChStatus(channel);
240 chPileupFrac(*module) = m_dataAnalyzers.at(side)->getChPileupFrac(channel);
241 }
242
243 // write per-side decorations (in ZdcSums)
244 SG::WriteDecorHandle<xAOD::ZdcModuleContainer, unsigned int> sideStatus(m_sideStatusKey);
245 for (auto const sum: moduleSumContainer) {
246 if (sum->zdcSide() == RPDUtils::ZDCSumsGlobalZDCSide) {
247 // skip global sum (it's like the side between sides)
248 continue;
249 }
250 unsigned int const side = RPDUtils::ZDCSideToSideIndex(sum->zdcSide());
251 sideStatus(*sum) = m_dataAnalyzers.at(side)->getSideStatus();
252 }
253}
int constexpr ZDCSumsGlobalZDCSide
Definition RPDUtils.h:19

Member Data Documentation

◆ m_auxSuffix

std::string ZDC::RPDAnalysisTool::m_auxSuffix
private

Definition at line 49 of file RPDAnalysisTool.h.

◆ m_chAmplitudeCalibKey

SG::WriteDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::RPDAnalysisTool::m_chAmplitudeCalibKey {this, "RPDChannelAmplitudeCalib", "", "RPD channel sum ADC (baseline and pileup subtracted) with output calibration factors applied"}
private

Definition at line 79 of file RPDAnalysisTool.h.

79{this, "RPDChannelAmplitudeCalib", "", "RPD channel sum ADC (baseline and pileup subtracted) with output calibration factors applied"};

◆ m_chAmplitudeKey

SG::WriteDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::RPDAnalysisTool::m_chAmplitudeKey {this, "RPDChannelAmplitude", "", "RPD channel sum ADC (baseline and pileup subtracted)"}
private

Definition at line 78 of file RPDAnalysisTool.h.

78{this, "RPDChannelAmplitude", "", "RPD channel sum ADC (baseline and pileup subtracted)"};

◆ m_chBaselineKey

SG::WriteDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::RPDAnalysisTool::m_chBaselineKey {this, "RPDChannelBaseline", "", "RPD channel baseline"}
private

Definition at line 71 of file RPDAnalysisTool.h.

71{this, "RPDChannelBaseline", "", "RPD channel baseline"};

◆ m_chMaxADCCalibKey

SG::WriteDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::RPDAnalysisTool::m_chMaxADCCalibKey {this, "RPDChannelMaxADCCalib", "", "RPD channel max ADC (baseline and pileup subtracted) with output calibration factors applied"}
private

Definition at line 81 of file RPDAnalysisTool.h.

81{this, "RPDChannelMaxADCCalib", "", "RPD channel max ADC (baseline and pileup subtracted) with output calibration factors applied"};

◆ m_chMaxADCKey

SG::WriteDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::RPDAnalysisTool::m_chMaxADCKey {this, "RPDChannelMaxADC", "", "RPD channel max ADC (baseline and pileup subtracted)"}
private

Definition at line 80 of file RPDAnalysisTool.h.

80{this, "RPDChannelMaxADC", "", "RPD channel max ADC (baseline and pileup subtracted)"};

◆ m_chMaxSampleKey

SG::WriteDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::RPDAnalysisTool::m_chMaxSampleKey {this, "RPDChannelMaxSample", "", "RPD channel max sample"}
private

Definition at line 82 of file RPDAnalysisTool.h.

82{this, "RPDChannelMaxSample", "", "RPD channel max sample"};

◆ m_chPileupExpFitMSEKey

SG::WriteDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::RPDAnalysisTool::m_chPileupExpFitMSEKey {this, "RPDChannelPileupExpFitMSE", "", "RPD Channel pileup exponential fit mean squared error in baseline samples"}
private

Definition at line 76 of file RPDAnalysisTool.h.

76{this, "RPDChannelPileupExpFitMSE", "", "RPD Channel pileup exponential fit mean squared error in baseline samples"};

◆ m_chPileupExpFitParamErrsKey

SG::WriteDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::RPDAnalysisTool::m_chPileupExpFitParamErrsKey {this, "RPDChannelPileupExpFitParamErrs", "", "RPD channel pileup exponential fit parameter errors"}
private

Definition at line 74 of file RPDAnalysisTool.h.

74{this, "RPDChannelPileupExpFitParamErrs", "", "RPD channel pileup exponential fit parameter errors"};

◆ m_chPileupExpFitParamsKey

SG::WriteDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::RPDAnalysisTool::m_chPileupExpFitParamsKey {this, "RPDChannelPileupExpFitParams", "", "RPD channel pileup exponential fit parameters: exp( [0] + [1]*sample )"}
private

Definition at line 72 of file RPDAnalysisTool.h.

72{this, "RPDChannelPileupExpFitParams", "", "RPD channel pileup exponential fit parameters: exp( [0] + [1]*sample )"};

◆ m_chPileupFracKey

SG::WriteDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::RPDAnalysisTool::m_chPileupFracKey {this, "RPDChannelPileupFrac", "", "RPD channel pileup as fraction of total (nominal baseline-subtracted) sum ADC"}
private

Definition at line 84 of file RPDAnalysisTool.h.

84{this, "RPDChannelPileupFrac", "", "RPD channel pileup as fraction of total (nominal baseline-subtracted) sum ADC"};

◆ m_chPileupStretchedExpFitMSEKey

SG::WriteDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::RPDAnalysisTool::m_chPileupStretchedExpFitMSEKey {this, "RPDChannelPileupStretchedExpFitMSE", "", "RPD channel pileup stretched exponential fit mean squared error in baseline samples"}
private

Definition at line 77 of file RPDAnalysisTool.h.

77{this, "RPDChannelPileupStretchedExpFitMSE", "", "RPD channel pileup stretched exponential fit mean squared error in baseline samples"};

◆ m_chPileupStretchedExpFitParamErrsKey

SG::WriteDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::RPDAnalysisTool::m_chPileupStretchedExpFitParamErrsKey {this, "RPDChannelPileupStretchedExpFitParamErrs", "", "RPD channel pileup stretched exponential fit parameter errors"}
private

Definition at line 75 of file RPDAnalysisTool.h.

75{this, "RPDChannelPileupStretchedExpFitParamErrs", "", "RPD channel pileup stretched exponential fit parameter errors"};

◆ m_chPileupStretchedExpFitParamsKey

SG::WriteDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::RPDAnalysisTool::m_chPileupStretchedExpFitParamsKey {this, "RPDChannelPileupStretchedExpFitParams", "", "RPD channel pileup stretched exponential fit parameters: exp( [0] + [1]*(sample + 4)**0.5 + [2]*(sample + 4)**-0.5 )"}
private

Definition at line 73 of file RPDAnalysisTool.h.

73{this, "RPDChannelPileupStretchedExpFitParams", "", "RPD channel pileup stretched exponential fit parameters: exp( [0] + [1]*(sample + 4)**0.5 + [2]*(sample + 4)**-0.5 )"};

◆ m_chStatusKey

SG::WriteDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::RPDAnalysisTool::m_chStatusKey {this, "RPDChannelStatus", "", "RPD channel status"}
private

Definition at line 83 of file RPDAnalysisTool.h.

83{this, "RPDChannelStatus", "", "RPD channel status"};

◆ m_configuration

std::string ZDC::RPDAnalysisTool::m_configuration
private

Definition at line 47 of file RPDAnalysisTool.h.

◆ m_dataAnalyzers

std::array<std::unique_ptr<RPDDataAnalyzer>, 2> ZDC::RPDAnalysisTool::m_dataAnalyzers
private

Definition at line 68 of file RPDAnalysisTool.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_eventInfoKey

SG::ReadHandleKey<xAOD::EventInfo> ZDC::RPDAnalysisTool::m_eventInfoKey {this, "EventInfoKey", "EventInfo", "Location of the event info."}
private

Definition at line 88 of file RPDAnalysisTool.h.

88{this, "EventInfoKey", "EventInfo", "Location of the event info."};

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_forceADCOverflow

RPDUtils::OptionalToolProperty<unsigned int> ZDC::RPDAnalysisTool::m_forceADCOverflow
private

Definition at line 64 of file RPDAnalysisTool.h.

◆ m_forceEndSignalSample

RPDUtils::OptionalToolProperty<unsigned int> ZDC::RPDAnalysisTool::m_forceEndSignalSample
private

Definition at line 55 of file RPDAnalysisTool.h.

◆ m_forceGoodPulseSampleStart

RPDUtils::OptionalToolProperty<unsigned int> ZDC::RPDAnalysisTool::m_forceGoodPulseSampleStart
private

Definition at line 58 of file RPDAnalysisTool.h.

◆ m_forceGoodPulseSampleStop

RPDUtils::OptionalToolProperty<unsigned int> ZDC::RPDAnalysisTool::m_forceGoodPulseSampleStop
private

Definition at line 59 of file RPDAnalysisTool.h.

◆ m_forceNBaselineSamples

RPDUtils::OptionalToolProperty<unsigned int> ZDC::RPDAnalysisTool::m_forceNBaselineSamples
private

Definition at line 54 of file RPDAnalysisTool.h.

◆ m_forceNNegativesAllowed

RPDUtils::OptionalToolProperty<unsigned int> ZDC::RPDAnalysisTool::m_forceNNegativesAllowed
private

Definition at line 63 of file RPDAnalysisTool.h.

◆ m_forceNominalBaseline

RPDUtils::OptionalToolProperty<float> ZDC::RPDAnalysisTool::m_forceNominalBaseline
private

Definition at line 60 of file RPDAnalysisTool.h.

◆ m_forceNSamples

RPDUtils::OptionalToolProperty<unsigned int> ZDC::RPDAnalysisTool::m_forceNSamples
private

Definition at line 53 of file RPDAnalysisTool.h.

◆ m_forceOutputCalibFactors

std::array<RPDUtils::OptionalToolProperty<std::vector<float> >, 2> ZDC::RPDAnalysisTool::m_forceOutputCalibFactors
private

Definition at line 65 of file RPDAnalysisTool.h.

◆ m_forcePileupBaselineStdDevThresh

RPDUtils::OptionalToolProperty<float> ZDC::RPDAnalysisTool::m_forcePileupBaselineStdDevThresh
private

Definition at line 62 of file RPDAnalysisTool.h.

◆ m_forcePileupBaselineSumThresh

RPDUtils::OptionalToolProperty<float> ZDC::RPDAnalysisTool::m_forcePileupBaselineSumThresh
private

Definition at line 61 of file RPDAnalysisTool.h.

◆ m_forcePostPulseFracThresh

RPDUtils::OptionalToolProperty<float> ZDC::RPDAnalysisTool::m_forcePostPulseFracThresh
private

Definition at line 57 of file RPDAnalysisTool.h.

◆ m_forcePulse2ndDerivThresh

RPDUtils::OptionalToolProperty<float> ZDC::RPDAnalysisTool::m_forcePulse2ndDerivThresh
private

Definition at line 56 of file RPDAnalysisTool.h.

◆ m_initialized

bool ZDC::RPDAnalysisTool::m_initialized = false
private

Definition at line 45 of file RPDAnalysisTool.h.

◆ m_sideStatusKey

SG::WriteDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::RPDAnalysisTool::m_sideStatusKey {this, "ZdcSumRPDStatus", "", "RPD side level status"}
private

Definition at line 86 of file RPDAnalysisTool.h.

86{this, "ZdcSumRPDStatus", "", "RPD side level status"};

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.

◆ m_writeAux

bool ZDC::RPDAnalysisTool::m_writeAux
private

Definition at line 48 of file RPDAnalysisTool.h.

◆ m_ZDCModuleContainerName

std::string ZDC::RPDAnalysisTool::m_ZDCModuleContainerName
private

Definition at line 50 of file RPDAnalysisTool.h.

◆ m_ZDCSumContainerName

std::string ZDC::RPDAnalysisTool::m_ZDCSumContainerName
private

Definition at line 51 of file RPDAnalysisTool.h.


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