1 #ifndef PROTODUNE_TRUTH_UTILS_H 2 #define PROTODUNE_TRUTH_UTILS_H 25 class DetectorClocksData;
32 particle(0x0), nSharedHits(0), nSharedDeltaRayHits(0) {};
48 std::vector< const recob::Hit * > FillSharedHits(
51 const std::vector<const recob::Hit *> & hitsVec,
52 bool delta_ray,
bool use_eve =
true)
const;
65 std::vector<const recob::Hit*> GetMCParticleHits(
70 bool use_eve =
true)
const;
91 std::vector<std::pair<const simb::MCParticle*, double>> GetMCParticleListFromTrackHits
93 const std::vector<const recob::Hit*>& hitVec,
bool use_eve =
true)
const;
94 std::vector<std::pair<const simb::MCParticle*, double>> GetMCParticleListFromShowerHits
96 const std::vector<const recob::Hit*>& hitVec)
const;
99 std::vector<std::pair<const simb::MCParticle*, double>> GetMCParticleListFromPFParticle
102 std::vector<std::pair<const recob::PFParticle*, double>> GetPFParticleListFromMCParticle
105 std::string pfparticleModule,
bool use_eve =
true)
const;
108 std::vector<std::pair<const simb::MCParticle*, double>> GetMCParticleListFromRecoTrack
111 std::vector<std::pair<const recob::Track*, double>> GetRecoTrackListFromMCParticle
116 std::vector<std::pair<const simb::MCParticle*, double>> GetMCParticleListFromRecoShower
119 std::vector<std::pair<const recob::Shower*, double>> GetRecoShowerListFromMCParticle
154 std::vector<std::pair<const simb::MCParticle*, double>> GetMCParticleListFromReco
157 std::vector<std::pair<const simb::MCParticle*, double>> GetMCParticleListFromReco
160 std::vector<std::pair<const simb::MCParticle*, double>> GetMCParticleListFromReco
165 template <
typename T>
167 std::vector< MCParticleSharedHits > GetMCParticleListByHits
171 template <
typename T>
186 const float trueTime)
const;
191 const float trueTime)
const;
200 int GetFirstTrajectoryPointInTPCActiveVolume(
const simb::MCParticle& mcpart,
double tpcactiveXlow,
double tpcactiveXhigh,
double tpcactiveYlow,
double tpcactiveYhigh,
double tpcactiveZlow,
double tpcactiveZhigh);
203 double GetMCParticleLengthInTPCActiveVolume(
const simb::MCParticle& mcpart,
double tpcactiveXlow,
double tpcactiveXhigh,
double tpcactiveYlow,
double tpcactiveYhigh,
double tpcactiveZlow,
double tpcactiveZhigh);
207 double GetDepEnergyAtLastTrajPoint(
const simb::MCParticle& mcpart,
double tpcactiveXlow,
double tpcactiveXhigh,
double tpcactiveYlow,
double tpcactiveYhigh,
double tpcactiveZlow,
double tpcactiveZhigh);
211 double GetKinEnergyAtVertex(
const simb::MCParticle& mcpart,
double kinene_lastpoint=0.0);
215 std::map< size_t, std::vector< const sim::IDE * > > GetSimIDEs(
const simb::MCParticle & mcpart );
218 std::vector<const sim::IDE *> GetSimIDEsBetweenPoints(
const simb::MCParticle & mcpart,
const TLorentzVector & p1,
219 const TLorentzVector &p2);
art framework interface to geometry description
Ionization at a point of the TPC sensitive volume.
bool sort_IDEs(const sim::IDE *i1, const sim::IDE *i2)
General LArSoft Utilities.
Description of geometry of one entire detector.
size_t nSharedDeltaRayHits
Declaration of signal hit object.
const simb::MCParticle * particle
Hierarchical representation of particle flow.
Contains all timing reference information for the detector.
Provides recob::Track data product.
Access the description of detector geometry.
Event generator information.
Track from a non-cascading particle.A recob::Track consists of a recob::TrackTrajectory, plus additional members relevant for a "fitted" track: