ATLAS Offline Software
Loading...
Searching...
No Matches
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
16class TH1;
17class TH2;
18class TTree;
19
20
22{
23public:
25 ~SiHitAnalysis() = default;
26
27 virtual StatusCode initialize() override;
28 virtual StatusCode execute() override;
29
30private:
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{};
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
Property holding a SG store/key/clid from which a ReadHandle is made.
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Property holding a SG store/key/clid from which a ReadHandle is made.
TH1 * m_h_barrel_endcap
std::vector< float > * m_hits_r
virtual StatusCode initialize() override
std::vector< float > * m_hits_prodVtx_z
Gaudi::Property< bool > m_expert
LockedHandle< TH2 > m_h_zr_shared
std::vector< float > * m_hits_phi
std::vector< float > * m_hits_barcode
virtual StatusCode execute() override
std::vector< int > * m_layer_disk
std::vector< float > * m_hits_eloss
std::vector< int > * m_module_phi
std::vector< int > * m_module_eta
Gaudi::Property< std::string > m_histPath
std::vector< float > * m_hits_time
std::vector< float > * m_hits_prodVtx_y
std::vector< float > * m_hits_x
std::vector< float > * m_hits_prodVtx_x
SG::ReadHandleKey< SiHitCollection > m_hitsContainerKey
std::vector< float > * m_hits_pdgId
std::vector< float > * m_hits_pT
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
LockedHandle< TH2 > m_h_xy_shared
std::vector< float > * m_hits_eta
TH1 * m_h_hits_x
Some variables.
std::vector< int > * m_barrel_endcap
~SiHitAnalysis()=default
std::vector< float > * m_hits_z
TH1 * m_h_hits_barcode
Gaudi::Property< std::string > m_ntuplePath
Gaudi::Property< bool > m_extraTruthBranches
std::vector< float > * m_hits_step
std::vector< float > * m_hits_y