GReWeightNuXSecCCQEvec.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::rew::GReWeightNuXSecCCQEvec
5 
6 \brief Reweighting vector form factors in GENIE CCQE neutrino cross
7  section calculations.
8 
9 \author Costas Andreopoulos <costas.andreopoulos \at stfc.ac.uk>
10  University of Liverpool & STFC Rutherford Appleton Lab
11 
12  Jim Dobson <J.Dobson07 \at imperial.ac.uk>
13  Imperial College London
14 
15 \created May 24, 2010
16 
17 \cpright Copyright (c) 2003-2017, GENIE Neutrino MC Generator Collaboration
18  For the full text of the license visit http://copyright.genie-mc.org
19  or see $GENIE/LICENSE
20 */
21 //____________________________________________________________________________
22 
23 #ifndef _G_REWEIGHT_NU_XSEC_CCQE_VEC_H_
24 #define _G_REWEIGHT_NU_XSEC_CCQE_VEC_H_
25 
26 //#define _G_REWEIGHT_CCQE_VEC_DEBUG_
27 
28 #include <map>
29 #include <string>
30 
31 #include "ReWeight/GReWeightI.h"
32 
33 using std::map;
34 using std::string;
35 
36 class TFile;
37 class TNtupleD;
38 
39 namespace genie {
40 
41 class XSecAlgorithmI;
42 
43 namespace rew {
44 
46  {
47  public:
50 
51  // implement the GReWeightI interface
52  bool IsHandled (GSyst_t syst);
53  void SetSystematic (GSyst_t syst, double val);
54  void Reset (void);
55  void Reconfigure (void);
56  double CalcWeight (const EventRecord & event);
57 
58  // various config options
59  void RewNue (bool tf ) { fRewNue = tf; }
60  void RewNuebar (bool tf ) { fRewNuebar = tf; }
61  void RewNumu (bool tf ) { fRewNumu = tf; }
62  void RewNumubar (bool tf ) { fRewNumubar = tf; }
63 
64  private:
65 
66  void Init (void);
67 
68  XSecAlgorithmI * fXSecModel_bba; ///< CCQE model with BBA05 f/f (default)
69  XSecAlgorithmI * fXSecModel_dpl; ///< CCQE model with dipole f/f ("maximally" tweaked)
70 
71  double fFFTwkDial; ///< tweaking dial (0: bba/default, +1: dipole)
72 
73  bool fRewNue; ///< reweight nu_e CC?
74  bool fRewNuebar; ///< reweight nu_e_bar CC?
75  bool fRewNumu; ///< reweight nu_mu CC?
76  bool fRewNumubar; ///< reweight nu_mu_bar CC?
77 
78 #ifdef _G_REWEIGHT_CCQE_VEC_DEBUG_
79  TFile * fTestFile;
80  TNtupleD * fTestNtp;
81 #endif
82  };
83 
84 } // rew namespace
85 } // genie namespace
86 
87 #endif
88 
Cross Section Calculation Interface.
void SetSystematic(GSyst_t syst, double val)
update the value for the specified nuisance param
#include "Numerical/GSFunc.h"
Definition: AlgCmp.h:26
XSecAlgorithmI * fXSecModel_dpl
CCQE model with dipole f/f ("maximally" tweaked)
std::string string
Definition: nybbler.cc:12
Definition: tf_graph.h:23
Reweighting vector form factors in GENIE CCQE neutrino cross section calculations.
double fFFTwkDial
tweaking dial (0: bba/default, +1: dipole)
double CalcWeight(const EventRecord &event)
calculate a weight for the input event using the current nuisance param values
XSecAlgorithmI * fXSecModel_bba
CCQE model with BBA05 f/f (default)
void Reconfigure(void)
propagate updated nuisance parameter values to actual MC, etc
An enumeration of systematic parameters.
Generated Event Record. It is a GHepRecord object that can accept / be visited by EventRecordVisitorI...
Definition: EventRecord.h:38
void Reset(void)
set all nuisance parameters to default values
bool IsHandled(GSyst_t syst)
does the current weight calculator handle the input nuisance param?
bool fRewNuebar
reweight nu_e_bar CC?
bool fRewNumubar
reweight nu_mu_bar CC?
Event finding and building.
GENIE event reweighting engine ABC.
Definition: GReWeightI.h:31