ATLAS Offline Software
PixelRDOAnalysis.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
6 #ifndef PIXEL_RDO_ANALYSIS_H
7 #define PIXEL_RDO_ANALYSIS_H
8 
10 #include "GaudiKernel/ServiceHandle.h"
11 #include "GaudiKernel/ITHistSvc.h"
13 
20 
21 #include <string>
22 #include <vector>
23 #include "TH1.h"
24 
25 class TTree;
26 class PixelID;
27 class PixelRDORawData;
28 
30 
31 public:
32  PixelRDOAnalysis(const std::string& name, ISvcLocator* pSvcLocator);
34 
35  virtual StatusCode initialize() override final;
36  virtual StatusCode execute() override final;
37  virtual StatusCode finalize() override final;
38 
39 private:
40  SG::ReadHandleKey<PixelRDO_Container> m_inputKey;
44  // RDO
45  std::vector<unsigned long long>* m_rdoID;
46  std::vector<unsigned int>* m_rdoWord;
47  // PixelID
48  std::vector<int>* m_barrelEndcap;
49  std::vector<int>* m_layerDisk;
50  std::vector<int>* m_phiModule;
51  std::vector<int>* m_etaModule;
52  std::vector<int>* m_phiIndex;
53  std::vector<int>* m_etaIndex;
54  // PixelRDORawData
55  std::vector<int>* m_ToT;
56  std::vector<int>* m_BCID;
57  std::vector<int>* m_LVL1A;
58  std::vector<int>* m_LVL1ID;
59 
60  // SDO
61  std::vector<unsigned long long>* m_sdoID;
62  std::vector<int>* m_sdoWord;
63  // PixelID
65  std::vector<int>* m_layerDisk_sdo;
66  std::vector<int>* m_phiModule_sdo;
67  std::vector<int>* m_etaModule_sdo;
68  std::vector<int>* m_phiIndex_sdo;
69  std::vector<int>* m_etaIndex_sdo;
70  // PixelSimHelper
71  std::vector<bool>* m_noise;
72  std::vector<bool>* m_belowThresh;
73  std::vector<bool>* m_disabled;
74  std::vector<bool>* m_badTOT;
75  // Deposit
76  std::vector<int>* m_barcode;
77  std::vector<int>* m_eventIndex;
78  std::vector<int>* m_charge;
79  std::vector< std::vector<int> >* m_barcode_vec;
80  std::vector< std::vector<int> >* m_eventIndex_vec;
81  std::vector< std::vector<float> >* m_charge_vec;
82 
83  // HISTOGRAMS
96  // barrel pixel
106  // endcap pixel
116 
117  TH1* m_h_sdoID = nullptr;
118  TH1* m_h_sdoWord = nullptr;
120  TH1* m_h_layerDisk_sdo = nullptr;
121  TH1* m_h_phiModule_sdo = nullptr;
122  TH1* m_h_etaModule_sdo = nullptr;
123  TH1* m_h_phiIndex_sdo = nullptr;
124  TH1* m_h_etaIndex_sdo = nullptr;
125  TH1* m_h_barcode = nullptr;
126  TH1* m_h_eventIndex = nullptr;
127  TH1* m_h_charge = nullptr;
129 
130  TTree* m_tree;
131  std::string m_ntupleFileName;
132  std::string m_ntupleDirName;
133  std::string m_ntupleTreeName;
134  std::string m_path;
136 };
137 
138 #endif // PIXEL_RDO_ANALYSIS_H
PixelRDOAnalysis::m_h_eventIndex
TH1 * m_h_eventIndex
Definition: PixelRDOAnalysis.h:126
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
PixelRDOAnalysis::m_rdoID
std::vector< unsigned long long > * m_rdoID
Definition: PixelRDOAnalysis.h:45
PixelID.h
This is an Identifier helper class for the Pixel subdetector. This class is a factory for creating co...
PixelRDOAnalysis::m_h_phiModule
TH1 * m_h_phiModule
Definition: PixelRDOAnalysis.h:88
PixelRDOAnalysis::m_tree
TTree * m_tree
Definition: PixelRDOAnalysis.h:130
PixelRDOAnalysis::m_noise
std::vector< bool > * m_noise
Definition: PixelRDOAnalysis.h:71
PixelRDOAnalysis::m_h_phiModule_sdo
TH1 * m_h_phiModule_sdo
Definition: PixelRDOAnalysis.h:121
PixelRDOAnalysis::m_h_barcode
TH1 * m_h_barcode
Definition: PixelRDOAnalysis.h:125
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
PixelRDOAnalysis::m_h_ecLVL1A
TH1 * m_h_ecLVL1A
Definition: PixelRDOAnalysis.h:114
PixelRDOAnalysis::m_h_ecEtaMod
TH1 * m_h_ecEtaMod
Definition: PixelRDOAnalysis.h:109
PixelRDOAnalysis::m_barcode_vec
std::vector< std::vector< int > > * m_barcode_vec
Definition: PixelRDOAnalysis.h:79
PixelRDOAnalysis::m_inputMcEventCollectionKey
SG::ReadHandleKey< McEventCollection > m_inputMcEventCollectionKey
Definition: PixelRDOAnalysis.h:42
PixelRDOAnalysis::m_rdoWord
std::vector< unsigned int > * m_rdoWord
Definition: PixelRDOAnalysis.h:46
PixelRDOAnalysis::m_h_rdoWord
TH1 * m_h_rdoWord
Definition: PixelRDOAnalysis.h:85
PixelRDOAnalysis::m_h_etaIndex
TH1 * m_h_etaIndex
Definition: PixelRDOAnalysis.h:91
PixelRDOAnalysis::m_h_barrelEndcap
TH1 * m_h_barrelEndcap
Definition: PixelRDOAnalysis.h:86
PixelRDOAnalysis::m_h_brlEtaIndex
TH1 * m_h_brlEtaIndex
Definition: PixelRDOAnalysis.h:101
PixelRDOAnalysis::m_h_sdoWord
TH1 * m_h_sdoWord
Definition: PixelRDOAnalysis.h:118
PixelSimHelper.h
PixelRDOAnalysis::m_eventIndex
std::vector< int > * m_eventIndex
Definition: PixelRDOAnalysis.h:77
PixelRDOAnalysis::m_inputTruthKey
SG::ReadHandleKey< InDetSimDataCollection > m_inputTruthKey
Definition: PixelRDOAnalysis.h:41
PixelRDOAnalysis::m_h_rdoID
TH1 * m_h_rdoID
Definition: PixelRDOAnalysis.h:84
PixelRDOAnalysis::m_h_sdoID
TH1 * m_h_sdoID
Definition: PixelRDOAnalysis.h:117
PixelRDOAnalysis::m_eventIndex_vec
std::vector< std::vector< int > > * m_eventIndex_vec
Definition: PixelRDOAnalysis.h:80
PixelRDOAnalysis::m_h_charge
TH1 * m_h_charge
Definition: PixelRDOAnalysis.h:127
PixelRDOAnalysis::m_h_etaModule
TH1 * m_h_etaModule
Definition: PixelRDOAnalysis.h:89
PixelRDOAnalysis::m_h_ecPhiMod
TH1 * m_h_ecPhiMod
Definition: PixelRDOAnalysis.h:108
InDetSimDataCollection
Definition: InDetSimDataCollection.h:25
InDetRawDataContainer
Definition: InDetRawDataContainer.h:27
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
InDetRawDataContainer.h
PixelRDOAnalysis::m_etaModule_sdo
std::vector< int > * m_etaModule_sdo
Definition: PixelRDOAnalysis.h:67
PixelRDOAnalysis::m_sdoID
std::vector< unsigned long long > * m_sdoID
Definition: PixelRDOAnalysis.h:61
PixelRDOAnalysis
Definition: PixelRDOAnalysis.h:29
PixelRDOAnalysis::m_etaModule
std::vector< int > * m_etaModule
Definition: PixelRDOAnalysis.h:51
PixelRDOAnalysis::execute
virtual StatusCode execute() override final
Definition: PixelRDOAnalysis.cxx:334
PixelRDOAnalysis::m_h_brlEtaMod
TH1 * m_h_brlEtaMod
Definition: PixelRDOAnalysis.h:99
PixelRDOAnalysis::m_h_brlLayer
TH1 * m_h_brlLayer
Definition: PixelRDOAnalysis.h:97
AthAlgorithm.h
PixelRDOAnalysis::m_h_ecDisk
TH1 * m_h_ecDisk
Definition: PixelRDOAnalysis.h:107
PixelRDOAnalysis::m_h_brlPhiIndex
TH1 * m_h_brlPhiIndex
Definition: PixelRDOAnalysis.h:100
PixelRDOAnalysis::m_h_ecPhiIndex
TH1 * m_h_ecPhiIndex
Definition: PixelRDOAnalysis.h:110
PixelRDOAnalysis::initialize
virtual StatusCode initialize() override final
Definition: PixelRDOAnalysis.cxx:102
PixelRDOAnalysis::m_phiModule_sdo
std::vector< int > * m_phiModule_sdo
Definition: PixelRDOAnalysis.h:66
McEventCollection.h
PixelRDOAnalysis::m_phiIndex
std::vector< int > * m_phiIndex
Definition: PixelRDOAnalysis.h:52
PixelRDOAnalysis::m_badTOT
std::vector< bool > * m_badTOT
Definition: PixelRDOAnalysis.h:74
PixelRDOAnalysis::finalize
virtual StatusCode finalize() override final
Definition: PixelRDOAnalysis.cxx:566
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PixelRDOAnalysis::m_ntupleDirName
std::string m_ntupleDirName
Definition: PixelRDOAnalysis.h:132
vector
Definition: MultiHisto.h:13
PixelRDOAnalysis::m_h_brlLVL1ID
TH1 * m_h_brlLVL1ID
Definition: PixelRDOAnalysis.h:105
PixelRDOAnalysis::m_h_ecBCID
TH1 * m_h_ecBCID
Definition: PixelRDOAnalysis.h:113
PixelRDOAnalysis::m_barcode
std::vector< int > * m_barcode
Definition: PixelRDOAnalysis.h:76
PixelRDOAnalysis::m_barrelEndcap
std::vector< int > * m_barrelEndcap
Definition: PixelRDOAnalysis.h:48
PixelRDOAnalysis::~PixelRDOAnalysis
~PixelRDOAnalysis()
Definition: PixelRDOAnalysis.h:33
PixelRDOAnalysis::m_ntupleFileName
std::string m_ntupleFileName
Definition: PixelRDOAnalysis.h:131
McEventCollection
This defines the McEventCollection, which is really just an ObjectVector of McEvent objects.
Definition: McEventCollection.h:33
PixelRDOAnalysis::m_etaIndex_sdo
std::vector< int > * m_etaIndex_sdo
Definition: PixelRDOAnalysis.h:69
PixelRDOAnalysis::m_ToT
std::vector< int > * m_ToT
Definition: PixelRDOAnalysis.h:55
PixelRDOAnalysis::m_LVL1ID
std::vector< int > * m_LVL1ID
Definition: PixelRDOAnalysis.h:58
PixelRDOAnalysis::m_sdoWord
std::vector< int > * m_sdoWord
Definition: PixelRDOAnalysis.h:62
PixelRDOAnalysis::m_charge_vec
std::vector< std::vector< float > > * m_charge_vec
Definition: PixelRDOAnalysis.h:81
PixelRDOAnalysis::m_barrelEndcap_sdo
std::vector< int > * m_barrelEndcap_sdo
Definition: PixelRDOAnalysis.h:64
PixelRDOAnalysis::m_inputKey
SG::ReadHandleKey< PixelRDO_Container > m_inputKey
Definition: PixelRDOAnalysis.h:40
AthAlgorithm
Definition: AthAlgorithm.h:47
PixelRDOAnalysis::m_h_barrelEndcap_sdo
TH1 * m_h_barrelEndcap_sdo
Definition: PixelRDOAnalysis.h:119
PixelRDOAnalysis::m_BCID
std::vector< int > * m_BCID
Definition: PixelRDOAnalysis.h:56
PixelRDOAnalysis::m_h_BCID
TH1 * m_h_BCID
Definition: PixelRDOAnalysis.h:93
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
PixelRDOAnalysis::m_h_LVL1ID
TH1 * m_h_LVL1ID
Definition: PixelRDOAnalysis.h:95
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
PixelRDOAnalysis::m_h_etaIndex_sdo
TH1 * m_h_etaIndex_sdo
Definition: PixelRDOAnalysis.h:124
PixelRDOAnalysis::m_h_layerDisk
TH1 * m_h_layerDisk
Definition: PixelRDOAnalysis.h:87
PixelRDOAnalysis::m_h_etaModule_sdo
TH1 * m_h_etaModule_sdo
Definition: PixelRDOAnalysis.h:122
PixelRDOAnalysis::m_h_phiIndex
TH1 * m_h_phiIndex
Definition: PixelRDOAnalysis.h:90
PixelRDOAnalysis::m_etaIndex
std::vector< int > * m_etaIndex
Definition: PixelRDOAnalysis.h:53
PixelRDOAnalysis::PixelRDOAnalysis
PixelRDOAnalysis(const std::string &name, ISvcLocator *pSvcLocator)
Definition: PixelRDOAnalysis.cxx:18
PixelRDOAnalysis::m_h_ecLVL1ID
TH1 * m_h_ecLVL1ID
Definition: PixelRDOAnalysis.h:115
PixelRDOAnalysis::m_ntupleTreeName
std::string m_ntupleTreeName
Definition: PixelRDOAnalysis.h:133
PixelRDOAnalysis::m_thistSvc
ServiceHandle< ITHistSvc > m_thistSvc
Definition: PixelRDOAnalysis.h:135
PixelRDOAnalysis::m_phiModule
std::vector< int > * m_phiModule
Definition: PixelRDOAnalysis.h:50
PixelRDOAnalysis::m_h_LVL1A
TH1 * m_h_LVL1A
Definition: PixelRDOAnalysis.h:94
PixelRDOAnalysis::m_disabled
std::vector< bool > * m_disabled
Definition: PixelRDOAnalysis.h:73
PixelRDOAnalysis::m_h_phiIndex_sdo
TH1 * m_h_phiIndex_sdo
Definition: PixelRDOAnalysis.h:123
PixelRDOAnalysis::m_LVL1A
std::vector< int > * m_LVL1A
Definition: PixelRDOAnalysis.h:57
InDetSimDataCollection.h
TH1
Definition: rootspy.cxx:268
PixelRDOAnalysis::m_h_brlBCID
TH1 * m_h_brlBCID
Definition: PixelRDOAnalysis.h:103
PixelRDOAnalysis::m_h_ecEtaIndex
TH1 * m_h_ecEtaIndex
Definition: PixelRDOAnalysis.h:111
PixelRDORawData
Definition: PixelRDORawData.h:23
PixelRDOAnalysis::m_pixelID
const PixelID * m_pixelID
Definition: PixelRDOAnalysis.h:43
PixelRDOAnalysis::m_h_brlPhiMod
TH1 * m_h_brlPhiMod
Definition: PixelRDOAnalysis.h:98
PixelRDOAnalysis::m_h_TruthMatchedRDOs
TH1 * m_h_TruthMatchedRDOs
Definition: PixelRDOAnalysis.h:128
InDetRawDataCLASS_DEF.h
PixelRDOAnalysis::m_layerDisk_sdo
std::vector< int > * m_layerDisk_sdo
Definition: PixelRDOAnalysis.h:65
PixelRDOAnalysis::m_phiIndex_sdo
std::vector< int > * m_phiIndex_sdo
Definition: PixelRDOAnalysis.h:68
PixelRDOAnalysis::m_h_ToT
TH1 * m_h_ToT
Definition: PixelRDOAnalysis.h:92
PixelRDOAnalysis::m_h_brlToT
TH1 * m_h_brlToT
Definition: PixelRDOAnalysis.h:102
PixelID
Definition: PixelID.h:67
PixelRDOAnalysis::m_charge
std::vector< int > * m_charge
Definition: PixelRDOAnalysis.h:78
PixelRDOAnalysis::m_belowThresh
std::vector< bool > * m_belowThresh
Definition: PixelRDOAnalysis.h:72
PixelRDOAnalysis::m_layerDisk
std::vector< int > * m_layerDisk
Definition: PixelRDOAnalysis.h:49
PixelRDOAnalysis::m_path
std::string m_path
Definition: PixelRDOAnalysis.h:134
PixelRDOAnalysis::m_h_ecToT
TH1 * m_h_ecToT
Definition: PixelRDOAnalysis.h:112
PixelRDOAnalysis::m_h_layerDisk_sdo
TH1 * m_h_layerDisk_sdo
Definition: PixelRDOAnalysis.h:120
PixelRDOAnalysis::m_h_brlLVL1A
TH1 * m_h_brlLVL1A
Definition: PixelRDOAnalysis.h:104
ServiceHandle
Definition: ClusterMakerTool.h:37