1 #ifndef EVGB_GENIE2ART_H 11 #define EVGB_GENIE2ART_H 16 #include <unordered_map> 24 class GNuMIFluxPassThroughInfo;
26 class GSimpleNtpEntry;
56 const std::string& tunename =
"${GENIE_XSEC_TUNE}");
62 const std::string & genieVersion=
"unknown",
63 const std::string & genieTune=
"unknown",
64 bool addGenieVtxTime =
false,
65 const std::unordered_map<std::string, std::string> genConfig = {});
67 TLorentzVector& vtxOffset,
69 const std::string & genieVersion=
"unknown",
70 const std::string & genieTune=
"unknown",
71 bool addGenieVtxTime =
false,
72 const std::unordered_map<std::string, std::string> genConfig = {});
73 void FillGTruth(
const genie::EventRecord* grec,
81 bool useFirstTrajPosition =
true);
83 std::vector<std::unique_ptr<genie::EventRecord>>
RetrieveGHEPs(
84 const art::Handle<std::vector<simb::MCTruth>>& mcTruthHandle,
85 const art::Handle<std::vector<simb::GTruth>>& gTruthHandle
87 std::vector<std::unique_ptr<genie::EventRecord>>
RetrieveGHEPs(
89 std::string mcTruthLabel,
90 std::string gTruthLabel
97 void FillMCFlux(
const genie::flux::GNuMIFluxPassThroughInfo* nflux,
101 void FillMCFlux(genie::flux::GSimpleNtpFlux* gsimple,
103 void FillMCFlux(
const genie::flux::GSimpleNtpEntry* nflux_entry,
104 const genie::flux::GSimpleNtpNuMI* nflux_numi,
105 const genie::flux::GSimpleNtpAux* nflux_aux,
106 const genie::flux::GSimpleNtpMeta* nflux_meta,
109 void FillMCFlux(genie::flux::GDk2NuFlux* gdk2nu,
112 const bsim::NuChoice* nuchoice,
117 #endif // EVGB_GENIE2ART_H void FillMCFlux(const bsim::Dk2Nu *dk2nu, const bsim::NuChoice *nuchoice, simb::MCFlux &flux)
GENIE neutrino interaction simulation objects.
std::vector< std::unique_ptr< genie::EventRecord > > RetrieveGHEPs(const art::Event &e, std::string mcTruthLabel, std::string gTruthLabel)
genie::EventRecord * RetrieveGHEP(const simb::MCTruth &truth, const simb::GTruth >ruth, bool useFirstTrajPosition=true)
return genie::EventRecord pointer; callee takes possession
std::string ExpandEnvVar(const std::string &s)
void FillMCTruth(const genie::EventRecord *grec, TLorentzVector &vtxOffset, simb::MCTruth &mctruth, const std::string &genieVersion="unknown", const std::string &genieTune="unknown", bool addGenieVtxTime=false, const std::unordered_map< std::string, std::string > genConfig={})
void SetEventGeneratorListAndTune(const std::string &evtlistname="", const std::string &tunename="${GENIE_XSEC_TUNE}")
Physics generators for neutrinos, cosmic rays, and others.
void FillGTruth(const genie::EventRecord *grec, simb::GTruth >ruth)
Event generator information.