46 std::string hepmc3_coll_name_;
49 std::string hepmc3_pass_name_;
52 std::string event_weights_coll_name_;
61 std::string message_threshold_file_;
67 std::map<ldmx::EventWeights::VariationType, std::vector<double> >
71 std::unique_ptr<genie::HepMC3Converter> hep_mc3_converter_;
73 std::unique_ptr<genie::rew::GReWeight> genie_rw_;
75 void reinitializeGenieReweight();
76 void reconfigureGenieReweight(
size_t);
78 inline static genie::rew::EGSyst variationTypeToGenieDial(
79 const ldmx::EventWeights::VariationType& vtype) {
81 case ldmx::EventWeights::VariationType::kGENIE_INukeTwkDial_MFP_pi:
82 return genie::rew::EGSyst::kINukeTwkDial_MFP_pi;
83 case ldmx::EventWeights::VariationType::kGENIE_INukeTwkDial_MFP_N:
84 return genie::rew::EGSyst::kINukeTwkDial_MFP_N;
85 case ldmx::EventWeights::VariationType::kGENIE_INukeTwkDial_FrCEx_pi:
86 return genie::rew::EGSyst::kINukeTwkDial_FrCEx_pi;
87 case ldmx::EventWeights::VariationType::kGENIE_INukeTwkDial_FrInel_pi:
88 return genie::rew::EGSyst::kINukeTwkDial_FrInel_pi;
89 case ldmx::EventWeights::VariationType::kGENIE_INukeTwkDial_FrAbs_pi:
90 return genie::rew::EGSyst::kINukeTwkDial_FrAbs_pi;
91 case ldmx::EventWeights::VariationType::kGENIE_INukeTwkDial_FrPiProd_pi:
92 return genie::rew::EGSyst::kINukeTwkDial_FrPiProd_pi;
93 case ldmx::EventWeights::VariationType::kGENIE_INukeTwkDial_FrCEx_N:
94 return genie::rew::EGSyst::kINukeTwkDial_FrCEx_N;
95 case ldmx::EventWeights::VariationType::kGENIE_INukeTwkDial_FrInel_N:
96 return genie::rew::EGSyst::kINukeTwkDial_FrInel_N;
97 case ldmx::EventWeights::VariationType::kGENIE_INukeTwkDial_FrAbs_N:
98 return genie::rew::EGSyst::kINukeTwkDial_FrAbs_N;
99 case ldmx::EventWeights::VariationType::kGENIE_INukeTwkDial_FrPiProd_N:
100 return genie::rew::EGSyst::kINukeTwkDial_FrPiProd_N;
101 case ldmx::EventWeights::VariationType ::kGENIE_HadrNuclTwkDial_FormZone:
102 return genie::rew::EGSyst::kHadrNuclTwkDial_FormZone;
104 return genie::rew::EGSyst::kNullSystematic;
106 return genie::rew::EGSyst::kNullSystematic;