ATLAS Offline Software
InDetAlignFillSiCluster.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef INDETALIGNGENTOOLS_INDETALIGNFILLSICLUSTER_H
6 #define INDETALIGNGENTOOLS_INDETALIGNFILLSICLUSTER_H
7 // ================================================
8 // InDetAlignFillSiCluster
9 // ================================================
10 //
11 // InDetAlignFillSiCluster.h
12 // Headerfile for InDetAlignFillSiCluster
13 //
14 // Carlos Escobar, started 08/03/2008
15 //
16 // AthAlgTool to create store Silicon Cluster information in a ntuple
17 
18 #include <string>
19 
21 
24 
27 
29 #include "GaudiKernel/INTupleSvc.h"
30 
31 // Forward declaration
32 class PixelID;
33 class SCT_ID;
34 
36 
39 
40  public:
41  InDetAlignFillSiCluster(const std::string& type,
42  const std::string& name,
43  const IInterface* parent);
44  virtual ~InDetAlignFillSiCluster() = default;
45 
46  virtual StatusCode initialize() override;
47  virtual StatusCode finalize() override;
48 
49  virtual StatusCode FillSiCluster() override;
50 
51  private:
52  ServiceHandle<INTupleSvc> m_ntupleSvc{this,"NTupleSvc","NTupleSvc"};
53 
54  const PixelID* m_pixelid;
55  const SCT_ID* m_sctID;
56 
58  std::string m_Sct_SiClustersName;
59 
62 
63  // For P->T converter of PixelClusters
64  SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_pixelDetEleCollKey{this, "PixelDetEleCollKey", "PixelDetectorElementCollection", "Key of SiDetectorElementCollection for Pixel"};
65  // For P->T converter of SCT_Clusters
66  SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_SCTDetEleCollKey{this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"};
67 
68  // methods
69  void bookNtuple();
72  void FillSCTSiNtuple();
73  void FillPixelSiNtuple();
74 
75  // variables
76  std::string m_ntupleName;
77 
78  NTuple::Item<long> m_pixel_nclusters;
79  NTuple::Item<long> m_sct_nclusters;
80 
81  // ----------------------------------------------------------------------
82  // Pixel Clusters
83  NTuple::Array<float> m_pixel_clx;
84  NTuple::Array<float> m_pixel_cly;
85  NTuple::Array<float> m_pixel_clz;
86  NTuple::Array<long> m_pixel_groupsize;
87  NTuple::Array<long> m_pixel_layer;
88  NTuple::Array<long> m_pixel_phi;
89  NTuple::Array<float> m_pixel_LocX;
90  NTuple::Array<float> m_pixel_LocY;
91  NTuple::Matrix<long> m_pixel_clrow; // list of pixel row
92  NTuple::Matrix<long> m_pixel_clcol; // list of pixel col
93  // ----------------------------------------------------------------------
94 
95  // ----------------------------------------------------------------------
96  // SCT Clusters
97  NTuple::Array<float> m_sct_clx;
98  NTuple::Array<float> m_sct_cly;
99  NTuple::Array<float> m_sct_clz;
100  NTuple::Array<long> m_sct_groupsize;
101  NTuple::Array<long> m_sct_layer;
102  NTuple::Array<long> m_sct_eta;
103  NTuple::Array<long> m_sct_phi;
104  NTuple::Array<long> m_sct_side;
105  // ----------------------------------------------------------------------
106 
107 };
108 
109 #endif // INDETALIGNGENTOOLS_INDETALIGNFILLSICLUSTER_H
InDetAlignFillSiCluster::m_sct_phi
NTuple::Array< long > m_sct_phi
SCT Cluster phi.
Definition: InDetAlignFillSiCluster.h:103
InDetAlignFillSiCluster::m_Sct_clcontainer
const InDet::SCT_ClusterContainer * m_Sct_clcontainer
Definition: InDetAlignFillSiCluster.h:61
InDetAlignFillSiCluster::m_pixel_cly
NTuple::Array< float > m_pixel_cly
Pixel Cluster Y.
Definition: InDetAlignFillSiCluster.h:84
InDetAlignFillSiCluster::m_pixelid
const PixelID * m_pixelid
Pixel ID helper
Definition: InDetAlignFillSiCluster.h:54
IInDetAlignFillSiCluster
Definition: IInDetAlignFillSiCluster.h:16
InDetAlignFillSiCluster::RetrieveSCTSiClusters
StatusCode RetrieveSCTSiClusters()
Definition: InDetAlignFillSiCluster.cxx:185
InDetAlignFillSiCluster::m_Sct_SiClustersName
std::string m_Sct_SiClustersName
Definition: InDetAlignFillSiCluster.h:58
InDetAlignFillSiCluster::m_sct_nclusters
NTuple::Item< long > m_sct_nclusters
number of SCT Clusters
Definition: InDetAlignFillSiCluster.h:79
InDet::SCT_ClusterContainer
Trk::PrepRawDataContainer< SCT_ClusterCollection > SCT_ClusterContainer
Definition: SCT_ClusterContainer.h:27
InDetAlignFillSiCluster::m_sct_side
NTuple::Array< long > m_sct_side
SCT Cluster side.
Definition: InDetAlignFillSiCluster.h:104
InDetAlignFillSiCluster::m_sct_clz
NTuple::Array< float > m_sct_clz
SCT Cluster Z.
Definition: InDetAlignFillSiCluster.h:99
InDet::PixelClusterContainer
Trk::PrepRawDataContainer< PixelClusterCollection > PixelClusterContainer
Definition: InnerDetector/InDetRecEvent/InDetPrepRawData/InDetPrepRawData/PixelClusterContainer.h:28
InDetAlignFillSiCluster::m_sct_cly
NTuple::Array< float > m_sct_cly
SCT Cluster Y.
Definition: InDetAlignFillSiCluster.h:98
InDetAlignFillSiCluster::m_pixel_nclusters
NTuple::Item< long > m_pixel_nclusters
number of Pixel Clusters
Definition: InDetAlignFillSiCluster.h:78
InDetAlignFillSiCluster::m_pixel_groupsize
NTuple::Array< long > m_pixel_groupsize
Pixel Cluster Group Size.
Definition: InDetAlignFillSiCluster.h:86
InDetAlignFillSiCluster::m_pixel_clrow
NTuple::Matrix< long > m_pixel_clrow
Definition: InDetAlignFillSiCluster.h:91
InDetAlignFillSiCluster::m_SCTDetEleCollKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey
Definition: InDetAlignFillSiCluster.h:66
InDetAlignFillSiCluster::m_sct_eta
NTuple::Array< long > m_sct_eta
SCT Cluster eta.
Definition: InDetAlignFillSiCluster.h:102
IInDetAlignFillSiCluster.h
InDetAlignFillSiCluster::FillSiCluster
virtual StatusCode FillSiCluster() override
Definition: InDetAlignFillSiCluster.cxx:102
InDetAlignFillSiCluster::FillPixelSiNtuple
void FillPixelSiNtuple()
Definition: InDetAlignFillSiCluster.cxx:291
InDetAlignFillSiCluster::finalize
virtual StatusCode finalize() override
Definition: InDetAlignFillSiCluster.cxx:84
InDetAlignFillSiCluster::initialize
virtual StatusCode initialize() override
Definition: InDetAlignFillSiCluster.cxx:57
InDetAlignFillSiCluster::m_ntupleSvc
ServiceHandle< INTupleSvc > m_ntupleSvc
Definition: InDetAlignFillSiCluster.h:52
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDetAlignFillSiCluster
Definition: InDetAlignFillSiCluster.h:35
AthAlgTool.h
InDetAlignFillSiCluster::m_pixel_LocX
NTuple::Array< float > m_pixel_LocX
Pixel Cluster Local X.
Definition: InDetAlignFillSiCluster.h:89
InDetAlignFillSiCluster::InDetAlignFillSiCluster
InDetAlignFillSiCluster(const std::string &type, const std::string &name, const IInterface *parent)
Definition: InDetAlignFillSiCluster.cxx:37
test_pyathena.parent
parent
Definition: test_pyathena.py:15
InDetAlignFillSiCluster::m_sct_clx
NTuple::Array< float > m_sct_clx
SCT Cluster X.
Definition: InDetAlignFillSiCluster.h:97
InDetAlignFillSiCluster::m_sctID
const SCT_ID * m_sctID
SCT ID helper.
Definition: InDetAlignFillSiCluster.h:55
InDetAlignFillSiCluster::m_pixel_LocY
NTuple::Array< float > m_pixel_LocY
Pixel Cluster Local Y.
Definition: InDetAlignFillSiCluster.h:90
InDetAlignFillSiCluster::m_pixel_clz
NTuple::Array< float > m_pixel_clz
Pixel Cluster Z.
Definition: InDetAlignFillSiCluster.h:85
InDetAlignFillSiCluster::m_Pixel_clcontainer
const InDet::PixelClusterContainer * m_Pixel_clcontainer
Definition: InDetAlignFillSiCluster.h:60
ReadCondHandleKey.h
InDetAlignFillSiCluster::SCT_ClusterContainer
InDet::SCT_ClusterContainer SCT_ClusterContainer
Definition: InDetAlignFillSiCluster.h:38
InDetAlignFillSiCluster::RetrievePixelSiClusters
StatusCode RetrievePixelSiClusters()
Definition: InDetAlignFillSiCluster.cxx:205
InDetAlignFillSiCluster::m_Pixel_SiClustersName
std::string m_Pixel_SiClustersName
Definition: InDetAlignFillSiCluster.h:57
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
PixelClusterContainer.h
InDetAlignFillSiCluster::m_pixelDetEleCollKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_pixelDetEleCollKey
Definition: InDetAlignFillSiCluster.h:64
SiDetectorElementCollection.h
InDetAlignFillSiCluster::m_pixel_clcol
NTuple::Matrix< long > m_pixel_clcol
Definition: InDetAlignFillSiCluster.h:92
InDetAlignFillSiCluster::FillSCTSiNtuple
void FillSCTSiNtuple()
Definition: InDetAlignFillSiCluster.cxx:224
InDetAlignFillSiCluster::m_sct_layer
NTuple::Array< long > m_sct_layer
SCT Cluster layer.
Definition: InDetAlignFillSiCluster.h:101
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection >
SCT_ID
Definition: SCT_ID.h:68
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
InDetAlignFillSiCluster::bookNtuple
void bookNtuple()
Definition: InDetAlignFillSiCluster.cxx:125
InDetAlignFillSiCluster::m_pixel_layer
NTuple::Array< long > m_pixel_layer
Pixel Cluster layer.
Definition: InDetAlignFillSiCluster.h:87
SCT_ClusterContainer.h
InDetAlignFillSiCluster::m_pixel_phi
NTuple::Array< long > m_pixel_phi
Pixel Cluster phi.
Definition: InDetAlignFillSiCluster.h:88
InDetAlignFillSiCluster::PixelClusterContainer
InDet::PixelClusterContainer PixelClusterContainer
Definition: InDetAlignFillSiCluster.h:37
InDetAlignFillSiCluster::m_ntupleName
std::string m_ntupleName
ntuple name
Definition: InDetAlignFillSiCluster.h:76
InDetAlignFillSiCluster::m_pixel_clx
NTuple::Array< float > m_pixel_clx
Pixel Cluster X.
Definition: InDetAlignFillSiCluster.h:83
AthAlgTool
Definition: AthAlgTool.h:26
PixelID
Definition: PixelID.h:67
InDetAlignFillSiCluster::m_sct_groupsize
NTuple::Array< long > m_sct_groupsize
SCT Cluster Group Size.
Definition: InDetAlignFillSiCluster.h:100
InDetAlignFillSiCluster::~InDetAlignFillSiCluster
virtual ~InDetAlignFillSiCluster()=default
ServiceHandle< INTupleSvc >