GReWeightNuXSecCCQEaxial.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::rew::GReWeightNuXSecCCQEaxial
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  STFC, Rutherford Appleton Laboratory
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_AXIAL_H_
24 #define _G_REWEIGHT_NU_XSEC_CCQE_AXIAL_H_
25 
26 #include <map>
27 #include <string>
28 
29 #include "ReWeight/GReWeightI.h"
30 
31 using std::map;
32 using std::string;
33 
34 class TFile;
35 class TNtupleD;
36 
37 namespace genie {
38 
39 class XSecAlgorithmI;
40 
41 namespace rew {
42 
44  {
45  public:
48 
49  // implement the GReWeightI interface
50  bool IsHandled (GSyst_t syst);
51  void SetSystematic (GSyst_t syst, double val);
52  void Reset (void);
53  void Reconfigure (void);
54  double CalcWeight (const EventRecord & event);
55  double CalcChisq (void);
56 
57  // various config options
58  void RewNue (bool tf ) { fRewNue = tf; }
59  void RewNuebar (bool tf ) { fRewNuebar = tf; }
60  void RewNumu (bool tf ) { fRewNumu = tf; }
61  void RewNumubar (bool tf ) { fRewNumubar = tf; }
62 
63  private:
64 
65  void Init (void);
66 
67  XSecAlgorithmI * fXSecModel_dpl; ///< CCQE model with dipole f/f (default)
68  XSecAlgorithmI * fXSecModel_zexp; ///< CCQE model with z-expansion f/f ("maximally" tweaked)
69 
70  double fFFTwkDial; ///< tweaking dial (0: bba/default, +1: dipole)
71 
72  bool fRewNue; ///< reweight nu_e CC?
73  bool fRewNuebar; ///< reweight nu_e_bar CC?
74  bool fRewNumu; ///< reweight nu_mu CC?
75  bool fRewNumubar; ///< reweight nu_mu_bar CC?
76 
77  TFile * fTestFile;
78  TNtupleD * fTestNtp;
79  };
80 
81 } // rew namespace
82 } // genie namespace
83 
84 #endif
85 
Cross Section Calculation Interface.
double CalcWeight(const EventRecord &event)
calculate a weight for the input event using the current nuisance param values
#include "Numerical/GSFunc.h"
Definition: AlgCmp.h:26
std::string string
Definition: nybbler.cc:12
double fFFTwkDial
tweaking dial (0: bba/default, +1: dipole)
void SetSystematic(GSyst_t syst, double val)
update the value for the specified nuisance param
XSecAlgorithmI * fXSecModel_dpl
CCQE model with dipole f/f (default)
Definition: tf_graph.h:23
void Reset(void)
set all nuisance parameters to default values
Reweighting vector form factors in GENIE CCQE neutrino cross section calculations.
XSecAlgorithmI * fXSecModel_zexp
CCQE model with z-expansion f/f ("maximally" tweaked)
An enumeration of systematic parameters.
void Reconfigure(void)
propagate updated nuisance parameter values to actual MC, etc
Generated Event Record. It is a GHepRecord object that can accept / be visited by EventRecordVisitorI...
Definition: EventRecord.h:38
bool IsHandled(GSyst_t syst)
does the current weight calculator handle the input nuisance param?
Event finding and building.
GENIE event reweighting engine ABC.
Definition: GReWeightI.h:31