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_Var(const std::string & whichWgt);
210 
211  private:
212  /// Draws the weight from the histogram
213  double GetWeight(const caf::SRNeutrinoProxy * sr) const;
214 
215  const novarwgt::HistWrapper<TH2> fHist_nu;
216  const novarwgt::HistWrapper<TH2> fHist_nubar;
218 
219  /// which nucleon pair to adjust.
220  /// >0 means 'adjust pair with this pdg code';
221  /// <0 means 'adjust anything but pairs with this pdg code;
222  /// 0 means 'do nothing'
223  int fHitNuc;
224  };
225 
226  /// "1p1h" fit (QE was fit, MEC disabled)
228  const Var kMINERvA_Wgt_QE = VarFromNuTruthVar(kMINERvA_Wgt_QE_NT, 1);
229 
230  /// "2p2h" fit (all MEC was fit)
232  const Var kMINERvA_Wgt_MEC = VarFromNuTruthVar(kMINERvA_Wgt_MEC_NT, 1);
233 
234  /// "2p2h-np" fit (only 'np' component of MEC was fit; 'nn' or 'pp' (depending on nu vs antinu) left alone)
236  const Var kMINERvA_Wgt_MECNP = VarFromNuTruthVar(kMINERvA_Wgt_MECNP_NT, 1);
237 
238  /// "2p2h-pp" fit (either 'pp' or 'nn' component of MEC (depending on nu vs antinu) was fit; 'np' left alone)
240  const Var kMINERvA_Wgt_MECPP = VarFromNuTruthVar(kMINERvA_Wgt_MECPP_NT, 1);
241 
242  //---------------------------------------------------------------------------------
243 
244  /// 2017 "best guess" for the MEC cross section (spill truth version)
246  /// See kEmpiricalMECWgt2017ST
247  const Var kEmpiricalMECWgt2017 = VarFromNuTruthVar(kEmpiricalMECWgt2017ST, 1);
248 
249  //---------------------------------------------------------------------------------
250 
251  /// 2018 tune for the MEC component of the cross section (NuTruth version)
253  /// See kEmpiricalMECWgt2018_NT
254  const Var kEmpiricalMECWgt2018 = VarFromNuTruthVar(kEmpiricalMECWgt2018_NT, 1);
255 
256  //---------------------------------------------------------------------------------
257 
258  /// 2018 tune for the MEC component of the cross section after Hydrogen RPA bug fix
260  /// See kEmpiricalMECWgt2018_NT
261  const Var kEmpiricalMECWgt2018RPAFix = VarFromNuTruthVar(kEmpiricalMECWgt2018RPAFix_NT, 1);
262 
263  //---------------------------------------------------------------------------------
264  // weights obtained using miniprod5
265  class EmpiricalMECWgt2020 : public novarwgt::MECq0q3NuNubarHistTuneWgt
266  {
267  public:
268  explicit EmpiricalMECWgt2020(const novarwgt::IRegisterable::ClassID<EmpiricalMECWgt2020>& clID)
269  : novarwgt::MECq0q3NuNubarHistTuneWgt(clID, "EmpiricalMECWgt2020",
270  {novarwgt::StoredGenSupportCfg(novarwgt::GenCfg::kGENIE_Prod5Only)},
271  FindCAFAnaDir()+"/data/xs/mec_fit_hists_fhc_bins_mp5.root", "mec_weights_smoothed",
272  FindCAFAnaDir()+"/data/xs/mec_fit_hists_rhc_bins_mp5.root", "mec_weights_smoothed")
273  {}
274  };
275 
277 
278  class ValenciaMECWgt2020_Provisional : public novarwgt::DoubleGaussMECWgt
279  {
280  public:
281  explicit ValenciaMECWgt2020_Provisional(const novarwgt::IRegisterable::ClassID<ValenciaMECWgt2020_Provisional>& clID)
282  : DoubleGaussMECWgt(clID, "ValenciaMECWgt2020_Provisional",
283  {novarwgt::StoredGenSupportCfg(novarwgt::GenCfg::kGENIE_Prod5Only)},
285  {}
286 
287  private:
288  static constexpr DoubleGaussParameters sParams
289  {
290  12.78, // "norm"
291  0.33, // "mean_q0"
292  0.80, // "mean_q3"
293  0.10, // "sigma_q0"
294  0.29, // "sigma_q3"
295  0.91, // "corr"
296 
297  38.8, // "norm_2"
298  0.036, // "mean_q0_2"
299  0.45, // "mean_q3_2"
300  0.042, // "sigma_q0_2"
301  0.233, // "sigma_q3_2"
302  0.71, // "corr_2"
303 
304  1 // "baseline"
305  };
306 
307  };
308 
310 
311  //---------------------------------------------------------------------------------
312 
313  /// Reweight DIS events at higher W; addresses the "short track anomaly"
314  /// (see Doc 18027 and follow-ups)
316  const Var kRescaleHighWDIS = VarFromNuTruthVar(kRescaleHighWDIS_NT, 1);
317 
318  //---------------------------------------------------------------------------------
319 
320  /// Reweight GENIE 3.0.6 nominal FSI model to tuned CV (see Doc 42870)
322  const Var khNCVWgt2020 = VarFromNuTruthVar(khNCVWgt2020_NT, 1);
323 
324 
325 
326 
327  //---------------------------------------------------------------------------------
328  ///Reweight for Nuclear Optical Potential (see Doc ....)
330  const Var kNucOptPtlWgt = VarFromNuTruthVar(kNucOptPtlWgt_NT, 1);
331 
332 } // namespace
const NucOptPtl_Wgt * kNucOptPtl_wgt
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:261
const Var kMINERvA_Wgt_MEC
Definition: GenieWeights.h:232
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
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 NuTruthVar kEmpiricalMECWgt2018RPAFix_NT
2018 tune for the MEC component of the cross section after Hydrogen RPA bug fix
Definition: GenieWeights.h:259
const MEC2018RPAFix_QElike_Wgt * kMEC2018RPAFix_QElike_Wgt
Proxy for caf::SRNeutrino.
Definition: SRProxy.h:510
const NuTruthVar kRPAWeightRES2019_NT
Definition: GenieWeights.h:119
const Var kEmpiricalMECtoValenciaMECWgt
Definition: GenieWeights.h:190
const NuTruthVar kRPAWeightCCQE2018_NT
Definition: GenieWeights.h:95
const hNCVWgt2020 * khNCVWgt2020
const Var kNucOptPtlWgt
Definition: GenieWeights.h:330
const Nonres1PiWgt * kNonres1PiWgt
const MINERvA_MEC_Wgt_Var kMINERvA_Wgt_MECNP_NT("MECNP")
"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:235
const NuTruthVar kRPAWeightCCQE2017_NT
Definition: GenieWeights.h:89
const Var kMINERvA_Wgt_MECPP
Definition: GenieWeights.h:240
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:204
const Var kEmpiricalMECWgt2017
See kEmpiricalMECWgt2017ST.
Definition: GenieWeights.h:247
const Var kEmpiricalMECWgt2018
See kEmpiricalMECWgt2018_NT.
Definition: GenieWeights.h:254
const ValenciaMECWgt2020_Provisional * kValenciaMECWgt2020_Provisional
const novarwgt::HistWrapper< TH2 > fHist_nubar
Definition: GenieWeights.h:216
const NuTruthVar kTufts2p2hWgtSA_NT
Definition: GenieWeights.h:150
const Var kMEC2018RPAFixQElikeWgt
Definition: GenieWeights.h:168
const NuTruthVar kRescaleHighWDIS_NT
Definition: GenieWeights.h:315
const Var kRPAWeightCCQE2018
Definition: GenieWeights.h:96
const Var khNCVWgt2020
Definition: GenieWeights.h:322
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 MINERvA_MEC_Wgt_Var kMINERvA_Wgt_QE_NT("QE")
"1p1h" fit (QE was fit, MEC disabled)
Definition: GenieWeights.h:227
caf::mode_type_ fRxn
Definition: GenieWeights.h:217
const NuTruthVar khNCVWgt2020_NT
Reweight GENIE 3.0.6 nominal FSI model to tuned CV (see Doc 42870)
Definition: GenieWeights.h:321
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:281
const Var kMINERvA_Wgt_QE
Definition: GenieWeights.h:228
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
_Var< caf::SRNeutrinoProxy > NuTruthVar
Var designed to be used over the nuTree, ie all neutrinos, not just those that got slices...
Definition: Var.h:82
const Var kEmpiricalMECtoGENIERESWgt
Definition: GenieWeights.h:184
const Var kEmpiricalMECtoGENIEQEWgt
Definition: GenieWeights.h:180
static constexpr DoubleGaussParameters sParams
Definition: GenieWeights.h:289
caf::StandardRecord * sr
const Tufts2p2hWgtSA * kTufts2p2hWgtSA
int evt
Definition: NusVarsTemp.cxx:53
double GetWeight(const caf::SRNeutrinoProxy *sr) 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:236
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:7
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 MINERvA_MEC_Wgt_Var kMINERvA_Wgt_MEC_NT("MEC")
"2p2h" fit (all MEC was fit)
Definition: GenieWeights.h:231
const NuTruthVar kEmpiricalMECtoGENIEQEWgt_NT
Reweight Empirical MEC to GENIE QE in q0, fixing q3 to data (see Doc 18741)
Definition: GenieWeights.h:179
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 novarwgt::HistWrapper< TH2 > fHist_nu
Definition: GenieWeights.h:215
const NuTruthVar RPAWeightVar_Q2
Definition: GenieWeights.h:78
EmpiricalMECWgt2020(const novarwgt::IRegisterable::ClassID< EmpiricalMECWgt2020 > &clID)
Definition: GenieWeights.h:268
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:252
const DytmanMECFixXsecEdepWgt * kDytmanMECFixXsecEdepWgt
const MINERvA_MEC_Wgt_Var kMINERvA_Wgt_MECPP_NT("MECPP")
"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:239
const NuTruthVar kEmpiricalMECWgt2017ST
2017 "best guess" for the MEC cross section (spill truth version)
Definition: GenieWeights.h:245
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:329
Template for Cut and SpillCut.
Definition: Cut.h:15
const std::string histFile
Definition: GenieWeights.h:207
Template for Var and SpillVar.
const NuTruthVar kRPAWeightRES2017_NT
Definition: GenieWeights.h:114
const EmpiricalMEC_to_GENIEQE_Wgt * kEmpiricalMEC_to_GENIEQE_Wgt
const Var kRescaleHighWDIS
Definition: GenieWeights.h:316
const RPAWeightQ2_2017 * kRPAWeightRES2019
Definition: RPAWeights.cxx:56
const Var kFixNonres1Pi
Definition: GenieWeights.h:127
const NuTruthVar kFixNonres1PiST
Definition: GenieWeights.h:126
MINERvA_MEC_Wgt_Var(const std::string &whichWgt)
enum BeamMode string