GReWeightAGKY.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::rew::GReWeightAGKY
5 
6 \brief Reweighting the GENIE AGKY (free-nucleon) hadronization model
7 
8 \author Jim Dobson <J.Dobson07 \at imperial.ac.uk>
9  Imperial College London
10 
11  Costas Andreopoulos <costas.andreopoulos \at stfc.ac.uk>
12  University of Liverpool & STFC Rutherford Appleton Lab
13 
14 \created Sep 10, 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_AGKY_H_
23 #define _G_REWEIGHT_AGKY_H_
24 
25 //#define _G_REWEIGHT_AGKY_DEBUG_
26 
27 #include "ReWeight/GReWeightI.h"
28 
29 using namespace genie::rew;
30 using namespace genie;
31 
32 class TF1;
33 class TFile;
34 class TNtupleD;
35 
36 namespace genie {
37 namespace rew {
38 
39  class GReWeightAGKY : public GReWeightI
40  {
41  public:
42  GReWeightAGKY();
43  ~GReWeightAGKY();
44 
45  // implement the GReWeightI interface
46  bool IsHandled (GSyst_t syst);
47  void SetSystematic (GSyst_t syst, double val);
48  void Reset (void);
49  void Reconfigure (void);
50  double CalcWeight (const EventRecord & event);
51 
52  // various config options
53  void RewNue (bool tf ) { fRewNue = tf; }
54  void RewNuebar (bool tf ) { fRewNuebar = tf; }
55  void RewNumu (bool tf ) { fRewNumu = tf; }
56  void RewNumubar (bool tf ) { fRewNumubar = tf; }
57  void RewCC (bool tf ) { fRewCC = tf; }
58  void RewNC (bool tf ) { fRewNC = tf; }
59 
60  private:
61 
62  void Init (void);
63  double RewxFpT1pi (const EventRecord & event);
64 
65  bool fRewNue; ///< reweight nu_e?
66  bool fRewNuebar; ///< reweight nu_e_bar?
67  bool fRewNumu; ///< reweight nu_mu?
68  bool fRewNumubar; ///< reweight nu_mu_bar?
69  bool fRewCC; ///< reweight CC?
70  bool fRewNC; ///< reweight NC?
71  double fXFmin; ///<
72  double fXFmax; ///<
73  double fPT2min; ///<
74  double fPT2max; ///<
75  TF1 * fBaryonXFpdf; ///<
76  TF1 * fBaryonPT2pdf; ///<
77  TF1 * fBaryonXFpdfTwk; ///<
78  TF1 * fBaryonPT2pdfTwk; ///<
79  double fDefPeakBaryonXF; ///<
80  double fDefAvgPT2; ///<
81  double fPeakBaryonXFTwkDial; ///<
82  double fAvgPT2TwkDial; ///<
83  double fI0XFpdf; ///<
84  double fI0PT2pdf; ///<
85 
86 #ifdef _G_REWEIGHT_AGKY_DEBUG_
87  TFile * fTestFile;
88  TNtupleD * fTestNtp;
89 #endif
90  };
91 
92 } // rew
93 } // genie
94 
95 #endif
96 
bool fRewNue
reweight nu_e?
Definition: GReWeightAGKY.h:65
#include "Numerical/GSFunc.h"
Definition: AlgCmp.h:26
bool fRewNumu
reweight nu_mu?
Definition: GReWeightAGKY.h:67
Reweighting the GENIE AGKY (free-nucleon) hadronization model.
Definition: GReWeightAGKY.h:39
bool fRewNuebar
reweight nu_e_bar?
Definition: GReWeightAGKY.h:66
Definition: tf_graph.h:23
bool fRewNumubar
reweight nu_mu_bar?
Definition: GReWeightAGKY.h:68
bool fRewNC
reweight NC?
Definition: GReWeightAGKY.h:70
bool fRewCC
reweight CC?
Definition: GReWeightAGKY.h:69
An enumeration of systematic parameters.
void Init(void)
Definition: gXSecComp.cxx:138
Generated Event Record. It is a GHepRecord object that can accept / be visited by EventRecordVisitorI...
Definition: EventRecord.h:38
Event finding and building.
GENIE event reweighting engine ABC.
Definition: GReWeightI.h:31