ATLAS Offline Software
ISF_HitAnalysis.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ISF_FASTCALOSIMPARAMETRIZATION_ISF_HIT_ANALYSIS_H
6 #define ISF_FASTCALOSIMPARAMETRIZATION_ISF_HIT_ANALYSIS_H
7 
8 #include "GaudiKernel/ToolHandle.h"
9 #include "GaudiKernel/Algorithm.h"
10 #include "GaudiKernel/ObjectVector.h"
11 #include "GaudiKernel/ITHistSvc.h"
12 #include "CLHEP/Units/SystemOfUnits.h"
15 
18 #include "CxxUtils/CachedPointer.h"
22 
25 
26 //#####################################
29 #include "AtlasHepMC/GenParticle.h"
30 #include "HepPDT/ParticleData.hh"
31 #include "GaudiKernel/IPartPropSvc.h"
33 //#####################################
34 
38 
39 
40 namespace Trk
41 {
42  class TrackingVolume;
43 }
44 
47 
48 #include <string>
49 #include <Rtypes.h>
50 #include <TLorentzVector.h>
51 
52 /* *************************************************************
53  This is a modified copy of Simulation/Tools/CaloHitAnalysis
54  Aug 27, 2013 Zdenek Hubacek (CERN)
55  ************************************************************** */
56 
57 class TileID;
58 class TileHWID;
60 class TTree;
61 class LArEM_ID;
62 class LArFCAL_ID;
63 class LArHEC_ID;
64 
65 //############################
67 class IExtrapolateToCaloTool;
68 class CaloDepthTool;
69 namespace Trk {
70  class IExtrapolator;
71 }
72 
73 class ISF_HitAnalysis : public AthAlgorithm {
74 
75 public:
76 
77  ISF_HitAnalysis(const std::string& name, ISvcLocator* pSvcLocator);
79 
82  virtual StatusCode execute() override;
84 
85  const static int MAX_LAYER = 25;
86 
87 private:
88  // extrapolation through Calo
89  std::vector<Trk::HitInfo>* caloHits(const HepMC::GenParticle& part ) const;
90  void extrapolate(const HepMC::ConstGenParticlePtr& part,std::vector<Trk::HitInfo>* hitVector);
91  void extrapolate_to_ID(const HepMC::ConstGenParticlePtr& part,std::vector<Trk::HitInfo>* hitVector);
92 
93  // Configurable properties
95  "GeoModelSvc", "GeoModelSvc", "GeoModel service"};
97  , "CaloDetDescrManager"
98  , "CaloDetDescrManager"
99  , "SG Key for CaloDetDescrManager in the Condition Store" };
101  "fSamplKey", "LArfSamplSym", "SG Key of LArfSampl object"};
106  "TileSamplingFraction", "TileSamplingFraction", "Input Tile sampling fraction"};
111  "TileCablingSvc", "TileCablingSvc", "Tile cabling service"};
112  StringProperty m_ntupleFileName{this, "NtupleFileName", "ISF_HitAnalysis"};
113  StringProperty m_ntupleTreeName{this, "NtupleTreeName", "CaloHitAna"};
114  StringProperty m_metadataTreeName{this, "MetadataTreeName", "MetaData"};
115  StringProperty m_geoFileName{this, "GeoFileName", "ISF_Geometry"};
116  IntegerProperty m_NtruthParticles{this, "NTruthParticles", 1, "Number of truth particles saved from the truth collection, -1 to save all"};
118  "THistSvc", "THistSvc", "Tile histogramming service"};
119  PublicToolHandle<Trk::ITimedExtrapolator> m_extrapolator{this, "Extrapolator", {}};
120  PublicToolHandle<ICaloCoordinateTool> m_calo_tb_coord{this, "CaloCoordinateTool", "TBCaloCoordinate"};
121  StringProperty m_caloEntranceName{this, "CaloEntrance", ""};
123  PublicToolHandle<IFastCaloSimCaloExtrapolation> m_FastCaloSimCaloExtrapolation{this, "FastCaloSimCaloExtrapolation", {} };
124  DoubleProperty m_CaloBoundaryR{this, "CaloBoundaryR", 1148};
125  DoubleProperty m_CaloBoundaryZ{this, "CaloBoundaryZ", 3550};
126  DoubleProperty m_calomargin{this, "CaloMargin", 0.0};
127  BooleanProperty m_saveAllBranches{this,"SaveAllBranches", false};
128  BooleanProperty m_doAllCells{this, "DoAllCells", false};
129  BooleanProperty m_doClusterInfo{this, "DoClusterInfo", false};
130  BooleanProperty m_doLayers{this, "DoLayers", false};
131  BooleanProperty m_doLayerSums{this, "DoLayerSums", true};
132  BooleanProperty m_doG4Hits{this, "DoG4Hits", false};
133  IntegerProperty m_TimingCut{this, "TimingCut", 999999};
134  StringProperty m_MC_DIGI_PARAM{this, "MetaDataDigi", "/Digitization/Parameters"};
135  StringProperty m_MC_SIM_PARAM{this, "MetaDataSim", "/Simulation/Parameters"};
136 
137  const LArEM_ID *m_larEmID{nullptr};
138  const LArFCAL_ID *m_larFcalID{nullptr};
139  const LArHEC_ID *m_larHecID{nullptr};
140  const TileID * m_tileID{nullptr};
141  const TileHWID* m_tileHWID{nullptr};
143 
144  const TileDetDescrManager * m_tileMgr{nullptr};
145 
147  std::vector<float>* m_hit_x{nullptr};
148  std::vector<float>* m_hit_y{nullptr};
149  std::vector<float>* m_hit_z{nullptr};
150  std::vector<float>* m_hit_energy{nullptr};
151  std::vector<float>* m_hit_time{nullptr};
152  std::vector<Long64_t>* m_hit_identifier{nullptr};
153  std::vector<Long64_t>* m_hit_cellidentifier{nullptr};
154  std::vector<bool>* m_islarbarrel{nullptr};
155  std::vector<bool>* m_islarendcap{nullptr};
156  std::vector<bool>* m_islarhec{nullptr};
157  std::vector<bool>* m_islarfcal{nullptr};
158  std::vector<bool>* m_istile{nullptr};
159  std::vector<int>* m_hit_sampling{nullptr};
160  std::vector<float>* m_hit_samplingfraction{nullptr};
161 
162  std::vector<float>* m_truth_energy{nullptr};
163  std::vector<float>* m_truth_px{nullptr};
164  std::vector<float>* m_truth_py{nullptr};
165  std::vector<float>* m_truth_pz{nullptr};
166  std::vector<int>* m_truth_pdg{nullptr};
167  std::vector<int>* m_truth_barcode{nullptr};
168  std::vector<int>* m_truth_vtxbarcode{nullptr}; //production vertex barcode
169 
170  std::vector<float>* m_cluster_energy{nullptr};
171  std::vector<float>* m_cluster_eta{nullptr};
172  std::vector<float>* m_cluster_phi{nullptr};
173  std::vector<unsigned>* m_cluster_size{nullptr};
174  std::vector<std::vector<Long64_t >>* m_cluster_cellID{nullptr};
175 
176 
177  std::vector<Long64_t>* m_cell_identifier{nullptr};
178  std::vector<float>* m_cell_energy{nullptr};
179  std::vector<int>* m_cell_sampling{nullptr};
180 
181  std::vector<float>* m_g4hit_energy{nullptr};
182  std::vector<float>* m_g4hit_time{nullptr};
183  std::vector<Long64_t>* m_g4hit_identifier{nullptr};
184  std::vector<Long64_t>* m_g4hit_cellidentifier{nullptr};
185  std::vector<float>* m_g4hit_samplingfraction{nullptr};
186  std::vector<int>* m_g4hit_sampling{nullptr};
187 
188  //CaloHitAna variables
189  FCS_matchedcellvector* m_oneeventcells = nullptr; //these are all matched cells in a single event
190  FCS_matchedcellvector* m_layercells[MAX_LAYER]; //these are all matched cells in a given layer in a given event
191 
192  Float_t m_total_cell_e = 0;
193  Float_t m_total_hit_e = 0;
194  Float_t m_total_g4hit_e = 0;
195 
196  std::vector<Float_t>* m_final_cell_energy{nullptr};
197  std::vector<Float_t>* m_final_hit_energy{nullptr};
198  std::vector<Float_t>* m_final_g4hit_energy{nullptr};
199 
200  TTree * m_tree{nullptr};
201  //####################################################
202  double m_eta_calo_surf{0.};
203  double m_phi_calo_surf{0.};
204  double m_d_calo_surf{0.};
205  double m_ptruth_eta{0.};
206  double m_ptruth_phi{0.};
207  double m_ptruth_e{0.};
208  double m_ptruth_et{0.};
209  double m_ptruth_pt{0.};
210  double m_ptruth_p{0.};
211  int m_pdgid{0};
212 
213  std::vector<std::vector<float> >* m_newTTC_entrance_eta{nullptr};
214  std::vector<std::vector<float> >* m_newTTC_entrance_phi{nullptr};
215  std::vector<std::vector<float> >* m_newTTC_entrance_r{nullptr};
216  std::vector<std::vector<float> >* m_newTTC_entrance_z{nullptr};
217  std::vector<std::vector<float> >* m_newTTC_entrance_detaBorder{nullptr};
218  std::vector<std::vector<bool> >* m_newTTC_entrance_OK{nullptr};
219  std::vector<std::vector<float> >* m_newTTC_back_eta{nullptr};
220  std::vector<std::vector<float> >* m_newTTC_back_phi{nullptr};
221  std::vector<std::vector<float> >* m_newTTC_back_r{nullptr};
222  std::vector<std::vector<float> >* m_newTTC_back_z{nullptr};
223  std::vector<std::vector<float> >* m_newTTC_back_detaBorder{nullptr};
224  std::vector<std::vector<bool> >* m_newTTC_back_OK{nullptr};
225  std::vector<std::vector<float> >* m_newTTC_mid_eta{nullptr};
226  std::vector<std::vector<float> >* m_newTTC_mid_phi{nullptr};
227  std::vector<std::vector<float> >* m_newTTC_mid_r{nullptr};
228  std::vector<std::vector<float> >* m_newTTC_mid_z{nullptr};
229  std::vector<std::vector<float> >* m_newTTC_mid_detaBorder{nullptr};
230  std::vector<std::vector<bool> >* m_newTTC_mid_OK{nullptr};
231  std::vector<float>* m_newTTC_IDCaloBoundary_eta{nullptr};
232  std::vector<float>* m_newTTC_IDCaloBoundary_phi{nullptr};
233  std::vector<float>* m_newTTC_IDCaloBoundary_r{nullptr};
234  std::vector<float>* m_newTTC_IDCaloBoundary_z{nullptr};
235  std::vector<float>* m_newTTC_Angle3D{nullptr};
236  std::vector<float>* m_newTTC_AngleEta{nullptr};
237 
238  std::vector<float>* m_MuonEntryLayer_E{nullptr};
239  std::vector<float>* m_MuonEntryLayer_px{nullptr};
240  std::vector<float>* m_MuonEntryLayer_py{nullptr};
241  std::vector<float>* m_MuonEntryLayer_pz{nullptr};
242  std::vector<float>* m_MuonEntryLayer_x{nullptr};
243  std::vector<float>* m_MuonEntryLayer_y{nullptr};
244  std::vector<float>* m_MuonEntryLayer_z{nullptr};
245  std::vector<int>* m_MuonEntryLayer_pdg{nullptr};
246 
249  // extrapolation through Calo
254  std::vector< CaloCell_ID_FCS::CaloSample > m_surfacelist;
255 
263 
264 
265  HepPDT::ParticleDataTable* m_particleDataTable{nullptr};
266 
267  //###################################################################
268 
269 
270 };
271 
272 #endif // ISF_HIT_ANALYSIS_H
ISF_HitAnalysis::m_truth_vtxbarcode
std::vector< int > * m_truth_vtxbarcode
Definition: ISF_HitAnalysis.h:168
LArG4FSStartPointFilter.part
part
Definition: LArG4FSStartPointFilter.py:21
CaloDepthTool
Implementation of the ICaloDepthTool interface.Given a Track direction, checks if it is in the Calori...
Definition: CaloDepthTool.h:47
ISF_HitAnalysis::ATLAS_NOT_THREAD_SAFE
virtual StatusCode initialize ATLAS_NOT_THREAD_SAFE() override
ISF_HitAnalysis::m_MuonEntryLayer_E
std::vector< float > * m_MuonEntryLayer_E
Definition: ISF_HitAnalysis.h:238
ISF_HitAnalysis::m_MC_DIGI_PARAM
StringProperty m_MC_DIGI_PARAM
Definition: ISF_HitAnalysis.h:134
ISF_HitAnalysis::m_pdgToParticleHypothesis
Trk::PdgToParticleHypothesis m_pdgToParticleHypothesis
Definition: ISF_HitAnalysis.h:250
ISF_HitAnalysis::m_newTTC_back_detaBorder
std::vector< std::vector< float > > * m_newTTC_back_detaBorder
Definition: ISF_HitAnalysis.h:223
ISF_HitAnalysis::m_truth_pz
std::vector< float > * m_truth_pz
Definition: ISF_HitAnalysis.h:165
ISF_HitAnalysis::m_calomargin
DoubleProperty m_calomargin
Definition: ISF_HitAnalysis.h:126
TileCablingSvc.h
ISF_HitAnalysis::m_ptruth_e
double m_ptruth_e
Definition: ISF_HitAnalysis.h:207
ISF_HitAnalysis::m_FastCaloSimCaloExtrapolation
PublicToolHandle< IFastCaloSimCaloExtrapolation > m_FastCaloSimCaloExtrapolation
The FastCaloSimCaloExtrapolation tool.
Definition: ISF_HitAnalysis.h:123
ISF_HitAnalysis::m_dCalo
double m_dCalo[CaloCell_ID_FCS::MaxSample][3]
Definition: ISF_HitAnalysis.h:261
python.tests.PyTestsLib.finalize
def finalize(self)
_info( "content of StoreGate..." ) self.sg.dump()
Definition: PyTestsLib.py:53
ISF_HitAnalysis::m_tileCablingSvc
ServiceHandle< TileCablingSvc > m_tileCablingSvc
Name of Tile cabling service.
Definition: ISF_HitAnalysis.h:110
ISF_HitAnalysis::m_newTTC_entrance_eta
std::vector< std::vector< float > > * m_newTTC_entrance_eta
Definition: ISF_HitAnalysis.h:213
ISF_HitAnalysis::m_ntupleFileName
StringProperty m_ntupleFileName
Definition: ISF_HitAnalysis.h:112
ISF_HitAnalysis::m_final_hit_energy
std::vector< Float_t > * m_final_hit_energy
Definition: ISF_HitAnalysis.h:197
IFastCaloSimCaloExtrapolation.h
TrackParameters.h
ISF_HitAnalysis::m_cluster_phi
std::vector< float > * m_cluster_phi
Definition: ISF_HitAnalysis.h:172
ISF_HitAnalysis::m_lrCalo
double m_lrCalo[CaloCell_ID_FCS::MaxSample][3]
Definition: ISF_HitAnalysis.h:259
ITimedExtrapolator.h
ISF_HitAnalysis::m_cell_energy
std::vector< float > * m_cell_energy
Definition: ISF_HitAnalysis.h:178
ISF_HitAnalysis::m_cluster_energy
std::vector< float > * m_cluster_energy
Definition: ISF_HitAnalysis.h:170
ISF_HitAnalysis::m_CaloBoundaryZ
DoubleProperty m_CaloBoundaryZ
Definition: ISF_HitAnalysis.h:125
ISF_HitAnalysis::m_newTTC_Angle3D
std::vector< float > * m_newTTC_Angle3D
Definition: ISF_HitAnalysis.h:235
ISF_HitAnalysis::m_newTTC_mid_r
std::vector< std::vector< float > > * m_newTTC_mid_r
Definition: ISF_HitAnalysis.h:227
ISF_HitAnalysis::m_newTTC_entrance_r
std::vector< std::vector< float > > * m_newTTC_entrance_r
Definition: ISF_HitAnalysis.h:215
ISF_HitAnalysis::m_sample_calo_surf
CaloCell_ID_FCS::CaloSample m_sample_calo_surf
End new Extrapolator setup.
Definition: ISF_HitAnalysis.h:253
ISF_HitAnalysis::m_tileID
const TileID * m_tileID
Definition: ISF_HitAnalysis.h:140
ISF_HitAnalysis::ISF_HitAnalysis
ISF_HitAnalysis(const std::string &name, ISvcLocator *pSvcLocator)
Definition: ISF_HitAnalysis.cxx:70
ISF_HitAnalysis::m_oneeventcells
FCS_matchedcellvector * m_oneeventcells
Definition: ISF_HitAnalysis.h:189
ISF_HitAnalysis::m_TimingCut
IntegerProperty m_TimingCut
Definition: ISF_HitAnalysis.h:133
initialize
void initialize()
Definition: run_EoverP.cxx:894
ISF_HitAnalysis::m_MuonEntryLayer_pz
std::vector< float > * m_MuonEntryLayer_pz
Definition: ISF_HitAnalysis.h:241
ISF_HitAnalysis::m_MC_SIM_PARAM
StringProperty m_MC_SIM_PARAM
Definition: ISF_HitAnalysis.h:135
ISF_HitAnalysis::m_lzCalo
double m_lzCalo[CaloCell_ID_FCS::MaxSample][3]
Definition: ISF_HitAnalysis.h:260
FCS_Cell.h
ISF_HitAnalysis::m_truth_barcode
std::vector< int > * m_truth_barcode
Definition: ISF_HitAnalysis.h:167
hitVector
std::vector< FPGATrackSimHit > hitVector
Definition: FPGATrackSimCluster.h:23
ISF_HitAnalysis::MAX_LAYER
static const int MAX_LAYER
Definition: ISF_HitAnalysis.h:85
ISF_HitAnalysis::m_caloEntranceName
StringProperty m_caloEntranceName
Definition: ISF_HitAnalysis.h:121
ISF_HitAnalysis::m_islarendcap
std::vector< bool > * m_islarendcap
Definition: ISF_HitAnalysis.h:155
ISF_HitAnalysis::m_newTTC_IDCaloBoundary_eta
std::vector< float > * m_newTTC_IDCaloBoundary_eta
Definition: ISF_HitAnalysis.h:231
ISF_HitAnalysis::m_doLayers
BooleanProperty m_doLayers
Definition: ISF_HitAnalysis.h:130
LArHEC_ID
Helper class for LArHEC offline identifiers.
Definition: LArHEC_ID.h:85
ISF_HitAnalysis::m_hit_samplingfraction
std::vector< float > * m_hit_samplingfraction
Definition: ISF_HitAnalysis.h:160
ISF_HitAnalysis::m_final_cell_energy
std::vector< Float_t > * m_final_cell_energy
Definition: ISF_HitAnalysis.h:196
ISF_HitAnalysis::m_ntupleTreeName
StringProperty m_ntupleTreeName
Definition: ISF_HitAnalysis.h:113
ISF_HitAnalysis::m_cell_sampling
std::vector< int > * m_cell_sampling
Definition: ISF_HitAnalysis.h:179
ISF_HitAnalysis::m_pdgid
int m_pdgid
Definition: ISF_HitAnalysis.h:211
ISF_HitAnalysis::m_newTTC_IDCaloBoundary_z
std::vector< float > * m_newTTC_IDCaloBoundary_z
Definition: ISF_HitAnalysis.h:234
ISF_HitAnalysis::m_hit_x
std::vector< float > * m_hit_x
Simple variables by Ketevi.
Definition: ISF_HitAnalysis.h:147
ISF_HitAnalysis::m_lphiCalo
double m_lphiCalo[CaloCell_ID_FCS::MaxSample][3]
Definition: ISF_HitAnalysis.h:258
IOVSVC_CALLBACK_ARGS
#define IOVSVC_CALLBACK_ARGS
short hand for IOVSvc call back argument list, to be used when no access to formal arguments is neede...
Definition: IOVSvcDefs.h:24
ISF_HitAnalysis::m_hit_sampling
std::vector< int > * m_hit_sampling
Definition: ISF_HitAnalysis.h:159
ISF_HitAnalysis::m_hit_identifier
std::vector< Long64_t > * m_hit_identifier
Definition: ISF_HitAnalysis.h:152
ISF_HitAnalysis::m_MuonEntryLayer_x
std::vector< float > * m_MuonEntryLayer_x
Definition: ISF_HitAnalysis.h:242
ISF_HitAnalysis::m_islarbarrel
std::vector< bool > * m_islarbarrel
Definition: ISF_HitAnalysis.h:154
ISF_HitAnalysis::m_istile
std::vector< bool > * m_istile
Definition: ISF_HitAnalysis.h:158
PdgToParticleHypothesis.h
GenParticle.h
ISF_HitAnalysis::m_g4hit_identifier
std::vector< Long64_t > * m_g4hit_identifier
Definition: ISF_HitAnalysis.h:183
ReadCondHandle.h
ISF_HitAnalysis::m_newTTC_entrance_OK
std::vector< std::vector< bool > > * m_newTTC_entrance_OK
Definition: ISF_HitAnalysis.h:218
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
CachedPointer.h
Cached pointer with atomic update.
ISF_HitAnalysis::extrapolate_to_ID
void extrapolate_to_ID(const HepMC::ConstGenParticlePtr &part, std::vector< Trk::HitInfo > *hitVector)
ISF_HitAnalysis::m_newTTC_mid_z
std::vector< std::vector< float > > * m_newTTC_mid_z
Definition: ISF_HitAnalysis.h:228
ISF_HitAnalysis::ATLAS_NOT_THREAD_SAFE
virtual StatusCode finalize ATLAS_NOT_THREAD_SAFE() override
ISF_HitAnalysis::m_newTTC_IDCaloBoundary_r
std::vector< float > * m_newTTC_IDCaloBoundary_r
Definition: ISF_HitAnalysis.h:233
ISF_HitAnalysis::m_tileHWID
const TileHWID * m_tileHWID
Definition: ISF_HitAnalysis.h:141
CaloCell_ID_FCS::noSample
@ noSample
Definition: FastCaloSim_CaloCell_ID.h:48
ISF_HitAnalysis::m_doLayerSums
BooleanProperty m_doLayerSums
Definition: ISF_HitAnalysis.h:131
ISF_HitAnalysis::m_hit_energy
std::vector< float > * m_hit_energy
Definition: ISF_HitAnalysis.h:150
CaloCell_ID_FCS::CaloSample_FCS
CaloSample_FCS
Definition: FastCaloSim_CaloCell_ID.h:17
AthAlgorithm.h
ISF_HitAnalysis::m_cluster_size
std::vector< unsigned > * m_cluster_size
Definition: ISF_HitAnalysis.h:173
TileHWID
Helper class for TileCal online (hardware) identifiers.
Definition: TileHWID.h:49
ISF_HitAnalysis::m_newTTC_entrance_phi
std::vector< std::vector< float > > * m_newTTC_entrance_phi
Definition: ISF_HitAnalysis.h:214
ISF_HitAnalysis::m_total_g4hit_e
Float_t m_total_g4hit_e
Definition: ISF_HitAnalysis.h:194
CaloCell_ID_FCS::MaxSample
@ MaxSample
Definition: FastCaloSim_CaloCell_ID.h:47
ISF_HitAnalysis::m_layercells
FCS_matchedcellvector * m_layercells[MAX_LAYER]
Definition: ISF_HitAnalysis.h:190
ISF_HitAnalysis::m_cluster_eta
std::vector< float > * m_cluster_eta
Definition: ISF_HitAnalysis.h:171
ISF_HitAnalysis::m_hit_y
std::vector< float > * m_hit_y
Definition: ISF_HitAnalysis.h:148
ISF_HitAnalysis::m_newTTC_IDCaloBoundary_phi
std::vector< float > * m_newTTC_IDCaloBoundary_phi
Definition: ISF_HitAnalysis.h:232
ISF_HitAnalysis::m_particleDataTable
HepPDT::ParticleDataTable * m_particleDataTable
Definition: ISF_HitAnalysis.h:265
TileDetDescrManager
Definition: TileDetDescrManager.h:33
ISF_HitAnalysis::m_geoFileName
StringProperty m_geoFileName
Definition: ISF_HitAnalysis.h:115
TileSamplingFraction.h
TileID
Helper class for TileCal offline identifiers.
Definition: TileID.h:68
ISF_HitAnalysis::m_g4hit_sampling
std::vector< int > * m_g4hit_sampling
Definition: ISF_HitAnalysis.h:186
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ISF_HitAnalysis::m_doAllCells
BooleanProperty m_doAllCells
Definition: ISF_HitAnalysis.h:128
ISF_HitAnalysis::m_total_cell_e
Float_t m_total_cell_e
Definition: ISF_HitAnalysis.h:192
ISF_HitAnalysis::m_MuonEntryLayer_pdg
std::vector< int > * m_MuonEntryLayer_pdg
Definition: ISF_HitAnalysis.h:245
ISF_HitAnalysis::m_newTTC_back_z
std::vector< std::vector< float > > * m_newTTC_back_z
Definition: ISF_HitAnalysis.h:222
ISF_HitAnalysis::m_ptruth_eta
double m_ptruth_eta
Definition: ISF_HitAnalysis.h:205
ISF_HitAnalysis::m_larFcalID
const LArFCAL_ID * m_larFcalID
Definition: ISF_HitAnalysis.h:138
ISF_HitAnalysis::m_ptruth_pt
double m_ptruth_pt
Definition: ISF_HitAnalysis.h:209
ISF_HitAnalysis::m_final_g4hit_energy
std::vector< Float_t > * m_final_g4hit_energy
Definition: ISF_HitAnalysis.h:198
ISF_HitAnalysis::m_NtruthParticles
IntegerProperty m_NtruthParticles
Definition: ISF_HitAnalysis.h:116
ISF_HitAnalysis::m_g4hit_cellidentifier
std::vector< Long64_t > * m_g4hit_cellidentifier
Definition: ISF_HitAnalysis.h:184
FSmap.h
ISF_HitAnalysis::m_tileCabling
const TileCablingService * m_tileCabling
Definition: ISF_HitAnalysis.h:142
ISF_HitAnalysis::m_newTTC_back_eta
std::vector< std::vector< float > > * m_newTTC_back_eta
Definition: ISF_HitAnalysis.h:219
ISF_HitAnalysis::extrapolate
void extrapolate(const HepMC::ConstGenParticlePtr &part, std::vector< Trk::HitInfo > *hitVector)
ISF_HitAnalysis::m_thistSvc
ServiceHandle< ITHistSvc > m_thistSvc
Definition: ISF_HitAnalysis.h:117
TileCablingService
Definition: TileCablingService.h:23
ISF_HitAnalysis::m_tileSamplingFractionKey
SG::ReadCondHandleKey< TileSamplingFraction > m_tileSamplingFractionKey
Name of TileSamplingFraction in condition store.
Definition: ISF_HitAnalysis.h:105
ISF_HitAnalysis::m_newTTC_entrance_detaBorder
std::vector< std::vector< float > > * m_newTTC_entrance_detaBorder
Definition: ISF_HitAnalysis.h:217
ICaloCoordinateTool
This (clean) interface is implemented in the (rather dirty) ICaloCoordinateTool class,...
Definition: ICaloCoordinateTool.h:65
AthAlgorithm
Definition: AthAlgorithm.h:47
ISF_HitAnalysis::m_newTTC_back_phi
std::vector< std::vector< float > > * m_newTTC_back_phi
Definition: ISF_HitAnalysis.h:220
ISF_HitAnalysis::m_phi_calo_surf
double m_phi_calo_surf
Definition: ISF_HitAnalysis.h:203
ISF_HitAnalysis::m_MuonEntryLayer_y
std::vector< float > * m_MuonEntryLayer_y
Definition: ISF_HitAnalysis.h:243
ISF_HitAnalysis::m_cell_identifier
std::vector< Long64_t > * m_cell_identifier
Definition: ISF_HitAnalysis.h:177
FCS_matchedcellvector
Definition: FCS_Cell.h:73
ISF_HitAnalysis::m_total_hit_e
Float_t m_total_hit_e
Definition: ISF_HitAnalysis.h:193
HepMC::ConstGenParticlePtr
const GenParticle * ConstGenParticlePtr
Definition: GenParticle.h:38
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
ISF_HitAnalysis::execute
virtual StatusCode execute() override
Definition: ISF_HitAnalysis.cxx:527
ISF_HitAnalysis::m_geoModel
ServiceHandle< IGeoModelSvc > m_geoModel
Definition: ISF_HitAnalysis.h:94
ICaloCoordinateTool.h
ICaloCoordinateTool interface declaration 30.9.2004 Creation of the class TBCalocoordinate by claire....
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
ISF_HitAnalysis::m_islarfcal
std::vector< bool > * m_islarfcal
Definition: ISF_HitAnalysis.h:157
Trk::PdgToParticleHypothesis
Definition: PdgToParticleHypothesis.h:29
ISF_HitAnalysis::m_doG4Hits
BooleanProperty m_doG4Hits
Definition: ISF_HitAnalysis.h:132
ISF_HitAnalysis::m_CaloBoundaryR
DoubleProperty m_CaloBoundaryR
Definition: ISF_HitAnalysis.h:124
ISF_HitAnalysis::m_newTTC_entrance_z
std::vector< std::vector< float > > * m_newTTC_entrance_z
Definition: ISF_HitAnalysis.h:216
ISF_HitAnalysis::m_d_calo_surf
double m_d_calo_surf
Definition: ISF_HitAnalysis.h:204
ISF_HitAnalysis::~ISF_HitAnalysis
~ISF_HitAnalysis()
ISF_HitAnalysis::m_eta_calo_surf
double m_eta_calo_surf
Definition: ISF_HitAnalysis.h:202
ISF_HitAnalysis::m_hit_z
std::vector< float > * m_hit_z
Definition: ISF_HitAnalysis.h:149
ISF_HitAnalysis::m_newTTC_AngleEta
std::vector< float > * m_newTTC_AngleEta
Definition: ISF_HitAnalysis.h:236
ISF_HitAnalysis::m_MuonEntryLayer_z
std::vector< float > * m_MuonEntryLayer_z
Definition: ISF_HitAnalysis.h:244
ISF_HitAnalysis::m_fSamplKey
SG::ReadCondHandleKey< ILArfSampl > m_fSamplKey
Definition: ISF_HitAnalysis.h:100
SG::ReadCondHandleKey< CaloDetDescrManager >
ISF_HitAnalysis::m_tree
TTree * m_tree
Definition: ISF_HitAnalysis.h:200
ISF_HitAnalysis::m_truth_energy
std::vector< float > * m_truth_energy
Definition: ISF_HitAnalysis.h:162
ISF_HitAnalysis::m_hit_cellidentifier
std::vector< Long64_t > * m_hit_cellidentifier
Definition: ISF_HitAnalysis.h:153
ISF_HitAnalysis::m_MuonEntryLayer_px
std::vector< float > * m_MuonEntryLayer_px
Definition: ISF_HitAnalysis.h:239
ISF_HitAnalysis::m_newTTC_mid_phi
std::vector< std::vector< float > > * m_newTTC_mid_phi
Definition: ISF_HitAnalysis.h:226
ISF_HitAnalysis::m_distetaCaloBorder
double m_distetaCaloBorder[CaloCell_ID_FCS::MaxSample][3]
Definition: ISF_HitAnalysis.h:262
ISF_HitAnalysis::m_extrapolator
PublicToolHandle< Trk::ITimedExtrapolator > m_extrapolator
Definition: ISF_HitAnalysis.h:119
CxxUtils::CachedPointer< const Trk::TrackingVolume >
ISF_HitAnalysis::m_newTTC_mid_OK
std::vector< std::vector< bool > > * m_newTTC_mid_OK
Definition: ISF_HitAnalysis.h:230
ISF_HitAnalysis::m_cluster_cellID
std::vector< std::vector< Long64_t > > * m_cluster_cellID
Definition: ISF_HitAnalysis.h:174
ISF_HitAnalysis::m_hit_time
std::vector< float > * m_hit_time
Definition: ISF_HitAnalysis.h:151
ISF_HitAnalysis::m_tileMgr
const TileDetDescrManager * m_tileMgr
Definition: ISF_HitAnalysis.h:144
ISF_HitAnalysis::m_letaCalo
double m_letaCalo[CaloCell_ID_FCS::MaxSample][3]
Definition: ISF_HitAnalysis.h:257
ISF_HitAnalysis::caloHits
std::vector< Trk::HitInfo > * caloHits(const HepMC::GenParticle &part) const
Definition: ISF_HitAnalysis.cxx:1374
ISF_HitAnalysis::m_ptruth_phi
double m_ptruth_phi
Definition: ISF_HitAnalysis.h:206
ISF_HitAnalysis::m_newTTC_back_OK
std::vector< std::vector< bool > > * m_newTTC_back_OK
Definition: ISF_HitAnalysis.h:224
ISF_HitAnalysis::m_ptruth_p
double m_ptruth_p
Definition: ISF_HitAnalysis.h:210
ISF_HitAnalysis::m_islarhec
std::vector< bool > * m_islarhec
Definition: ISF_HitAnalysis.h:156
ISF_HitAnalysis::m_layerCaloOK
bool m_layerCaloOK[CaloCell_ID_FCS::MaxSample][3]
Definition: ISF_HitAnalysis.h:256
ISF_HitAnalysis::m_truth_pdg
std::vector< int > * m_truth_pdg
Definition: ISF_HitAnalysis.h:166
ISF_HitAnalysis::m_metadataTreeName
StringProperty m_metadataTreeName
Definition: ISF_HitAnalysis.h:114
IOVSvcDefs.h
defines and typedefs for IOVSvc
LArEM_ID
Helper class for LArEM offline identifiers.
Definition: LArEM_ID.h:118
ISF_HitAnalysis::m_newTTC_mid_detaBorder
std::vector< std::vector< float > > * m_newTTC_mid_detaBorder
Definition: ISF_HitAnalysis.h:229
FastCaloSim_CaloCell_ID.h
ISF_HitAnalysis::m_newTTC_back_r
std::vector< std::vector< float > > * m_newTTC_back_r
Definition: ISF_HitAnalysis.h:221
ISF_HitAnalysis::m_larEmID
const LArEM_ID * m_larEmID
Definition: ISF_HitAnalysis.h:137
ISF_HitAnalysis::m_surfacelist
std::vector< CaloCell_ID_FCS::CaloSample > m_surfacelist
Definition: ISF_HitAnalysis.h:254
ISF_HitAnalysis
Definition: ISF_HitAnalysis.h:73
ISF_HitAnalysis::m_g4hit_energy
std::vector< float > * m_g4hit_energy
Definition: ISF_HitAnalysis.h:181
checker_macros.h
Define macros for attributes used to control the static checker.
ISF_HitAnalysis::m_g4hit_time
std::vector< float > * m_g4hit_time
Definition: ISF_HitAnalysis.h:182
ISF_HitAnalysis::updateMetaData
StatusCode updateMetaData(IOVSVC_CALLBACK_ARGS)
Definition: ISF_HitAnalysis.cxx:85
IGeoModelSvc.h
LArFCAL_ID
Helper class for LArFCAL offline identifiers.
Definition: LArFCAL_ID.h:60
ISF_HitAnalysis::m_caloEntrance
CxxUtils::CachedPointer< const Trk::TrackingVolume > m_caloEntrance
The new Extrapolator setup.
Definition: ISF_HitAnalysis.h:248
ISF_HitAnalysis::m_truth_py
std::vector< float > * m_truth_py
Definition: ISF_HitAnalysis.h:164
ISF_HitAnalysis::m_calo_tb_coord
PublicToolHandle< ICaloCoordinateTool > m_calo_tb_coord
Definition: ISF_HitAnalysis.h:120
ISF_HitAnalysis::m_truth_px
std::vector< float > * m_truth_px
Definition: ISF_HitAnalysis.h:163
ISF_HitAnalysis::m_doClusterInfo
BooleanProperty m_doClusterInfo
Definition: ISF_HitAnalysis.h:129
ISF_HitAnalysis::m_larHecID
const LArHEC_ID * m_larHecID
Definition: ISF_HitAnalysis.h:139
ILArfSampl.h
ISF_HitAnalysis::m_ptruth_et
double m_ptruth_et
Definition: ISF_HitAnalysis.h:208
ISF_HitAnalysis::m_newTTC_mid_eta
std::vector< std::vector< float > > * m_newTTC_mid_eta
Definition: ISF_HitAnalysis.h:225
GenParticle
@ GenParticle
Definition: TruthClasses.h:30
ISF_HitAnalysis::m_saveAllBranches
BooleanProperty m_saveAllBranches
Definition: ISF_HitAnalysis.h:127
ISF_HitAnalysis::m_g4hit_samplingfraction
std::vector< float > * m_g4hit_samplingfraction
Definition: ISF_HitAnalysis.h:185
ServiceHandle< IGeoModelSvc >
ISF_HitAnalysis::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition: ISF_HitAnalysis.h:96
ISF_HitAnalysis::m_MuonEntryLayer_py
std::vector< float > * m_MuonEntryLayer_py
Definition: ISF_HitAnalysis.h:240