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