ATLAS Offline Software
Loading...
Searching...
No Matches
CBNT_Timing Class Reference

#include <CBNT_Timing.h>

Inheritance diagram for CBNT_Timing:

Public Member Functions

 CBNT_Timing (const std::string &name, ISvcLocator *pSvcLocator)
virtual ~CBNT_Timing ()
virtual StatusCode CBNT_initialize () override
virtual StatusCode CBNT_execute () override
virtual StatusCode CBNT_finalize () override
virtual StatusCode CBNT_clear () override
virtual StatusCode initialize () override
virtual StatusCode execute () override
virtual StatusCode finalize () override
virtual StatusCode pre_execute ()
virtual StatusCode sysInitialize () override
 Override sysInitialize.
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies.
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 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

Protected Types

enum  { NOT_VALID = -999 }

Protected Member Functions

template<class T>
void addBranch (const std::string &branchname, T &obj, const std::string &leaflist)
template<class T>
void addBranch (const std::string &branchname, T *&obj)
template<class T>
void addBranch (const std::string &branchname, T *&obj, int bufferSize, int splitLevel)
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.

Protected Attributes

std::string m_ntpath
std::string m_ntTitle
TTree * m_nt
MsgStream * m_log
const LArEM_IDm_emId
const LArHEC_IDm_hecId
const LArFCAL_IDm_fcalId
const LArOnlineIDm_onlineId

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

StatusCode setupLookupTables ()
 internal helpers
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

SG::ReadCondHandleKey< LArOnOffIdMappingm_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"}
const LArOnlineIDm_onlineHelper
double m_energy_cut
bool m_first_event
std::string m_tbphase
std::vector< std::string > m_sampling_names
std::string m_caloCellName
std::vector< CaloSampling::CaloSamplem_samplingIndices
 stores
std::map< CaloCell_ID::SUBCALO, std::vector< CaloSampling::CaloSample > > m_calosAndSamplings
std::vector< HWIdentifierm_febIDs
std::map< int, std::string > m_slotToFebNameLookup
std::map< CaloCell_ID::SUBCALO, std::string > m_caloToNameLookup
std::map< std::string, CaloCell_ID::SUBCALOm_caloFromNameLookup
std::map< CaloSampling::CaloSample, std::string > m_samplingToNameLookup
std::map< std::string, CaloSampling::CaloSamplem_samplingFromNameLookup
std::map< CaloSampling::CaloSample, CaloCell_ID::SUBCALOm_caloLookup
std::vector< long > * m_layer_cell
std::vector< long > * m_eta_cell
std::vector< long > * m_phi_cell
std::vector< long > * m_febId_cell
std::vector< float > * m_energy_cell
std::vector< float > * m_time_cell
std::vector< float > * m_time_layer
std::vector< long > * m_layer_layer
std::vector< long > * m_febId_feb
std::vector< float > * m_time_feb
std::vector< long > * m_slot_feb
std::vector< long > * m_feedthrough_feb
float m_energy
float m_time
float m_tdc_phase
bool m_initialized
DataObjIDColl m_extendedExtraObjects
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

Static Private Attributes

static const int NOTIME = -999
static const int NOENERGY = -999

Detailed Description

Definition at line 22 of file CBNT_Timing.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
NOT_VALID 

Definition at line 56 of file CBNT_TBRecBase.h.

56{NOT_VALID = -999};

Constructor & Destructor Documentation

◆ CBNT_Timing()

CBNT_Timing::CBNT_Timing ( const std::string & name,
ISvcLocator * pSvcLocator )

Definition at line 26 of file CBNT_Timing.cxx.

27 :CBNT_TBRecBase(name, pSvcLocator)
29 , m_energy_cut(2.*GeV)
30 , m_first_event(true)
31 , m_caloCellName("AllCalo")
32{
33 m_sampling_names.resize(0);
34
35 declareProperty("TBPhase",m_tbphase="TBPhase");
36 declareProperty("CellContainerName", m_caloCellName);
37 declareProperty("EnergyCut", m_energy_cut);
38 declareProperty("IncludedSamplings", m_sampling_names);
39
40 m_energy = 0;
41 m_tdc_phase = 0;
42 m_time = 0;
43
44 m_energy_cell = 0;
45 m_eta_cell = 0;
46 m_febId_cell = 0;
47 m_febId_feb = 0;
49 m_layer_cell = 0;
50 m_layer_layer = 0;
51 m_phi_cell = 0;
52 m_slot_feb = 0;
53 m_time_cell = 0;
54 m_time_feb = 0;
55 m_time_layer = 0;
56}
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
CBNT_TBRecBase(const std::string &name, ISvcLocator *pSvcLocator)
const LArOnlineID * m_onlineHelper
Definition CBNT_Timing.h:40
double m_energy_cut
Definition CBNT_Timing.h:42
bool m_first_event
Definition CBNT_Timing.h:43
std::vector< long > * m_phi_cell
Definition CBNT_Timing.h:66
std::vector< float > * m_time_layer
Definition CBNT_Timing.h:69
std::vector< long > * m_feedthrough_feb
Definition CBNT_Timing.h:76
std::string m_caloCellName
Definition CBNT_Timing.h:47
std::vector< std::string > m_sampling_names
Definition CBNT_Timing.h:46
std::vector< long > * m_febId_cell
Definition CBNT_Timing.h:66
std::vector< long > * m_layer_layer
Definition CBNT_Timing.h:70
std::vector< long > * m_layer_cell
Definition CBNT_Timing.h:66
std::vector< long > * m_febId_feb
Definition CBNT_Timing.h:73
std::vector< long > * m_eta_cell
Definition CBNT_Timing.h:66
std::vector< long > * m_slot_feb
Definition CBNT_Timing.h:75
std::string m_tbphase
Definition CBNT_Timing.h:45
float m_tdc_phase
Definition CBNT_Timing.h:79
std::vector< float > * m_time_cell
Definition CBNT_Timing.h:67
std::vector< float > * m_energy_cell
Definition CBNT_Timing.h:67
float m_energy
Definition CBNT_Timing.h:79
std::vector< float > * m_time_feb
Definition CBNT_Timing.h:74

◆ ~CBNT_Timing()

CBNT_Timing::~CBNT_Timing ( )
virtual

Definition at line 58 of file CBNT_Timing.cxx.

59{//empty
60}

Member Function Documentation

◆ addBranch() [1/3]

template<class T>
void CBNT_TBRecBase::addBranch ( const std::string & branchname,
T & obj,
const std::string & leaflist )
inlineprotectedinherited

Definition at line 44 of file CBNT_TBRecBase.h.

44 {
45 m_nt->Branch(branchname.c_str(), &obj, leaflist.c_str());
46 }

◆ addBranch() [2/3]

template<class T>
void CBNT_TBRecBase::addBranch ( const std::string & branchname,
T *& obj )
inlineprotectedinherited

Definition at line 47 of file CBNT_TBRecBase.h.

47 {
48 obj = new T();
49 m_nt->Branch(branchname.c_str(), &obj);
50 }
unsigned long long T

◆ addBranch() [3/3]

template<class T>
void CBNT_TBRecBase::addBranch ( const std::string & branchname,
T *& obj,
int bufferSize,
int splitLevel )
inlineprotectedinherited

Definition at line 51 of file CBNT_TBRecBase.h.

51 {
52 obj = new T();
53 m_nt->Branch(branchname.c_str(), &obj, bufferSize, splitLevel);
54 }

◆ CBNT_clear()

StatusCode CBNT_Timing::CBNT_clear ( )
overridevirtual

Reimplemented from CBNT_TBRecBase.

Definition at line 467 of file CBNT_Timing.cxx.

467 {
468
469 if(m_layer_cell) m_layer_cell->clear();
470 if(m_eta_cell) m_eta_cell->clear();
471 if(m_phi_cell) m_phi_cell->clear();
472 if(m_febId_cell) m_febId_cell->clear();
473 if(m_energy_cell) m_energy_cell->clear();
474 if(m_time_cell) m_time_cell->clear();
475 if(m_time_layer) m_time_layer->clear();
476 if(m_layer_layer) m_layer_layer->clear();
477 if(m_febId_feb) m_febId_feb->clear();
478 if(m_time_feb) m_time_feb->clear();
479 if(m_slot_feb) m_slot_feb->clear();
481 return StatusCode::SUCCESS;
482}

◆ CBNT_execute()

StatusCode CBNT_Timing::CBNT_execute ( )
overridevirtual

Reimplemented from CBNT_TBRecBase.

Definition at line 134 of file CBNT_Timing.cxx.

135{
136 ATH_MSG_DEBUG ( "in execute()" );
137
139 // Data Access //
141
142 SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingKey};
143 const LArOnOffIdMapping* cabling{*cablingHdl};
144 if(!cabling) {
145 ATH_MSG_ERROR( "Do not have cabling mapping from key " << m_cablingKey.key() );
146 return StatusCode::FAILURE;
147 }
148
149 // CaloCells
150 const CaloCellContainer* cellContainer = nullptr;
151 ATH_CHECK( evtStore()->retrieve(cellContainer, m_caloCellName ) );
152
153 // TBPhase
154 TBPhase * phase = nullptr;
156
157 m_tdc_phase = phase->getPhase();
158
160 // First Event Action //
162
163 if (m_first_event) {
164
165 // find all febID's related to the requested samplings
166 // loop over desired calorimeter modules first, more efficient this way
167 for (const auto& p : m_calosAndSamplings) {
168 CaloCell_ID::SUBCALO idCalo = p.first;
169 std::vector<CaloSampling::CaloSample> samplingV = p.second;
170
171 // loop over the corresponding CaloCell's
172 for (CaloCellContainer::const_iterator cell = cellContainer->beginConstCalo(idCalo);
173 cell != cellContainer->endConstCalo(idCalo); ++cell) {
174
175 // get the corresponding sample
177 const CaloDetDescrElement * theCaloDDE= (*cell)->caloDDE();
178 if (theCaloDDE) {
179 idSample = (CaloSampling::CaloSample) theCaloDDE->getSampling();
180 }else{
181 idSample = CaloSampling::Unknown;
182 }
183
184 // only consider CaloCell's in the requested sampling
185 if (find(samplingV.begin(), samplingV.end(), idSample) != samplingV.end()) {
186
187 // here you have the CaloCell with idCalo, idSample, **cell
188 // find the hardware ID and the corresponding febID
189
190 HWIdentifier id = cabling->createSignalChannelID((*cell)->ID());
191 HWIdentifier febID = m_onlineHelper->feb_Id(id);
192
193 // store it if you don't have it already
194 if (find(m_febIDs.begin(), m_febIDs.end(), febID) == m_febIDs.end()) m_febIDs.push_back(febID);
195
196 }
197 }
198 }
199 // print out
200 msg() << MSG::INFO << "FEB IDs: ";
201 for (HWIdentifier febID : m_febIDs) {
202 std::ostringstream os;
203 os << std::hex << febID;
204 msg() << MSG::INFO << " \042" << os.str() << "\042";
205 }
206 msg() << MSG::INFO << endmsg;
207
208 m_first_event = false;
209 }
210
211
213 // sampling timing distributions //
215
216 // energy weighted time stores
217 std::map<CaloSampling::CaloSample, double> sumEPerSampling, sumETimePerSampling; // sampling id keyed
218 std::map<HWIdentifier, double> sumEPerFeb, sumETimePerFeb; // febID keyed
219 double sumETotal = 0, sumETimeTotal = 0;
220 bool eSet = false;
221
222 // fill energy weighted time stores
223 // loop over desired calorimeter modules first, more efficient this way
224 m_energy = 0;
225
226 for (const auto& p : m_calosAndSamplings) {
227 CaloCell_ID::SUBCALO idCalo = p.first;
229 ( "Looping over CaloCells of calorimeter : \042"
230 << m_caloToNameLookup[idCalo]
231 << "\042" );
232 std::vector<CaloSampling::CaloSample> samplingV = p.second;
233
234 // loop over the corresponding CaloCell's
235 for (CaloCellContainer::const_iterator cell = cellContainer->beginConstCalo(idCalo);
236 cell != cellContainer->endConstCalo(idCalo); ++cell) {
237
238 // get the corresponding sample
239 //CaloSampling::CaloSample idSample = CaloSampling::getSampling(**cell);
241 const CaloDetDescrElement * theCaloDDE= (*cell)->caloDDE();
242 if (theCaloDDE) {
243 idSample = (CaloSampling::CaloSample) theCaloDDE->getSampling();
244 }else{
245 idSample = CaloSampling::Unknown;
246 }
247
248 // only consider CaloCell's in the requested sampling
249 if (find(samplingV.begin(), samplingV.end(), idSample) != samplingV.end()) {
250
251 // here you have the CaloCell with idCalo, idSample, **cell
252 // find the hardware ID and the corresponding febID
253
254 HWIdentifier id = cabling->createSignalChannelID((*cell)->ID());
255 HWIdentifier febID = m_onlineHelper->feb_Id(id);
256
257 // gather sums for energy weighted cubic peaking time
258 // select cells for which the cubic interpolation was successfully applied
259 // *** for now, this is done by requiring that time(ns) is not too close to 25ns * n
260 // *** but it should be done using the CaloCell quality, when available...
261 // select cells above an energy threshold
262
263 double energy = (*cell)->e();
264 double time = (*cell)->time();
265 if (fabs(time/ns - float(int(time/(25*ns))*25.)) > 0.001 && energy > m_energy_cut) {
266
267 m_time_cell->push_back(time/ns);
268 m_energy_cell->push_back(energy/GeV);
270
271 sumEPerSampling[idSample] += energy;
272 sumETimePerSampling[idSample] += energy * time;
273
274 sumEPerFeb[febID] += energy;
275 sumETimePerFeb[febID] += energy * time;
276
277 sumETotal += energy;
278 sumETimeTotal += energy * time;
279 eSet = true;
280
282 ( "cell time = " << time/ns << " ns"
283 << "; energy = " << energy/GeV << " GeV" );
284
285 } else {
286 // below energy cut
287 m_time_cell->push_back(NOTIME);
288 m_energy_cell->push_back(NOENERGY);
289 }
290
291 m_febId_cell->push_back(febID.get_identifier32().get_compact());
292 //try {
293 //const Identifier ident = cabling->cnvToIdentifier(id);
294 if ( m_emId->is_lar_em((*cell)->ID()) ) {
295 m_eta_cell->push_back(m_emId->eta((*cell)->ID()));
296 m_phi_cell->push_back(m_emId->phi((*cell)->ID()));
297 m_layer_cell->push_back(m_emId->sampling((*cell)->ID()));
298 } else {
299 m_eta_cell->push_back(0);
300 m_phi_cell->push_back(0);
301 m_layer_cell->push_back(0);
302 }
303 //}
304 /*catch (LArID_Exception & except) {
305 m_eta_cell->push_back(-999);
306 m_phi_cell->push_back(-999);
307 m_layer_cell->push_back(-999);
308 }*/
309
310 }
311 }
312 }
313
314 // fill energy weighted cubic peaking time for each requested sampling
316 // go on only if there is data stored for this sample:
317 //if (sumEPerSampling.find(idSample) != sumEPerSampling.end()) {
318 double peakTime = (sumEPerSampling[idSample] > 0.) ? sumETimePerSampling[idSample]/sumEPerSampling[idSample] : NOTIME;
319 m_time_layer->push_back(peakTime/ns);
320 m_layer_layer->push_back(idSample);
321 //}
322 }
323
324 // fill energy weighted cubic peaking time for each requested FEB
325 for (HWIdentifier febID : m_febIDs) {
326 // go on only if there is data stored for this febID
327 //if (sumEPerFeb.find(febID) != sumEPerFeb.end()) {
328 double peakTime = (sumEPerFeb[febID] > 0.) ? sumETimePerFeb[febID]/sumEPerFeb[febID] : NOTIME;
329 m_time_feb->push_back(peakTime/ns);
330 m_febId_feb->push_back(febID.get_identifier32().get_compact());
331 m_slot_feb->push_back(m_onlineHelper->slot(febID));
332 m_feedthrough_feb->push_back(m_onlineHelper->feedthrough(febID));
333 //}
334 }
335
336 // fill energy weighted cubic peaking time for everything
337 if (eSet) {
338 m_time = (sumETotal > 0.) ? sumETimeTotal/sumETotal : 0.;
339 }
340
341 //if (m_Ncells > 0) std::cout << "#cells: " << m_Ncells << std::endl;
342 return StatusCode::SUCCESS;
343}
#define endmsg
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_ERROR(x)
#define ATH_MSG_DEBUG(x)
const LArEM_ID * m_emId
std::map< CaloCell_ID::SUBCALO, std::vector< CaloSampling::CaloSample > > m_calosAndSamplings
Definition CBNT_Timing.h:52
static const int NOENERGY
Definition CBNT_Timing.h:37
std::vector< HWIdentifier > m_febIDs
Definition CBNT_Timing.h:53
std::vector< CaloSampling::CaloSample > m_samplingIndices
stores
Definition CBNT_Timing.h:51
static const int NOTIME
Definition CBNT_Timing.h:36
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition CBNT_Timing.h:39
std::map< CaloCell_ID::SUBCALO, std::string > m_caloToNameLookup
Definition CBNT_Timing.h:58
CaloCellContainer::const_iterator beginConstCalo(CaloCell_ID::SUBCALO caloNum) const
get const iterators on cell of just one calo
CaloCellContainer::const_iterator endConstCalo(CaloCell_ID::SUBCALO caloNum) const
CaloCell_Base_ID::SUBCALO SUBCALO
Definition CaloCell_ID.h:50
CaloCell_ID::CaloSample getSampling() const
cell sampling
DataModel_detail::const_iterator< DataVector > const_iterator
Definition DataVector.h:838
value_type get_compact() const
Get the compact id.
Identifier32 get_identifier32() const
Get the 32-bit version Identifier, will be invalid if >32 bits needed.
std::string find(const std::string &s)
return a remapped string
Definition hcg.cxx:138
time(flags, cells_name, *args, **kw)
retrieve(aClass, aKey=None)
Definition PyKernel.py:110
MsgStream & msg
Definition testRead.cxx:32

◆ CBNT_finalize()

StatusCode CBNT_Timing::CBNT_finalize ( )
overridevirtual

Reimplemented from CBNT_TBRecBase.

Definition at line 349 of file CBNT_Timing.cxx.

350{
351 ATH_MSG_DEBUG ( "in finalize()" );
352 return StatusCode::SUCCESS;
353}

◆ CBNT_initialize()

StatusCode CBNT_Timing::CBNT_initialize ( )
overridevirtual

Reimplemented from CBNT_TBRecBase.

Definition at line 62 of file CBNT_Timing.cxx.

62 {
63
64 ATH_MSG_DEBUG ( "CBNT_Timing in initialize()" );
65
66 ATH_CHECK( m_cablingKey.initialize() );
67 ATH_CHECK( detStore()->retrieve(m_onlineHelper, "LArOnlineID") );
68
69 addBranch ("TDC_TimeCell",m_time_cell);
70 addBranch ("TDC_EnergyCell",m_energy_cell);
71 addBranch ("TDC_LayerCell",m_layer_cell);
72 addBranch ("TDC_EtaCell", m_eta_cell);
73 addBranch ("TDC_PhiCell", m_phi_cell);
74 addBranch ("TDC_FebIDCell", m_febId_cell);
75 addBranch ("TDC_TimeLayer",m_time_layer);
76 addBranch ("TDC_LayerIDLayer",m_layer_layer);
77 addBranch ("TDC_TimeFeb",m_time_feb);
78 addBranch ("TDC_FebIdFeb",m_febId_feb);
79 addBranch ("TDC_SlotFeb", m_slot_feb);
80 addBranch ("TDC_FeedthroughFeb", m_feedthrough_feb);
81 addBranch ("TDC_Phase",m_tdc_phase, "Phase/F");
82 addBranch ("TDC_TimeTotal",m_time, "TimeTotal/F");
83 addBranch ("TDC_EnergyTotal",m_energy, "EnergyTotal/F");
84
85
86
87
88 // setup calorimeter module and sampling lookup tables
90
91 // get calorimeter samplings ids for the requested samplings
92 msg() << MSG::INFO << "Included calorimeter samplings: ";
93 for (const std::string& sampling : m_sampling_names) {
95 if (idSamp != CaloSampling::Unknown) {
96 m_samplingIndices.push_back(idSamp);
97 msg() << MSG::INFO << "\042" << sampling
98 << "\042 ";
99 }
100 }
101 msg() << MSG::INFO << endmsg;
102
103 // get an idCalo keyed map of vectors of idSample for the requested samplings
105 // find the idCalo
106 CaloCell_ID::SUBCALO idCalo = m_caloLookup[idSample];
107 // build the vector of idSample
108 std::vector<CaloSampling::CaloSample> samplingV = m_calosAndSamplings[idCalo];
109 samplingV.push_back(idSample);
110 m_calosAndSamplings[idCalo] = std::move(samplingV);
111 }
112 // printout
113 for (const auto& p : m_calosAndSamplings) {
114 CaloCell_ID::SUBCALO idCalo = p.first;
115 msg() << MSG::INFO
116 << "Included calorimeter : \042"
117 << m_caloToNameLookup[idCalo]
118 << "\042 samplings:";
119 const std::vector<CaloSampling::CaloSample>& samplingV = p.second;
120 for (CaloSampling::CaloSample sample : samplingV) {
121 msg() << MSG::INFO
122 << " \042"
124 << "\042";
125 }
126 msg() << MSG::INFO << endmsg;
127 }
128
129 return StatusCode::SUCCESS;
130
131}
const ServiceHandle< StoreGateSvc > & detStore() const
void addBranch(const std::string &branchname, T &obj, const std::string &leaflist)
std::map< CaloSampling::CaloSample, std::string > m_samplingToNameLookup
Definition CBNT_Timing.h:60
std::map< std::string, CaloSampling::CaloSample > m_samplingFromNameLookup
Definition CBNT_Timing.h:61
std::map< CaloSampling::CaloSample, CaloCell_ID::SUBCALO > m_caloLookup
Definition CBNT_Timing.h:62
StatusCode setupLookupTables()
internal helpers

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::evtStore ( )
inlineinherited

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

Definition at line 85 of file AthCommonDataStore.h.

◆ execute()

StatusCode CBNT_TBRecBase::execute ( )
overridevirtualinherited

Definition at line 154 of file CBNT_TBRecBase.cxx.

154 {
155
157
158 // run pre-execution
159 try {
160 sc = this->pre_execute();
161 }
162
163 catch( const std::exception& Exception ) {
164 *m_log << MSG::ERROR << " Standard exception "
165 << Exception.what()
166 << " caught from sub-algorithm::CBNT_pre_execute (). Disable !" << endmsg ;
167 sc = this->setProperty(BooleanProperty( "Enable",false ) );
168 return StatusCode::FAILURE;
169
170 }
171 catch (...) {
172 *m_log << MSG::ERROR << " Unknown exception "
173 << " caught from sub-algorithm::CBNT_pre_execute (). Disable !" << endmsg ;
174 sc = this->setProperty(BooleanProperty( "Enable",false ) );
175 return StatusCode::FAILURE;
176 }
177
178 if (sc.isFailure()) {
179 *m_log << MSG::ERROR << "CBNT_pre_execute() failed. Disable !" << endmsg;
180 sc = this->setProperty(BooleanProperty( "Enable",false ) );
181 return sc;
182 }
183
184 // now subalgorithm execution
185 try {
186 sc = this->CBNT_execute();
187 }
188
189 catch( const std::exception& Exception ) {
190 *m_log << MSG::ERROR << " Standard exception "
191 << Exception.what()
192 << " caught from sub-algorithm::CBNT_execute () :" << endmsg ;
193 return StatusCode::FAILURE;
194 }
195 catch (...) {
196 *m_log << MSG::ERROR << " Unknown exception "
197 << " caught from sub-algorithm::CBNT_execute () :" << endmsg ;
198 return StatusCode::FAILURE;
199 }
200
201 return sc;
202}
static Double_t sc
void setProperty(columnar::PythonToolHandle &self, const std::string &key, nb::object value)
virtual StatusCode CBNT_execute()
MsgStream * m_log
virtual StatusCode pre_execute()
::StatusCode StatusCode
StatusCode definition for legacy code.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::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

◆ extraOutputDeps()

const DataObjIDColl & AthAlgorithm::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 50 of file AthAlgorithm.cxx.

51{
52 // If we didn't find any symlinks to add, just return the collection
53 // from the base class. Otherwise, return the extended collection.
54 if (!m_extendedExtraObjects.empty()) {
56 }
57 return Algorithm::extraOutputDeps();
58}
DataObjIDColl m_extendedExtraObjects

◆ finalize()

StatusCode CBNT_TBRecBase::finalize ( )
overridevirtualinherited

Definition at line 205 of file CBNT_TBRecBase.cxx.

205 {
206
208
209 //now subalgorithm finalisation
210 try {
211 sc = this->CBNT_finalize();
212 }
213 catch( const std::exception& Exception ) {
214 *m_log << MSG::ERROR << " Standard exception "
215 << Exception.what()
216 << " caught from sub-algorithm::CBNT_finalize () :" << endmsg ;
217 }
218 catch (...) {
219 *m_log << MSG::ERROR << " Unknown exception "
220 << " caught from sub-algorithm::CBNT_finalize () :" << endmsg ;
221 }
222
223 return sc;
224}
virtual StatusCode CBNT_finalize()

◆ initialize()

StatusCode CBNT_TBRecBase::initialize ( )
overridevirtualinherited

Definition at line 22 of file CBNT_TBRecBase.cxx.

22 {
23 m_log=new MsgStream(msgSvc(), name());
24
25 *m_log << MSG::DEBUG << "Initializing CBNT_TBRecBase base class" << endmsg;
26
27 const CaloCell_ID* idHelper = nullptr;
28 ATH_CHECK( detStore()->retrieve (idHelper, "CaloCell_ID") );
29 m_emId=idHelper->em_idHelper();
30 m_fcalId=idHelper->fcal_idHelper();
31 m_hecId=idHelper->hec_idHelper();
32
33
34 if (!m_emId) {
35 (*m_log) << MSG::ERROR << "Could not access lar EM ID helper" << endmsg;
36 return StatusCode::FAILURE;
37 }
38 if (!m_fcalId) {
39 (*m_log) << MSG::ERROR << "Could not access lar FCAL ID helper" << endmsg;
40 return StatusCode::FAILURE;
41 }
42 if (!m_hecId) {
43 (*m_log) << MSG::ERROR << "Could not access lar HEC ID helper" << endmsg;
44 return StatusCode::FAILURE;
45 }
46
47 StatusCode sc = detStore()->retrieve(m_onlineId, "LArOnlineID");
48 if (sc.isFailure()) {
49 (*m_log) << MSG::ERROR << "Could not get LArOnlineID helper !" << endmsg;
50 return StatusCode::FAILURE;
51 }
52 else {
53 (*m_log) << MSG::DEBUG << " Found the LArOnlineID helper. " << endmsg;
54 }
55
56
57 m_initialized=true;
58 return StatusCode::SUCCESS;
59}
const LArOnlineID * m_onlineId
const LArFCAL_ID * m_fcalId
const LArHEC_ID * m_hecId
const LArFCAL_ID * fcal_idHelper() const
access to FCAL idHelper
Definition CaloCell_ID.h:75
const LArEM_ID * em_idHelper() const
access to EM idHelper
Definition CaloCell_ID.h:63
const LArHEC_ID * hec_idHelper() const
access to HEC idHelper
Definition CaloCell_ID.h:69
msgSvc
Provide convenience handles for various services.
Definition StdJOSetup.py:36

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Algorithm > >::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.

◆ msg()

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ msgLvl()

bool AthCommonMsg< Algorithm >::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< Algorithm > >::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.

◆ pre_execute()

StatusCode CBNT_TBRecBase::pre_execute ( )
virtualinherited

Definition at line 61 of file CBNT_TBRecBase.cxx.

61 {
62
64
65 if(!m_initialized) {
66
67 if (m_ntpath.size()==0 || m_ntTitle.size()==0) {
68 *m_log << MSG::ERROR << "Need to set variable 'm_ntpath' and 'm_ntTitle' in constructor of deriving class!" << endmsg;
69 return StatusCode::FAILURE;
70 }
71
72 size_t i=m_ntpath.rfind('/');
73 if (i==std::string::npos) {
74 *m_log << MSG::ERROR << "Expected at least on '/' in path " << m_ntpath << endmsg;
75 return StatusCode::FAILURE;
76 }
77 std::string basepath(m_ntpath.begin(),m_ntpath.begin()+i);
78 //std::cout << "Basepath" << basepath << std::endl;
79
80 // retrieve pointer to THistSvc
81 ServiceHandle<ITHistSvc> tHistSvc("THistSvc", name());
82 ATH_CHECK( tHistSvc.retrieve() );
83
84 // get TTree
85 sc = tHistSvc->getTree(m_ntpath,m_nt);
86 if (sc.isFailure()) {
87 *m_log << MSG::ERROR << "Unable to retrieve TTree : " << m_ntpath << endmsg;
88 return sc;
89 }
90 /*
91 NTupleFilePtr file1(ntupleSvc(),basepath);
92 if (!file1){
93 (*m_log) << MSG::ERROR << "Could not get NTupleFilePtr with path " << basepath << " failed" << endmsg;
94 return StatusCode::FAILURE;
95 }
96 NTuplePtr nt(ntupleSvc(),m_ntpath);
97 if (!nt) {
98 nt=ntupleSvc()->book(m_ntpath,CLID_ColumnWiseTuple,m_ntTitle);
99 }
100 if (!nt){
101 (*m_log) << MSG::ERROR << "Booking of NTuple at "<< m_ntpath << " and name " << m_ntTitle << " failed" << endmsg;
102 return StatusCode::FAILURE;
103 }
104 m_nt=nt;
105 */
106 //std::cout << "Ntuple ptr:" << m_nt << std::endl;
107
108 // subalgorithm initialisation
109 try {
110 sc = this->CBNT_initialize();
111 }
112 catch( const std::exception& Exception ) {
113 *m_log << MSG::ERROR << " Standard exception "
114 << Exception.what()
115 << " caught from sub-algorithm::CBNT_initialize () :" << endmsg ;
116 }
117 catch (...) {
118 *m_log << MSG::ERROR << " Unknown exception "
119 << " caught from sub-algorithm::CBNT_initialize () :" << endmsg ;
120 }
121
122 if (sc.isFailure())
123 {
124 *m_log << MSG::ERROR << "CBNT_initialize() failed" << endmsg;
125 return sc;
126 }
127
128 m_initialized=true;
129 }
130
131 // clear data members
132 try {
133 sc = this->CBNT_clear();
134 }
135 catch( const std::exception& Exception ) {
136 *m_log << MSG::ERROR << " Standard exception "
137 << Exception.what()
138 << " caught from sub-algorithm::CBNT_clear () :" << endmsg ;
139 }
140 catch (...) {
141 *m_log << MSG::ERROR << " Unknown exception "
142 << " caught from sub-algorithm::CBNT_clear () :" << endmsg ;
143 }
144
145 if (sc.isFailure()) {
146 *m_log << MSG::ERROR << "CBNT_clear() failed" << endmsg;
147 return sc;
148 }
149
150 return StatusCode::SUCCESS ;
151}
std::string m_ntTitle
virtual StatusCode CBNT_clear()
std::string m_ntpath
virtual StatusCode CBNT_initialize()

◆ 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< Algorithm > >::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< Algorithm > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ setupLookupTables()

StatusCode CBNT_Timing::setupLookupTables ( )
private

internal helpers

Definition at line 356 of file CBNT_Timing.cxx.

356 {
357
358 // fill slot and febName lookup table for EM barrel online
359 m_slotToFebNameLookup[1]="Presampler";
360 m_slotToFebNameLookup[2]="Front 0";
361 m_slotToFebNameLookup[3]="Front 1";
362 m_slotToFebNameLookup[4]="Front 2";
363 m_slotToFebNameLookup[5]="Front 3";
364 m_slotToFebNameLookup[6]="Front 4";
365 m_slotToFebNameLookup[7]="Front 5";
366 m_slotToFebNameLookup[8]="Front 6";
367 m_slotToFebNameLookup[9]="Back 0";
368 m_slotToFebNameLookup[10]="Back 1";
369 m_slotToFebNameLookup[11]="Middle 0";
370 m_slotToFebNameLookup[12]="Middle 1";
371 m_slotToFebNameLookup[13]="Middle 2";
372 m_slotToFebNameLookup[14]="Middle 3";
373
374 // fill calo names lookup tables
379
384
385 // fill sampling names lookup table
386 m_samplingToNameLookup[CaloSampling::PreSamplerB] = "PreSamplerB"; // electromagnetic barrel
387 m_samplingToNameLookup[CaloSampling::EMB1] = "EMB1";
388 m_samplingToNameLookup[CaloSampling::EMB2] = "EMB2";
389 m_samplingToNameLookup[CaloSampling::EMB3] = "EMB3";
390 m_samplingToNameLookup[CaloSampling::PreSamplerE] = "PreSamplerE"; // electromagnetic endcap
391 m_samplingToNameLookup[CaloSampling::EME1] = "EME1";
392 m_samplingToNameLookup[CaloSampling::EME2] = "EME2";
393 m_samplingToNameLookup[CaloSampling::EME3] = "EME3";
394 m_samplingToNameLookup[CaloSampling::HEC0] = "HEC0"; // hadronic endcap
395 m_samplingToNameLookup[CaloSampling::HEC1] = "HEC1";
396 m_samplingToNameLookup[CaloSampling::HEC2] = "HEC2";
397 m_samplingToNameLookup[CaloSampling::HEC3] = "HEC3";
398 m_samplingToNameLookup[CaloSampling::TileBar0] = "TileBar0"; // tile barrel
399 m_samplingToNameLookup[CaloSampling::TileBar1] = "TileBar1";
400 m_samplingToNameLookup[CaloSampling::TileBar2] = "TileBar2";
401 m_samplingToNameLookup[CaloSampling::TileGap1] = "TileGap1"; // tile gap scintillators
402 m_samplingToNameLookup[CaloSampling::TileGap2] = "TileGap2";
403 m_samplingToNameLookup[CaloSampling::TileGap3] = "TileGap3";
404 m_samplingToNameLookup[CaloSampling::TileExt0] = "TileExt0"; // tile extended barrel
405 m_samplingToNameLookup[CaloSampling::TileExt1] = "TileExt1";
406 m_samplingToNameLookup[CaloSampling::TileExt2] = "TileExt2";
407 m_samplingToNameLookup[CaloSampling::FCAL0] = "FCal1"; // fcal
408 m_samplingToNameLookup[CaloSampling::FCAL1] = "FCal2";
409 m_samplingToNameLookup[CaloSampling::FCAL2] = "FCal3";
410 m_samplingToNameLookup[CaloSampling::Unknown] = "unknown";
411
412 m_samplingFromNameLookup["PreSamplerB"] = CaloSampling::PreSamplerB; // electromagnetic barrel
413 m_samplingFromNameLookup["EMB1"] = CaloSampling::EMB1;
414 m_samplingFromNameLookup["EMB2"] = CaloSampling::EMB2;
415 m_samplingFromNameLookup["EMB3"] = CaloSampling::EMB3;
416 m_samplingFromNameLookup["PreSamplerE"] = CaloSampling::PreSamplerE; // electromagnetic endcap
417 m_samplingFromNameLookup["EME1"] = CaloSampling::EME1;
418 m_samplingFromNameLookup["EME2"] = CaloSampling::EME2;
419 m_samplingFromNameLookup["EME3"] = CaloSampling::EME3;
420 m_samplingFromNameLookup["HEC0"] = CaloSampling::HEC0; // hadronic endcap
421 m_samplingFromNameLookup["HEC1"] = CaloSampling::HEC1;
422 m_samplingFromNameLookup["HEC2"] = CaloSampling::HEC2;
423 m_samplingFromNameLookup["HEC3"] = CaloSampling::HEC3;
424 m_samplingFromNameLookup["TileBar0"] = CaloSampling::TileBar0; // tile barrel
425 m_samplingFromNameLookup["TileBar1"] = CaloSampling::TileBar1;
426 m_samplingFromNameLookup["TileBar2"] = CaloSampling::TileBar2;
427 m_samplingFromNameLookup["TileGap1"] = CaloSampling::TileGap1; // tile gap scintillators
428 m_samplingFromNameLookup["TileGap2"] = CaloSampling::TileGap2;
429 m_samplingFromNameLookup["TileGap3"] = CaloSampling::TileGap3;
430 m_samplingFromNameLookup["TileExt0"] = CaloSampling::TileExt0; // tile extended barrel
431 m_samplingFromNameLookup["TileExt1"] = CaloSampling::TileExt1;
432 m_samplingFromNameLookup["TileExt2"] = CaloSampling::TileExt2;
433 m_samplingFromNameLookup["FCal1"] = CaloSampling::FCAL0; // fcal
434 m_samplingFromNameLookup["FCal2"] = CaloSampling::FCAL1;
435 m_samplingFromNameLookup["FCal3"] = CaloSampling::FCAL2;
436 m_samplingFromNameLookup["unknown"] = CaloSampling::Unknown;
437
438 // fill calo lookup table
439 m_caloLookup[CaloSampling::PreSamplerB] = CaloCell_ID::LAREM;
440 m_caloLookup[CaloSampling::EMB1] = CaloCell_ID::LAREM;
441 m_caloLookup[CaloSampling::EMB2] = CaloCell_ID::LAREM;
442 m_caloLookup[CaloSampling::EMB3] = CaloCell_ID::LAREM;
443 m_caloLookup[CaloSampling::PreSamplerE] = CaloCell_ID::LAREM;
444 m_caloLookup[CaloSampling::EME1] = CaloCell_ID::LAREM;
445 m_caloLookup[CaloSampling::EME2] = CaloCell_ID::LAREM;
446 m_caloLookup[CaloSampling::EME3] = CaloCell_ID::LAREM;
447 m_caloLookup[CaloSampling::HEC0] = CaloCell_ID::LARHEC;
448 m_caloLookup[CaloSampling::HEC1] = CaloCell_ID::LARHEC;
449 m_caloLookup[CaloSampling::HEC2] = CaloCell_ID::LARHEC;
450 m_caloLookup[CaloSampling::HEC3] = CaloCell_ID::LARHEC;
451 m_caloLookup[CaloSampling::TileBar0] = CaloCell_ID::TILE;
452 m_caloLookup[CaloSampling::TileBar1] = CaloCell_ID::TILE;
453 m_caloLookup[CaloSampling::TileBar2] = CaloCell_ID::TILE;
454 m_caloLookup[CaloSampling::TileGap1] = CaloCell_ID::TILE;
455 m_caloLookup[CaloSampling::TileGap2] = CaloCell_ID::TILE;
456 m_caloLookup[CaloSampling::TileGap3] = CaloCell_ID::TILE;
457 m_caloLookup[CaloSampling::TileExt0] = CaloCell_ID::TILE;
458 m_caloLookup[CaloSampling::TileExt1] = CaloCell_ID::TILE;
459 m_caloLookup[CaloSampling::TileExt2] = CaloCell_ID::TILE;
460 m_caloLookup[CaloSampling::FCAL0] = CaloCell_ID::LARFCAL;
461 m_caloLookup[CaloSampling::FCAL1] = CaloCell_ID::LARFCAL;
462 m_caloLookup[CaloSampling::FCAL2] = CaloCell_ID::LARFCAL;
463
464 return StatusCode::SUCCESS;
465}
std::map< std::string, CaloCell_ID::SUBCALO > m_caloFromNameLookup
Definition CBNT_Timing.h:59
std::map< int, std::string > m_slotToFebNameLookup
Definition CBNT_Timing.h:57

◆ sysInitialize()

StatusCode AthAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, AthHistogramAlgorithm, and PyAthena::Alg.

Definition at line 66 of file AthAlgorithm.cxx.

66 {
68
69 if (sc.isFailure()) {
70 return sc;
71 }
72 ServiceHandle<ICondSvc> cs("CondSvc",name());
73 for (auto h : outputHandles()) {
74 if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75 // do this inside the loop so we don't create the CondSvc until needed
76 if ( cs.retrieve().isFailure() ) {
77 ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78 return StatusCode::SUCCESS;
79 }
80 if (cs->regHandle(this,*h).isFailure()) {
81 sc = StatusCode::FAILURE;
82 ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83 << " with CondSvc");
84 }
85 }
86 }
87 return sc;
88}
#define ATH_MSG_WARNING(x)
virtual StatusCode sysInitialize() override
Override sysInitialize.
AthCommonDataStore(const std::string &name, T... args)
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Algorithm > >::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< Algorithm > >::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

Member Data Documentation

◆ m_cablingKey

SG::ReadCondHandleKey<LArOnOffIdMapping> CBNT_Timing::m_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"}
private

Definition at line 39 of file CBNT_Timing.h.

39{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};

◆ m_caloCellName

std::string CBNT_Timing::m_caloCellName
private

Definition at line 47 of file CBNT_Timing.h.

◆ m_caloFromNameLookup

std::map<std::string, CaloCell_ID::SUBCALO> CBNT_Timing::m_caloFromNameLookup
private

Definition at line 59 of file CBNT_Timing.h.

◆ m_caloLookup

std::map<CaloSampling::CaloSample, CaloCell_ID::SUBCALO> CBNT_Timing::m_caloLookup
private

Definition at line 62 of file CBNT_Timing.h.

◆ m_calosAndSamplings

std::map< CaloCell_ID::SUBCALO, std::vector<CaloSampling::CaloSample> > CBNT_Timing::m_calosAndSamplings
private

Definition at line 52 of file CBNT_Timing.h.

◆ m_caloToNameLookup

std::map<CaloCell_ID::SUBCALO, std::string> CBNT_Timing::m_caloToNameLookup
private

Definition at line 58 of file CBNT_Timing.h.

◆ m_detStore

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

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_emId

const LArEM_ID* CBNT_TBRecBase::m_emId
protectedinherited

Definition at line 65 of file CBNT_TBRecBase.h.

◆ m_energy

float CBNT_Timing::m_energy
private

Definition at line 79 of file CBNT_Timing.h.

◆ m_energy_cell

std::vector<float>* CBNT_Timing::m_energy_cell
private

Definition at line 67 of file CBNT_Timing.h.

◆ m_energy_cut

double CBNT_Timing::m_energy_cut
private

Definition at line 42 of file CBNT_Timing.h.

◆ m_eta_cell

std::vector<long> * CBNT_Timing::m_eta_cell
private

Definition at line 66 of file CBNT_Timing.h.

◆ m_evtStore

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

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_fcalId

const LArFCAL_ID* CBNT_TBRecBase::m_fcalId
protectedinherited

Definition at line 67 of file CBNT_TBRecBase.h.

◆ m_febId_cell

std::vector<long> * CBNT_Timing::m_febId_cell
private

Definition at line 66 of file CBNT_Timing.h.

◆ m_febId_feb

std::vector<long>* CBNT_Timing::m_febId_feb
private

Definition at line 73 of file CBNT_Timing.h.

◆ m_febIDs

std::vector<HWIdentifier> CBNT_Timing::m_febIDs
private

Definition at line 53 of file CBNT_Timing.h.

◆ m_feedthrough_feb

std::vector<long>* CBNT_Timing::m_feedthrough_feb
private

Definition at line 76 of file CBNT_Timing.h.

◆ m_first_event

bool CBNT_Timing::m_first_event
private

Definition at line 43 of file CBNT_Timing.h.

◆ m_hecId

const LArHEC_ID* CBNT_TBRecBase::m_hecId
protectedinherited

Definition at line 66 of file CBNT_TBRecBase.h.

◆ m_initialized

bool CBNT_TBRecBase::m_initialized
privateinherited

Definition at line 40 of file CBNT_TBRecBase.h.

◆ m_layer_cell

std::vector<long>* CBNT_Timing::m_layer_cell
private

Definition at line 66 of file CBNT_Timing.h.

◆ m_layer_layer

std::vector<long>* CBNT_Timing::m_layer_layer
private

Definition at line 70 of file CBNT_Timing.h.

◆ m_log

MsgStream* CBNT_TBRecBase::m_log
protectedinherited

Definition at line 63 of file CBNT_TBRecBase.h.

◆ m_nt

TTree* CBNT_TBRecBase::m_nt
protectedinherited

Definition at line 61 of file CBNT_TBRecBase.h.

◆ m_ntpath

std::string CBNT_TBRecBase::m_ntpath
protectedinherited

Definition at line 58 of file CBNT_TBRecBase.h.

◆ m_ntTitle

std::string CBNT_TBRecBase::m_ntTitle
protectedinherited

Definition at line 58 of file CBNT_TBRecBase.h.

◆ m_onlineHelper

const LArOnlineID* CBNT_Timing::m_onlineHelper
private

Definition at line 40 of file CBNT_Timing.h.

◆ m_onlineId

const LArOnlineID* CBNT_TBRecBase::m_onlineId
protectedinherited

Definition at line 68 of file CBNT_TBRecBase.h.

◆ m_phi_cell

std::vector<long> * CBNT_Timing::m_phi_cell
private

Definition at line 66 of file CBNT_Timing.h.

◆ m_sampling_names

std::vector<std::string> CBNT_Timing::m_sampling_names
private

Definition at line 46 of file CBNT_Timing.h.

◆ m_samplingFromNameLookup

std::map<std::string, CaloSampling::CaloSample> CBNT_Timing::m_samplingFromNameLookup
private

Definition at line 61 of file CBNT_Timing.h.

◆ m_samplingIndices

std::vector<CaloSampling::CaloSample> CBNT_Timing::m_samplingIndices
private

stores

Definition at line 51 of file CBNT_Timing.h.

◆ m_samplingToNameLookup

std::map<CaloSampling::CaloSample, std::string> CBNT_Timing::m_samplingToNameLookup
private

Definition at line 60 of file CBNT_Timing.h.

◆ m_slot_feb

std::vector<long>* CBNT_Timing::m_slot_feb
private

Definition at line 75 of file CBNT_Timing.h.

◆ m_slotToFebNameLookup

std::map<int, std::string> CBNT_Timing::m_slotToFebNameLookup
private

Definition at line 57 of file CBNT_Timing.h.

◆ m_tbphase

std::string CBNT_Timing::m_tbphase
private

Definition at line 45 of file CBNT_Timing.h.

◆ m_tdc_phase

float CBNT_Timing::m_tdc_phase
private

Definition at line 79 of file CBNT_Timing.h.

◆ m_time

float CBNT_Timing::m_time
private

Definition at line 79 of file CBNT_Timing.h.

◆ m_time_cell

std::vector<float> * CBNT_Timing::m_time_cell
private

Definition at line 67 of file CBNT_Timing.h.

◆ m_time_feb

std::vector<float>* CBNT_Timing::m_time_feb
private

Definition at line 74 of file CBNT_Timing.h.

◆ m_time_layer

std::vector<float>* CBNT_Timing::m_time_layer
private

Definition at line 69 of file CBNT_Timing.h.

◆ m_varHandleArraysDeclared

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

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.

◆ NOENERGY

const int CBNT_Timing::NOENERGY = -999
staticprivate

Definition at line 37 of file CBNT_Timing.h.

◆ NOTIME

const int CBNT_Timing::NOTIME = -999
staticprivate

Definition at line 36 of file CBNT_Timing.h.


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