ATLAS Offline Software
MDT_RDOAnalysis.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
6 #ifndef MDT_RDO_ANALYSIS_H
7 #define MDT_RDO_ANALYSIS_H
8 
10 #include "GaudiKernel/ServiceHandle.h"
11 #include "GaudiKernel/ITHistSvc.h"
13 
16 
17 #include <string>
18 #include <vector>
19 #include "TH1.h"
20 
21 class TTree;
22 class TH1;
23 
24 class MDT_RDOAnalysis : public AthAlgorithm {
25 
26 public:
27  MDT_RDOAnalysis(const std::string& name, ISvcLocator* pSvcLocator);
29 
30  virtual StatusCode initialize() override final;
31  virtual StatusCode execute() override final;
32  virtual StatusCode finalize() override final;
33 
34 private:
35  SG::ReadHandleKey<MdtCsmContainer> m_inputKey;
37  // RDO
38  // MdtCsm - AmtHits of single Mdt chamber
39  std::vector<unsigned long long>* m_mdtID; // csm offline id
40  std::vector<unsigned int>* m_mdtIDhash;
41  std::vector<uint16_t>* m_subID; // sub-detector id
42  std::vector<uint16_t>* m_mrodID; // mrod id from csm header
43  std::vector<uint16_t>* m_csmID; // csm online id
44  // MdtAmtHit - single channel of AMT (Atlas Muon TDC)
50  std::vector<bool>* m_leading;
51  std::vector<bool>* m_isMasked;
53 
54  // SDO
55  std::vector<unsigned long long>* m_sdoID;
56  std::vector<int>* m_sdoWord;
57  std::vector<float>* m_xPos;
58  std::vector<float>* m_yPos;
59  std::vector<float>* m_zPos;
60  // Deposit
61  std::vector<int>* m_barcode;
62  std::vector<int>* m_eventIndex;
63  std::vector<double>* m_radius; // firstEntry of MuonMCData (?)
64  std::vector<float>* m_localZ; // secondEntry of MuonMCData (?)
65  std::vector< std::vector<int> >* m_barcode_vec;
66  std::vector< std::vector<int> >* m_eventIndex_vec;
67  std::vector< std::vector<double> >* m_radius_vec;
68  std::vector< std::vector<float> >* m_localZ_vec;
69 
70  // HISTOGRAMS
80 
90 
91  TTree* m_tree;
92  std::string m_ntupleFileName;
93  std::string m_ntupleDirName;
94  std::string m_ntupleTreeName;
95  std::string m_path;
97 
98 };
99 
100 #endif // MDT_RDO_ANALYSIS_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
MDT_RDOAnalysis::execute
virtual StatusCode execute() override final
Definition: MDT_RDOAnalysis.cxx:204
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
MDT_RDOAnalysis::MDT_RDOAnalysis
MDT_RDOAnalysis(const std::string &name, ISvcLocator *pSvcLocator)
Definition: MDT_RDOAnalysis.cxx:17
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
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
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
MDT_RDOAnalysis::m_h_barcode
TH1 * m_h_barcode
Definition: MDT_RDOAnalysis.h:86
MDT_RDOAnalysis::m_ntupleTreeName
std::string m_ntupleTreeName
Definition: MDT_RDOAnalysis.h:94
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
MDT_RDOAnalysis::m_h_chanID
TH1 * m_h_chanID
Definition: MDT_RDOAnalysis.h:76
MdtCsmContainer
This container provides acces to the MDT RDOs.
Definition: MdtCsmContainer.h:22
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
MDT_RDOAnalysis::m_fine
std::vector< uint16_t > * m_fine
Definition: MDT_RDOAnalysis.h:48
MDT_RDOAnalysis::m_h_mrodID
TH1 * m_h_mrodID
Definition: MDT_RDOAnalysis.h:73
MdtCsmContainer.h
AthAlgorithm.h
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
MDT_RDOAnalysis
Definition: MDT_RDOAnalysis.h:24
MDT_RDOAnalysis::finalize
virtual StatusCode finalize() override final
Definition: MDT_RDOAnalysis.cxx:371
MDT_RDOAnalysis::m_localZ_vec
std::vector< std::vector< float > > * m_localZ_vec
Definition: MDT_RDOAnalysis.h:68
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
MDT_RDOAnalysis::m_ntupleDirName
std::string m_ntupleDirName
Definition: MDT_RDOAnalysis.h:93
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
vector
Definition: MultiHisto.h:13
MuonSimDataCollection
Definition: MuonSimDataCollection.h:21
MDT_RDOAnalysis::m_zPos
std::vector< float > * m_zPos
Definition: MDT_RDOAnalysis.h:59
MDT_RDOAnalysis::m_mrodID
std::vector< uint16_t > * m_mrodID
Definition: MDT_RDOAnalysis.h:42
AthAlgorithm
Definition: AthAlgorithm.h:47
MDT_RDOAnalysis::m_coarse
std::vector< uint16_t > * m_coarse
Definition: MDT_RDOAnalysis.h:47
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
MDT_RDOAnalysis::m_mdtIDhash
std::vector< unsigned int > * m_mdtIDhash
Definition: MDT_RDOAnalysis.h:40
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
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
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
MDT_RDOAnalysis::~MDT_RDOAnalysis
~MDT_RDOAnalysis()
Definition: MDT_RDOAnalysis.h:28
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
TH1
Definition: rootspy.cxx:268
MDT_RDOAnalysis::m_path
std::string m_path
Definition: MDT_RDOAnalysis.h:95
MDT_RDOAnalysis::initialize
virtual StatusCode initialize() override final
Definition: MDT_RDOAnalysis.cxx:83
MDT_RDOAnalysis::m_dataWords
std::vector< uint32_t > * m_dataWords
Definition: MDT_RDOAnalysis.h:52
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
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
MDT_RDOAnalysis::m_h_fine
TH1 * m_h_fine
Definition: MDT_RDOAnalysis.h:78
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
MuonSimDataCollection.h
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
MDT_RDOAnalysis::m_subID
std::vector< uint16_t > * m_subID
Definition: MDT_RDOAnalysis.h:41
MDT_RDOAnalysis::m_yPos
std::vector< float > * m_yPos
Definition: MDT_RDOAnalysis.h:58
ServiceHandle
Definition: ClusterMakerTool.h:37