5 #include "art/Framework/Services/Registry/ServiceHandle.h"
8 #include "TDatabasePDG.h"
18 #include "nusimdata/SimulationBase/GTruth.h"
19 #include "nusimdata/SimulationBase/MCFlux.h"
20 #include "nusimdata/SimulationBase/MCNeutrino.h"
21 #include "nusimdata/SimulationBase/MCParticle.h"
22 #include "nusimdata/SimulationBase/MCTruth.h"
54 std::map<std::string, unsigned int>& weightPSetIndex);
57 const std::vector<art::Ptr<simb::MCTruth>> &neutrinos,
62 bool allowEmpty =
false);
65 const std::vector<art::Ptr<simb::MCTruth>> &neutrinos,
70 const std::vector<caf::SRTrueParticle> &srparticles,
71 const std::vector<art::Ptr<sim::MCTrack>> &mctracks,
72 const std::vector<geo::BoxBoundedGeo> &volumes, TRandom &rand);
75 const std::vector<geo::BoxBoundedGeo> &active_volumes,
76 const std::vector<std::vector<geo::BoxBoundedGeo>> &tpc_volumes,
77 const std::map<
int,
std::vector<std::pair<geo::WireID, const sim::IDE *>>> &id_to_ide_map,
78 const std::map<
int,
std::vector<art::Ptr<recob::Hit>>> &id_to_truehit_map,
81 const std::vector<art::Ptr<simb::MCTruth>> &neutrinos,
85 const std::vector<geo::BoxBoundedGeo> &active_volumes,
89 const simb::MCFlux &mcflux,
90 const simb::GTruth& gtruth,
91 const std::vector<caf::SRTrueParticle> &srparticles,
92 const std::map<
int,
std::vector<art::Ptr<recob::Hit>>> &id_to_truehit_map,
94 const std::vector<geo::BoxBoundedGeo> &active_volumes);
98 const std::map<std::string, unsigned int>& weightPSetIndex);
101 const std::map<int, caf::HitsEnergy> &id_hits_map,
102 const std::vector<caf::SRTrueParticle> &particles,
105 bool allowEmpty =
false);
108 const std::map<int, caf::HitsEnergy> &id_hits_map,
109 const std::vector<caf::SRTrueParticle> &particles,
112 bool allowEmpty =
false);
115 const std::map<int, caf::HitsEnergy> &id_hits_map,
116 const std::vector<caf::SRTrueParticle> &particles,
119 bool allowEmpty =
false);
122 const std::vector<caf::SRTrueParticle> &srparticles,
123 const std::vector<art::Ptr<sim::MCTrack>> &mctracks,
124 const std::vector<geo::BoxBoundedGeo> &volumes,
126 std::vector<caf::SRFakeReco> &srfakereco);
129 std::map<int, std::vector<art::Ptr<recob::Hit>>>
PrepTrueHits(
const std::vector<art::Ptr<recob::Hit>> &allHits,
std::map< int, std::vector< std::pair< geo::WireID, const sim::IDE * > > > PrepSimChannels(const std::vector< art::Ptr< sim::SimChannel >> &simchannels, const geo::GeometryCore &geo)
std::map< std::string, std::vector< float > > EventWeightMap
Container for event-level weights.
void FillTrueNeutrino(const art::Ptr< simb::MCTruth > mctruth, const simb::MCFlux &mcflux, const simb::GTruth >ruth, const std::vector< caf::SRTrueParticle > &srparticles, const std::map< int, std::vector< art::Ptr< recob::Hit >>> &id_to_truehit_map, caf::SRTrueInteraction &srneutrino, size_t i, const std::vector< geo::BoxBoundedGeo > &active_volumes)
void FillStubTruth(const std::vector< art::Ptr< recob::Hit >> &hits, const std::map< int, caf::HitsEnergy > &id_hits_map, const std::vector< caf::SRTrueParticle > &particles, const detinfo::DetectorClocksData &clockData, caf::SRStub &srstub, bool allowEmpty)
The SRTrueInteraction is a representation of neutrino interaction information.
void FillSliceTruth(const std::vector< art::Ptr< recob::Hit >> &hits, const std::vector< art::Ptr< simb::MCTruth >> &neutrinos, const caf::SRTruthBranch &srmc, const cheat::ParticleInventoryService &inventory_service, const detinfo::DetectorClocksData &clockData, caf::SRSlice &srslice, bool allowEmpty)
g4_process_
Which G4 process ?
std::map< int, caf::HitsEnergy > SetupIDHitEnergyMap(const std::vector< art::Ptr< recob::Hit >> &allHits, const detinfo::DetectorClocksData &clockData, const cheat::BackTrackerService &backtracker)
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
Access the description of detector geometry.
void FillShowerTruth(const std::vector< art::Ptr< recob::Hit >> &hits, const std::map< int, caf::HitsEnergy > &id_hits_map, const std::vector< caf::SRTrueParticle > &particles, const detinfo::DetectorClocksData &clockData, caf::SRShower &srshower, bool allowEmpty)
Utilities for matching a recob::Hit or vector of recob::Hit to the ID of the most significantly contr...
caf::g4_process_ GetG4ProcessID(const std::string &name)
Container for a set of reweightable parameters.
void FillFakeReco(const std::vector< art::Ptr< simb::MCTruth >> &mctruths, const std::vector< caf::SRTrueParticle > &srparticles, const std::vector< art::Ptr< sim::MCTrack >> &mctracks, const std::vector< geo::BoxBoundedGeo > &volumes, TRandom &rand, std::vector< caf::SRFakeReco > &srfakereco)
void FillMeVPrtlTruth(const evgen::ldm::MeVPrtlTruth &truth, const std::vector< geo::BoxBoundedGeo > &active_volumes, caf::SRMeVPrtl &srtruth)
Description of geometry of one entire detector.
Class def header for mctrack data container.
An SRSlice contains overarching information for a slice.
Provides a base class aware of world box coordinates.
void FillTrueG4Particle(const simb::MCParticle &particle, const std::vector< geo::BoxBoundedGeo > &active_volumes, const std::vector< std::vector< geo::BoxBoundedGeo >> &tpc_volumes, const std::map< int, std::vector< std::pair< geo::WireID, const sim::IDE * >>> &id_to_ide_map, const std::map< int, std::vector< art::Ptr< recob::Hit >>> &id_to_truehit_map, const cheat::BackTrackerService &backtracker, const cheat::ParticleInventoryService &inventory_service, const std::vector< art::Ptr< simb::MCTruth >> &neutrinos, caf::SRTrueParticle &srparticle)
A base class aware of world box coordinatesAn object describing a simple shape can inherit from this ...
void FillTrackTruth(const std::vector< art::Ptr< recob::Hit >> &hits, const std::map< int, caf::HitsEnergy > &id_hits_map, const std::vector< caf::SRTrueParticle > &particles, const detinfo::DetectorClocksData &clockData, caf::SRTrack &srtrack, bool allowEmpty)
Contains all timing reference information for the detector.
void FillSliceFakeReco(const std::vector< art::Ptr< recob::Hit >> &hits, const std::vector< art::Ptr< simb::MCTruth >> &neutrinos, const caf::SRTruthBranch &srmc, const cheat::ParticleInventoryService &inventory_service, const detinfo::DetectorClocksData &clockData, caf::SRSlice &srslice, const std::vector< caf::SRTrueParticle > &srparticles, const std::vector< art::Ptr< sim::MCTrack >> &mctracks, const std::vector< geo::BoxBoundedGeo > &volumes, TRandom &rand)
std::map< int, std::vector< art::Ptr< recob::Hit > > > PrepTrueHits(const std::vector< art::Ptr< recob::Hit >> &allHits, const detinfo::DetectorClocksData &clockData, const cheat::BackTrackerService &backtracker)
object containing MC truth information necessary for making RawDigits and doing back tracking ...
Vectors of reconstructed vertices found by various algorithms.
Representation of a simb::MCParticle, knows energy, direction,.
void FillEventWeight(const sbn::evwgh::EventWeightMap &wgtmap, caf::SRTrueInteraction &srint, const std::map< std::string, unsigned int > &weightPSetIndex)
void FillSRGlobal(const sbn::evwgh::EventWeightParameterSet &pset, caf::SRGlobal &srglobal, std::map< std::string, unsigned int > &weightPSetIndex)
physics associatedGroupsWithLeft p1
art framework interface to geometry description
caf::Wall_t GetWallCross(const geo::BoxBoundedGeo &volume, const TVector3 p0, const TVector3 p1)