ATLAS Offline Software
SpacePointAnalysis.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRACKING_TRKCLUSTERANALYSIS_SPACEPOINTANALYSIS_H
6 #define TRACKING_TRKCLUSTERANALYSIS_SPACEPOINTANALYSIS_H
7 
9 #include "GaudiKernel/ServiceHandle.h"
10 #include "GaudiKernel/ITHistSvc.h"
12 
15 
16 #include <string>
17 #include <vector>
18 #include "TH1.h"
19 #include "TH2.h"
20 #include "TProfile.h"
21 
22 class TTree;
23 class PixelID;
24 class SCT_ID;
25 
27 
28 public:
29  SpacePointAnalysis(const std::string& name, ISvcLocator* pSvcLocator);
31 
32  virtual StatusCode initialize() override final;
33  virtual StatusCode execute() override final;
34  virtual unsigned int cardinality() const override { return 1; }
35 
36 private:
37  SG::ReadHandleKey<SpacePointContainer> m_inputKey{this, "InputKey", "PixelSpacePoints", "Key of input space points"};
38  SG::ReadHandleKey<SpacePointOverlapCollection> m_inputOverlapKey{this, "InputOverlapKey", "OverlapSpacePoints", "Key of input for overlap space points"};
39  const PixelID *m_pixelID{};
40  const SCT_ID *m_stripID{};
41 
42  std::vector<int>* m_barrelEndcap{};
43  std::vector<int>* m_layerDisk{};
44  std::vector<int>* m_phiModule{};
45  std::vector<int>* m_etaModule{};
46  std::vector<int>* m_sideModule{};
47  std::vector<int>* m_isInnermost{};
48  std::vector<int>* m_isNextToInnermost{};
49  std::vector<int>* m_isOverlap{};
50  std::vector<double>* m_eta{};
51  std::vector<double>* m_globalX{};
52  std::vector<double>* m_globalY{};
53  std::vector<double>* m_globalZ{};
54  std::vector<double>* m_globalCovXX{};
55  std::vector<double>* m_globalCovYY{};
56  std::vector<double>* m_globalCovZZ{};
57  std::vector<double>* m_globalCovXY{};
58  std::vector<double>* m_globalCovXZ{};
59  std::vector<double>* m_globalCovYX{};
60  std::vector<double>* m_globalCovYZ{};
61  std::vector<double>* m_globalCovZX{};
62  std::vector<double>* m_globalCovZY{};
63 
64  TH2* m_h_globalZR{};
66 
67  TTree* m_tree{};
68  StringProperty m_ntupleFileName{this, "NtupleFileName", "/ntuples/file1", "Output filename"};
69  StringProperty m_ntupleDirName{this, "NtupleDirectoryName", "/SpacePointAnalysis/", "Directory name in output file"};
70  StringProperty m_ntupleTreeName{this, "NtupleTreeName", "SpacePointAna", "Tree name in output file"};
71  StringProperty m_path{this, "HistPath", "/SpacePointAnalysis/", "Full path in output file"};
72  ServiceHandle<ITHistSvc> m_thistSvc { this, "THistSvc", "THistSvc", "Histogramming svc" };
73 
74  BooleanProperty m_usePixel{this, "UsePixel", true, "enable use of pixel ID or SCT ID"};
75  BooleanProperty m_useOverlap{this, "UseOverlap", true, "enable use of overlap for SCT ID"};
76 
77 };
78 
79 #endif // TRACKING_TRKCLUSTERANALYSIS_SPACEPOINTANALYSIS_H
SpacePointAnalysis::m_globalCovXZ
std::vector< double > * m_globalCovXZ
Definition: SpacePointAnalysis.h:58
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
SpacePointAnalysis::m_globalCovZX
std::vector< double > * m_globalCovZX
Definition: SpacePointAnalysis.h:61
SpacePointAnalysis::m_ntupleTreeName
StringProperty m_ntupleTreeName
Definition: SpacePointAnalysis.h:70
SpacePointAnalysis::initialize
virtual StatusCode initialize() override final
Definition: SpacePointAnalysis.cxx:23
SpacePointAnalysis::m_pixelID
const PixelID * m_pixelID
Definition: SpacePointAnalysis.h:39
SpacePointAnalysis::cardinality
virtual unsigned int cardinality() const override
Definition: SpacePointAnalysis.h:34
SpacePointAnalysis::m_isOverlap
std::vector< int > * m_isOverlap
Definition: SpacePointAnalysis.h:49
SpacePointAnalysis::m_isInnermost
std::vector< int > * m_isInnermost
Definition: SpacePointAnalysis.h:47
SpacePointAnalysis::m_globalZ
std::vector< double > * m_globalZ
Definition: SpacePointAnalysis.h:53
SpacePointAnalysis::SpacePointAnalysis
SpacePointAnalysis(const std::string &name, ISvcLocator *pSvcLocator)
Definition: SpacePointAnalysis.cxx:20
SpacePointAnalysis::m_barrelEndcap
std::vector< int > * m_barrelEndcap
Definition: SpacePointAnalysis.h:42
SpacePointAnalysis::m_globalCovYY
std::vector< double > * m_globalCovYY
Definition: SpacePointAnalysis.h:55
SG::ReadHandleKey< SpacePointContainer >
SpacePointContainer.h
AthAlgorithm.h
SpacePointAnalysis::m_globalY
std::vector< double > * m_globalY
Definition: SpacePointAnalysis.h:52
SpacePointAnalysis::m_usePixel
BooleanProperty m_usePixel
Definition: SpacePointAnalysis.h:74
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
SpacePointAnalysis::m_globalX
std::vector< double > * m_globalX
Definition: SpacePointAnalysis.h:51
SpacePointAnalysis::execute
virtual StatusCode execute() override final
Definition: SpacePointAnalysis.cxx:80
SpacePointOverlapCollection.h
SpacePointAnalysis::~SpacePointAnalysis
~SpacePointAnalysis()
Definition: SpacePointAnalysis.h:30
SpacePointAnalysis::m_sideModule
std::vector< int > * m_sideModule
Definition: SpacePointAnalysis.h:46
SpacePointAnalysis::m_useOverlap
BooleanProperty m_useOverlap
Definition: SpacePointAnalysis.h:75
AthAlgorithm
Definition: AthAlgorithm.h:47
SpacePointAnalysis::m_etaModule
std::vector< int > * m_etaModule
Definition: SpacePointAnalysis.h:45
SpacePointAnalysis::m_h_etaSpacePoint
TH1 * m_h_etaSpacePoint
Definition: SpacePointAnalysis.h:65
SpacePointAnalysis::m_globalCovXX
std::vector< double > * m_globalCovXX
Definition: SpacePointAnalysis.h:54
SpacePointAnalysis::m_ntupleDirName
StringProperty m_ntupleDirName
Definition: SpacePointAnalysis.h:69
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
SpacePointAnalysis::m_inputKey
SG::ReadHandleKey< SpacePointContainer > m_inputKey
Definition: SpacePointAnalysis.h:37
SpacePointAnalysis::m_eta
std::vector< double > * m_eta
Definition: SpacePointAnalysis.h:50
SpacePointAnalysis::m_tree
TTree * m_tree
Definition: SpacePointAnalysis.h:67
SpacePointAnalysis::m_h_globalZR
TH2 * m_h_globalZR
Definition: SpacePointAnalysis.h:64
SpacePointAnalysis::m_globalCovXY
std::vector< double > * m_globalCovXY
Definition: SpacePointAnalysis.h:57
SpacePointAnalysis::m_ntupleFileName
StringProperty m_ntupleFileName
Definition: SpacePointAnalysis.h:68
SpacePointAnalysis
Definition: SpacePointAnalysis.h:26
SCT_ID
Definition: SCT_ID.h:68
SpacePointAnalysis::m_path
StringProperty m_path
Definition: SpacePointAnalysis.h:71
SpacePointAnalysis::m_inputOverlapKey
SG::ReadHandleKey< SpacePointOverlapCollection > m_inputOverlapKey
Definition: SpacePointAnalysis.h:38
SpacePointAnalysis::m_layerDisk
std::vector< int > * m_layerDisk
Definition: SpacePointAnalysis.h:43
SpacePointAnalysis::m_globalCovZZ
std::vector< double > * m_globalCovZZ
Definition: SpacePointAnalysis.h:56
SpacePointAnalysis::m_globalCovYX
std::vector< double > * m_globalCovYX
Definition: SpacePointAnalysis.h:59
SpacePointAnalysis::m_thistSvc
ServiceHandle< ITHistSvc > m_thistSvc
Definition: SpacePointAnalysis.h:72
SpacePointAnalysis::m_globalCovYZ
std::vector< double > * m_globalCovYZ
Definition: SpacePointAnalysis.h:60
SpacePointAnalysis::m_stripID
const SCT_ID * m_stripID
Definition: SpacePointAnalysis.h:40
PixelID
Definition: PixelID.h:67
SpacePointAnalysis::m_isNextToInnermost
std::vector< int > * m_isNextToInnermost
Definition: SpacePointAnalysis.h:48
SpacePointAnalysis::m_phiModule
std::vector< int > * m_phiModule
Definition: SpacePointAnalysis.h:44
SpacePointAnalysis::m_globalCovZY
std::vector< double > * m_globalCovZY
Definition: SpacePointAnalysis.h:62
ServiceHandle< ITHistSvc >