1 #ifndef CAF_FILLTRUTH_H 2 #define CAF_FILLTRUTH_H 6 #include "NovaDAQConventions/DAQConventions.h" 15 namespace rb{
class Cluster;
class CellHit;}
21 namespace g4rwgt{
class G4WeightTable;}
28 std::vector<cheat::TrackIDE>& allTracks,
29 std::vector<cheat::TrackIDE>& sliceTracks,
30 std::vector<cheat::TrackIDE> &allTracksBirks,
31 std::vector<cheat::TrackIDE> &sliceTracksBirks,
35 std::vector<cheat::TrackIDE>& allTracks,
36 std::vector<cheat::TrackIDE>& sliceTracks,
37 std::vector<cheat::TrackIDE> &allTracksBirks,
38 std::vector<cheat::TrackIDE> &sliceTracksBirks,
39 std::vector<SRTrueParticle>*
vec,
40 const std::vector<sim::TrueEnergy>& TrueEnergies);
43 std::vector<cheat::TrackIDE>& allTracks);
46 std::vector<cheat::TrackIDE>& allTracks);
49 std::vector<cheat::TrackIDE>& allTracks,
50 std::vector<cheat::TrackIDE>& sliceTracks,
51 std::vector<cheat::TrackIDE> &allTracksBirks,
52 std::vector<cheat::TrackIDE> &sliceTracksBirks,
53 std::vector<SRCosmic>* vec);
56 std::vector<cheat::TrackIDE>& allTracks,
57 std::vector<SRTrueMichelE>* michelVec);
61 std::vector<cheat::TrackIDE>& allTracks,
62 std::vector<SRTrueMichelE>* vec);
caf::generator_ CAFGeneratorEnum(simb::Generator_t simbGeneratorEnum)
double TrueNeutrinoDistance(novadaq::cnv::DetId det, const SRNeutrino &nu)
float FindDaughterVisE(const sim::Particle &part, std::vector< cheat::TrackIDE > &tracks)
void AddPreFSI(const art::Ptr< simb::MCTruth > &truth, SRNeutrino &nu)
void AddParticleToVec(const sim::Particle &part, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, std::vector< SRTrueParticle > *vec, const std::vector< sim::TrueEnergy > &TrueEnergies)
enum simb::_ev_generator Generator_t
generator used to produce event, if applicable
Store +/- 1 sigma shifts for all geant4reweight channels.
SRGeant4Weights Geant4Reweights(const g4rwgt::G4WeightTable &g4wgts)
SRFluxWeights FluxReweights(const fxwgt::FluxWeights &flxwgts)
generator_
Known generators of neutrino interactions (extend as other generators are used)
float FindDaughterVisENonRecur(const sim::Particle &part, std::vector< cheat::TrackIDE > &tracks)
SRParticleTruth FillParticleTruth(const std::vector< rb::Cluster > &sliceList, const art::PtrVector< rb::CellHit > &hits, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int sliceIdx)
Function to fill the particle truth for a set of hits.
void FindAndAddMichels(std::vector< const sim::Particle * > particles, std::vector< cheat::TrackIDE > &allTracks, std::vector< SRTrueMichelE > *michelVec)
Use NuReweight to compute +/-1,2sigma shifts for all systematics.
Store flux weigths for neutrino correction.
std::vector< unsigned int > DecodeGeneratorVersion(const std::string &versionString)
Perform a "2 point" Hough transform on a collection of hits.
void AddTrueMichelEToVec(const sim::Particle &michel, const sim::Particle &motherMuon, std::vector< cheat::TrackIDE > &allTracks, std::vector< SRTrueMichelE > *vec)
Example routine for calculating the "ultimate e-m mother" of a particle in a simulated event...
code to link reconstructed objects back to the MC truth information
Store +/-1,2sigma shifts for all GENIE reweighting systematics.
This module creates Common Analysis Files.
void AddCosmicTruthToVec(const cheat::NeutrinoEffPur *effPur, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, std::vector< SRCosmic > *vec)
std::vector< SRGenieWeights > GenieReweightTable(const rwgt::GENIEReweightTable &table)