ATLAS Offline Software
PixelClusterAnalysis.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_PIXELCLUSTERANALYSIS_H
6 #define TRACKING_TRKCLUSTERANALYSIS_PIXELCLUSTERANALYSIS_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 
26 
27 public:
28  PixelClusterAnalysis(const std::string& name, ISvcLocator* pSvcLocator);
30 
31  virtual StatusCode initialize() override final;
32  virtual StatusCode execute() override final;
33  virtual unsigned int cardinality() const override { return 1; }
34 
35 private:
36  SG::ReadHandleKey<InDet::PixelClusterContainer> m_inputKey{this, "InputKey", "PixelClusters", "Key of input pixel clusters"};
37  const PixelID *m_pixelID{};
38 
39  std::vector<int>* m_barrelEndcap{};
40  std::vector<int>* m_layerDisk{};
41  std::vector<int>* m_phiModule{};
42  std::vector<int>* m_etaModule{};
43  std::vector<int>* m_isInnermost{};
44  std::vector<int>* m_isNextToInnermost{};
45  std::vector<double>* m_eta{};
46  std::vector<double>* m_globalX{};
47  std::vector<double>* m_globalY{};
48  std::vector<double>* m_globalZ{};
49  std::vector<double>* m_localX{};
50  std::vector<double>* m_localY{};
51  std::vector<double>* m_localCovXX{};
52  std::vector<double>* m_localCovYY{};
53  std::vector<int>* m_sizeX{};
54  std::vector<int>* m_sizeY{};
55 
58 
59  TTree* m_tree{};
60  StringProperty m_ntupleFileName{this, "NtupleFileName", "/ntuples/file1", "Output filename"};
61  StringProperty m_ntupleDirName{this, "NtupleDirectoryName", "/PixelClusterAnalysis/", "Directory name in output file"};
62  StringProperty m_ntupleTreeName{this, "NtupleTreeName", "PixelClusterAna", "Tree name in output file"};
63  StringProperty m_path{this, "HistPath", "/PixelClusterAnalysis/", "Full path in output file"};
64  ServiceHandle<ITHistSvc> m_thistSvc { this, "THistSvc", "THistSvc", "Histogramming svc" };
65 
66 };
67 
68 #endif // TRACKING_TRKCLUSTERANALYSIS_PIXELCLUSTERANALYSIS_H
PixelClusterAnalysis::m_etaModule
std::vector< int > * m_etaModule
Definition: PixelClusterAnalysis.h:42
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
PixelID.h
This is an Identifier helper class for the Pixel subdetector. This class is a factory for creating co...
PixelClusterAnalysis::m_sizeY
std::vector< int > * m_sizeY
Definition: PixelClusterAnalysis.h:54
PixelClusterAnalysis
Definition: PixelClusterAnalysis.h:25
PixelClusterAnalysis::m_localCovXX
std::vector< double > * m_localCovXX
Definition: PixelClusterAnalysis.h:51
PixelClusterAnalysis::m_h_globalZR
TH2 * m_h_globalZR
Definition: PixelClusterAnalysis.h:56
PixelClusterAnalysis::m_inputKey
SG::ReadHandleKey< InDet::PixelClusterContainer > m_inputKey
Definition: PixelClusterAnalysis.h:36
PixelClusterAnalysis::m_isNextToInnermost
std::vector< int > * m_isNextToInnermost
Definition: PixelClusterAnalysis.h:44
SG::ReadHandleKey< InDet::PixelClusterContainer >
PixelClusterAnalysis::m_pixelID
const PixelID * m_pixelID
Definition: PixelClusterAnalysis.h:37
AthAlgorithm.h
PixelClusterAnalysis::m_path
StringProperty m_path
Definition: PixelClusterAnalysis.h:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PixelClusterAnalysis::cardinality
virtual unsigned int cardinality() const override
Definition: PixelClusterAnalysis.h:33
PixelClusterAnalysis::execute
virtual StatusCode execute() override final
Definition: PixelClusterAnalysis.cxx:63
PixelClusterAnalysis::m_layerDisk
std::vector< int > * m_layerDisk
Definition: PixelClusterAnalysis.h:40
PixelClusterAnalysis::m_globalZ
std::vector< double > * m_globalZ
Definition: PixelClusterAnalysis.h:48
TH2
Definition: rootspy.cxx:373
PixelClusterAnalysis::m_h_etaCluster
TH1 * m_h_etaCluster
Definition: PixelClusterAnalysis.h:57
AthAlgorithm
Definition: AthAlgorithm.h:47
PixelClusterAnalysis::m_localCovYY
std::vector< double > * m_localCovYY
Definition: PixelClusterAnalysis.h:52
PixelClusterAnalysis::m_localX
std::vector< double > * m_localX
Definition: PixelClusterAnalysis.h:49
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
PixelClusterAnalysis::m_localY
std::vector< double > * m_localY
Definition: PixelClusterAnalysis.h:50
PixelClusterContainer.h
PixelClusterAnalysis::m_ntupleTreeName
StringProperty m_ntupleTreeName
Definition: PixelClusterAnalysis.h:62
PixelClusterAnalysis::m_eta
std::vector< double > * m_eta
Definition: PixelClusterAnalysis.h:45
PixelClusterAnalysis::m_barrelEndcap
std::vector< int > * m_barrelEndcap
Definition: PixelClusterAnalysis.h:39
PixelClusterAnalysis::m_sizeX
std::vector< int > * m_sizeX
Definition: PixelClusterAnalysis.h:53
PixelClusterAnalysis::PixelClusterAnalysis
PixelClusterAnalysis(const std::string &name, ISvcLocator *pSvcLocator)
Definition: PixelClusterAnalysis.cxx:17
TH1
Definition: rootspy.cxx:268
PixelClusterAnalysis::~PixelClusterAnalysis
~PixelClusterAnalysis()
Definition: PixelClusterAnalysis.h:29
PixelClusterAnalysis::m_globalX
std::vector< double > * m_globalX
Definition: PixelClusterAnalysis.h:46
PixelClusterAnalysis::m_isInnermost
std::vector< int > * m_isInnermost
Definition: PixelClusterAnalysis.h:43
PixelID
Definition: PixelID.h:67
PixelClusterAnalysis::m_globalY
std::vector< double > * m_globalY
Definition: PixelClusterAnalysis.h:47
PixelClusterAnalysis::m_phiModule
std::vector< int > * m_phiModule
Definition: PixelClusterAnalysis.h:41
PixelClusterAnalysis::initialize
virtual StatusCode initialize() override final
Definition: PixelClusterAnalysis.cxx:20
PixelClusterAnalysis::m_ntupleFileName
StringProperty m_ntupleFileName
Definition: PixelClusterAnalysis.h:60
PixelClusterAnalysis::m_tree
TTree * m_tree
Definition: PixelClusterAnalysis.h:59
PixelClusterAnalysis::m_ntupleDirName
StringProperty m_ntupleDirName
Definition: PixelClusterAnalysis.h:61
ServiceHandle< ITHistSvc >
PixelClusterAnalysis::m_thistSvc
ServiceHandle< ITHistSvc > m_thistSvc
Definition: PixelClusterAnalysis.h:64