ATLAS Offline Software
Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
ZDC::ZdcLEDAnalysisTool Class Referenceabstract

#include <ZdcLEDAnalysisTool.h>

Inheritance diagram for ZDC::ZdcLEDAnalysisTool:
Collaboration diagram for ZDC::ZdcLEDAnalysisTool:

Public Member Functions

 ZdcLEDAnalysisTool (const std::string &name)
 
virtual ~ZdcLEDAnalysisTool () override
 
StatusCode initialize () override
 Dummy implementation of the initialisation function. More...
 
StatusCode recoZdcModules (const xAOD::ZdcModuleContainer &moduleContainer, const xAOD::ZdcModuleContainer &moduleSumContainer) override
 
StatusCode reprocessZdc () override
 
ZDCMsg::MessageFunctionPtr MakeMessageFunction ()
 
virtual void print () const =0
 Print the state of the tool. More...
 
virtual void print () const
 Print the state of the tool. More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
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. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

void initialize_ppPbPb2023 ()
 
void initialize_ppALFA2023 ()
 
void initialize_zdcStandalone ()
 
ZDCLEDModuleResults processZDCModule (const xAOD::ZdcModule &module)
 
ZDCLEDModuleResults processRPDModule (const xAOD::ZdcModule &module)
 
ZDCLEDModuleResults processModuleData (int iside, int imod, const std::vector< unsigned short > &data, unsigned int startSample, unsigned int endSample, float gainScale)
 
double getAmplitudeCorrection (int iside, int imod, bool highGain, float fitAmp)
 
void setFADCCorrections (unsigned int runNumber)
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

bool m_init {false}
 
std::string m_name
 
Gaudi::Property< std::string > m_configuration {this, "Configuration", "ppPbPb2023", "Which config files to use"}
 
bool m_writeAux {false}
 
Gaudi::Property< std::string > m_auxSuffix {this, "AuxSuffix", "", "Append this tag onto end of AuxData"}
 
Gaudi::Property< bool > m_doRPD {this, "doRPD", true, "Process RPD Data?"}
 
Gaudi::Property< bool > m_doZDC {this, "doZDC", true, "Process ZDC Data?"}
 
std::vector< unsigned int > m_LEDCalreqIdx
 
std::vector< unsigned int > m_LEDBCID
 
const std::vector< std::string > m_LEDNames = {"Blue1", "Green", "Blue2"}
 
const std::vector< std::string > m_calreqNames = {"CalReq1", "CalReq2", "CalReq3"}
 
unsigned int m_HGADCOverflow {4095}
 
unsigned int m_numSamples {24}
 
unsigned int m_preSample {0}
 
float m_deltaTSample {3.125}
 
unsigned int m_sampleAnaStartZDC {0}
 
unsigned int m_sampleAnaEndZDC {23}
 
unsigned int m_sampleAnaStartRPD {0}
 
unsigned int m_sampleAnaEndRPD {23}
 
float m_ZdcLowGainScale {10}
 
Gaudi::Property< std::string > m_zdcModuleContainerName {this, "ZdcModuleContainerName", "ZdcModules", "Location of ZDC processed data"}
 
const xAOD::ZdcModuleContainerm_zdcModules {nullptr}
 
Gaudi::Property< std::string > m_zdcSumContainerName {this, "ZdcSumContainerName", "ZdcSums", "Location of ZDC processed sums"}
 
const xAOD::ZdcModuleContainerm_zdcSums {nullptr}
 
SG::ReadHandleKey< xAOD::EventInfom_eventInfoKey
 
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainerm_eventTypeKey
 
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainerm_robBCIDKey
 
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainerm_DAQModeKey
 
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainerm_ZdcLEDType {this, "ZdcLEDType", "", "ZDC LED Type (0-Blue1, 1-Green, 2-Blue2}"}
 
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainerm_ZdcLEDPresampleADC {this, "ZdcLEDPresampleADC", "", "ZDC LED presample"}
 
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainerm_ZdcLEDADCSum {this, "ZdcLEDADCSum", "", "ZDC LED pulse FADC sum"}
 
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainerm_ZdcLEDMaxADC {this, "ZdcLEDMaxADC", "", "ZDC LED pulse max FADC value"}
 
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainerm_ZdcLEDMaxSample {this, "ZdcLEDMaxSample", "", "ZDC LED max FADC sample"}
 
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainerm_ZdcLEDAvgTime {this, "ZdcLEDAvgTime", "", "ZDC LED average time"}
 
bool m_doFADCCorr {}
 
unsigned int m_runNumber {}
 
int m_forceCalibRun {}
 
std::array< std::array< std::unique_ptr< const TH1 >, 4 >, 2 > m_FADCCorrHG
 
std::array< std::array< std::unique_ptr< const TH1 >, 4 >, 2 > m_FADCCorrLG
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

Definition at line 59 of file ZdcLEDAnalysisTool.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

◆ ZdcLEDAnalysisTool()

ZDC::ZdcLEDAnalysisTool::ZdcLEDAnalysisTool ( const std::string &  name)

Definition at line 22 of file ZdcLEDAnalysisTool.cxx.

22  :
24  m_name(name)
25 {
26 
27 
28 #ifndef XAOD_STANDALONE
29  declareInterface<IZdcAnalysisTool>(this);
30 #endif
31  declareProperty("ForceCalibRun", m_forceCalibRun = -1);
32  declareProperty("DoFADCCorr", m_doFADCCorr = false);
33 }

◆ ~ZdcLEDAnalysisTool()

ZDC::ZdcLEDAnalysisTool::~ZdcLEDAnalysisTool ( )
overridevirtual

Definition at line 35 of file ZdcLEDAnalysisTool.cxx.

36 {
37  ATH_MSG_DEBUG("Deleting ZdcLEDAnalysisTool named " << m_name);
38 }

Member Function Documentation

◆ declareGaudiProperty() [1/4]

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

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

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

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

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

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

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

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

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

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

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ 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.

95 { return m_detStore; }

◆ evtStore() [1/2]

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.

85 { return m_evtStore; }

◆ evtStore() [2/2]

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

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

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ 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

◆ getAmplitudeCorrection()

double ZDC::ZdcLEDAnalysisTool::getAmplitudeCorrection ( int  iside,
int  imod,
bool  highGain,
float  fitAmp 
)
private

Definition at line 426 of file ZdcLEDAnalysisTool.cxx.

427 {
428  double amplCorrFactor = 1;
429 
430  double fadcCorr = highGain ? m_FADCCorrHG[iside][imod]->Interpolate(fitAmp) : m_FADCCorrLG[iside][imod]->Interpolate(fitAmp);
431  amplCorrFactor *= fadcCorr;
432 
433  return amplCorrFactor;
434 }

◆ 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  }

◆ 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::ZdcLEDAnalysisTool::initialize ( )
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 40 of file ZdcLEDAnalysisTool.cxx.

41 {
42  // Use configuration to direct initialization.
43  //
44  if (m_configuration == "ppPbPb2023") {
46  }
47  else if (m_configuration == "ppALFA2023") {
49  }
50  else if (m_configuration == "zdcStandalone") {
52  }
53  else {
54  ATH_MSG_ERROR("Unknown configuration: " << m_configuration);
55  return StatusCode::FAILURE;
56  }
57 
58  // Check for valid configuration
59  //
61  ATH_MSG_ERROR("Invalid initialization of tool for configuration " << m_configuration);
62  return StatusCode::FAILURE;
63  }
64 
65  ATH_MSG_INFO("doZDC: " << (m_doZDC ? "true" : "false"));
66  ATH_MSG_INFO("doRPD: " << (m_doRPD ? "true" : "false"));
67  ATH_MSG_INFO("Configuration: " << m_configuration);
68  ATH_MSG_DEBUG("AuxSuffix: " << m_auxSuffix);
69  ATH_MSG_DEBUG("NumSamples: " << m_numSamples);
70  ATH_MSG_DEBUG("Presample: " << m_preSample);
71  ATH_MSG_DEBUG("DeltaTSample: " << m_deltaTSample);
72 
73  if (m_writeAux && m_auxSuffix != "") {
74  ATH_MSG_DEBUG("suffix string = " << m_auxSuffix);
75  }
76 
77  std::ostringstream BCIDList;
78  BCIDList << "LED BCIDs:";
79 
80  for (unsigned int idxLED = 0; idxLED < ZdcEventInfo::NumLEDs; idxLED++) {
81  BCIDList << m_LEDNames[idxLED] << " - BCID " << m_LEDBCID[idxLED];
82  if (idxLED < ZdcEventInfo::NumLEDs - 1) BCIDList << ", ";
83  }
84 
85  ATH_MSG_DEBUG(BCIDList.str());
86 
87 
88  // If an aux suffix is provided, prepend it with "_" so we don't have to do so at each use
89  //
90  if (m_auxSuffix != "") m_auxSuffix = "_" + m_auxSuffix;
91 
92  // initialize eventInfo access
93  //
95 
96  // initialize keys for reading ZDC event-level aux decor information
97  //
98  m_eventTypeKey = m_zdcSumContainerName + ".EventType";
99  ATH_CHECK(m_eventTypeKey.initialize());
100 
101  m_DAQModeKey = m_zdcSumContainerName + ".DAQMode";
102  ATH_CHECK(m_DAQModeKey.initialize());
103 
104  m_robBCIDKey = m_zdcSumContainerName + ".rodBCID";
105  ATH_CHECK(m_robBCIDKey.initialize());
106 
107  // Initialize writeDecor handles
108  //
110  ATH_CHECK( m_ZdcLEDPresampleADC.initialize());
111 
113  ATH_CHECK( m_ZdcLEDADCSum.initialize());
114 
116  ATH_CHECK( m_ZdcLEDMaxADC.initialize());
117 
119  ATH_CHECK( m_ZdcLEDMaxSample.initialize());
120 
122  ATH_CHECK( m_ZdcLEDAvgTime.initialize());
123 
124  // The LED type gets writting to the module 0 sum container
125  //
127  ATH_CHECK( m_ZdcLEDType.initialize());
128 
129  // prepare FADC correction per sample
130 
131  m_init = true;
132  return StatusCode::SUCCESS;
133 }

◆ initialize_ppALFA2023()

void ZDC::ZdcLEDAnalysisTool::initialize_ppALFA2023 ( )
private

Definition at line 157 of file ZdcLEDAnalysisTool.cxx.

158 {
159  // Use the defaults for now except for sampleAnaStart values and the BCIDs
162 
163  m_LEDBCID = {3479, 3482, 3485};
164  m_LEDCalreqIdx = {0 ,1 ,2};
165 }

◆ initialize_ppPbPb2023()

void ZDC::ZdcLEDAnalysisTool::initialize_ppPbPb2023 ( )
private

Definition at line 146 of file ZdcLEDAnalysisTool.cxx.

147 {
148  // Use the defaults for now except for sampleAnaStart values and the BCIDs
149  //
152 
153  m_LEDBCID = {3476, 3479, 3482};
154  m_LEDCalreqIdx = {0, 1, 2};
155 }

◆ initialize_zdcStandalone()

void ZDC::ZdcLEDAnalysisTool::initialize_zdcStandalone ( )
private

Definition at line 135 of file ZdcLEDAnalysisTool.cxx.

136 {
137  // Use the defaults for now except for sampleAnaStart values and the BCIDs
138  //
141 
142  m_LEDBCID = {1152, 1154, 1156};
143  m_LEDCalreqIdx = {2, 1, 0};
144 }

◆ 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::ZdcLEDAnalysisTool::MakeMessageFunction ( )
inline

Definition at line 74 of file ZdcLEDAnalysisTool.h.

75  {
76  std::function<bool(int, std::string)> msgFunction = [this](int messageZdcLevel, const std::string& message)-> bool
77  {
78  MSG::Level messageAthenaLevel = static_cast<MSG::Level>(messageZdcLevel);
79  bool passesStreamOutputLevel = messageAthenaLevel >= this->msg().level();
80  if (passesStreamOutputLevel) {
81  this->msg(messageAthenaLevel) << message << endmsg;
82  }
83  return passesStreamOutputLevel;
84  };
85 
86  return ZDCMsg::MessageFunctionPtr(new ZDCMsg::MessageFunction(msgFunction));
87  }

◆ msg() [1/2]

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ msg() [2/2]

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

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ 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  }

◆ 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  }

◆ 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() [1/2]

void asg::AsgTool::print ( ) const
virtualinherited

◆ print() [2/2]

virtual void asg::IAsgTool::print ( ) const
pure virtualinherited

◆ processModuleData()

ZDCLEDModuleResults ZDC::ZdcLEDAnalysisTool::processModuleData ( int  iside,
int  imod,
const std::vector< unsigned short > &  data,
unsigned int  startSample,
unsigned int  endSample,
float  gainScale 
)
private

Definition at line 380 of file ZdcLEDAnalysisTool.cxx.

382 {
383 
384  int ADCSum = 0;
385  int maxADCsub = -999;
386  unsigned int maxSample = 0;
387  float avgTime = 0.f;
388  bool highgain = (gainScale<1.1); // HG is 1 and LG is 10
389 
390  if (startSample > m_numSamples || endSample > m_numSamples) {
391  ATH_MSG_ERROR("Start or end sample number greater than number of samples");
392  return ZDCLEDModuleResults();
393  }
394 
395  int preFADC = data[m_preSample];
396 
397  for (unsigned int sample = startSample; sample <= endSample; sample++) {
398 
399  int FADCsub = data[sample] - preFADC;
400  if (m_doFADCCorr && (iside!=-1) ) // iside==-1 dummy to indicate RPD and ensure no FADC correction
401  {
402  float corr = getAmplitudeCorrection(iside,imod,highgain,FADCsub);
403  FADCsub *= corr;
404  }
405 
406  float time = (sample + 0.5f)*m_deltaTSample;
407  ADCSum += FADCsub;
408  if (FADCsub > maxADCsub) {
409  maxADCsub = FADCsub;
410  maxSample = sample;
411  }
412 
413  avgTime += time*FADCsub;
414  }
415  if (ADCSum!=0){
416  avgTime /= ADCSum;
417  } else {
418  avgTime = 0.f; //used as default in the ZDCLEDModuleResults c'tor
419  }
420 
421  return ZDCLEDModuleResults(preFADC, ADCSum*gainScale, maxADCsub*gainScale, maxSample, avgTime);
422 }

◆ processRPDModule()

ZDCLEDModuleResults ZDC::ZdcLEDAnalysisTool::processRPDModule ( const xAOD::ZdcModule module)
private

Definition at line 373 of file ZdcLEDAnalysisTool.cxx.

374 {
375  ATH_MSG_DEBUG("Processing RPD side, channel = " << module.zdcSide() << ", " << module.zdcChannel());
376  static const SG::ConstAccessor<std::vector<uint16_t> > g0dataAcc ("g0data");
377  return processModuleData(-1,-1,g0dataAcc (module), m_sampleAnaStartRPD, m_sampleAnaEndRPD, 1);
378 }

◆ processZDCModule()

ZDCLEDModuleResults ZDC::ZdcLEDAnalysisTool::processZDCModule ( const xAOD::ZdcModule module)
private

Definition at line 350 of file ZdcLEDAnalysisTool.cxx.

351 {
352  ATH_MSG_DEBUG("Processing ZDC side, channel = " << module.zdcSide() << ", " << module.zdcModule());
353  bool doLG = false;
354 
355  static const SG::ConstAccessor<std::vector<uint16_t> > g1dataAcc ("g1data");
356  static const SG::ConstAccessor<std::vector<uint16_t> > g0dataAcc ("g0data");
357  std::vector<uint16_t> HGSamples = g1dataAcc (module);
358  std::vector<uint16_t> LGSamples = g0dataAcc (module);
359 
360  std::vector<uint16_t>::const_iterator maxIter = std::max_element(HGSamples.begin(), HGSamples.end());
361  if (maxIter != HGSamples.end()) {
362  if (*maxIter > m_HGADCOverflow) doLG = true;
363  }
364 
365  if (doLG) {
366  return processModuleData(module.zdcSide(),module.zdcModule(),LGSamples, m_sampleAnaStartZDC, m_sampleAnaEndZDC, m_ZdcLowGainScale);
367  }
368  else {
369  return processModuleData(module.zdcSide(),module.zdcModule(),HGSamples, m_sampleAnaStartZDC, m_sampleAnaEndZDC, 1);
370  }
371 }

◆ recoZdcModules()

StatusCode ZDC::ZdcLEDAnalysisTool::recoZdcModules ( const xAOD::ZdcModuleContainer moduleContainer,
const xAOD::ZdcModuleContainer moduleSumContainer 
)
overridevirtual

Implements ZDC::IZdcAnalysisTool.

Definition at line 167 of file ZdcLEDAnalysisTool.cxx.

169 {
170  if (!m_init) {
171  ATH_MSG_WARNING("Tool not initialized!");
172  return StatusCode::FAILURE;
173  }
174 
175  if (moduleContainer.size()==0) return StatusCode::SUCCESS; // if no modules, do nothing
176 
178  if (!eventInfo.isValid()) return StatusCode::FAILURE;
179 
180  bool zdcErr = eventInfo->isEventFlagBitSet(xAOD::EventInfo::ForwardDet, ZdcEventInfo::ZDCDECODINGERROR );
181  bool rpdErr = eventInfo->isEventFlagBitSet(xAOD::EventInfo::ForwardDet, ZdcEventInfo::RPDDECODINGERROR );
182  if (zdcErr||rpdErr)
183  {
184  ATH_MSG_WARNING("ZDC or RPD decoding error found - abandoning ZdcLEDAnalysisTool!");
185  return StatusCode::SUCCESS;
186  }
187 
188  unsigned int thisRunNumber = eventInfo->runNumber();
189  if (thisRunNumber != m_runNumber) {
190  ATH_MSG_INFO("ZDC LED analysis tool will be configured for run " << thisRunNumber << " m_doFADCCorr = " << m_doFADCCorr);
191  if (m_doFADCCorr)
192  {
193  unsigned int calibRunNumber = thisRunNumber;
194  if (m_forceCalibRun > -1) calibRunNumber = m_forceCalibRun;
195  ATH_MSG_INFO("FADC corrections will be configured for run " << calibRunNumber);
196  setFADCCorrections(calibRunNumber);
197  }
198  m_runNumber = thisRunNumber;
199  }
202 
203  // Loop over the sum container to find event-level info (side == 0)
204  //
205  bool haveZdcEventInfo = false;
206  unsigned int eventType = ZdcEventInfo::ZdcEventUnknown;
207  unsigned int bcid = eventInfo->bcid();
208  unsigned int DAQMode = ZdcEventInfo::DAQModeUndef;
209 
210  const xAOD::ZdcModule* moduleSumEventInfo_ptr = 0;
211 
212  for (auto modSum : moduleSumContainer) {
213  //
214  // Module sum object with side == 0 contains event-level information
215  //
216  if (modSum->zdcSide() == 0) {
217  //
218  // Add the event type and bcid as aux decors
219  //
220  ATH_MSG_DEBUG("Found global sum");
221  eventType = eventTypeHandle(*modSum);
222  DAQMode = DAQModeHandle(*modSum);
223  haveZdcEventInfo = true;
224  moduleSumEventInfo_ptr = modSum;
225  }
226  }
227  if (!haveZdcEventInfo) {
228  ATH_MSG_ERROR("Zdc event data not available (moduleSum with side = 0)");
229  return StatusCode::FAILURE;
230  }
231 
232  //
233  // only do something on LED calibration events
234  //
235  if (eventType != ZdcEventInfo::ZdcEventLED) return StatusCode::SUCCESS;
236 
237  // In standalone mode, we have to read the BCID from the rob header
238  //
241  if (!robBCIDHandle.isValid()) return StatusCode::FAILURE;
242 
243  const std::vector<uint16_t>& robBCIDvec = robBCIDHandle(*moduleSumEventInfo_ptr);
244  if (robBCIDHandle->size() == 0) return StatusCode::FAILURE;
245 
246  unsigned int checkBCID = robBCIDvec[0];
247  for (unsigned int bcid : robBCIDvec) {
248  if (bcid != checkBCID) {
249  ATH_MSG_ERROR("Inconsistent BCIDs in rob header, cannot continue in standalone mode");
250  return StatusCode::FAILURE;
251  }
252  }
253 
254  bcid = checkBCID;
255  }
256 
257  // Determine the LED type
258  //
259  unsigned int evtLEDType = ZdcEventInfo::LEDNone;
260 
261  for (unsigned int idxLED = 0; idxLED < ZdcEventInfo::NumLEDs; idxLED++) {
262  //
263  // Does the BCID match one of those associated with the LEDs?
264  //
265  if (m_LEDBCID[idxLED] == bcid) {
267  //
268  // Also check the calreq trigger (to be implemented)
269  //
270  if (false) continue;
271  }
272 
273  evtLEDType = idxLED;
274  break;
275  }
276  }
277 
278  if (evtLEDType == ZdcEventInfo::LEDNone) {
279  //
280  // Thie BCID does not appear to be associated with one of the LEDs, print warning and quit processing
281  //
282  ATH_MSG_WARNING("Unexpected BCID found in data: bcid = " << bcid << m_configuration);
283  return StatusCode::SUCCESS;
284  }
285  else {
286  ATH_MSG_DEBUG("Event with BCID = " << bcid << " has LED type " << evtLEDType);
287  }
288 
289  // We are currently calculating the presample as an unsigned it, but there is another "presample"
290  // from ZdcAnalysisTool which for good reasons is float. So we have to match the type.
291  //
297 
299 
300  ATH_MSG_DEBUG("Starting event processing for LED " << m_LEDNames[evtLEDType]);
301 
302  for (const auto zdcModule : moduleContainer)
303  {
304  ZDCLEDModuleResults results;
305  if (zdcModule->zdcType() == 0) {
306  results = processZDCModule(*zdcModule);
307  }
308  else if (zdcModule->zdcType() == 1 && zdcModule->zdcModule() == 4) {
309  results = processRPDModule(*zdcModule);
310  }
311 
312  ATH_MSG_DEBUG("Writing aux decors to module with side, module, channel = " << zdcModule->zdcSide() << ", " << zdcModule->zdcModule()
313  << ", " << zdcModule->zdcChannel());
314 
315  moduleLEDPresampleADCHandle(*zdcModule) = std::floor(results.getPresampleADC() + 1.0e-6);
316  moduleLEDADCSumHandle(*zdcModule) = results.getADCSum();
317  moduleLEDMaxADCHandle(*zdcModule) = results.getMaxADC();
318  moduleLEDMaxSampleHandle(*zdcModule) = results.getMaxSample();
319  moduleLEDAvgTimeHandle(*zdcModule) = results.getAvgTime();
320  }
321 
322  // Write the LED type to the moduleSum container keep event-level data
323  //
324  LEDTypeHandle(*moduleSumEventInfo_ptr) = evtLEDType;
325 
326  ATH_MSG_DEBUG("Finishing event processing");
327 
328 
329  return StatusCode::SUCCESS;
330  }

◆ 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();
383  PBASE::renounce (h);
384  }

◆ 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  {
365  handlesArray.renounce();
366  }

◆ reprocessZdc()

StatusCode ZDC::ZdcLEDAnalysisTool::reprocessZdc ( )
overridevirtual

Implements ZDC::IZdcAnalysisTool.

Definition at line 332 of file ZdcLEDAnalysisTool.cxx.

333 {
334  if (!m_init) {
335  ATH_MSG_WARNING("Tool not initialized!");
336  return StatusCode::FAILURE;
337  }
338 
339  ATH_MSG_DEBUG ("Trying to retrieve " << m_zdcModuleContainerName);
340 
341  m_zdcModules = 0;
343 
344 
346 
347  return StatusCode::SUCCESS;
348 }

◆ setFADCCorrections()

void ZDC::ZdcLEDAnalysisTool::setFADCCorrections ( unsigned int  runNumber)
private

Definition at line 436 of file ZdcLEDAnalysisTool.cxx.

437 {
438  std::string filename;
439  std::string runString;
440 
441  if (runNumber == 0) runString = "ZdcFADCCorr_" + m_configuration + "_default.root";
442  else runString = ("ZdcFADCCorr_Run"+TString::Itoa(runNumber,10)+".root").Data();
443 
444  filename = PathResolverFindCalibFile("ZdcAnalysis/" + runString );
445 
446  if (filename.empty())
447  {
448  ATH_MSG_INFO("No FADC corrections file - disabling correction");
449  m_doFADCCorr = false; // disable correction
450  return;
451  }
452 
453  ATH_MSG_INFO("Opening FADC corrections file " << filename);
454  std::unique_ptr<TFile> fFADCCorr(TFile::Open(filename.c_str(), "READ"));
455 
456  if (!fFADCCorr->IsOpen()) {
457  ATH_MSG_INFO ("setFADCCorrections: failed to open file: " << filename << ". Disabling correction.");
458  m_doFADCCorr = false; // disable correctio
459  return;
460  //throw std::runtime_error ("ZdcAnalysisTool failed to open FADCCorrections file " + filename);
461  }
462 
463  // Attempt to read histograms with corrections from file
464  //
465  bool readSuccess = true;
466  std::array<std::array<std::unique_ptr<const TH1>, 4>, 2> histogramsHG;
467  std::array<std::array<std::unique_ptr<const TH1>, 4>, 2> histogramsLG;
468 
469  for (size_t side : {0, 1}) {
470  for (int module : {0, 1, 2, 3}) {
471  std::string histNameHG = "ZDC_FADCCorr_s" + std::to_string(side) + "_m" + std::to_string(module)+"_HG";
472  std::string histNameLG = "ZDC_FADCCorr_s" + std::to_string(side) + "_m" + std::to_string(module)+"_LG";
473 
474  ATH_MSG_DEBUG("setFADCCorrections: Searching for histograms HG and LG: " << histNameHG << ", " << histNameLG);
475 
476  TH1* histHG_ptr = static_cast<TH1*>(fFADCCorr->GetObjectChecked(histNameHG.c_str(), "TH1"));
477  TH1* histLG_ptr = static_cast<TH1*>(fFADCCorr->GetObjectChecked(histNameLG.c_str(), "TH1"));
478 
479  if (!histHG_ptr || !histLG_ptr) {
480  std::string errMsg = "setFADCCorrections: unable to read FADC correction histogram(s) ";
481  if (!histHG_ptr) errMsg += histNameHG + " ";
482  if (!histLG_ptr) errMsg += histNameLG;
483 
484  ATH_MSG_ERROR(errMsg);
485  readSuccess = false;
486  break;
487  }
488  else {
489  //
490  // Check for valid range (Lion uses -0.5 to 4095.5)
491  //
492 
493  if ( std::abs(histHG_ptr->GetXaxis()->GetXmin()+0.5) > 1e-3 || std::abs(histHG_ptr->GetXaxis()->GetXmax() - 4095.5) > 1e-3) {
494  ATH_MSG_ERROR("setFADCCorrections: invalid axis range for HG FADC corrections in histogram with name " << histNameHG);
495  readSuccess = false;
496  break;
497  }
498  if (std::abs(histLG_ptr->GetXaxis()->GetXmin()+0.5) > 1e-3 || std::abs(histLG_ptr->GetXaxis()->GetXmax() - 4095.5) > 1e-3) {
499  ATH_MSG_ERROR("setFADCCorrections: invalid axis range for HG FADC corrections in histogram with name " << histNameLG);
500  readSuccess = false;
501  break;
502  }
503  ATH_MSG_INFO("Configuring FADC histos for side " << side << " mod " << module);
504  m_FADCCorrHG[side][module].reset(histHG_ptr);
505  m_FADCCorrLG[side][module].reset(histLG_ptr);
506 
507  }
508  }
509  }
510 
511  fFADCCorr->Close();
512 
513  if (readSuccess) {
514  ATH_MSG_INFO("Successfully configured FADC correction");
515  m_doFADCCorr = true;
516  }
517  else {
518  ATH_MSG_ERROR("setFADCCorrections: due to at least one error, FADC corrections are not implemented");
519  m_doFADCCorr = false;
520  }
521 
522  return;
523 }

◆ 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 DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ 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) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_auxSuffix

Gaudi::Property<std::string> ZDC::ZdcLEDAnalysisTool::m_auxSuffix {this, "AuxSuffix", "", "Append this tag onto end of AuxData"}
private

Definition at line 110 of file ZdcLEDAnalysisTool.h.

◆ m_calreqNames

const std::vector<std::string> ZDC::ZdcLEDAnalysisTool::m_calreqNames = {"CalReq1", "CalReq2", "CalReq3"}
private

Definition at line 123 of file ZdcLEDAnalysisTool.h.

◆ m_configuration

Gaudi::Property<std::string> ZDC::ZdcLEDAnalysisTool::m_configuration {this, "Configuration", "ppPbPb2023", "Which config files to use"}
private

Definition at line 107 of file ZdcLEDAnalysisTool.h.

◆ m_DAQModeKey

SG::ReadDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::ZdcLEDAnalysisTool::m_DAQModeKey
private
Initial value:
{
this, "ZdcDAQModeKey", "", "ZDC DAQ mode"}

Definition at line 154 of file ZdcLEDAnalysisTool.h.

◆ m_deltaTSample

float ZDC::ZdcLEDAnalysisTool::m_deltaTSample {3.125}
private

Definition at line 128 of file ZdcLEDAnalysisTool.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_doFADCCorr

bool ZDC::ZdcLEDAnalysisTool::m_doFADCCorr {}
private

Definition at line 167 of file ZdcLEDAnalysisTool.h.

◆ m_doRPD

Gaudi::Property<bool> ZDC::ZdcLEDAnalysisTool::m_doRPD {this, "doRPD", true, "Process RPD Data?"}
private

Definition at line 114 of file ZdcLEDAnalysisTool.h.

◆ m_doZDC

Gaudi::Property<bool> ZDC::ZdcLEDAnalysisTool::m_doZDC {this, "doZDC", true, "Process ZDC Data?"}
private

Definition at line 115 of file ZdcLEDAnalysisTool.h.

◆ m_eventInfoKey

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

Definition at line 145 of file ZdcLEDAnalysisTool.h.

◆ m_eventTypeKey

SG::ReadDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::ZdcLEDAnalysisTool::m_eventTypeKey
private
Initial value:
{
this, "ZdcEventTypeKey", "", "ZDC Event type"}

Definition at line 148 of file ZdcLEDAnalysisTool.h.

◆ 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_FADCCorrHG

std::array< std::array<std::unique_ptr<const TH1>,4>,2> ZDC::ZdcLEDAnalysisTool::m_FADCCorrHG
private

Definition at line 170 of file ZdcLEDAnalysisTool.h.

◆ m_FADCCorrLG

std::array< std::array<std::unique_ptr<const TH1>,4>,2> ZDC::ZdcLEDAnalysisTool::m_FADCCorrLG
private

Definition at line 171 of file ZdcLEDAnalysisTool.h.

◆ m_forceCalibRun

int ZDC::ZdcLEDAnalysisTool::m_forceCalibRun {}
private

Definition at line 169 of file ZdcLEDAnalysisTool.h.

◆ m_HGADCOverflow

unsigned int ZDC::ZdcLEDAnalysisTool::m_HGADCOverflow {4095}
private

Definition at line 125 of file ZdcLEDAnalysisTool.h.

◆ m_init

bool ZDC::ZdcLEDAnalysisTool::m_init {false}
private

Definition at line 102 of file ZdcLEDAnalysisTool.h.

◆ m_LEDBCID

std::vector<unsigned int> ZDC::ZdcLEDAnalysisTool::m_LEDBCID
private

Definition at line 120 of file ZdcLEDAnalysisTool.h.

◆ m_LEDCalreqIdx

std::vector<unsigned int> ZDC::ZdcLEDAnalysisTool::m_LEDCalreqIdx
private

Definition at line 119 of file ZdcLEDAnalysisTool.h.

◆ m_LEDNames

const std::vector<std::string> ZDC::ZdcLEDAnalysisTool::m_LEDNames = {"Blue1", "Green", "Blue2"}
private

Definition at line 122 of file ZdcLEDAnalysisTool.h.

◆ m_name

std::string ZDC::ZdcLEDAnalysisTool::m_name
private

Definition at line 106 of file ZdcLEDAnalysisTool.h.

◆ m_numSamples

unsigned int ZDC::ZdcLEDAnalysisTool::m_numSamples {24}
private

Definition at line 126 of file ZdcLEDAnalysisTool.h.

◆ m_preSample

unsigned int ZDC::ZdcLEDAnalysisTool::m_preSample {0}
private

Definition at line 127 of file ZdcLEDAnalysisTool.h.

◆ m_robBCIDKey

SG::ReadDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::ZdcLEDAnalysisTool::m_robBCIDKey
private
Initial value:
{
this, "ROBBCIDKey", "", "BCID from LUCROD ROB headers"}

Definition at line 151 of file ZdcLEDAnalysisTool.h.

◆ m_runNumber

unsigned int ZDC::ZdcLEDAnalysisTool::m_runNumber {}
private

Definition at line 168 of file ZdcLEDAnalysisTool.h.

◆ m_sampleAnaEndRPD

unsigned int ZDC::ZdcLEDAnalysisTool::m_sampleAnaEndRPD {23}
private

Definition at line 132 of file ZdcLEDAnalysisTool.h.

◆ m_sampleAnaEndZDC

unsigned int ZDC::ZdcLEDAnalysisTool::m_sampleAnaEndZDC {23}
private

Definition at line 130 of file ZdcLEDAnalysisTool.h.

◆ m_sampleAnaStartRPD

unsigned int ZDC::ZdcLEDAnalysisTool::m_sampleAnaStartRPD {0}
private

Definition at line 131 of file ZdcLEDAnalysisTool.h.

◆ m_sampleAnaStartZDC

unsigned int ZDC::ZdcLEDAnalysisTool::m_sampleAnaStartZDC {0}
private

Definition at line 129 of file ZdcLEDAnalysisTool.h.

◆ 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::ZdcLEDAnalysisTool::m_writeAux {false}
private

Definition at line 108 of file ZdcLEDAnalysisTool.h.

◆ m_ZdcLEDADCSum

SG::WriteDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::ZdcLEDAnalysisTool::m_ZdcLEDADCSum {this, "ZdcLEDADCSum", "", "ZDC LED pulse FADC sum"}
private

Definition at line 159 of file ZdcLEDAnalysisTool.h.

◆ m_ZdcLEDAvgTime

SG::WriteDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::ZdcLEDAnalysisTool::m_ZdcLEDAvgTime {this, "ZdcLEDAvgTime", "", "ZDC LED average time"}
private

Definition at line 162 of file ZdcLEDAnalysisTool.h.

◆ m_ZdcLEDMaxADC

SG::WriteDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::ZdcLEDAnalysisTool::m_ZdcLEDMaxADC {this, "ZdcLEDMaxADC", "", "ZDC LED pulse max FADC value"}
private

Definition at line 160 of file ZdcLEDAnalysisTool.h.

◆ m_ZdcLEDMaxSample

SG::WriteDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::ZdcLEDAnalysisTool::m_ZdcLEDMaxSample {this, "ZdcLEDMaxSample", "", "ZDC LED max FADC sample"}
private

Definition at line 161 of file ZdcLEDAnalysisTool.h.

◆ m_ZdcLEDPresampleADC

SG::WriteDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::ZdcLEDAnalysisTool::m_ZdcLEDPresampleADC {this, "ZdcLEDPresampleADC", "", "ZDC LED presample"}
private

Definition at line 158 of file ZdcLEDAnalysisTool.h.

◆ m_ZdcLEDType

SG::WriteDecorHandleKey<xAOD::ZdcModuleContainer> ZDC::ZdcLEDAnalysisTool::m_ZdcLEDType {this, "ZdcLEDType", "", "ZDC LED Type (0-Blue1, 1-Green, 2-Blue2}"}
private

Definition at line 157 of file ZdcLEDAnalysisTool.h.

◆ m_ZdcLowGainScale

float ZDC::ZdcLEDAnalysisTool::m_ZdcLowGainScale {10}
private

Definition at line 134 of file ZdcLEDAnalysisTool.h.

◆ m_zdcModuleContainerName

Gaudi::Property<std::string> ZDC::ZdcLEDAnalysisTool::m_zdcModuleContainerName {this, "ZdcModuleContainerName", "ZdcModules", "Location of ZDC processed data"}
private

Definition at line 138 of file ZdcLEDAnalysisTool.h.

◆ m_zdcModules

const xAOD::ZdcModuleContainer* ZDC::ZdcLEDAnalysisTool::m_zdcModules {nullptr}
private

Definition at line 139 of file ZdcLEDAnalysisTool.h.

◆ m_zdcSumContainerName

Gaudi::Property<std::string> ZDC::ZdcLEDAnalysisTool::m_zdcSumContainerName {this, "ZdcSumContainerName", "ZdcSums", "Location of ZDC processed sums"}
private

Definition at line 140 of file ZdcLEDAnalysisTool.h.

◆ m_zdcSums

const xAOD::ZdcModuleContainer* ZDC::ZdcLEDAnalysisTool::m_zdcSums {nullptr}
private

Definition at line 141 of file ZdcLEDAnalysisTool.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
ZDC::ZdcLEDAnalysisTool::m_preSample
unsigned int m_preSample
Definition: ZdcLEDAnalysisTool.h:127
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
ZDC::ZdcLEDAnalysisTool::m_LEDNames
const std::vector< std::string > m_LEDNames
Definition: ZdcLEDAnalysisTool.h:122
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
ZDC::ZdcLEDAnalysisTool::m_sampleAnaEndZDC
unsigned int m_sampleAnaEndZDC
Definition: ZdcLEDAnalysisTool.h:130
verify_menu_config.results
results
Definition: verify_menu_config.py:67
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
ZDC::ZdcLEDAnalysisTool::m_auxSuffix
Gaudi::Property< std::string > m_auxSuffix
Definition: ZdcLEDAnalysisTool.h:110
ZDC::ZdcLEDAnalysisTool::m_ZdcLEDPresampleADC
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcLEDPresampleADC
Definition: ZdcLEDAnalysisTool.h:158
ZDC::ZdcLEDAnalysisTool::m_configuration
Gaudi::Property< std::string > m_configuration
Definition: ZdcLEDAnalysisTool.h:107
ZDC::ZdcLEDAnalysisTool::m_FADCCorrLG
std::array< std::array< std::unique_ptr< const TH1 >, 4 >, 2 > m_FADCCorrLG
Definition: ZdcLEDAnalysisTool.h:171
StateLessPT_NewConfig.proxy
proxy
Definition: StateLessPT_NewConfig.py:392
ZDC::ZdcLEDAnalysisTool::m_zdcSums
const xAOD::ZdcModuleContainer * m_zdcSums
Definition: ZdcLEDAnalysisTool.h:141
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
Data
@ Data
Definition: BaseObject.h:11
ZDC::ZdcLEDAnalysisTool::m_DAQModeKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_DAQModeKey
Definition: ZdcLEDAnalysisTool.h:154
xAOD::ZdcModule_v1
Class containing ZDC Module information.
Definition: ZdcModule_v1.h:25
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
ZDC::ZdcLEDAnalysisTool::m_ZdcLEDType
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcLEDType
Definition: ZdcLEDAnalysisTool.h:157
ZDC::ZdcLEDAnalysisTool::initialize_ppALFA2023
void initialize_ppALFA2023()
Definition: ZdcLEDAnalysisTool.cxx:157
ZDC::ZdcLEDAnalysisTool::m_FADCCorrHG
std::array< std::array< std::unique_ptr< const TH1 >, 4 >, 2 > m_FADCCorrHG
Definition: ZdcLEDAnalysisTool.h:170
ZdcEventInfo::ZdcEventUnknown
@ ZdcEventUnknown
Definition: ZdcEventInfo.h:16
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition: ConstAccessor.h:55
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
dbg::ptr
void * ptr(T *p)
Definition: SGImplSvc.cxx:74
ZDC::ZdcLEDAnalysisTool::m_ZdcLowGainScale
float m_ZdcLowGainScale
Definition: ZdcLEDAnalysisTool.h:134
ZDC::ZdcLEDAnalysisTool::m_eventTypeKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_eventTypeKey
Definition: ZdcLEDAnalysisTool.h:148
ZdcEventInfo::DAQMode
DAQMode
Definition: ZdcEventInfo.h:17
ZDC::ZdcLEDAnalysisTool::m_HGADCOverflow
unsigned int m_HGADCOverflow
Definition: ZdcLEDAnalysisTool.h:125
ReweightUtils.message
message
Definition: ReweightUtils.py:15
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
TRT::Hit::side
@ side
Definition: HitInfo.h:83
ZDC::ZdcLEDAnalysisTool::m_doRPD
Gaudi::Property< bool > m_doRPD
Definition: ZdcLEDAnalysisTool.h:114
ZDC::ZdcLEDAnalysisTool::m_doZDC
Gaudi::Property< bool > m_doZDC
Definition: ZdcLEDAnalysisTool.h:115
ZDC::ZdcLEDAnalysisTool::recoZdcModules
StatusCode recoZdcModules(const xAOD::ZdcModuleContainer &moduleContainer, const xAOD::ZdcModuleContainer &moduleSumContainer) override
Definition: ZdcLEDAnalysisTool.cxx:167
python.PyAthena.module
module
Definition: PyAthena.py:131
AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
ZDC::ZdcLEDAnalysisTool::processModuleData
ZDCLEDModuleResults processModuleData(int iside, int imod, const std::vector< unsigned short > &data, unsigned int startSample, unsigned int endSample, float gainScale)
Definition: ZdcLEDAnalysisTool.cxx:380
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
AthCommonDataStore
Definition: AthCommonDataStore.h:52
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
SG::ReadDecorHandle
Handle class for reading a decoration on an object.
Definition: StoreGate/StoreGate/ReadDecorHandle.h:94
FullCPAlgorithmsTest_eljob.sample
sample
Definition: FullCPAlgorithmsTest_eljob.py:113
ZdcEventInfo::ZDCDECODINGERROR
@ ZDCDECODINGERROR
Definition: ZdcEventInfo.h:19
ZDC::ZdcLEDAnalysisTool::m_LEDBCID
std::vector< unsigned int > m_LEDBCID
Definition: ZdcLEDAnalysisTool.h:120
ZDC::ZdcLEDAnalysisTool::m_zdcSumContainerName
Gaudi::Property< std::string > m_zdcSumContainerName
Definition: ZdcLEDAnalysisTool.h:140
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
ZdcEventInfo::LEDNone
@ LEDNone
Definition: ZdcEventInfo.h:18
ZDC::ZdcLEDAnalysisTool::m_deltaTSample
float m_deltaTSample
Definition: ZdcLEDAnalysisTool.h:128
SG::WriteDecorHandle
Handle class for adding a decoration to an object.
Definition: StoreGate/StoreGate/WriteDecorHandle.h:100
ZDC::ZdcLEDAnalysisTool::setFADCCorrections
void setFADCCorrections(unsigned int runNumber)
Definition: ZdcLEDAnalysisTool.cxx:436
python.xAODType.dummy
dummy
Definition: xAODType.py:4
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
ZdcEventInfo::NumLEDs
@ NumLEDs
Definition: ZdcEventInfo.h:18
MSG::name
const std::string & name(Level lvl)
Convenience function for translating message levels to strings.
Definition: MsgLevel.cxx:19
ZDC::ZdcLEDAnalysisTool::m_zdcModuleContainerName
Gaudi::Property< std::string > m_zdcModuleContainerName
Definition: ZdcLEDAnalysisTool.h:138
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
ZDC::ZdcLEDAnalysisTool::m_sampleAnaStartZDC
unsigned int m_sampleAnaStartZDC
Definition: ZdcLEDAnalysisTool.h:129
ZDC::ZdcLEDAnalysisTool::m_forceCalibRun
int m_forceCalibRun
Definition: ZdcLEDAnalysisTool.h:169
ZDC::ZdcLEDAnalysisTool::m_robBCIDKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_robBCIDKey
Definition: ZdcLEDAnalysisTool.h:151
ZDC::ZdcLEDAnalysisTool::m_name
std::string m_name
Definition: ZdcLEDAnalysisTool.h:106
xAOD::EventInfo_v1::ForwardDet
@ ForwardDet
The forward detectors.
Definition: EventInfo_v1.h:338
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
ZDCMsg::MessageFunction
std::function< bool(int, std::string)> MessageFunction
Definition: ZDCMsg.h:12
ZDC::ZdcLEDAnalysisTool::m_init
bool m_init
Definition: ZdcLEDAnalysisTool.h:102
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
ZDC::ZdcLEDAnalysisTool::m_LEDCalreqIdx
std::vector< unsigned int > m_LEDCalreqIdx
Definition: ZdcLEDAnalysisTool.h:119
xAOD::bcid
setEventNumber setTimeStamp bcid
Definition: EventInfo_v1.cxx:133
ZDCMsg::MessageFunctionPtr
std::shared_ptr< MessageFunction > MessageFunctionPtr
Definition: ZDCMsg.h:14
ZDC::ZdcLEDAnalysisTool::m_ZdcLEDADCSum
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcLEDADCSum
Definition: ZdcLEDAnalysisTool.h:159
ZdcEventInfo::DAQModeUndef
@ DAQModeUndef
Definition: ZdcEventInfo.h:17
PathResolverFindCalibFile
std::string PathResolverFindCalibFile(const std::string &logical_file_name)
Definition: PathResolver.cxx:431
DeMoAtlasDataLoss.runNumber
string runNumber
Definition: DeMoAtlasDataLoss.py:64
ZDC::ZdcLEDAnalysisTool::m_sampleAnaStartRPD
unsigned int m_sampleAnaStartRPD
Definition: ZdcLEDAnalysisTool.h:131
ZDC::ZdcLEDAnalysisTool::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: ZdcLEDAnalysisTool.h:145
a
TList * a
Definition: liststreamerinfos.cxx:10
h
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
ZDC::ZdcLEDAnalysisTool::m_writeAux
bool m_writeAux
Definition: ZdcLEDAnalysisTool.h:108
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
ZDC::ZdcLEDAnalysisTool::initialize_ppPbPb2023
void initialize_ppPbPb2023()
Definition: ZdcLEDAnalysisTool.cxx:146
ZDC::ZdcLEDAnalysisTool::getAmplitudeCorrection
double getAmplitudeCorrection(int iside, int imod, bool highGain, float fitAmp)
Definition: ZdcLEDAnalysisTool.cxx:426
ZDC::ZdcLEDAnalysisTool::m_sampleAnaEndRPD
unsigned int m_sampleAnaEndRPD
Definition: ZdcLEDAnalysisTool.h:132
AthCommonMsg< AlgTool >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
ZDC::ZdcLEDAnalysisTool::processRPDModule
ZDCLEDModuleResults processRPDModule(const xAOD::ZdcModule &module)
Definition: ZdcLEDAnalysisTool.cxx:373
CaloCellTimeCorrFiller.filename
filename
Definition: CaloCellTimeCorrFiller.py:24
ZdcEventInfo::Standalone
@ Standalone
Definition: ZdcEventInfo.h:17
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
ZDC::ZdcLEDAnalysisTool::m_ZdcLEDAvgTime
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcLEDAvgTime
Definition: ZdcLEDAnalysisTool.h:162
ZDC::ZdcLEDAnalysisTool::m_runNumber
unsigned int m_runNumber
Definition: ZdcLEDAnalysisTool.h:168
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
ZDC::ZdcLEDAnalysisTool::m_zdcModules
const xAOD::ZdcModuleContainer * m_zdcModules
Definition: ZdcLEDAnalysisTool.h:139
ZDC::ZdcLEDAnalysisTool::m_ZdcLEDMaxSample
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcLEDMaxSample
Definition: ZdcLEDAnalysisTool.h:161
ZDC::ZdcLEDAnalysisTool::initialize_zdcStandalone
void initialize_zdcStandalone()
Definition: ZdcLEDAnalysisTool.cxx:135
SG::DataProxy
Definition: DataProxy.h:45
xAOD::bool
setBGCode setTAP setLVL2ErrorBits bool
Definition: TrigDecision_v1.cxx:60
ZDC::ZdcLEDAnalysisTool::m_doFADCCorr
bool m_doFADCCorr
Definition: ZdcLEDAnalysisTool.h:167
ZDC::ZdcLEDAnalysisTool::processZDCModule
ZDCLEDModuleResults processZDCModule(const xAOD::ZdcModule &module)
Definition: ZdcLEDAnalysisTool.cxx:350
ZDC::ZdcLEDAnalysisTool::m_numSamples
unsigned int m_numSamples
Definition: ZdcLEDAnalysisTool.h:126
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
fitman.k
k
Definition: fitman.py:528
ZdcEventInfo::ZdcEventLED
@ ZdcEventLED
Definition: ZdcEventInfo.h:16
ZDC::ZdcLEDAnalysisTool::m_ZdcLEDMaxADC
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcLEDMaxADC
Definition: ZdcLEDAnalysisTool.h:160
ZdcEventInfo::RPDDECODINGERROR
@ RPDDECODINGERROR
Definition: ZdcEventInfo.h:19