ATLAS Offline Software
Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
MDT_RDOAnalysis Class Reference

#include <MDT_RDOAnalysis.h>

Inheritance diagram for MDT_RDOAnalysis:
Collaboration diagram for MDT_RDOAnalysis:

Public Member Functions

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

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

SG::ReadHandleKey< MdtCsmContainerm_inputKey
 
SG::ReadHandleKey< MuonSimDataCollectionm_inputTruthKey
 
std::vector< unsigned long long > * m_mdtID
 
std::vector< unsigned int > * m_mdtIDhash
 
std::vector< uint16_t > * m_subID
 
std::vector< uint16_t > * m_mrodID
 
std::vector< uint16_t > * m_csmID
 
std::vector< uint16_t > * m_tdcID
 
std::vector< uint16_t > * m_chanID
 
std::vector< uint16_t > * m_coarse
 
std::vector< uint16_t > * m_fine
 
std::vector< uint16_t > * m_width
 
std::vector< bool > * m_leading
 
std::vector< bool > * m_isMasked
 
std::vector< uint32_t > * m_dataWords
 
std::vector< unsigned long long > * m_sdoID
 
std::vector< int > * m_sdoWord
 
std::vector< float > * m_xPos
 
std::vector< float > * m_yPos
 
std::vector< float > * m_zPos
 
std::vector< int > * m_barcode
 
std::vector< int > * m_eventIndex
 
std::vector< double > * m_radius
 
std::vector< float > * m_localZ
 
std::vector< std::vector< int > > * m_barcode_vec
 
std::vector< std::vector< int > > * m_eventIndex_vec
 
std::vector< std::vector< double > > * m_radius_vec
 
std::vector< std::vector< float > > * m_localZ_vec
 
TH1 * m_h_mdtID
 
TH1 * m_h_subID
 
TH1 * m_h_mrodID
 
TH1 * m_h_csmID
 
TH1 * m_h_tdcID
 
TH1 * m_h_chanID
 
TH1 * m_h_coarse
 
TH1 * m_h_fine
 
TH1 * m_h_width
 
TH1 * m_h_sdoID
 
TH1 * m_h_sdoWord
 
TH1 * m_h_xPos
 
TH1 * m_h_yPos
 
TH1 * m_h_zPos
 
TH1 * m_h_barcode
 
TH1 * m_h_eventIndex
 
TH1 * m_h_radius
 
TH1 * m_h_localZ
 
TTree * m_tree
 
std::string m_ntupleFileName
 
std::string m_ntupleDirName
 
std::string m_ntupleTreeName
 
std::string m_path
 
ServiceHandle< ITHistSvc > m_thistSvc
 
DataObjIDColl m_extendedExtraObjects
 
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 24 of file MDT_RDOAnalysis.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ MDT_RDOAnalysis()

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

Definition at line 17 of file MDT_RDOAnalysis.cxx.

18  : AthAlgorithm(name, pSvcLocator)
19  , m_inputKey("MDTCSM")
20  , m_inputTruthKey("MDT_SDO")
21  , m_mdtID(0)
22  , m_mdtIDhash(0)
23  , m_subID(0)
24  , m_mrodID(0)
25  , m_csmID(0)
26  , m_tdcID(0)
27  , m_chanID(0)
28  , m_coarse(0)
29  , m_fine(0)
30  , m_width(0)
31  , m_leading(0)
32  , m_isMasked(0)
33  , m_dataWords(0)
34  , m_sdoID(0)
35  , m_sdoWord(0)
36  , m_xPos(0)
37  , m_yPos(0)
38  , m_zPos(0)
39  , m_barcode(0)
40  , m_eventIndex(0)
41  , m_radius(0)
42  , m_localZ(0)
43  , m_barcode_vec(0)
44  , m_eventIndex_vec(0)
45  , m_radius_vec(0)
46  , m_localZ_vec(0)
47 
48  , m_h_mdtID(0)
49  , m_h_subID(0)
50  , m_h_mrodID(0)
51  , m_h_csmID(0)
52  , m_h_tdcID(0)
53  , m_h_chanID(0)
54  , m_h_coarse(0)
55  , m_h_fine(0)
56  , m_h_width(0)
57  , m_h_sdoID(0)
58  , m_h_sdoWord(0)
59  , m_h_xPos(0)
60  , m_h_yPos(0)
61  , m_h_zPos(0)
62  , m_h_barcode(0)
63  , m_h_eventIndex(0)
64  , m_h_radius(0)
65  , m_h_localZ(0)
66 
67  , m_tree(0)
68  , m_ntupleFileName("/ntuples/file1")
69  , m_ntupleDirName("/MDT_RDOAnalysis/")
70  //, m_ntupleDirName("MDT_RDOAnalysis")
71  , m_ntupleTreeName("MDT_RDOAna")
72  , m_path("/MDT_RDOAnalysis/")
73  , m_thistSvc("THistSvc", name)
74 {
75  declareProperty("InputKey", m_inputKey);
76  declareProperty("InputTruthKey", m_inputTruthKey);
77  declareProperty("NtupleFileName", m_ntupleFileName);
78  declareProperty("NtupleDirectoryName", m_ntupleDirName);
79  declareProperty("NtupleTreeName", m_ntupleTreeName);
80  declareProperty("HistPath", m_path);
81 }

◆ ~MDT_RDOAnalysis()

MDT_RDOAnalysis::~MDT_RDOAnalysis ( )
inline

Definition at line 28 of file MDT_RDOAnalysis.h.

28 {}

Member Function Documentation

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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; }

◆ execute()

StatusCode MDT_RDOAnalysis::execute ( )
finaloverridevirtual

Definition at line 204 of file MDT_RDOAnalysis.cxx.

204  {
205  ATH_MSG_DEBUG( "In MDT_RDOAnalysis::execute()" );
206 
207  m_mdtID->clear();
208  m_mdtIDhash->clear();
209  m_subID->clear();
210  m_mrodID->clear();
211  m_csmID->clear();
212  m_tdcID->clear();
213  m_chanID->clear();
214  m_coarse->clear();
215  m_fine->clear();
216  m_width->clear();
217  m_leading->clear();
218  m_isMasked->clear();
219  m_dataWords->clear();
220  m_sdoID->clear();
221  m_sdoWord->clear();
222  m_xPos->clear();
223  m_yPos->clear();
224  m_zPos->clear();
225  m_barcode->clear();
226  m_eventIndex->clear();
227  m_radius->clear();
228  m_localZ->clear();
229  m_barcode_vec->clear();
230  m_eventIndex_vec->clear();
231  m_radius_vec->clear();
232  m_localZ_vec->clear();
233 
235  if(p_MDTcont.isValid()) {
236  MdtCsmContainer::const_iterator mdtCont_itr(p_MDTcont->begin());
237  const MdtCsmContainer::const_iterator mdtCont_end(p_MDTcont->end());
238 
239  for ( ; mdtCont_itr != mdtCont_end; ++mdtCont_itr ) {
240  const Identifier mdtID((*mdtCont_itr)->identify());
241  const IdentifierHash mdtIDhash((*mdtCont_itr)->identifyHash());
242  const uint16_t subID((*mdtCont_itr)->SubDetId());
243  const uint16_t mrodID((*mdtCont_itr)->MrodId());
244  const uint16_t csmID((*mdtCont_itr)->CsmId());
245 
246  unsigned long long mdtID_int = mdtID.get_compact();
247  unsigned int mdtIDhash_int = mdtIDhash.value();
248  m_mdtID->push_back(mdtID_int);
249  m_mdtIDhash->push_back(mdtIDhash_int);
250  m_subID->push_back(subID);
251  m_mrodID->push_back(mrodID);
252  m_csmID->push_back(csmID);
253 
254  m_h_mdtID->Fill(mdtID_int);
255  m_h_subID->Fill(subID);
256  m_h_mrodID->Fill(mrodID);
257  m_h_csmID->Fill(csmID);
258 
259  const MdtCsm* p_mdtAmt(*mdtCont_itr);
260  MdtCsm::const_iterator mdt_itr(p_mdtAmt->begin());
261  const MdtCsm::const_iterator mdt_end(p_mdtAmt->end());
262  for ( ; mdt_itr != mdt_end; ++mdt_itr ) {
263 
264  const uint16_t tdcID((*mdt_itr)->tdcId());
265  const uint16_t chanID((*mdt_itr)->channelId());
266  const uint16_t coarseTime((*mdt_itr)->coarse());
267  const uint16_t fineTime((*mdt_itr)->fine());
268  const uint16_t widthComb((*mdt_itr)->width());
269  const bool lead((*mdt_itr)->leading());
270  const bool masked((*mdt_itr)->isMasked());
271  const std::vector<uint32_t>* dataWords_vec = (*mdt_itr)->dataWords();
272 
273  m_tdcID->push_back(tdcID);
274  m_chanID->push_back(chanID);
275  m_coarse->push_back(coarseTime);
276  m_fine->push_back(fineTime);
277  m_width->push_back(widthComb);
278  m_leading->push_back(lead);
279  m_isMasked->push_back(masked);
280  for (std::vector<uint32_t>::size_type i = 0; i != dataWords_vec->size(); ++i) {
281  m_dataWords->push_back(dataWords_vec->at(i));
282  }
283 
284  m_h_tdcID->Fill(tdcID);
285  m_h_chanID->Fill(chanID);
286  m_h_coarse->Fill(coarseTime);
287  m_h_fine->Fill(fineTime);
288  m_h_width->Fill(widthComb);
289 
290  }
291  }
292  }
293 
294  // SimData
296  if(simDataMapMDT.isValid()) {
297  MuonSimDataCollection::const_iterator sdo_itr(simDataMapMDT->begin());
298  const MuonSimDataCollection::const_iterator sdo_end(simDataMapMDT->end());
299 
300  std::vector<int> barcode_vec;
301  std::vector<int> eventIndex_vec;
302  std::vector<double> radius_vec;
303  std::vector<float> localZ_vec;
304  for ( ; sdo_itr != sdo_end; ++sdo_itr ) {
305  const Identifier sdoID((*sdo_itr).first);
306  const MuonSimData& sdo((*sdo_itr).second);
307  const unsigned long long sdoID_int = sdoID.get_compact();
308  const int sdoWord(sdo.word());
309  const Amg::Vector3D gPos(sdo.globalPosition());
310  const float xPos(gPos.x());
311  const float yPos(gPos.y());
312  const float zPos(gPos.z());
313 
314  m_sdoID->push_back(sdoID_int);
315  m_sdoWord->push_back(sdoWord);
316  m_xPos->push_back(xPos);
317  m_yPos->push_back(yPos);
318  m_zPos->push_back(zPos);
319 
320  m_h_sdoID->Fill(sdoID_int);
321  m_h_sdoWord->Fill(sdoWord);
322  m_h_xPos->Fill(xPos);
323  m_h_yPos->Fill(yPos);
324  m_h_zPos->Fill(zPos);
325 
326  // loop over deposits
327  const std::vector<MuonSimData::Deposit>& deposits = sdo.getdeposits();
328  std::vector<MuonSimData::Deposit>::const_iterator dep_itr(deposits.begin());
329  const std::vector<MuonSimData::Deposit>::const_iterator dep_end(deposits.end());
330  for ( ; dep_itr != dep_end; ++dep_itr ) {
331  const HepMcParticleLink& particleLink = (*dep_itr).first;
332  const int bar(HepMC::barcode(particleLink)); // FIXME barcode-based
333  const int eventIx(particleLink.eventIndex());
334  const MuonMCData& data = (*dep_itr).second;
335  const double radius(data.firstEntry());
336  const float localZ(data.secondEntry());
337 
338  m_barcode->push_back(bar);
339  m_eventIndex->push_back(eventIx);
340  m_radius->push_back(radius); // radius?
341  m_localZ->push_back(localZ); // local z-pos?
342 
343  m_h_barcode->Fill(bar);
344  m_h_eventIndex->Fill(eventIx);
345  m_h_radius->Fill(radius);
346  m_h_localZ->Fill(localZ);
347 
348  barcode_vec.push_back(bar);
349  eventIndex_vec.push_back(eventIx);
350  radius_vec.push_back(radius);
351  localZ_vec.push_back(localZ);
352  }
353  m_barcode_vec->push_back(barcode_vec);
354  m_eventIndex_vec->push_back(eventIndex_vec);
355  m_radius_vec->push_back(radius_vec);
356  m_localZ_vec->push_back(localZ_vec);
357  barcode_vec.clear();
358  eventIndex_vec.clear();
359  radius_vec.clear();
360  localZ_vec.clear();
361  }
362  }
363 
364  if (m_tree) {
365  m_tree->Fill();
366  }
367 
368  return StatusCode::SUCCESS;
369 }

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

◆ finalize()

StatusCode MDT_RDOAnalysis::finalize ( )
finaloverridevirtual

Definition at line 371 of file MDT_RDOAnalysis.cxx.

371  {
372  return StatusCode::SUCCESS;
373 }

◆ initialize()

StatusCode MDT_RDOAnalysis::initialize ( )
finaloverridevirtual

Definition at line 83 of file MDT_RDOAnalysis.cxx.

83  {
84  ATH_MSG_DEBUG( "Initializing MDT_RDOAnalysis" );
85 
86  // This will check that the properties were initialized
87  // properly by job configuration.
90 
91  ATH_CHECK(m_thistSvc.retrieve());
92 
93  m_tree = new TTree(TString(m_ntupleTreeName), "MDT_RDOAna");
94  std::string fullNtupleName = m_ntupleFileName + m_ntupleDirName + m_ntupleTreeName;
95  //std::string fullNtupleName = "/" + m_ntupleFileName + "/" + m_ntupleDirName + "/" + m_ntupleTreeName;
96  ATH_CHECK(m_thistSvc->regTree(fullNtupleName, m_tree));
97  if (m_tree) {
98  m_tree->Branch("mdtID", &m_mdtID);
99  m_tree->Branch("mdtIDhash", &m_mdtIDhash);
100  m_tree->Branch("subID", &m_subID);
101  m_tree->Branch("mrodID", &m_mrodID);
102  m_tree->Branch("csmID", &m_csmID);
103  m_tree->Branch("tdcID", &m_tdcID);
104  m_tree->Branch("chanID", &m_chanID);
105  m_tree->Branch("coarse", &m_coarse);
106  m_tree->Branch("fine", &m_fine);
107  m_tree->Branch("width", &m_width);
108  m_tree->Branch("leading", &m_leading);
109  m_tree->Branch("isMasked", &m_isMasked);
110  m_tree->Branch("dataWords", &m_dataWords);
111  m_tree->Branch("sdoID", &m_sdoID);
112  m_tree->Branch("sdoWord", &m_sdoWord);
113  m_tree->Branch("xPos", &m_xPos);
114  m_tree->Branch("yPos", &m_yPos);
115  m_tree->Branch("zPos", &m_zPos);
116  m_tree->Branch("barcode", &m_barcode);
117  m_tree->Branch("eventIndex", &m_eventIndex);
118  m_tree->Branch("radius", &m_radius);
119  m_tree->Branch("localZ", &m_localZ);
120  m_tree->Branch("barcode_vec", &m_barcode_vec);
121  m_tree->Branch("eventIndex_vec", &m_eventIndex_vec);
122  m_tree->Branch("radius_vec", &m_radius_vec);
123  m_tree->Branch("localZ_vec", &m_localZ_vec);
124  }
125  else {
126  ATH_MSG_ERROR("No tree found!");
127  }
128 
129  m_h_mdtID = new TH1F("h_mdtID", "MDT ID", 100, 0, 1e19);
130  m_h_mdtID->StatOverflows();
131  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_mdtID->GetName(), m_h_mdtID));
132 
133  m_h_subID = new TH1F("h_subID", "Sub-detector ID", 100, 0, 150);
134  m_h_subID->StatOverflows();
135  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_subID->GetName(), m_h_subID));
136 
137  m_h_mrodID = new TH1F("h_mrodID", "MROD ID", 100, 0, 150);
138  m_h_mrodID->StatOverflows();
139  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_mrodID->GetName(), m_h_mrodID));
140 
141  m_h_csmID = new TH1F("h_csmID", "CSM ID", 100, 0, 10);
142  m_h_csmID->StatOverflows();
143  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_csmID->GetName(), m_h_csmID));
144 
145  m_h_tdcID = new TH1F("h_tdcID", "TDC ID", 100, 0, 50);
146  m_h_tdcID->StatOverflows();
147  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_tdcID->GetName(), m_h_tdcID));
148 
149  m_h_chanID = new TH1F("h_chanID", "Channel ID", 100, 0, 50);
150  m_h_chanID->StatOverflows();
151  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_chanID->GetName(), m_h_chanID));
152 
153  m_h_coarse = new TH1F("h_coarse", "Drift time (coarse)", 100, 0, 100);
154  m_h_coarse->StatOverflows();
155  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_coarse->GetName(), m_h_coarse));
156 
157  m_h_fine = new TH1F("h_fine", "Drift time (fine)", 100, 0, 50);
158  m_h_fine->StatOverflows();
159  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_fine->GetName(), m_h_fine));
160 
161  m_h_width = new TH1F("h_width", "Width", 100, 0, 500);
162  m_h_width->StatOverflows();
163  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_width->GetName(), m_h_width));
164 
165  m_h_sdoID = new TH1F("h_sdoID", "sdoID", 100, 0, 1e19);
166  m_h_sdoID->StatOverflows();
167  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_sdoID->GetName(), m_h_sdoID));
168 
169  m_h_sdoWord = new TH1F("h_sdoWord", "sdoWord", 100, 0, 10);
170  m_h_sdoWord->StatOverflows();
171  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_sdoWord->GetName(), m_h_sdoWord));
172 
173  m_h_xPos = new TH1F("h_xPos", "Global x-position (SDO)", 100, -13000, 13000);
174  m_h_xPos->StatOverflows();
175  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_xPos->GetName(), m_h_xPos));
176 
177  m_h_yPos = new TH1F("h_yPos", "Global y-position (SDO)", 100, -15000, 15000);
178  m_h_yPos->StatOverflows();
179  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_yPos->GetName(), m_h_yPos));
180 
181  m_h_zPos = new TH1F("h_zPos", "Global z-position (SDO)", 100, -22000, 22000);
182  m_h_zPos->StatOverflows();
183  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_zPos->GetName(), m_h_zPos));
184 
185  m_h_barcode = new TH1F("h_barcode", "Barcode (SDO)", 100, 0, 2.2e9);
186  m_h_barcode->StatOverflows();
187  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_barcode->GetName(), m_h_barcode));
188 
189  m_h_eventIndex = new TH1F("h_eventIndex", "Event index (SDO)", 100, 0, 1000);
190  m_h_eventIndex->StatOverflows();
191  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_eventIndex->GetName(), m_h_eventIndex));
192 
193  m_h_radius = new TH1F("h_radius", "Radius (SDO)", 100, -15, 15);
194  m_h_radius->StatOverflows();
195  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_radius->GetName(), m_h_radius));
196 
197  m_h_localZ = new TH1F("h_localZ", "Local z-position (SDO)", 100, -3200, 3200);
198  m_h_localZ->StatOverflows();
199  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_localZ->GetName(), m_h_localZ));
200 
201  return StatusCode::SUCCESS;
202 }

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

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ msg() [2/2]

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

Definition at line 27 of file AthCommonMsg.h.

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

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

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

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

◆ 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, PyAthena::Alg, and AthHistogramAlgorithm.

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 }

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

Member Data Documentation

◆ m_barcode

std::vector<int>* MDT_RDOAnalysis::m_barcode
private

Definition at line 61 of file MDT_RDOAnalysis.h.

◆ m_barcode_vec

std::vector< std::vector<int> >* MDT_RDOAnalysis::m_barcode_vec
private

Definition at line 65 of file MDT_RDOAnalysis.h.

◆ m_chanID

std::vector<uint16_t>* MDT_RDOAnalysis::m_chanID
private

Definition at line 46 of file MDT_RDOAnalysis.h.

◆ m_coarse

std::vector<uint16_t>* MDT_RDOAnalysis::m_coarse
private

Definition at line 47 of file MDT_RDOAnalysis.h.

◆ m_csmID

std::vector<uint16_t>* MDT_RDOAnalysis::m_csmID
private

Definition at line 43 of file MDT_RDOAnalysis.h.

◆ m_dataWords

std::vector<uint32_t>* MDT_RDOAnalysis::m_dataWords
private

Definition at line 52 of file MDT_RDOAnalysis.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_eventIndex

std::vector<int>* MDT_RDOAnalysis::m_eventIndex
private

Definition at line 62 of file MDT_RDOAnalysis.h.

◆ m_eventIndex_vec

std::vector< std::vector<int> >* MDT_RDOAnalysis::m_eventIndex_vec
private

Definition at line 66 of file MDT_RDOAnalysis.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_fine

std::vector<uint16_t>* MDT_RDOAnalysis::m_fine
private

Definition at line 48 of file MDT_RDOAnalysis.h.

◆ m_h_barcode

TH1* MDT_RDOAnalysis::m_h_barcode
private

Definition at line 86 of file MDT_RDOAnalysis.h.

◆ m_h_chanID

TH1* MDT_RDOAnalysis::m_h_chanID
private

Definition at line 76 of file MDT_RDOAnalysis.h.

◆ m_h_coarse

TH1* MDT_RDOAnalysis::m_h_coarse
private

Definition at line 77 of file MDT_RDOAnalysis.h.

◆ m_h_csmID

TH1* MDT_RDOAnalysis::m_h_csmID
private

Definition at line 74 of file MDT_RDOAnalysis.h.

◆ m_h_eventIndex

TH1* MDT_RDOAnalysis::m_h_eventIndex
private

Definition at line 87 of file MDT_RDOAnalysis.h.

◆ m_h_fine

TH1* MDT_RDOAnalysis::m_h_fine
private

Definition at line 78 of file MDT_RDOAnalysis.h.

◆ m_h_localZ

TH1* MDT_RDOAnalysis::m_h_localZ
private

Definition at line 89 of file MDT_RDOAnalysis.h.

◆ m_h_mdtID

TH1* MDT_RDOAnalysis::m_h_mdtID
private

Definition at line 71 of file MDT_RDOAnalysis.h.

◆ m_h_mrodID

TH1* MDT_RDOAnalysis::m_h_mrodID
private

Definition at line 73 of file MDT_RDOAnalysis.h.

◆ m_h_radius

TH1* MDT_RDOAnalysis::m_h_radius
private

Definition at line 88 of file MDT_RDOAnalysis.h.

◆ m_h_sdoID

TH1* MDT_RDOAnalysis::m_h_sdoID
private

Definition at line 81 of file MDT_RDOAnalysis.h.

◆ m_h_sdoWord

TH1* MDT_RDOAnalysis::m_h_sdoWord
private

Definition at line 82 of file MDT_RDOAnalysis.h.

◆ m_h_subID

TH1* MDT_RDOAnalysis::m_h_subID
private

Definition at line 72 of file MDT_RDOAnalysis.h.

◆ m_h_tdcID

TH1* MDT_RDOAnalysis::m_h_tdcID
private

Definition at line 75 of file MDT_RDOAnalysis.h.

◆ m_h_width

TH1* MDT_RDOAnalysis::m_h_width
private

Definition at line 79 of file MDT_RDOAnalysis.h.

◆ m_h_xPos

TH1* MDT_RDOAnalysis::m_h_xPos
private

Definition at line 83 of file MDT_RDOAnalysis.h.

◆ m_h_yPos

TH1* MDT_RDOAnalysis::m_h_yPos
private

Definition at line 84 of file MDT_RDOAnalysis.h.

◆ m_h_zPos

TH1* MDT_RDOAnalysis::m_h_zPos
private

Definition at line 85 of file MDT_RDOAnalysis.h.

◆ m_inputKey

SG::ReadHandleKey<MdtCsmContainer> MDT_RDOAnalysis::m_inputKey
private

Definition at line 35 of file MDT_RDOAnalysis.h.

◆ m_inputTruthKey

SG::ReadHandleKey<MuonSimDataCollection> MDT_RDOAnalysis::m_inputTruthKey
private

Definition at line 36 of file MDT_RDOAnalysis.h.

◆ m_isMasked

std::vector<bool>* MDT_RDOAnalysis::m_isMasked
private

Definition at line 51 of file MDT_RDOAnalysis.h.

◆ m_leading

std::vector<bool>* MDT_RDOAnalysis::m_leading
private

Definition at line 50 of file MDT_RDOAnalysis.h.

◆ m_localZ

std::vector<float>* MDT_RDOAnalysis::m_localZ
private

Definition at line 64 of file MDT_RDOAnalysis.h.

◆ m_localZ_vec

std::vector< std::vector<float> >* MDT_RDOAnalysis::m_localZ_vec
private

Definition at line 68 of file MDT_RDOAnalysis.h.

◆ m_mdtID

std::vector<unsigned long long>* MDT_RDOAnalysis::m_mdtID
private

Definition at line 39 of file MDT_RDOAnalysis.h.

◆ m_mdtIDhash

std::vector<unsigned int>* MDT_RDOAnalysis::m_mdtIDhash
private

Definition at line 40 of file MDT_RDOAnalysis.h.

◆ m_mrodID

std::vector<uint16_t>* MDT_RDOAnalysis::m_mrodID
private

Definition at line 42 of file MDT_RDOAnalysis.h.

◆ m_ntupleDirName

std::string MDT_RDOAnalysis::m_ntupleDirName
private

Definition at line 93 of file MDT_RDOAnalysis.h.

◆ m_ntupleFileName

std::string MDT_RDOAnalysis::m_ntupleFileName
private

Definition at line 92 of file MDT_RDOAnalysis.h.

◆ m_ntupleTreeName

std::string MDT_RDOAnalysis::m_ntupleTreeName
private

Definition at line 94 of file MDT_RDOAnalysis.h.

◆ m_path

std::string MDT_RDOAnalysis::m_path
private

Definition at line 95 of file MDT_RDOAnalysis.h.

◆ m_radius

std::vector<double>* MDT_RDOAnalysis::m_radius
private

Definition at line 63 of file MDT_RDOAnalysis.h.

◆ m_radius_vec

std::vector< std::vector<double> >* MDT_RDOAnalysis::m_radius_vec
private

Definition at line 67 of file MDT_RDOAnalysis.h.

◆ m_sdoID

std::vector<unsigned long long>* MDT_RDOAnalysis::m_sdoID
private

Definition at line 55 of file MDT_RDOAnalysis.h.

◆ m_sdoWord

std::vector<int>* MDT_RDOAnalysis::m_sdoWord
private

Definition at line 56 of file MDT_RDOAnalysis.h.

◆ m_subID

std::vector<uint16_t>* MDT_RDOAnalysis::m_subID
private

Definition at line 41 of file MDT_RDOAnalysis.h.

◆ m_tdcID

std::vector<uint16_t>* MDT_RDOAnalysis::m_tdcID
private

Definition at line 45 of file MDT_RDOAnalysis.h.

◆ m_thistSvc

ServiceHandle<ITHistSvc> MDT_RDOAnalysis::m_thistSvc
private

Definition at line 96 of file MDT_RDOAnalysis.h.

◆ m_tree

TTree* MDT_RDOAnalysis::m_tree
private

Definition at line 91 of file MDT_RDOAnalysis.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.

◆ m_width

std::vector<uint16_t>* MDT_RDOAnalysis::m_width
private

Definition at line 49 of file MDT_RDOAnalysis.h.

◆ m_xPos

std::vector<float>* MDT_RDOAnalysis::m_xPos
private

Definition at line 57 of file MDT_RDOAnalysis.h.

◆ m_yPos

std::vector<float>* MDT_RDOAnalysis::m_yPos
private

Definition at line 58 of file MDT_RDOAnalysis.h.

◆ m_zPos

std::vector<float>* MDT_RDOAnalysis::m_zPos
private

Definition at line 59 of file MDT_RDOAnalysis.h.


The documentation for this class was generated from the following files:
MDT_RDOAnalysis::m_h_xPos
TH1 * m_h_xPos
Definition: MDT_RDOAnalysis.h:83
MDT_RDOAnalysis::m_inputKey
SG::ReadHandleKey< MdtCsmContainer > m_inputKey
Definition: MDT_RDOAnalysis.h:35
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
MDT_RDOAnalysis::m_inputTruthKey
SG::ReadHandleKey< MuonSimDataCollection > m_inputTruthKey
Definition: MDT_RDOAnalysis.h:36
MDT_RDOAnalysis::m_barcode
std::vector< int > * m_barcode
Definition: MDT_RDOAnalysis.h:61
MDT_RDOAnalysis::m_h_subID
TH1 * m_h_subID
Definition: MDT_RDOAnalysis.h:72
MDT_RDOAnalysis::m_mdtID
std::vector< unsigned long long > * m_mdtID
Definition: MDT_RDOAnalysis.h:39
MDT_RDOAnalysis::m_h_yPos
TH1 * m_h_yPos
Definition: MDT_RDOAnalysis.h:84
MDT_RDOAnalysis::m_h_barcode
TH1 * m_h_barcode
Definition: MDT_RDOAnalysis.h:86
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
MDT_RDOAnalysis::m_ntupleTreeName
std::string m_ntupleTreeName
Definition: MDT_RDOAnalysis.h:94
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
MDT_RDOAnalysis::m_radius
std::vector< double > * m_radius
Definition: MDT_RDOAnalysis.h:63
MDT_RDOAnalysis::m_h_tdcID
TH1 * m_h_tdcID
Definition: MDT_RDOAnalysis.h:75
MDT_RDOAnalysis::m_h_sdoWord
TH1 * m_h_sdoWord
Definition: MDT_RDOAnalysis.h:82
MDT_RDOAnalysis::m_h_eventIndex
TH1 * m_h_eventIndex
Definition: MDT_RDOAnalysis.h:87
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
MDT_RDOAnalysis::m_h_chanID
TH1 * m_h_chanID
Definition: MDT_RDOAnalysis.h:76
MDT_RDOAnalysis::m_eventIndex
std::vector< int > * m_eventIndex
Definition: MDT_RDOAnalysis.h:62
MDT_RDOAnalysis::m_barcode_vec
std::vector< std::vector< int > > * m_barcode_vec
Definition: MDT_RDOAnalysis.h:65
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
MDT_RDOAnalysis::m_fine
std::vector< uint16_t > * m_fine
Definition: MDT_RDOAnalysis.h:48
MdtCsm
MDT RDOs : Chamber Service Module, container of AmtHits of a single Mdt chamber.
Definition: MdtCsm.h:19
MDT_RDOAnalysis::m_h_mrodID
TH1 * m_h_mrodID
Definition: MDT_RDOAnalysis.h:73
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
MDT_RDOAnalysis::m_sdoWord
std::vector< int > * m_sdoWord
Definition: MDT_RDOAnalysis.h:56
MDT_RDOAnalysis::m_sdoID
std::vector< unsigned long long > * m_sdoID
Definition: MDT_RDOAnalysis.h:55
MDT_RDOAnalysis::m_h_width
TH1 * m_h_width
Definition: MDT_RDOAnalysis.h:79
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
AthCommonDataStore
Definition: AthCommonDataStore.h:52
MDT_RDOAnalysis::m_localZ_vec
std::vector< std::vector< float > > * m_localZ_vec
Definition: MDT_RDOAnalysis.h:68
AthAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthAlgorithm.cxx:66
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
MDT_RDOAnalysis::m_ntupleDirName
std::string m_ntupleDirName
Definition: MDT_RDOAnalysis.h:93
lumiFormat.i
int i
Definition: lumiFormat.py:85
MDT_RDOAnalysis::m_h_sdoID
TH1 * m_h_sdoID
Definition: MDT_RDOAnalysis.h:81
MDT_RDOAnalysis::m_h_localZ
TH1 * m_h_localZ
Definition: MDT_RDOAnalysis.h:89
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
HepMC::barcode
int barcode(const T *p)
Definition: Barcode.h:16
MDT_RDOAnalysis::m_zPos
std::vector< float > * m_zPos
Definition: MDT_RDOAnalysis.h:59
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
IdentifiableContainerMT::const_iterator
Definition: IdentifiableContainerMT.h:79
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
MDT_RDOAnalysis::m_mrodID
std::vector< uint16_t > * m_mrodID
Definition: MDT_RDOAnalysis.h:42
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
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
MDT_RDOAnalysis::m_coarse
std::vector< uint16_t > * m_coarse
Definition: MDT_RDOAnalysis.h:47
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
MDT_RDOAnalysis::m_width
std::vector< uint16_t > * m_width
Definition: MDT_RDOAnalysis.h:49
MDT_RDOAnalysis::m_tree
TTree * m_tree
Definition: MDT_RDOAnalysis.h:91
MDT_RDOAnalysis::m_eventIndex_vec
std::vector< std::vector< int > > * m_eventIndex_vec
Definition: MDT_RDOAnalysis.h:66
python.SystemOfUnits.bar
int bar
Definition: SystemOfUnits.py:188
MDT_RDOAnalysis::m_mdtIDhash
std::vector< unsigned int > * m_mdtIDhash
Definition: MDT_RDOAnalysis.h:40
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
MDT_RDOAnalysis::m_h_zPos
TH1 * m_h_zPos
Definition: MDT_RDOAnalysis.h:85
MDT_RDOAnalysis::m_csmID
std::vector< uint16_t > * m_csmID
Definition: MDT_RDOAnalysis.h:43
MuonSimData
Definition: MuonSimData.h:62
MDT_RDOAnalysis::m_radius_vec
std::vector< std::vector< double > > * m_radius_vec
Definition: MDT_RDOAnalysis.h:67
MDT_RDOAnalysis::m_leading
std::vector< bool > * m_leading
Definition: MDT_RDOAnalysis.h:50
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
ParticleGun_SamplingFraction.radius
radius
Definition: ParticleGun_SamplingFraction.py:96
MDT_RDOAnalysis::m_isMasked
std::vector< bool > * m_isMasked
Definition: MDT_RDOAnalysis.h:51
MDT_RDOAnalysis::m_chanID
std::vector< uint16_t > * m_chanID
Definition: MDT_RDOAnalysis.h:46
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
a
TList * a
Definition: liststreamerinfos.cxx:10
h
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
MDT_RDOAnalysis::m_path
std::string m_path
Definition: MDT_RDOAnalysis.h:95
MDT_RDOAnalysis::m_dataWords
std::vector< uint32_t > * m_dataWords
Definition: MDT_RDOAnalysis.h:52
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
MDT_RDOAnalysis::m_ntupleFileName
std::string m_ntupleFileName
Definition: MDT_RDOAnalysis.h:92
MDT_RDOAnalysis::m_tdcID
std::vector< uint16_t > * m_tdcID
Definition: MDT_RDOAnalysis.h:45
LVL1::gFEXPos
Definition: gFexPos.h:11
AthAlgorithm::AthAlgorithm
AthAlgorithm()
Default constructor:
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
MDT_RDOAnalysis::m_thistSvc
ServiceHandle< ITHistSvc > m_thistSvc
Definition: MDT_RDOAnalysis.h:96
MDT_RDOAnalysis::m_localZ
std::vector< float > * m_localZ
Definition: MDT_RDOAnalysis.h:64
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
MDT_RDOAnalysis::m_h_fine
TH1 * m_h_fine
Definition: MDT_RDOAnalysis.h:78
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25
MDT_RDOAnalysis::m_h_mdtID
TH1 * m_h_mdtID
Definition: MDT_RDOAnalysis.h:71
MDT_RDOAnalysis::m_h_coarse
TH1 * m_h_coarse
Definition: MDT_RDOAnalysis.h:77
MDT_RDOAnalysis::m_xPos
std::vector< float > * m_xPos
Definition: MDT_RDOAnalysis.h:57
MDT_RDOAnalysis::m_h_csmID
TH1 * m_h_csmID
Definition: MDT_RDOAnalysis.h:74
MDT_RDOAnalysis::m_h_radius
TH1 * m_h_radius
Definition: MDT_RDOAnalysis.h:88
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
MDT_RDOAnalysis::m_subID
std::vector< uint16_t > * m_subID
Definition: MDT_RDOAnalysis.h:41
MuonMCData
Definition: MuonSimData.h:42
fitman.k
k
Definition: fitman.py:528
MDT_RDOAnalysis::m_yPos
std::vector< float > * m_yPos
Definition: MDT_RDOAnalysis.h:58
ServiceHandle< ICondSvc >
Identifier
Definition: IdentifierFieldParser.cxx:14