GReWeightNuXSecNCEL.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::rew::GReWeightNuXSecNCEL
5 
6 \brief Reweighting NCEL GENIE neutrino cross sections
7 
8 \author Costas Andreopoulos <costas.andreopoulos \at stfc.ac.uk>
9  University of Liverpool & STFC Rutherford Appleton Lab
10 
11 \created Nov 25, 2010
12 
13 \cpright Copyright (c) 2003-2017, GENIE Neutrino MC Generator Collaboration
14  For the full text of the license visit http://copyright.genie-mc.org
15  or see $GENIE/LICENSE
16 */
17 //____________________________________________________________________________
18 
19 #ifndef _G_REWEIGHT_NU_XSEC_NCEL_H_
20 #define _G_REWEIGHT_NU_XSEC_NCEL_H_
21 
22 //#define _G_REWEIGHT_NCEL_DEBUG_
23 
24 #include <map>
25 #include <string>
26 
27 #include "ReWeight/GReWeightI.h"
28 
29 using std::map;
30 using std::string;
31 
32 class TFile;
33 class TNtupleD;
34 
35 namespace genie {
36 
37 class XSecAlgorithmI;
38 class Registry;
39 
40 namespace rew {
41 
43  {
44  public:
47 
48  // implement the GReWeightI interface
49  bool IsHandled (GSyst_t syst);
50  void SetSystematic (GSyst_t syst, double val);
51  void Reset (void);
52  void Reconfigure (void);
53  double CalcWeight (const EventRecord & event);
54 
55  // various config options
56  void RewNue (bool tf ) { fRewNue = tf; }
57  void RewNuebar (bool tf ) { fRewNuebar = tf; }
58  void RewNumu (bool tf ) { fRewNumu = tf; }
59  void RewNumubar (bool tf ) { fRewNumubar = tf; }
60  void SetMaPath (string p) { fMaPath = p; }
61  void SetEtaPath (string p) { fEtaPath = p; }
62 
63  private:
64 
65  void Init(void);
66 
67  XSecAlgorithmI * fXSecModelDef; ///< default model
68  XSecAlgorithmI * fXSecModel; ///< tweaked model
69  Registry * fXSecModelConfig; ///< config in tweaked model
70 
71  bool fRewNue; ///< reweight nu_e CC?
72  bool fRewNuebar; ///< reweight nu_e_bar CC?
73  bool fRewNumu; ///< reweight nu_mu CC?
74  bool fRewNumubar; ///< reweight nu_mu_bar CC?
75  string fMaPath; ///< M_{A} path in config Registry
76  string fEtaPath; ///< eta path in config Registry
77  double fMaTwkDial; ///<
78  double fMaDef; ///<
79  double fMaCurr; ///<
80  double fEtaTwkDial; ///<
81  double fEtaDef; ///<
82  double fEtaCurr; ///<
83 
84 #ifdef _G_REWEIGHT_NCEL_DEBUG_
85  TFile * fTestFile;
86  TNtupleD * fTestNtp;
87 #endif
88  };
89 
90 } // rew namespace
91 } // genie namespace
92 
93 #endif
94 
Cross Section Calculation Interface.
bool fRewNumu
reweight nu_mu CC?
void Reconfigure(void)
propagate updated nuisance parameter values to actual MC, etc
#include "Numerical/GSFunc.h"
Definition: AlgCmp.h:26
void SetSystematic(GSyst_t syst, double val)
update the value for the specified nuisance param
bool IsHandled(GSyst_t syst)
does the current weight calculator handle the input nuisance param?
std::string string
Definition: nybbler.cc:12
Reweighting NCEL GENIE neutrino cross sections.
void Reset(void)
set all nuisance parameters to default values
Registry * fXSecModelConfig
config in tweaked model
Definition: tf_graph.h:23
XSecAlgorithmI * fXSecModel
tweaked model
bool fRewNuebar
reweight nu_e_bar CC?
XSecAlgorithmI * fXSecModelDef
default model
double CalcWeight(const EventRecord &event)
calculate a weight for the input event using the current nuisance param values
string fEtaPath
eta path in config Registry
An enumeration of systematic parameters.
string fMaPath
M_{A} path in config Registry.
Generated Event Record. It is a GHepRecord object that can accept / be visited by EventRecordVisitorI...
Definition: EventRecord.h:38
p
Definition: test.py:228
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:66
Event finding and building.
GENIE event reweighting engine ABC.
Definition: GReWeightI.h:31
bool fRewNumubar
reweight nu_mu_bar CC?