ATLAS Offline Software
SCT_ClusterAnalysis.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_SCT_CLUSTERANALYSIS_H
6 #define TRACKING_TRKCLUSTERANALYSIS_SCT_CLUSTERANALYSIS_H
7 
9 #include "GaudiKernel/ServiceHandle.h"
10 #include "GaudiKernel/ITHistSvc.h"
12 
13 #include "InDetIdentifier/SCT_ID.h"
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 SCT_ID;
24 
26 
27 public:
28  SCT_ClusterAnalysis(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::SCT_ClusterContainer> m_inputKey{this, "InputKey", "SCT_Clusters", "Key of input sct clusters"};
37  const SCT_ID *m_stripID{};
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_sideModule{};
44  std::vector<double>* m_eta{};
45  std::vector<double>* m_globalX{};
46  std::vector<double>* m_globalY{};
47  std::vector<double>* m_globalZ{};
48  std::vector<double>* m_localX{};
49  std::vector<double>* m_localY{};
50  std::vector<double>* m_localCovXX{};
51  std::vector<double>* m_localCovXY{};
52  std::vector<double>* m_localCovYY{};
53  std::vector<double>* m_localCovYX{};
54  std::vector<int>* m_sizeX{};
55  std::vector<int>* m_sizeY{};
56 
57  TH2* m_h_globalZR{};
59 
60  TTree* m_tree{};
61  StringProperty m_ntupleFileName{this, "NtupleFileName", "/ntuples/file1", "Output filename"};
62  StringProperty m_ntupleDirName{this, "NtupleDirectoryName", "/StripClusterAnalysis/", "Directory name in output file"};
63  StringProperty m_ntupleTreeName{this, "NtupleTreeName", "StripClusterAna", "Tree name in output file"};
64  StringProperty m_path{this, "HistPath", "/StripClusterAnalysis/", "Full path in output file"};
65  ServiceHandle<ITHistSvc> m_thistSvc { this, "THistSvc", "THistSvc", "Histogramming svc" };
66 
67 };
68 
69 #endif // TRACKING_TRKCLUSTERANALYSIS_SCT_CLUSTERANALYSIS_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
SCT_ClusterAnalysis::m_sizeX
std::vector< int > * m_sizeX
Definition: SCT_ClusterAnalysis.h:54
SCT_ClusterAnalysis::m_tree
TTree * m_tree
Definition: SCT_ClusterAnalysis.h:60
SCT_ID.h
This is an Identifier helper class for the SCT subdetector. This class is a factory for creating comp...
SCT_ClusterAnalysis::m_ntupleFileName
StringProperty m_ntupleFileName
Definition: SCT_ClusterAnalysis.h:61
SCT_ClusterAnalysis::m_phiModule
std::vector< int > * m_phiModule
Definition: SCT_ClusterAnalysis.h:41
SCT_ClusterAnalysis::m_sideModule
std::vector< int > * m_sideModule
Definition: SCT_ClusterAnalysis.h:43
SCT_ClusterAnalysis::execute
virtual StatusCode execute() override final
Definition: SCT_ClusterAnalysis.cxx:64
SCT_ClusterAnalysis::m_globalY
std::vector< double > * m_globalY
Definition: SCT_ClusterAnalysis.h:46
SCT_ClusterAnalysis::m_h_etaCluster
TH1 * m_h_etaCluster
Definition: SCT_ClusterAnalysis.h:58
SCT_ClusterAnalysis::m_localCovXY
std::vector< double > * m_localCovXY
Definition: SCT_ClusterAnalysis.h:51
SCT_ClusterAnalysis::m_eta
std::vector< double > * m_eta
Definition: SCT_ClusterAnalysis.h:44
SCT_ClusterAnalysis::m_ntupleDirName
StringProperty m_ntupleDirName
Definition: SCT_ClusterAnalysis.h:62
SCT_ClusterAnalysis::m_localY
std::vector< double > * m_localY
Definition: SCT_ClusterAnalysis.h:49
SCT_ClusterAnalysis::cardinality
virtual unsigned int cardinality() const override
Definition: SCT_ClusterAnalysis.h:33
SG::ReadHandleKey< InDet::SCT_ClusterContainer >
SCT_ClusterAnalysis::m_localCovYY
std::vector< double > * m_localCovYY
Definition: SCT_ClusterAnalysis.h:52
AthAlgorithm.h
SCT_ClusterAnalysis::~SCT_ClusterAnalysis
~SCT_ClusterAnalysis()
Definition: SCT_ClusterAnalysis.h:29
SCT_ClusterAnalysis::m_inputKey
SG::ReadHandleKey< InDet::SCT_ClusterContainer > m_inputKey
Definition: SCT_ClusterAnalysis.h:36
SCT_ClusterAnalysis
Definition: SCT_ClusterAnalysis.h:25
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
SCT_ClusterAnalysis::m_barrelEndcap
std::vector< int > * m_barrelEndcap
Definition: SCT_ClusterAnalysis.h:39
SCT_ClusterAnalysis::m_globalZ
std::vector< double > * m_globalZ
Definition: SCT_ClusterAnalysis.h:47
SCT_ClusterAnalysis::m_ntupleTreeName
StringProperty m_ntupleTreeName
Definition: SCT_ClusterAnalysis.h:63
SCT_ClusterAnalysis::m_h_globalZR
TH2 * m_h_globalZR
Definition: SCT_ClusterAnalysis.h:57
SCT_ClusterAnalysis::initialize
virtual StatusCode initialize() override final
Definition: SCT_ClusterAnalysis.cxx:20
AthAlgorithm
Definition: AthAlgorithm.h:47
SCT_ClusterAnalysis::m_etaModule
std::vector< int > * m_etaModule
Definition: SCT_ClusterAnalysis.h:42
SCT_ClusterAnalysis::m_thistSvc
ServiceHandle< ITHistSvc > m_thistSvc
Definition: SCT_ClusterAnalysis.h:65
SCT_ClusterAnalysis::m_sizeY
std::vector< int > * m_sizeY
Definition: SCT_ClusterAnalysis.h:55
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
SCT_ClusterAnalysis::SCT_ClusterAnalysis
SCT_ClusterAnalysis(const std::string &name, ISvcLocator *pSvcLocator)
Definition: SCT_ClusterAnalysis.cxx:17
SCT_ClusterAnalysis::m_globalX
std::vector< double > * m_globalX
Definition: SCT_ClusterAnalysis.h:45
SCT_ID
Definition: SCT_ID.h:68
SCT_ClusterContainer.h
SCT_ClusterAnalysis::m_localCovXX
std::vector< double > * m_localCovXX
Definition: SCT_ClusterAnalysis.h:50
SCT_ClusterAnalysis::m_localX
std::vector< double > * m_localX
Definition: SCT_ClusterAnalysis.h:48
SCT_ClusterAnalysis::m_path
StringProperty m_path
Definition: SCT_ClusterAnalysis.h:64
SCT_ClusterAnalysis::m_localCovYX
std::vector< double > * m_localCovYX
Definition: SCT_ClusterAnalysis.h:53
SCT_ClusterAnalysis::m_stripID
const SCT_ID * m_stripID
Definition: SCT_ClusterAnalysis.h:37
SCT_ClusterAnalysis::m_layerDisk
std::vector< int > * m_layerDisk
Definition: SCT_ClusterAnalysis.h:40
ServiceHandle< ITHistSvc >