5#ifndef ActsGeantFollowerHelper_H
6#define ActsGeantFollowerHelper_H
9#include "GaudiKernel/ToolHandle.h"
12#include "G4ThreeVector.hh"
16#include "Acts/Surfaces/Surface.hpp"
17#include "Acts/EventData/TrackParameters.hpp"
18#include "Acts/Propagator/SurfaceCollector.hpp"
24#define MAXPROBES 50000
43 virtual StatusCode
finalize ()
override;
49 virtual void trackParticle(
const G4ThreeVector& pos,
const G4ThreeVector& mom,
int pdg,
double charge,
float t,
float X0,
bool isSensitive)
override;
55 PublicToolHandle<ActsTrk::ITrackingGeometryTool>
m_trackingGeometryTool{
this,
"TrackingGeometryTool",
"ActsTrackingGeometryTool"};
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
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
Trk::TrackParameters * m_parameterCache
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
PublicToolHandle< ActsTrk::ITrackingGeometryTool > m_trackingGeometryTool
virtual void beginEvent() override
ActsGeantFollowerHelper(const std::string &, const std::string &, const IInterface *)
virtual StatusCode initialize() override
float m_tNonSensitiveCache
small converter from the (abs) PDG code to the particle hypothsis used in Tracking
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersBase< TrackParametersDim, Charged > TrackParameters
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]