5#ifndef ISF_FASTCALOSIMPARAMETRIZATION_ISF_HIT_ANALYSIS_H
6#define ISF_FASTCALOSIMPARAMETRIZATION_ISF_HIT_ANALYSIS_H
30#include "GaudiKernel/ToolHandle.h"
31#include "GaudiKernel/ITHistSvc.h"
32#include "GaudiKernel/IPartPropSvc.h"
38#include "HepPDT/ParticleDataTable.hh"
40#include "CLHEP/Units/SystemOfUnits.h"
41#include <TLorentzVector.h>
74 virtual StatusCode
execute()
override;
80 std::vector<Trk::HitInfo>*
caloHits(
const HepMC::GenParticle& part )
const;
85 "GeoModelSvc",
"GeoModelSvc",
"GeoModel service"};
87 ,
"CaloDetDescrManager"
88 ,
"CaloDetDescrManager"
89 ,
"SG Key for CaloDetDescrManager in the Condition Store" };
91 "fSamplKey",
"LArfSamplSym",
"SG Key of LArfSampl object"};
96 "TileSamplingFraction",
"TileSamplingFraction",
"Input Tile sampling fraction"};
101 "TileCablingSvc",
"TileCablingSvc",
"Tile cabling service"};
106 IntegerProperty
m_NtruthParticles{
this,
"NTruthParticles", 1,
"Number of truth particles saved from the truth collection, -1 to save all"};
108 "THistSvc",
"THistSvc",
"Tile histogramming service"};
109 PublicToolHandle<Trk::ITimedExtrapolator>
m_extrapolator{
this,
"Extrapolator", {}};
110 PublicToolHandle<ICaloCoordinateTool>
m_calo_tb_coord{
this,
"CaloCoordinateTool",
"TBCaloCoordinate"};
Cached pointer with atomic update.
Definition of CaloDetDescrManager.
std::vector< FPGATrackSimHit > hitVector
defines and typedefs for IOVSvc
Define macros for attributes used to control the static checker.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
std::vector< std::vector< bool > > * m_newTTC_entrance_OK
double m_dCalo[CaloCell_ID_FCS::MaxSample][3]
std::vector< std::vector< float > > * m_newTTC_back_r
std::vector< Float_t > * m_final_hit_energy
std::vector< float > * m_MuonEntryLayer_pz
bool m_layerCaloOK[CaloCell_ID_FCS::MaxSample][3]
double m_lrCalo[CaloCell_ID_FCS::MaxSample][3]
std::vector< std::vector< float > > * m_newTTC_back_detaBorder
double m_lphiCalo[CaloCell_ID_FCS::MaxSample][3]
ServiceHandle< IPartPropSvc > m_partPropSvc
Handle on the particle property service.
std::vector< std::vector< float > > * m_newTTC_entrance_phi
const LArHEC_ID * m_larHecID
FCS_matchedcellvector * m_oneeventcells
std::vector< std::vector< float > > * m_newTTC_mid_r
std::vector< Long64_t > * m_g4hit_cellidentifier
std::vector< bool > * m_islarhec
std::vector< std::vector< Long64_t > > * m_cluster_cellID
SG::ReadCondHandleKey< ILArfSampl > m_fSamplKey
std::vector< float > * m_newTTC_IDCaloBoundary_phi
std::vector< float > * m_MuonEntryLayer_py
std::vector< float > * m_cluster_eta
std::vector< int > * m_truth_barcode
std::vector< std::vector< float > > * m_newTTC_back_phi
std::vector< int > * m_truth_pdg
BooleanProperty m_doAllCells
const LArFCAL_ID * m_larFcalID
std::vector< float > * m_truth_py
std::vector< std::vector< float > > * m_newTTC_mid_eta
std::vector< float > * m_MuonEntryLayer_x
HepPDT::ParticleDataTable * m_particleDataTable
std::vector< int > * m_g4hit_sampling
StringProperty m_ntupleTreeName
std::vector< float > * m_newTTC_IDCaloBoundary_eta
StringProperty m_caloEntranceName
std::vector< float > * m_newTTC_IDCaloBoundary_z
PublicToolHandle< IFastCaloSimCaloExtrapolation > m_FastCaloSimCaloExtrapolation
The FastCaloSimCaloExtrapolation tool.
BooleanProperty m_doLayerSums
std::vector< std::vector< float > > * m_newTTC_mid_detaBorder
std::vector< std::vector< float > > * m_newTTC_entrance_z
SG::ReadCondHandleKey< TileSamplingFraction > m_tileSamplingFractionKey
Name of TileSamplingFraction in condition store.
std::vector< float > * m_hit_y
IntegerProperty m_TimingCut
std::vector< std::vector< float > > * m_newTTC_entrance_eta
std::vector< float > * m_MuonEntryLayer_z
virtual StatusCode execute() override
StringProperty m_MC_DIGI_PARAM
Trk::PdgToParticleHypothesis m_pdgToParticleHypothesis
std::vector< float > * m_truth_pz
virtual StatusCode initialize ATLAS_NOT_THREAD_SAFE() override
std::vector< float > * m_cluster_energy
std::vector< std::vector< float > > * m_newTTC_back_eta
std::vector< std::vector< float > > * m_newTTC_mid_z
std::vector< float > * m_hit_z
double m_lzCalo[CaloCell_ID_FCS::MaxSample][3]
CaloCell_ID_FCS::CaloSample m_sample_calo_surf
End new Extrapolator setup.
std::vector< float > * m_newTTC_AngleEta
std::vector< float > * m_truth_px
CxxUtils::CachedPointer< const Trk::TrackingVolume > m_caloEntrance
The new Extrapolator setup.
ISF_HitAnalysis(const std::string &name, ISvcLocator *pSvcLocator)
std::vector< float > * m_hit_x
Simple variables by Ketevi.
ServiceHandle< TileCablingSvc > m_tileCablingSvc
Name of Tile cabling service.
double m_letaCalo[CaloCell_ID_FCS::MaxSample][3]
std::vector< std::vector< bool > > * m_newTTC_back_OK
const TileHWID * m_tileHWID
std::vector< float > * m_hit_time
BooleanProperty m_doG4Hits
void extrapolate_to_ID(const HepMC::ConstGenParticlePtr &part, std::vector< Trk::HitInfo > *hitVector)
std::vector< float > * m_cluster_phi
std::vector< std::vector< bool > > * m_newTTC_mid_OK
std::vector< float > * m_g4hit_time
std::vector< float > * m_truth_energy
std::vector< float > * m_hit_samplingfraction
std::vector< Long64_t > * m_cell_identifier
std::vector< bool > * m_islarbarrel
std::vector< int > * m_truth_vtxbarcode
PublicToolHandle< Trk::ITimedExtrapolator > m_extrapolator
std::vector< float > * m_newTTC_Angle3D
double m_distetaCaloBorder[CaloCell_ID_FCS::MaxSample][3]
BooleanProperty m_doClusterInfo
std::vector< Long64_t > * m_hit_identifier
std::vector< float > * m_MuonEntryLayer_E
std::vector< std::vector< float > > * m_newTTC_entrance_r
DoubleProperty m_calomargin
std::vector< float > * m_hit_energy
std::vector< Trk::HitInfo > * caloHits(const HepMC::GenParticle &part) const
DoubleProperty m_CaloBoundaryR
std::vector< int > * m_MuonEntryLayer_pdg
BooleanProperty m_saveAllBranches
const TileDetDescrManager * m_tileMgr
DoubleProperty m_CaloBoundaryZ
std::vector< unsigned > * m_cluster_size
ServiceHandle< ITHistSvc > m_thistSvc
std::vector< float > * m_MuonEntryLayer_y
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
StringProperty m_ntupleFileName
std::vector< bool > * m_islarendcap
StringProperty m_metadataTreeName
std::vector< std::vector< float > > * m_newTTC_mid_phi
std::vector< int > * m_cell_sampling
void extrapolate(const HepMC::ConstGenParticlePtr &part, std::vector< Trk::HitInfo > *hitVector)
std::vector< Long64_t > * m_hit_cellidentifier
std::vector< CaloCell_ID_FCS::CaloSample > m_surfacelist
StringProperty m_geoFileName
std::vector< float > * m_g4hit_samplingfraction
BooleanProperty m_doLayers
std::vector< float > * m_newTTC_IDCaloBoundary_r
std::vector< float > * m_cell_energy
FCS_matchedcellvector * m_layercells[MAX_LAYER]
std::vector< bool > * m_istile
std::vector< std::vector< float > > * m_newTTC_entrance_detaBorder
static const int MAX_LAYER
std::vector< std::vector< float > > * m_newTTC_back_z
const LArEM_ID * m_larEmID
std::vector< int > * m_hit_sampling
std::vector< float > * m_g4hit_energy
ServiceHandle< IGeoModelSvc > m_geoModel
std::vector< Float_t > * m_final_cell_energy
std::vector< Long64_t > * m_g4hit_identifier
std::vector< float > * m_MuonEntryLayer_px
IntegerProperty m_NtruthParticles
std::vector< bool > * m_islarfcal
PublicToolHandle< ICaloCoordinateTool > m_calo_tb_coord
std::vector< Float_t > * m_final_g4hit_energy
virtual StatusCode finalize ATLAS_NOT_THREAD_SAFE() override
StringProperty m_MC_SIM_PARAM
const TileCablingService * m_tileCabling
Helper class for LArEM offline identifiers.
Helper class for LArFCAL offline identifiers.
Helper class for LArHEC offline identifiers.
Helper class for TileCal online (hardware) identifiers.
Helper class for TileCal offline identifiers.
small converter from the (abs) PDG code to the particle hypothsis used in Tracking
Full Volume description used in Tracking, it inherits from Volume to get the geometrical structure,...
CaloSample_FCS CaloSample
const GenParticle * ConstGenParticlePtr
Ensure that the ATLAS eigen extensions are properly loaded.
Cached pointer with atomic update.