GenieWeights.h
Go to the documentation of this file.
1 /// GenieWeights.h:
2 /// Individual reaction cross section weights.
3 /// Details and references below.
4 ///
5 /// If you are seeking global "tunes"
6 /// (combinations of weights used for specific analyses)
7 /// please look in XsecTunes.h.
8 ///
9 /// Please don't build Vars here from CAFAna only.
10 /// All xsec weights should go in the NOvARwgt package
11 /// (so that they can be easily shared with the community as needed)
12 /// and be imported here using VarFromNOvARwgt().
13 
14 #pragma once
15 
16 #include "CAFAna/Core/Cut.h"
17 #include "CAFAna/Core/Utilities.h"
18 #include "CAFAna/Core/Var.h"
19 
20 #include "NOvARwgt/rwgt/genie/QE/MAQEWgts.h"
21 #include "NOvARwgt/rwgt/genie/QE/RPAWeights.h"
22 #include "NOvARwgt/rwgt/genie/QE/NucOptPtlWgts.h"
23 #include "NOvARwgt/rwgt/genie/MEC/EmpiricalMECFixups.h"
24 #include "NOvARwgt/rwgt/genie/MEC/EmpiricalMECTuneSA.h"
25 #include "NOvARwgt/rwgt/genie/MEC/EmpiricalMECTune2017.h"
26 #include "NOvARwgt/rwgt/genie/MEC/EmpiricalMECTune2018.h"
27 #include "NOvARwgt/rwgt/genie/MEC/EmpiricalMECOtherTunes.h"
28 #include "NOvARwgt/rwgt/genie/DIS/HighWDISWeight.h"
29 #include "NOvARwgt/rwgt/genie/DIS/Nonres1piWeights.h"
30 #include "NOvARwgt/rwgt/genie/hN-FSI/hNFSIWeights.h"
31 
33 #include "StandardRecord/SREnums.h"
34 
35 namespace ana
36 {
37  inline NuTruthVar VarFromNOvARwgt(const novarwgt::IWeightGenerator * wgtr)
38  {
39  return NuTruthVar([=](const caf::SRNeutrinoProxy * nu) -> double
40  {
41  auto evt = novarwgt::ConvertSRTruth(nu);
42 
43  return wgtr->GetWeight(evt, {});
44  });
45  }
46 
47  //---------------------------------------------------------------------------------
48 
49  template <typename T, typename... Args>
50  inline NuTruthVar VarFromNOvARwgt(Args&&... args)
51  {
52  auto weighter = novarwgt::GetWeighter<T>(std::forward<Args>(args)...);
53 
54  return VarFromNOvARwgt(weighter);
55  }
56 
57  //---------------------------------------------------------------------------------
58  /// Adjust M_A for CCQE's central value to 1.04, per discussion following Doc 24705
59  /// (GENIE 2.X default is 0.99)
61  const Var kRescaleMAQE = VarFromNuTruthVar(kRescaleMAQE_NT, 1);
62 
63 
64  //---------------------------------------------------------------------------------
65  // Nieves RPA Reweight (Minerva) - CC - q0 and q3 dependent
66  // Histograms and code provided by Rik Gran
67  // http://minerva-docdb.fnal.gov/cgi-bin/DocumentDatabase/ doc # 11276
68  // http://arxiv.org/pdf/nucl-th/0408005.pdf
69  // More documentation in NOvARwgt.
70 
71  /// Nieves RPA Reweight (Minerva) - CC QE - q0 and qmag dependent. Second Analysis edition
73  const Var kRPAWeightCCQESA = VarFromNuTruthVar(kRPAWeightCCQESA_NT, 1);
74 
75  /// Generate a NuTruthVar that computes the RPA weight for this SRNeutino
76  /// using the true Q^2. Generally the other version (RPAWeightVar_q0q3) is to be
77  /// preferred as it is more accurate, but occasionally this one is useful as well.
78  const NuTruthVar RPAWeightVar_Q2 = VarFromNOvARwgt<novarwgt::RPAWeightQ2_2017>(novarwgt::kRxnCC, novarwgt::kScQuasiElastic);
79 
80  /// 2017 RPA effect for CCQE.
81  /// Unfortunately it was mistakenly applied to ALL events...
82  /// this is a ~3-5% effect for numu selected events.
83  /// Second argument and beyond preserve buggy 2017 behavior
84  /// (so that the prediction doesn't suddenly change underneath people):
85  /// * process==kUnknownMode ensures it will apply to all events
86  /// * forceNu==true ensures the "neutrino" histogram will be used even for antineutrinos
87  /// * includeHydrogen==true additionally applies the RPA effect to Hydrogen
88  /// * forceGENIE210==true uses the weights calculated for GENIE 2.10
90  const Var kRPAWeightCCQE2017 = VarFromNuTruthVar(kRPAWeightCCQE2017_NT, 1);
91 
92  /// 2018 RPA effect for CCQE.
93  /// Same as 2017 version except that it is correctly applied only to QE
94  /// and the neutrino/antineutrino differences in weights are correctly respected.
96  const Var kRPAWeightCCQE2018 = VarFromNuTruthVar(kRPAWeightCCQE2018_NT, 1);
97 
98  /// 2019 RPA effect for CCQE.
99  /// Same as 2018 version except that the effect is not applied to hydrogen,
100  /// and contains the fixes to correctly apply to GENIE 2.12
102  const Var kRPAWeightCCQE2019 = VarFromNuTruthVar(kRPAWeightCCQE2019_NT, 1);
103 
104  /// Valencia group RPA (2017 edition) applied to Resonant production rather than CCQE.
105  /// For 2017-2018 analyses this was used as an uncertainty,
106  /// because the Valencia calculation was done only for CCQE.
107  /// Doing what we're doing is sort of reckless,
108  /// but it seems to reproduce the suppression effect in pion production
109  /// observed elsewhere (e.g., MiniBooNE, MINOS, MINERvA).
110  /// Moreover, because it significantly improves data-MC agreement
111  /// in our ND distributions, from 2018 we adopt it into the central value scheme.
112  /// n.b.: Late in the 2018 analysis it was discovered that the RPA effect
113  /// was incorrectly applied to Hydrogen. includeHydrogen==true reproduces this bug.
115  const Var kRPAWeightRES2017 = VarFromNuTruthVar(kRPAWeightRES2017_NT, 1);
116 
117  /// 2019 RPA effect for CCRES.
118  /// Same as 2017/2018 version except that the effect is not applied to hydrogen
120  const Var kRPAWeightRES2019 = VarFromNuTruthVar(kRPAWeightRES2019_NT, 1);
121 
122  //---------------------------------------------------------------------------------
123  /// Adjust non-resonant single pion production rate based on updated fits to deuterium data.
124  /// (Also note that this doesn't adjust the uncertainties, which should be made somewhat smaller.)
125  /// See Doc 14971.
127  const Var kFixNonres1Pi = VarFromNuTruthVar(kFixNonres1PiST, 1);
128 
129  //---------------------------------------------------------------------------------
130  /// Older versions of GENIE (prior to 2.11)
131  /// need more corrections to Dytman's "EmpiricalMEC".
133 
134  //---------------------------------------------------------------------------------
135  /// fix distribution of initial state nucleon pairs of Dytman-MEC events:
136  /// in GENIE prior to 2.11, generated 80%-20% nn-np; should be 20%-80%
138  const Var kDytmanMEC_FixItlState = VarFromNuTruthVar(kDytmanMEC_FixItlStateST, 1);
139 
140  //---------------------------------------------------------------------------------
141  /// fix wacky energy dependence of Dytman-MEC cross section in GENIE < 2.11 (see DocDB 14791)
143  const Var kDytmanMEC_FixXsecEdep = VarFromNuTruthVar(kDytmanMEC_FixXsecEdepST, 1);
144 
145  //---------------------------------------------------------------------------------
146 
147  /// weight CC events to match NOvA ND data.
148  /// basically reproduces Tony + Travis's prescription using Dytman-MEC.
149  /// See Doc 14954 and references therein
151  const Var kTufts2p2hWgtSA = VarFromNuTruthVar(kTufts2p2hWgtSA_NT, 1);
152 
153 
154  //---------------------------------------------------------------------------------
155  // alternative tunes for Empirical MEC to bound the shape for 2018 systematics
156 
157  /// Reweight Empirical MEC from fits to MC altered to be more 'qe-like' by varying existing systematic knobs, nu (reference needed)
159  const Var kMEC2018QElikeWgt = VarFromNuTruthVar(kMEC2018QElikeWgt_NT, 1);
160 
161  /// Reweight Empirical MEC from fits to MC altered to be more 'res-like' by varying existing systematic knobs, nu (reference needed)
163  const Var kMEC2018RESlikeWgt = VarFromNuTruthVar(kMEC2018RESlikeWgt_NT, 1);
164 
165  /// ------ MEC shape systematics for empirical MEC after Hydrogen RPA bug fixes
166  /// Reweight Empirical MEC from fits to MC altered to be more 'qe-like' by varying existing systematic knobs, nu (reference needed)
168  const Var kMEC2018RPAFixQElikeWgt = VarFromNuTruthVar(kMEC2018RPAFixQElikeWgt_NT, 1);
169 
170  /// Reweight Empirical MEC from fits to MC altered to be more 'res-like' by varying existing systematic knobs, nu (reference needed)
172  const Var kMEC2018RPAFixRESlikeWgt = VarFromNuTruthVar(kMEC2018RPAFixRESlikeWgt_NT, 1);
173 
174 
175  //---------------------------------------------------------------------------------
176  // alternative tunes for Empirical MEC to bound the q0 response. For systematics mostly.
177 
178  /// Reweight Empirical MEC to GENIE QE in q0, fixing q3 to data (see Doc 18741)
180  const Var kEmpiricalMECtoGENIEQEWgt = VarFromNuTruthVar(kEmpiricalMECtoGENIEQEWgt_NT, 1);
181 
182  /// Reweight Empirical MEC to GENIE RES in q0, fixing q3 to data (see Doc 18741)
184  const Var kEmpiricalMECtoGENIERESWgt = VarFromNuTruthVar(kEmpiricalMECtoGENIERESWgt_NT, 1);
185 
186 
187  //---------------------------------------------------------------------------------
188  // weight to turn Empirical MEC into Valencia MEC (or as close as we can get) in (q0,q3)
190  const Var kEmpiricalMECtoValenciaMECWgt = VarFromNuTruthVar(kEmpiricalMECtoValenciaMECWgt_NT, 1);
191 
192  //---------------------------------------------------------------------------------
193  //----------------------------------------------------------------------------
194  /// Implementation of various reweight schemes from MINERvA
195  /// which attempt to fit to the excess in their data under different MEC hypotheses.
196  /// There are four choices, each of which much be applied under different circumstances:
197  /// * "QE" --> weights applied only to QE. MEC is weighted to 0 in this version.
198  /// * "MEC" --> weights applied to MEC.
199  /// * "MECNP" --> weights applied only to MEC NP component; MEC {NN,NP} component will be left alone.
200  /// * "MECPP" --> weights applied only to MEC NN,NP component; MEC NN component will be left alone.
201  ///
202  /// These are as publicized by R. Gran at NuInt 2017, https://meetings.triumf.ca/indico/event/6/session/4/contribution/77
203  /// Citation forthcoming. (Weight functions from K. McFarland in private communication to J. Wolcott.)
204  /// They live here, rather than in NOvARwgt, because we don't have permission to distribute them.
206  {
207  const std::string histFile = FindCAFAnaDir() + "/data/xs/MINERvA_MEC_wgts.root";
208  public:
209  MINERvA_MEC_Wgt(const std::string & whichWgt);
210 
211  double operator()(const caf::SRNeutrinoProxy * nu) const {return GetWeight(nu);}
212  private:
213  /// Draws the weight from the histogram
214  double GetWeight(const caf::SRNeutrinoProxy * nu) const;
215 
216  const novarwgt::HistWrapper<TH2> fHist_nu;
217  const novarwgt::HistWrapper<TH2> fHist_nubar;
219 
220  /// which nucleon pair to adjust.
221  /// >0 means 'adjust pair with this pdg code';
222  /// <0 means 'adjust anything but pairs with this pdg code;
223  /// 0 means 'do nothing'
224  int fHitNuc;
225  };
226 
227  /// "1p1h" fit (QE was fit, MEC disabled)
229  const Var kMINERvA_Wgt_QE = VarFromNuTruthVar(kMINERvA_Wgt_QE_NT, 1);
230 
231  /// "2p2h" fit (all MEC was fit)
233  const Var kMINERvA_Wgt_MEC = VarFromNuTruthVar(kMINERvA_Wgt_MEC_NT, 1);
234 
235  /// "2p2h-np" fit (only 'np' component of MEC was fit; 'nn' or 'pp' (depending on nu vs antinu) left alone)
237  const Var kMINERvA_Wgt_MECNP = VarFromNuTruthVar(kMINERvA_Wgt_MECNP_NT, 1);
238 
239  /// "2p2h-pp" fit (either 'pp' or 'nn' component of MEC (depending on nu vs antinu) was fit; 'np' left alone)
241  const Var kMINERvA_Wgt_MECPP = VarFromNuTruthVar(kMINERvA_Wgt_MECPP_NT, 1);
242 
243  //---------------------------------------------------------------------------------
244 
245  /// 2017 "best guess" for the MEC cross section (spill truth version)
247  /// See kEmpiricalMECWgt2017ST
248  const Var kEmpiricalMECWgt2017 = VarFromNuTruthVar(kEmpiricalMECWgt2017ST, 1);
249 
250  //---------------------------------------------------------------------------------
251 
252  /// 2018 tune for the MEC component of the cross section (NuTruth version)
254  /// See kEmpiricalMECWgt2018_NT
255  const Var kEmpiricalMECWgt2018 = VarFromNuTruthVar(kEmpiricalMECWgt2018_NT, 1);
256 
257  //---------------------------------------------------------------------------------
258 
259  /// 2018 tune for the MEC component of the cross section after Hydrogen RPA bug fix
261  /// See kEmpiricalMECWgt2018_NT
262  const Var kEmpiricalMECWgt2018RPAFix = VarFromNuTruthVar(kEmpiricalMECWgt2018RPAFix_NT, 1);
263 
264  //---------------------------------------------------------------------------------
265  // weights obtained using miniprod5
266  class EmpiricalMECWgt2020 : public novarwgt::MECq0q3NuNubarHistTuneWgt
267  {
268  public:
269  explicit EmpiricalMECWgt2020(const novarwgt::IRegisterable::ClassID<EmpiricalMECWgt2020>& clID)
270  : novarwgt::MECq0q3NuNubarHistTuneWgt(clID, "EmpiricalMECWgt2020",
271  {novarwgt::StoredGenSupportCfg(novarwgt::GenCfg::kGENIE_Prod5Only)},
272  FindCAFAnaDir()+"/data/xs/mec_fit_hists_fhc_bins_mp5.root", "mec_weights_smoothed",
273  FindCAFAnaDir()+"/data/xs/mec_fit_hists_rhc_bins_mp5.root", "mec_weights_smoothed")
274  {}
275  };
276 
278 
279  class ValenciaMECWgt2020_Provisional : public novarwgt::DoubleGaussMECWgt
280  {
281  public:
282  explicit ValenciaMECWgt2020_Provisional(const novarwgt::IRegisterable::ClassID<ValenciaMECWgt2020_Provisional>& clID)
283  : DoubleGaussMECWgt(clID, "ValenciaMECWgt2020_Provisional",
284  {novarwgt::StoredGenSupportCfg(novarwgt::GenCfg::kGENIE_Prod5Only)},
286  {}
287 
288  private:
289  static constexpr DoubleGaussParameters sParams
290  {
291  12.78, // "norm"
292  0.33, // "mean_q0"
293  0.80, // "mean_q3"
294  0.10, // "sigma_q0"
295  0.29, // "sigma_q3"
296  0.91, // "corr"
297 
298  38.8, // "norm_2"
299  0.036, // "mean_q0_2"
300  0.45, // "mean_q3_2"
301  0.042, // "sigma_q0_2"
302  0.233, // "sigma_q3_2"
303  0.71, // "corr_2"
304 
305  1 // "baseline"
306  };
307 
308  };
309 
311 
312  //---------------------------------------------------------------------------------
313 
314  /// Reweight DIS events at higher W; addresses the "short track anomaly"
315  /// (see Doc 18027 and follow-ups)
317  const Var kRescaleHighWDIS = VarFromNuTruthVar(kRescaleHighWDIS_NT, 1);
318 
319  //---------------------------------------------------------------------------------
320 
321  /// Reweight GENIE 3.0.6 nominal FSI model to tuned CV (see Doc 42870)
323  const Var khNCVWgt2020 = VarFromNuTruthVar(khNCVWgt2020_NT, 1);
324 
325 
326 
327 
328  //---------------------------------------------------------------------------------
329  ///Reweight for Nuclear Optical Potential (see Doc ....)
331  const Var kNucOptPtlWgt = VarFromNuTruthVar(kNucOptPtlWgt_NT, 1);
332 
333 } // namespace
const NucOptPtl_Wgt * kNucOptPtl_wgt
const NuTruthVar kMINERvA_Wgt_MECNP_NT([](const caf::SRNeutrinoProxy *nu){return mwgtMECNP(nu);})
"2p2h-np" fit (only &#39;np&#39; component of MEC was fit; &#39;nn&#39; or &#39;pp&#39; (depending on nu vs antinu) left alon...
Definition: GenieWeights.h:236
const NuTruthVar kRescaleMAQE_NT
Definition: GenieWeights.h:60
mode_type_
Neutrino interaction categories.
Definition: SREnums.h:47
const Var kMEC2018RPAFixRESlikeWgt
Definition: GenieWeights.h:172
const Var kEmpiricalMECWgt2018RPAFix
See kEmpiricalMECWgt2018_NT.
Definition: GenieWeights.h:262
const Var kMINERvA_Wgt_MEC
Definition: GenieWeights.h:233
const EmpiricalMECWgt2018RPAFix * kEmpiricalMECWgt2018RPAFix
const Var kRPAWeightRES2019
Definition: GenieWeights.h:120
const MEC2018_RESlike_Wgt * kMEC2018_RESlike_Wgt
NuTruthVar VarFromNOvARwgt(const novarwgt::IWeightGenerator *wgtr)
Definition: GenieWeights.h:37
_Var< caf::SRNeutrinoProxy > NuTruthVar
Definition: Var.h:9
caf::mode_type_ fRxn
Definition: GenieWeights.h:218
Cuts and Vars for the 2020 FD DiF Study.
Definition: vars.h:6
const NuTruthVar kDytmanMEC_FixXsecEdepST
fix wacky energy dependence of Dytman-MEC cross section in GENIE < 2.11 (see DocDB 14791) ...
Definition: GenieWeights.h:142
const NuTruthVar kMEC2018RESlikeWgt_NT
Reweight Empirical MEC from fits to MC altered to be more &#39;res-like&#39; by varying existing systematic k...
Definition: GenieWeights.h:162
const novarwgt::HistWrapper< TH2 > fHist_nubar
Definition: GenieWeights.h:217
const NuTruthVar kEmpiricalMECWgt2018RPAFix_NT
2018 tune for the MEC component of the cross section after Hydrogen RPA bug fix
Definition: GenieWeights.h:260
const MEC2018RPAFix_QElike_Wgt * kMEC2018RPAFix_QElike_Wgt
Proxy for caf::SRNeutrino.
Definition: SRProxy.h:510
const NuTruthVar kRPAWeightRES2019_NT
Definition: GenieWeights.h:119
const NuTruthVar kMINERvA_Wgt_MECPP_NT([](const caf::SRNeutrinoProxy *nu){return mwgtMECPP(nu);})
"2p2h-pp" fit (either &#39;pp&#39; or &#39;nn&#39; component of MEC (depending on nu vs antinu) was fit; &#39;np&#39; left al...
Definition: GenieWeights.h:240
const Var kEmpiricalMECtoValenciaMECWgt
Definition: GenieWeights.h:190
const NuTruthVar kRPAWeightCCQE2018_NT
Definition: GenieWeights.h:95
const hNCVWgt2020 * khNCVWgt2020
const Var kNucOptPtlWgt
Definition: GenieWeights.h:331
const Nonres1PiWgt * kNonres1PiWgt
const NuTruthVar kRPAWeightCCQE2017_NT
Definition: GenieWeights.h:89
const Var kMINERvA_Wgt_MECPP
Definition: GenieWeights.h:241
GeneratorSupportConfig StoredGenSupportCfg(GenCfg cfg)
const Var kRPAWeightRES2017
Definition: GenieWeights.h:115
const EmpiricalMECWgt2020 * kEmpiricalMECWgt2020_Provisional
const Var kDytmanMEC_FixItlState
Definition: GenieWeights.h:138
const MEC2018_QElike_Wgt * kMEC2018_QElike_Wgt
const Var kMEC2018QElikeWgt
Definition: GenieWeights.h:159
const Var kTufts2p2hWgtSA
Definition: GenieWeights.h:151
const EmpiricalMECWgt2017 * kEmpiricalMECWgt2017
std::string FindCAFAnaDir()
Definition: Utilities.cxx:203
const Var kEmpiricalMECWgt2017
See kEmpiricalMECWgt2017ST.
Definition: GenieWeights.h:248
const Var kEmpiricalMECWgt2018
See kEmpiricalMECWgt2018_NT.
Definition: GenieWeights.h:255
const ValenciaMECWgt2020_Provisional * kValenciaMECWgt2020_Provisional
const NuTruthVar kTufts2p2hWgtSA_NT
Definition: GenieWeights.h:150
const Var kMEC2018RPAFixQElikeWgt
Definition: GenieWeights.h:168
const NuTruthVar kRescaleHighWDIS_NT
Definition: GenieWeights.h:316
const Var kRPAWeightCCQE2018
Definition: GenieWeights.h:96
const Var khNCVWgt2020
Definition: GenieWeights.h:323
const Var kRPAWeightCCQE2019
Definition: GenieWeights.h:102
const NuTruthVar kMEC2018QElikeWgt_NT
Reweight Empirical MEC from fits to MC altered to be more &#39;qe-like&#39; by varying existing systematic kn...
Definition: GenieWeights.h:158
const novarwgt::HistWrapper< TH2 > fHist_nu
Definition: GenieWeights.h:216
const NuTruthVar khNCVWgt2020_NT
Reweight GENIE 3.0.6 nominal FSI model to tuned CV (see Doc 42870)
Definition: GenieWeights.h:322
const RPAWeightCCQE_2017 * kRPAWeightCCQE2019
Definition: RPAWeights.cxx:48
const Var kRescaleMAQE
Definition: GenieWeights.h:61
const RPAWeightQ2_2017 * kRPAWeightRES2017
Definition: RPAWeights.cxx:54
ValenciaMECWgt2020_Provisional(const novarwgt::IRegisterable::ClassID< ValenciaMECWgt2020_Provisional > &clID)
Definition: GenieWeights.h:282
const Var kMINERvA_Wgt_QE
Definition: GenieWeights.h:229
const HighWDISWgt_2018 * kHighWDISWgt_2018
const Var kRPAWeightCCQE2017
Definition: GenieWeights.h:90
const DytmanMECFixItlStateWgt * kDytmanMECFixItlStateWgt
const NuTruthVar kRPAWeightCCQESA_NT
Nieves RPA Reweight (Minerva) - CC QE - q0 and qmag dependent. Second Analysis edition.
Definition: GenieWeights.h:72
MINERvA_MEC_Wgt(const std::string &whichWgt)
const Var kEmpiricalMECtoGENIERESWgt
Definition: GenieWeights.h:184
const Var kEmpiricalMECtoGENIEQEWgt
Definition: GenieWeights.h:180
static constexpr DoubleGaussParameters sParams
Definition: GenieWeights.h:290
const Tufts2p2hWgtSA * kTufts2p2hWgtSA
int evt
Definition: NusVarsTemp.cxx:53
double GetWeight(const caf::SRNeutrinoProxy *nu) const
Draws the weight from the histogram.
const NuTruthVar kMEC2018RPAFixQElikeWgt_NT
Definition: GenieWeights.h:167
const NuTruthVar kRPAWeightCCQE2019_NT
Definition: GenieWeights.h:101
const RPAWeightCCQE_2017 * kRPAWeightCCQE2017
Definition: RPAWeights.cxx:22
const RPAWeightCCQE_2017 * kRPAWeightCCQE2018
Definition: RPAWeights.cxx:34
const Var kMINERvA_Wgt_MECNP
Definition: GenieWeights.h:237
const Var kMEC2018RESlikeWgt
Definition: GenieWeights.h:163
const NuTruthVar kEmpiricalMECtoValenciaMECWgt_NT
Definition: GenieWeights.h:189
const MEC2018RPAFix_RESlike_Wgt * kMEC2018RPAFix_RESlike_Wgt
Var VarFromNuTruthVar(const NuTruthVar &stv, double _default)
Definition: Var.cxx:8
const EmpiricalMEC_to_GENIERES_Wgt * kEmpiricalMEC_to_GENIERES_Wgt
const NuTruthVar kDytmanMEC_FixItlStateST
Definition: GenieWeights.h:137
const NuTruthVar kEmpiricalMECtoGENIERESWgt_NT
Reweight Empirical MEC to GENIE RES in q0, fixing q3 to data (see Doc 18741)
Definition: GenieWeights.h:183
const Var kRPAWeightCCQESA
Definition: GenieWeights.h:73
const std::string histFile
Definition: GenieWeights.h:207
const NuTruthVar kEmpiricalMECtoGENIEQEWgt_NT
Reweight Empirical MEC to GENIE QE in q0, fixing q3 to data (see Doc 18741)
Definition: GenieWeights.h:179
const NuTruthVar kMINERvA_Wgt_MEC_NT([](const caf::SRNeutrinoProxy *nu){return mwgtMEC(nu);})
"2p2h" fit (all MEC was fit)
Definition: GenieWeights.h:232
const NuTruthCut kIsOldGENIEMEC([](const caf::SRNeutrinoProxy *nu){const std::vector< unsigned int > okVersion({2, 11, 0});return nu->generator==caf::kUnknownGenerator||(nu->generator==caf::kGENIE &&nu->genVersion< okVersion);})
Definition: GenieWeights.h:132
const RPAWeightCCQESA * kRPAWeightCCQESA
Definition: RPAWeights.cxx:18
const NuTruthVar RPAWeightVar_Q2
Definition: GenieWeights.h:78
EmpiricalMECWgt2020(const novarwgt::IRegisterable::ClassID< EmpiricalMECWgt2020 > &clID)
Definition: GenieWeights.h:269
const NuTruthVar kMINERvA_Wgt_QE_NT([](const caf::SRNeutrinoProxy *nu){return mwgtQE(nu);})
"1p1h" fit (QE was fit, MEC disabled)
Definition: GenieWeights.h:228
double operator()(const caf::SRNeutrinoProxy *nu) const
Definition: GenieWeights.h:211
const EmpiricalMECWgt2018 * kEmpiricalMECWgt2018
const Var kDytmanMEC_FixXsecEdep
Definition: GenieWeights.h:143
const NuTruthVar kMEC2018RPAFixRESlikeWgt_NT
Reweight Empirical MEC from fits to MC altered to be more &#39;res-like&#39; by varying existing systematic k...
Definition: GenieWeights.h:171
const NuTruthVar kEmpiricalMECWgt2018_NT
2018 tune for the MEC component of the cross section (NuTruth version)
Definition: GenieWeights.h:253
const DytmanMECFixXsecEdepWgt * kDytmanMECFixXsecEdepWgt
const NuTruthVar kEmpiricalMECWgt2017ST
2017 "best guess" for the MEC cross section (spill truth version)
Definition: GenieWeights.h:246
double T
Definition: Xdiff_gwt.C:5
const MAQEWeight_2018 * kMAQEWeight_2018
Definition: MAQEWgts.cxx:17
const novarwgt::EventRecord & ConvertSRTruth(const T *nu, bool forceNoCache)
Copy information out of an SRNeutrino.
const EmpiricalMEC_to_Valencia_Wgt * kEmpiricalMEC_to_Valencia_Wgt
const NuTruthVar kNucOptPtlWgt_NT
Reweight for Nuclear Optical Potential (see Doc ....)
Definition: GenieWeights.h:330
Template for Cuts applied to any type of object.
Definition: Cut.h:15
Template for Vars applied to any type of object.
Definition: FwdDeclare.h:12
const NuTruthVar kRPAWeightRES2017_NT
Definition: GenieWeights.h:114
const EmpiricalMEC_to_GENIEQE_Wgt * kEmpiricalMEC_to_GENIEQE_Wgt
const Var kRescaleHighWDIS
Definition: GenieWeights.h:317
const RPAWeightQ2_2017 * kRPAWeightRES2019
Definition: RPAWeights.cxx:56
const Var kFixNonres1Pi
Definition: GenieWeights.h:127
const NuTruthVar kFixNonres1PiST
Definition: GenieWeights.h:126
enum BeamMode string