ATLAS Offline Software
Loading...
Searching...
No Matches
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
32class PixelID;
33class SCT_ID;
34
36
37 typedef InDet::PixelClusterContainer PixelClusterContainer;
38 typedef InDet::SCT_ClusterContainer SCT_ClusterContainer;
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
55 const SCT_ID* m_sctID;
56
59
60 const InDet::PixelClusterContainer* m_Pixel_clcontainer;
61 const InDet::SCT_ClusterContainer* m_Sct_clcontainer;
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();
70 StatusCode RetrieveSCTSiClusters();
71 StatusCode RetrievePixelSiClusters();
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
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
NTuple::Item< long > m_sct_nclusters
number of SCT Clusters
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_pixelDetEleCollKey
NTuple::Array< float > m_sct_clx
SCT Cluster X.
InDet::PixelClusterContainer PixelClusterContainer
virtual StatusCode FillSiCluster() override
virtual StatusCode finalize() override
NTuple::Array< float > m_pixel_clx
Pixel Cluster X.
NTuple::Matrix< long > m_pixel_clrow
NTuple::Array< float > m_sct_clz
SCT Cluster Z.
NTuple::Array< long > m_pixel_layer
Pixel Cluster layer.
ServiceHandle< INTupleSvc > m_ntupleSvc
NTuple::Array< long > m_sct_side
SCT Cluster side.
NTuple::Array< long > m_pixel_groupsize
Pixel Cluster Group Size.
const InDet::PixelClusterContainer * m_Pixel_clcontainer
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey
NTuple::Array< long > m_sct_layer
SCT Cluster layer.
virtual StatusCode initialize() override
const InDet::SCT_ClusterContainer * m_Sct_clcontainer
std::string m_ntupleName
ntuple name
NTuple::Array< float > m_pixel_clz
Pixel Cluster Z.
NTuple::Item< long > m_pixel_nclusters
number of Pixel Clusters
NTuple::Array< float > m_pixel_cly
Pixel Cluster Y.
NTuple::Array< float > m_sct_cly
SCT Cluster Y.
NTuple::Array< float > m_pixel_LocY
Pixel Cluster Local Y.
NTuple::Array< long > m_sct_groupsize
SCT Cluster Group Size.
InDet::SCT_ClusterContainer SCT_ClusterContainer
NTuple::Array< long > m_sct_phi
SCT Cluster phi.
NTuple::Matrix< long > m_pixel_clcol
const PixelID * m_pixelid
Pixel ID helper.
NTuple::Array< long > m_pixel_phi
Pixel Cluster phi.
NTuple::Array< long > m_sct_eta
SCT Cluster eta.
const SCT_ID * m_sctID
SCT ID helper.
NTuple::Array< float > m_pixel_LocX
Pixel Cluster Local X.
InDetAlignFillSiCluster(const std::string &type, const std::string &name, const IInterface *parent)
virtual ~InDetAlignFillSiCluster()=default
This is an Identifier helper class for the Pixel subdetector.
Definition PixelID.h:67
This is an Identifier helper class for the SCT subdetector.
Definition SCT_ID.h:68