ATLAS Offline Software
TGC_RDOAnalysis.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
6 #ifndef TGC_RDO_ANALYSIS_H
7 #define TGC_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 TGC_RDOAnalysis : public AthAlgorithm {
25 
26 public:
27  TGC_RDOAnalysis(const std::string& name, ISvcLocator* pSvcLocator);
28  virtual ~TGC_RDOAnalysis(){}
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<TgcRdoContainer> m_inputKey;
37  // TgcRdo
44  //Errors& errors
45  //RodStatus& rodStatus
46  //LocalStatus& localStatus
49  //calculateOnlineId?
50 
51  // TgcRawData
52  // bc tag (central, next, previous)
54  // online identifiers
59  // bcid + l1id for slb
62  // hit/coincidence type + slb type
63  std::vector<int>* m_type;
64  std::vector<int>* m_slbType;
65  std::vector<bool>* m_coinc;
66  // HIT
67  // bitmap position
69  // index of associated coincidence
71  std::vector<bool>* m_adj;
72  // COINCIDENCE
73  // coincidence type
74  std::vector<bool>* m_forward;
75  // coincidence index
77  // coincidence data
82  // hipT data
85  std::vector<bool>* m_hipt;
88  std::vector<bool>* m_strip;
90  // sector logic
91  std::vector<bool>* m_cand3plus;
92  std::vector<bool>* m_muplus;
93  std::vector<bool>* m_thresh;
94  std::vector<bool>* m_overlap;
95  std::vector<bool>* m_veto;
97 
98 
99  // SDO
100  std::vector<unsigned long long>* m_sdoID;
101  std::vector<int>* m_sdoWord;
102  std::vector<float>* m_xPos;
103  std::vector<float>* m_yPos;
104  std::vector<float>* m_zPos;
105  // Deposit
106  std::vector<int>* m_barcode;
107  std::vector<int>* m_eventIndex;
108  std::vector<double>* m_radius; // firstEntry of MuonMCData (?)
109  std::vector<float>* m_localZ; // secondEntry of MuonMCData (?)
110  std::vector< std::vector<int> >* m_barcode_vec;
111  std::vector< std::vector<int> >* m_eventIndex_vec;
112  std::vector< std::vector<double> >* m_radius_vec;
113  std::vector< std::vector<float> >* m_localZ_vec;
114 
115  // HISTOGRAMS
116  TH1* m_h_tgcID;
122  TH1* m_h_bcTag;
124  TH1* m_h_rodID;
125  TH1* m_h_sswID;
126  TH1* m_h_slbID;
127  TH1* m_h_bcID;
128  TH1* m_h_l1ID;
129  TH1* m_h_type;
132  TH1* m_h_track;
133  TH1* m_h_adj;
134 
135  TH1* m_h_sdoID;
137  TH1* m_h_xPos;
138  TH1* m_h_yPos;
139  TH1* m_h_zPos;
144 
145  TTree* m_tree;
146  std::string m_ntupleFileName;
147  std::string m_ntupleDirName;
148  std::string m_ntupleTreeName;
149  std::string m_path;
151 
152 };
153 
154 #endif // TGC_RDO_ANALYSIS_H
TGC_RDOAnalysis::m_zPos
std::vector< float > * m_zPos
Definition: TGC_RDOAnalysis.h:104
TGC_RDOAnalysis::m_segment
std::vector< uint16_t > * m_segment
Definition: TGC_RDOAnalysis.h:80
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
TGC_RDOAnalysis::m_rodID
std::vector< uint16_t > * m_rodID
Definition: TGC_RDOAnalysis.h:56
TGC_RDOAnalysis::m_veto
std::vector< bool > * m_veto
Definition: TGC_RDOAnalysis.h:95
TGC_RDOAnalysis::m_hipt
std::vector< bool > * m_hipt
Definition: TGC_RDOAnalysis.h:85
TGC_RDOAnalysis::m_h_zPos
TH1 * m_h_zPos
Definition: TGC_RDOAnalysis.h:139
TGC_RDOAnalysis::m_h_xPos
TH1 * m_h_xPos
Definition: TGC_RDOAnalysis.h:137
TGC_RDOAnalysis::m_h_bcID
TH1 * m_h_bcID
Definition: TGC_RDOAnalysis.h:127
TGC_RDOAnalysis::m_inputTruthKey
SG::ReadHandleKey< MuonSimDataCollection > m_inputTruthKey
Definition: TGC_RDOAnalysis.h:36
TGC_RDOAnalysis::m_eventIndex
std::vector< int > * m_eventIndex
Definition: TGC_RDOAnalysis.h:107
TGC_RDOAnalysis::m_xPos
std::vector< float > * m_xPos
Definition: TGC_RDOAnalysis.h:102
TGC_RDOAnalysis::m_hsub
std::vector< uint16_t > * m_hsub
Definition: TGC_RDOAnalysis.h:87
TGC_RDOAnalysis::m_h_rodID
TH1 * m_h_rodID
Definition: TGC_RDOAnalysis.h:124
TGC_RDOAnalysis::m_h_track
TH1 * m_h_track
Definition: TGC_RDOAnalysis.h:132
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
TGC_RDOAnalysis::m_tgcVersion
std::vector< uint16_t > * m_tgcVersion
Definition: TGC_RDOAnalysis.h:48
TGC_RDOAnalysis::m_h_tgcSubDetID
TH1 * m_h_tgcSubDetID
Definition: TGC_RDOAnalysis.h:117
TGC_RDOAnalysis::m_yPos
std::vector< float > * m_yPos
Definition: TGC_RDOAnalysis.h:103
TGC_RDOAnalysis::m_h_barcode
TH1 * m_h_barcode
Definition: TGC_RDOAnalysis.h:140
TGC_RDOAnalysis::m_bcTag
std::vector< uint16_t > * m_bcTag
Definition: TGC_RDOAnalysis.h:53
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
TGC_RDOAnalysis::m_strip
std::vector< bool > * m_strip
Definition: TGC_RDOAnalysis.h:88
TGC_RDOAnalysis::m_radius
std::vector< double > * m_radius
Definition: TGC_RDOAnalysis.h:108
TGC_RDOAnalysis::m_muplus
std::vector< bool > * m_muplus
Definition: TGC_RDOAnalysis.h:92
TGC_RDOAnalysis::m_h_slbID
TH1 * m_h_slbID
Definition: TGC_RDOAnalysis.h:126
TGC_RDOAnalysis::m_ntupleDirName
std::string m_ntupleDirName
Definition: TGC_RDOAnalysis.h:147
TGC_RDOAnalysis::m_pos
std::vector< uint16_t > * m_pos
Definition: TGC_RDOAnalysis.h:78
TGC_RDOAnalysis::m_h_type
TH1 * m_h_type
Definition: TGC_RDOAnalysis.h:129
TGC_RDOAnalysis::m_subMat
std::vector< uint16_t > * m_subMat
Definition: TGC_RDOAnalysis.h:81
TGC_RDOAnalysis::m_h_bcTag
TH1 * m_h_bcTag
Definition: TGC_RDOAnalysis.h:122
TGC_RDOAnalysis
Definition: TGC_RDOAnalysis.h:24
TGC_RDOAnalysis::m_sswID
std::vector< uint16_t > * m_sswID
Definition: TGC_RDOAnalysis.h:57
TGC_RDOAnalysis::m_tgcBcID
std::vector< uint16_t > * m_tgcBcID
Definition: TGC_RDOAnalysis.h:42
TGC_RDOAnalysis::m_type
std::vector< int > * m_type
Definition: TGC_RDOAnalysis.h:63
TGC_RDOAnalysis::m_h_radius
TH1 * m_h_radius
Definition: TGC_RDOAnalysis.h:142
TGC_RDOAnalysis::m_l1ID
std::vector< uint16_t > * m_l1ID
Definition: TGC_RDOAnalysis.h:61
TGC_RDOAnalysis::m_h_tgcRodID
TH1 * m_h_tgcRodID
Definition: TGC_RDOAnalysis.h:118
TGC_RDOAnalysis::m_track
std::vector< uint16_t > * m_track
Definition: TGC_RDOAnalysis.h:70
TGC_RDOAnalysis::m_radius_vec
std::vector< std::vector< double > > * m_radius_vec
Definition: TGC_RDOAnalysis.h:112
TGC_RDOAnalysis::m_h_tgcBcID
TH1 * m_h_tgcBcID
Definition: TGC_RDOAnalysis.h:120
AthAlgorithm.h
TGC_RDOAnalysis::m_bitPos
std::vector< uint16_t > * m_bitPos
Definition: TGC_RDOAnalysis.h:68
TGC_RDOAnalysis::execute
virtual StatusCode execute() override final
Definition: TGC_RDOAnalysis.cxx:304
TGC_RDOAnalysis::m_sdoID
std::vector< unsigned long long > * m_sdoID
Definition: TGC_RDOAnalysis.h:100
TGC_RDOAnalysis::m_index
std::vector< uint16_t > * m_index
Definition: TGC_RDOAnalysis.h:76
TGC_RDOAnalysis::m_tree
TTree * m_tree
Definition: TGC_RDOAnalysis.h:145
TGC_RDOAnalysis::m_tgcOrbit
std::vector< uint32_t > * m_tgcOrbit
Definition: TGC_RDOAnalysis.h:47
TGC_RDOAnalysis::m_tgcTrigType
std::vector< uint16_t > * m_tgcTrigType
Definition: TGC_RDOAnalysis.h:41
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
TGC_RDOAnalysis::m_h_adj
TH1 * m_h_adj
Definition: TGC_RDOAnalysis.h:133
TgcRdoContainer
Definition: TgcRdoContainer.h:25
TGC_RDOAnalysis::m_h_tgcL1ID
TH1 * m_h_tgcL1ID
Definition: TGC_RDOAnalysis.h:121
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
vector
Definition: MultiHisto.h:13
TGC_RDOAnalysis::m_h_tgcID
TH1 * m_h_tgcID
Definition: TGC_RDOAnalysis.h:116
TGC_RDOAnalysis::m_bcID
std::vector< uint16_t > * m_bcID
Definition: TGC_RDOAnalysis.h:60
MuonSimDataCollection
Definition: MuonSimDataCollection.h:21
TGC_RDOAnalysis::m_h_l1ID
TH1 * m_h_l1ID
Definition: TGC_RDOAnalysis.h:128
TGC_RDOAnalysis::m_tgcRodID
std::vector< uint16_t > * m_tgcRodID
Definition: TGC_RDOAnalysis.h:40
TGC_RDOAnalysis::m_localZ_vec
std::vector< std::vector< float > > * m_localZ_vec
Definition: TGC_RDOAnalysis.h:113
TgcRdoContainer.h
TGC_RDOAnalysis::m_coinc
std::vector< bool > * m_coinc
Definition: TGC_RDOAnalysis.h:65
TGC_RDOAnalysis::m_h_subDetID
TH1 * m_h_subDetID
Definition: TGC_RDOAnalysis.h:123
TGC_RDOAnalysis::m_ntupleTreeName
std::string m_ntupleTreeName
Definition: TGC_RDOAnalysis.h:148
AthAlgorithm
Definition: AthAlgorithm.h:47
TGC_RDOAnalysis::m_chip
std::vector< uint16_t > * m_chip
Definition: TGC_RDOAnalysis.h:84
TGC_RDOAnalysis::m_path
std::string m_path
Definition: TGC_RDOAnalysis.h:149
TGC_RDOAnalysis::m_tgcID
std::vector< uint16_t > * m_tgcID
Definition: TGC_RDOAnalysis.h:38
TGC_RDOAnalysis::m_adj
std::vector< bool > * m_adj
Definition: TGC_RDOAnalysis.h:71
TGC_RDOAnalysis::m_slbType
std::vector< int > * m_slbType
Definition: TGC_RDOAnalysis.h:64
TGC_RDOAnalysis::initialize
virtual StatusCode initialize() override final
Definition: TGC_RDOAnalysis.cxx:119
TGC_RDOAnalysis::m_h_eventIndex
TH1 * m_h_eventIndex
Definition: TGC_RDOAnalysis.h:141
TGC_RDOAnalysis::m_ntupleFileName
std::string m_ntupleFileName
Definition: TGC_RDOAnalysis.h:146
TGC_RDOAnalysis::m_eventIndex_vec
std::vector< std::vector< int > > * m_eventIndex_vec
Definition: TGC_RDOAnalysis.h:111
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
TGC_RDOAnalysis::m_hitID
std::vector< uint16_t > * m_hitID
Definition: TGC_RDOAnalysis.h:86
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
TGC_RDOAnalysis::m_tgcSubDetID
std::vector< uint16_t > * m_tgcSubDetID
Definition: TGC_RDOAnalysis.h:39
TGC_RDOAnalysis::m_barcode
std::vector< int > * m_barcode
Definition: TGC_RDOAnalysis.h:106
TGC_RDOAnalysis::finalize
virtual StatusCode finalize() override final
Definition: TGC_RDOAnalysis.cxx:564
TGC_RDOAnalysis::m_h_yPos
TH1 * m_h_yPos
Definition: TGC_RDOAnalysis.h:138
TGC_RDOAnalysis::TGC_RDOAnalysis
TGC_RDOAnalysis(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TGC_RDOAnalysis.cxx:17
TGC_RDOAnalysis::m_slbID
std::vector< uint16_t > * m_slbID
Definition: TGC_RDOAnalysis.h:58
TGC_RDOAnalysis::m_sector
std::vector< uint16_t > * m_sector
Definition: TGC_RDOAnalysis.h:83
TGC_RDOAnalysis::m_delta
std::vector< uint16_t > * m_delta
Definition: TGC_RDOAnalysis.h:79
TGC_RDOAnalysis::m_barcode_vec
std::vector< std::vector< int > > * m_barcode_vec
Definition: TGC_RDOAnalysis.h:110
TGC_RDOAnalysis::~TGC_RDOAnalysis
virtual ~TGC_RDOAnalysis()
Definition: TGC_RDOAnalysis.h:28
TGC_RDOAnalysis::m_overlap
std::vector< bool > * m_overlap
Definition: TGC_RDOAnalysis.h:94
TGC_RDOAnalysis::m_forward
std::vector< bool > * m_forward
Definition: TGC_RDOAnalysis.h:74
TGC_RDOAnalysis::m_h_sdoID
TH1 * m_h_sdoID
Definition: TGC_RDOAnalysis.h:135
TGC_RDOAnalysis::m_cand3plus
std::vector< bool > * m_cand3plus
Definition: TGC_RDOAnalysis.h:91
TGC_RDOAnalysis::m_h_tgcTrigType
TH1 * m_h_tgcTrigType
Definition: TGC_RDOAnalysis.h:119
TGC_RDOAnalysis::m_localZ
std::vector< float > * m_localZ
Definition: TGC_RDOAnalysis.h:109
TGC_RDOAnalysis::m_roi
std::vector< uint16_t > * m_roi
Definition: TGC_RDOAnalysis.h:96
TGC_RDOAnalysis::m_thresh
std::vector< bool > * m_thresh
Definition: TGC_RDOAnalysis.h:93
TGC_RDOAnalysis::m_h_sdoWord
TH1 * m_h_sdoWord
Definition: TGC_RDOAnalysis.h:136
TGC_RDOAnalysis::m_h_bitPos
TH1 * m_h_bitPos
Definition: TGC_RDOAnalysis.h:131
MuonSimDataCollection.h
TGC_RDOAnalysis::m_thistSvc
ServiceHandle< ITHistSvc > m_thistSvc
Definition: TGC_RDOAnalysis.h:150
TGC_RDOAnalysis::m_inner
std::vector< uint16_t > * m_inner
Definition: TGC_RDOAnalysis.h:89
TGC_RDOAnalysis::m_h_sswID
TH1 * m_h_sswID
Definition: TGC_RDOAnalysis.h:125
TGC_RDOAnalysis::m_h_slbType
TH1 * m_h_slbType
Definition: TGC_RDOAnalysis.h:130
TGC_RDOAnalysis::m_sdoWord
std::vector< int > * m_sdoWord
Definition: TGC_RDOAnalysis.h:101
TGC_RDOAnalysis::m_h_localZ
TH1 * m_h_localZ
Definition: TGC_RDOAnalysis.h:143
TGC_RDOAnalysis::m_subDetID
std::vector< uint16_t > * m_subDetID
Definition: TGC_RDOAnalysis.h:55
ServiceHandle
Definition: ClusterMakerTool.h:37
TGC_RDOAnalysis::m_inputKey
SG::ReadHandleKey< TgcRdoContainer > m_inputKey
Definition: TGC_RDOAnalysis.h:35
TGC_RDOAnalysis::m_tgcL1ID
std::vector< uint16_t > * m_tgcL1ID
Definition: TGC_RDOAnalysis.h:43