5#ifndef ActsGeantFollowerHelper_H
6#define ActsGeantFollowerHelper_H
14#include "G4ThreeVector.hh"
18#include "Acts/Surfaces/Surface.hpp"
19#include "Acts/EventData/BoundTrackParameters.hpp"
20#include "Acts/Propagator/SurfaceCollector.hpp"
26#define MAXPROBES 50000
45 virtual StatusCode
finalize ()
override;
51 virtual void trackParticle(
const G4ThreeVector& pos,
const G4ThreeVector& mom,
int pdg,
double charge,
float t,
float X0,
bool isSensitive)
override;
double charge(const T &p)
std::string m_validationTreeFolder
stream/folder to for the TTree to be written out
virtual StatusCode finalize() override
std::string m_validationTreeName
validation tree name - to be acessed by this from root
ToolHandle< ActsTrk::IExtrapolationTool > m_actsExtrapolator
Trk::PdgToParticleHypothesis m_pdgToParticleHypothesis
std::vector< Acts::SurfaceHit >::iterator m_actsSurfaceIterator
std::string m_validationTreeDescription
validation tree description - second argument in TTree
ServiceHandle< ActsTrk::ITrackingGeometrySvc > m_trackingGeometrySvc
TTree * m_validationTree
Root Validation Tree.
ToolHandle< Trk::IExtrapolationEngine > m_extrapolationEngine
virtual void trackParticle(const G4ThreeVector &pos, const G4ThreeVector &mom, int pdg, double charge, float t, float X0, bool isSensitive) override
std::unique_ptr< std::vector< Acts::SurfaceHit > > m_actsSurfaceCache
std::unique_ptr< TreeData > m_treeData
std::unique_ptr< Trk::TrackParameters > m_parameterCache
ActsTrk::ContextUtility m_ctxProvider
Context provider for geometry, magnetic field and calibration contexts.
Gaudi::Property< bool > m_extrapolateDirectly
virtual void endEvent() override
virtual ~ActsGeantFollowerHelper()=default
std::optional< Acts::BoundTrackParameters > m_actsParameterCache
Gaudi::Property< bool > m_extrapolateIncrementally
float m_tX0NonSensitiveCache
virtual void beginEvent() override
ActsGeantFollowerHelper(const std::string &, const std::string &, const IInterface *)
virtual StatusCode initialize() override
float m_tNonSensitiveCache
Utility class to handle the three contexts neeeded in an ACTS reconstruction job 1) GeometryContext -...
small converter from the (abs) PDG code to the particle hypothsis used in Tracking
Ensure that the ATLAS eigen extensions are properly loaded.
Ntuple variables : initial parameters Split this out into a separate, dynamically-allocated block.
float m_g4_theta[MAXPROBES]
float m_trk_theta[MAXPROBES]
float m_trk_tX0[MAXPROBES]
int m_acts_volumeID[MAXPROBES]
float m_g4_accX0[MAXPROBES]
int m_g4_steps
Ntuple variables : g4 step parameters.
float m_trk_phi[MAXPROBES]
float m_acts_pt[MAXPROBES]
float m_acts_eta[MAXPROBES]
float m_acts_theta[MAXPROBES]
float m_acts_phi[MAXPROBES]
float m_trk_ly[MAXPROBES]
float m_trk_eta[MAXPROBES]
float m_acts_tX0[MAXPROBES]
float m_acts_t[MAXPROBES]
float m_g4_phi[MAXPROBES]
float m_acts_accX0[MAXPROBES]
float m_g4_eta[MAXPROBES]
float m_trk_lx[MAXPROBES]
float m_acts_X0[MAXPROBES]
float m_acts_y[MAXPROBES]
float m_acts_z[MAXPROBES]
float m_trk_accX0[MAXPROBES]
float m_g4_tX0[MAXPROBES]
float m_acts_x[MAXPROBES]
int m_trk_status[MAXPROBES]
Ntuple variables : trk follow up parameters.
int m_acts_status[MAXPROBES]
Ntuple variables : acts follow up parameters.
float m_trk_pt[MAXPROBES]
float m_trk_X0[MAXPROBES]