ATLAS Offline Software
Loading...
Searching...
No Matches
ITkPixelRDOAnalysis.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#ifndef ITK_PIXEL_RDO_ANALYSIS_H
6#define ITK_PIXEL_RDO_ANALYSIS_H
7
9#include "GaudiKernel/LockedHandle.h"
10#include "GaudiKernel/ServiceHandle.h"
11#include "GaudiKernel/ITHistSvc.h"
13
21
22#include "TProfile.h"
23
24class TTree;
25class PixelID;
26class PixelRDORawData;
27
28namespace InDetDD {
30}
31
32namespace ITk
33{
34
36{
37
38public:
40 ~PixelRDOAnalysis() = default;
41 virtual StatusCode initialize() override final;
42 virtual StatusCode execute() override final;
43
45 SG::ReadHandleKey<PixelRDO_Container> m_inputKey {this, "CollectionName", "ITkPixelRDOs", "Input ITk Pixel RDO collection name"};
46 SG::ReadHandleKey<InDetSimDataCollection> m_inputTruthKey {this, "SDOCollectionName", "ITkPixelSDO_Map", "Input ITk Pixel SDO collection name"};
47 SG::ReadHandleKey<McEventCollection> m_inputMcEventCollectionKey {this, "McEventCollectionName", "TruthEvent", "Input McEventCollection name"};
50 Gaudi::Property<std::string> m_detectorName
51 {this, "DetectorName", "ITkPixel", "Pixel detector name"};
52 Gaudi::Property<std::string> m_pixelIDName
53 {this, "PixelIDName", "PixelID", "Pixel ID name"};
54
55 Gaudi::Property<std::string> m_histPath {this, "HistPath", "/RDOAnalysis/ITkPixel/", ""};
56 Gaudi::Property<std::string> m_sharedHistPath {this, "SharedHistPath", "/RDOAnalysis/histos/", ""};
57 Gaudi::Property<std::string> m_ntuplePath {this, "NtuplePath", "/RDOAnalysis/ntuples/", ""};
58 Gaudi::Property<std::string> m_ntupleName {this, "NtupleName", "ITkPixel", ""};
59 Gaudi::Property<bool> m_doPosition {this, "DoPosition", true, ""};
60
61 // RDO
62 std::vector<unsigned long long>* m_rdoID{};
63 std::vector<unsigned int>* m_rdoWord{};
64 // PixelID
65 std::vector<int>* m_barrelEndcap{};
66 std::vector<int>* m_layerDisk{};
67 std::vector<int>* m_phiModule{};
68 std::vector<int>* m_etaModule{};
69 std::vector<int>* m_phiIndex{};
70 std::vector<int>* m_etaIndex{};
71 std::vector<int>* m_isInnermost{};
72 std::vector<int>* m_isNextToInnermost{};
73 // PixelRDORawData
74 std::vector<int>* m_ToT{};
75 std::vector<int>* m_BCID{};
76 std::vector<int>* m_LVL1A{};
77 std::vector<int>* m_LVL1ID{};
78 // Global and Local positions
79 std::vector<double>* m_globalX{};
80 std::vector<double>* m_globalY{};
81 std::vector<double>* m_globalZ{};
82 std::vector<double>* m_localX{};
83 std::vector<double>* m_localY{};
84 std::vector<double>* m_localZ{};
85
86 // SDO
87 std::vector<unsigned long long>* m_sdoID{};
88 std::vector<int>* m_sdoWord{};
89 // PixelID
90 std::vector<int>* m_barrelEndcap_sdo{};
91 std::vector<int>* m_layerDisk_sdo{};
92 std::vector<int>* m_phiModule_sdo{};
93 std::vector<int>* m_etaModule_sdo{};
94 std::vector<int>* m_phiIndex_sdo{};
95 std::vector<int>* m_etaIndex_sdo{};
96 // PixelSimHelper
97 std::vector<bool>* m_noise{};
98 std::vector<bool>* m_belowThresh{};
99 std::vector<bool>* m_disabled{};
100 std::vector<bool>* m_badTOT{};
101 // Deposit
102 std::vector<int>* m_barcode{};
103 std::vector<int>* m_eventIndex{};
104 std::vector<int>* m_charge{};
105 std::vector< std::vector<int> >* m_barcode_vec{};
106 std::vector< std::vector<int> >* m_eventIndex_vec{};
107 std::vector< std::vector<float> >* m_charge_vec{};
108
109 // HISTOGRAMS
110 TH1* m_h_rdoID{};
118 TH1* m_h_ToT{};
119 TH1* m_h_BCID{};
120 TH1* m_h_LVL1A{};
122 // barrel pixel
132 // endcap pixel
138 TH1* m_h_ecToT{};
142
143 TH1* m_h_sdoID{};
154
157
160
163
166
167 std::vector<TH1*> m_h_ecPhiIndex_perLayer;
168 std::vector<TH1*> m_h_ecEtaIndex_perLayer;
169
172
175
178 LockedHandle<TH2> m_h_globalXY_shared{};
179 LockedHandle<TH2> m_h_globalZR_shared{};
183
185
186 TTree* m_tree{};
187};
188
189} // namespace ITk
190
191#endif // ITK_PIXEL_RDO_ANALYSIS_H
This is an Identifier helper class for the Pixel subdetector.
InDetRawDataContainer< InDetRawDataCollection< PixelRDORawData > > PixelRDO_Container
Property holding a SG store/key/clid from which a ReadHandle is made.
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
SG::ReadHandleKey< InDetSimDataCollection > m_inputTruthKey
std::vector< TH1 * > m_h_ecEtaIndex_perLayer
std::vector< double > * m_globalZ
std::vector< unsigned long long > * m_sdoID
SG::ReadHandleKey< McEventCollection > m_inputMcEventCollectionKey
~PixelRDOAnalysis()=default
std::vector< int > * m_etaIndex
std::vector< int > * m_barrelEndcap_sdo
const InDetDD::PixelDetectorManager * m_pixelManager
std::vector< bool > * m_noise
std::vector< int > * m_phiIndex
std::vector< unsigned int > * m_rdoWord
std::vector< double > * m_localX
std::vector< double > * m_localZ
Gaudi::Property< std::string > m_histPath
std::vector< int > * m_LVL1A
std::vector< int > * m_charge
virtual StatusCode execute() override final
std::vector< TH1 * > m_h_ecPhiIndex_perLayer
std::vector< int > * m_eventIndex
std::vector< double > * m_globalX
std::vector< int > * m_barrelEndcap
std::vector< int > * m_barcode
std::vector< int > * m_phiModule_sdo
std::vector< std::vector< int > > * m_barcode_vec
std::vector< std::vector< float > > * m_charge_vec
std::vector< TH1 * > m_h_brlinclEtaIndex_perLayer
LockedHandle< TH2 > m_h_globalXY_shared
std::vector< unsigned long long > * m_rdoID
std::vector< int > * m_layerDisk_sdo
std::vector< int > * m_sdoWord
std::vector< int > * m_ToT
LockedHandle< TH2 > m_h_globalZR_shared
std::vector< double > * m_localY
std::vector< int > * m_BCID
std::vector< std::vector< int > > * m_eventIndex_vec
Gaudi::Property< std::string > m_ntuplePath
std::vector< double > * m_globalY
std::vector< int > * m_phiModule
virtual StatusCode initialize() override final
Gaudi::Property< std::string > m_sharedHistPath
Gaudi::Property< bool > m_doPosition
std::vector< int > * m_layerDisk
std::vector< bool > * m_belowThresh
std::vector< TH1 * > m_h_brlflatEtaIndex_perLayer
std::vector< int > * m_phiIndex_sdo
std::vector< TH1 * > m_h_brlinclPhiIndex_perLayer
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
std::vector< int > * m_etaIndex_sdo
std::vector< int > * m_LVL1ID
std::vector< int > * m_isInnermost
std::vector< int > * m_etaModule
std::vector< bool > * m_disabled
std::vector< bool > * m_badTOT
std::vector< int > * m_isNextToInnermost
Gaudi::Property< std::string > m_pixelIDName
Gaudi::Property< std::string > m_ntupleName
std::vector< TH1 * > m_h_brlflatPhiIndex_perLayer
Gaudi::Property< std::string > m_detectorName
SG::ReadHandleKey< PixelRDO_Container > m_inputKey
std::vector< int > * m_etaModule_sdo
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated pixel ...
This is an Identifier helper class for the Pixel subdetector.
Definition PixelID.h:67
Property holding a SG store/key/clid from which a ReadHandle is made.
Message Stream Member.
Forward declaration.
#define private