ATLAS Offline Software
SiHitAnalysis.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef SI_HIT_ANALYSIS_H
6 #define SI_HIT_ANALYSIS_H
7 
10 
12 
13 #include <string>
14 #include <vector>
15 
16 class TH1;
17 class TH2;
18 class TTree;
19 
20 
22 {
23 public:
25  ~SiHitAnalysis() = default;
26 
27  virtual StatusCode initialize() override;
28  virtual StatusCode execute() override;
29 
30 private:
31 
33  TH1* m_h_hits_x{};
34  TH1* m_h_hits_y{};
35  TH1* m_h_hits_z{};
36  TH1* m_h_hits_r{};
37  TH2* m_h_xy{};
38  TH2* m_h_zr{};
39  LockedHandle<TH2> m_h_xy_shared{};
40  LockedHandle<TH2> m_h_zr_shared{};
41  TH1* m_h_hits_time{};
43  TH1* m_h_hits_step{};
46  TH2* m_h_z_eloss{};
47  TH2* m_h_r_eloss{};
52 
53  TTree* m_tree{};
54  std::vector<float>* m_hits_x{};
55  std::vector<float>* m_hits_y{};
56  std::vector<float>* m_hits_z{};
57  std::vector<float>* m_hits_r{};
58  std::vector<float>* m_hits_time{};
59  std::vector<float>* m_hits_eloss{};
60  std::vector<float>* m_hits_step{};
61  std::vector<float>* m_hits_barcode{};
62  std::vector<float>* m_hits_pdgId{};
63  std::vector<float>* m_hits_pT{};
64  std::vector<float>* m_hits_eta{};
65  std::vector<float>* m_hits_phi{};
66  std::vector<float>* m_hits_prodVtx_x{};
67  std::vector<float>* m_hits_prodVtx_y{};
68  std::vector<float>* m_hits_prodVtx_z{};
69  std::vector<int>* m_barrel_endcap{};
70  std::vector<int>* m_layer_disk{};
71  std::vector<int>* m_module_phi{};
72  std::vector<int>* m_module_eta{};
73 
74  SG::ReadHandleKey<SiHitCollection> m_hitsContainerKey {this, "CollectionName", "", "Input HITS collection name"};
75 
76  Gaudi::Property<std::string> m_histPath {this, "HistPath", "/SiHitAnalysis/histos/", ""};
77  Gaudi::Property<std::string> m_ntuplePath {this, "NtuplePath", "/SiHitAnalysis/ntuples/", ""};
78  Gaudi::Property<bool> m_expert {this, "ExpertMode", false, ""};
79  Gaudi::Property<bool> m_extraTruthBranches {this, "ExtraTruthBranches", false, ""};
80 };
81 
82 #endif // SI_HIT_ANALYSIS_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
SiHitAnalysis::m_expert
Gaudi::Property< bool > m_expert
Definition: SiHitAnalysis.h:78
SiHitAnalysis::m_h_hits_y
TH1 * m_h_hits_y
Definition: SiHitAnalysis.h:34
SiHitAnalysis::m_hits_x
std::vector< float > * m_hits_x
Definition: SiHitAnalysis.h:54
SiHitAnalysis::m_module_phi
std::vector< int > * m_module_phi
Definition: SiHitAnalysis.h:71
AthHistogramAlgorithm::AthHistogramAlgorithm
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Definition: AthHistogramAlgorithm.cxx:31
SiHitAnalysis::m_hits_y
std::vector< float > * m_hits_y
Definition: SiHitAnalysis.h:55
SiHitAnalysis::m_hits_eta
std::vector< float > * m_hits_eta
Definition: SiHitAnalysis.h:64
SiHitAnalysis::m_hits_pT
std::vector< float > * m_hits_pT
Definition: SiHitAnalysis.h:63
SiHitAnalysis
Definition: SiHitAnalysis.h:22
SiHitAnalysis::m_barrel_endcap
std::vector< int > * m_barrel_endcap
Definition: SiHitAnalysis.h:69
SiHitAnalysis::m_hits_prodVtx_y
std::vector< float > * m_hits_prodVtx_y
Definition: SiHitAnalysis.h:67
SiHitAnalysis::m_h_hits_eloss
TH1 * m_h_hits_eloss
Definition: SiHitAnalysis.h:42
SiHitAnalysis::m_module_eta
std::vector< int > * m_module_eta
Definition: SiHitAnalysis.h:72
SiHitAnalysis::m_hits_z
std::vector< float > * m_hits_z
Definition: SiHitAnalysis.h:56
SiHitAnalysis::m_extraTruthBranches
Gaudi::Property< bool > m_extraTruthBranches
Definition: SiHitAnalysis.h:79
SiHitAnalysis::m_hits_barcode
std::vector< float > * m_hits_barcode
Definition: SiHitAnalysis.h:61
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
SiHitAnalysis::m_hits_pdgId
std::vector< float > * m_hits_pdgId
Definition: SiHitAnalysis.h:62
AthHistogramAlgorithm.h
SiHitAnalysis::m_h_barrel_endcap
TH1 * m_h_barrel_endcap
Definition: SiHitAnalysis.h:48
SiHitAnalysis::m_hitsContainerKey
SG::ReadHandleKey< SiHitCollection > m_hitsContainerKey
Definition: SiHitAnalysis.h:74
SiHitAnalysis::m_h_r_eloss
TH2 * m_h_r_eloss
Definition: SiHitAnalysis.h:47
SiHitAnalysis::m_hits_phi
std::vector< float > * m_hits_phi
Definition: SiHitAnalysis.h:65
SiHitAnalysis::m_h_hits_x
TH1 * m_h_hits_x
Some variables.
Definition: SiHitAnalysis.h:33
SiHitAnalysis::m_hits_r
std::vector< float > * m_hits_r
Definition: SiHitAnalysis.h:57
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
SiHitAnalysis::execute
virtual StatusCode execute() override
Definition: SiHitAnalysis.cxx:226
SiHitAnalysis::m_h_hits_time
TH1 * m_h_hits_time
Definition: SiHitAnalysis.h:41
AthHistogramAlgorithm
Definition: AthHistogramAlgorithm.h:32
SiHitAnalysis::m_h_module_phi
TH1 * m_h_module_phi
Definition: SiHitAnalysis.h:50
SiHitAnalysis::m_h_hits_z
TH1 * m_h_hits_z
Definition: SiHitAnalysis.h:35
SiHitAnalysis::initialize
virtual StatusCode initialize() override
Definition: SiHitAnalysis.cxx:19
SiHitAnalysis::m_hits_prodVtx_z
std::vector< float > * m_hits_prodVtx_z
Definition: SiHitAnalysis.h:68
SiHitAnalysis::m_hits_eloss
std::vector< float > * m_hits_eloss
Definition: SiHitAnalysis.h:59
SiHitAnalysis::m_tree
TTree * m_tree
Definition: SiHitAnalysis.h:53
SiHitAnalysis::m_h_hits_barcode
TH1 * m_h_hits_barcode
Definition: SiHitAnalysis.h:44
SiHitAnalysis::m_h_hits_r
TH1 * m_h_hits_r
Definition: SiHitAnalysis.h:36
SiHitAnalysis::m_hits_time
std::vector< float > * m_hits_time
Definition: SiHitAnalysis.h:58
SiHitAnalysis::m_layer_disk
std::vector< int > * m_layer_disk
Definition: SiHitAnalysis.h:70
SiHitAnalysis::m_h_zr_shared
LockedHandle< TH2 > m_h_zr_shared
Definition: SiHitAnalysis.h:40
SiHitAnalysis::m_h_xy_shared
LockedHandle< TH2 > m_h_xy_shared
Definition: SiHitAnalysis.h:39
SiHitAnalysis::m_h_zr
TH2 * m_h_zr
Definition: SiHitAnalysis.h:38
SiHitAnalysis::m_hits_prodVtx_x
std::vector< float > * m_hits_prodVtx_x
Definition: SiHitAnalysis.h:66
SiHitAnalysis::m_h_xy
TH2 * m_h_xy
Definition: SiHitAnalysis.h:37
SiHitAnalysis::~SiHitAnalysis
~SiHitAnalysis()=default
SiHitAnalysis::m_histPath
Gaudi::Property< std::string > m_histPath
Definition: SiHitAnalysis.h:76
SiHitAnalysis::m_hits_step
std::vector< float > * m_hits_step
Definition: SiHitAnalysis.h:60
SiHitAnalysis::m_h_time_eloss
TH2 * m_h_time_eloss
Definition: SiHitAnalysis.h:45
SiHitAnalysis::m_h_layer_disk
TH1 * m_h_layer_disk
Definition: SiHitAnalysis.h:49
SiHitAnalysis::m_ntuplePath
Gaudi::Property< std::string > m_ntuplePath
Definition: SiHitAnalysis.h:77
SiHitAnalysis::m_h_z_eloss
TH2 * m_h_z_eloss
Definition: SiHitAnalysis.h:46
SiHitAnalysis::m_h_hits_step
TH1 * m_h_hits_step
Definition: SiHitAnalysis.h:43
SiHitAnalysis::m_h_module_eta
TH1 * m_h_module_eta
Definition: SiHitAnalysis.h:51
SiHitCollection.h