GReWeightI.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::rew::GReWeightI
5 
6 \brief GENIE event reweighting engine ABC
7 
8 \author Costas Andreopoulos <costas.andreopoulos \at stfc.ac.uk>
9  University of Liverpool & STFC Rutherford Appleton Lab
10 
11 \created Aug 1, 2009
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_ABC_H_
20 #define _G_REWEIGHT_ABC_H_
21 
22 #include "ReWeight/GSyst.h"
23 #include "ReWeight/GSystSet.h"
24 
25 namespace genie {
26 
27 class EventRecord;
28 
29 namespace rew {
30 
31  class GReWeightI
32  {
33  public:
34  virtual ~GReWeightI()
35  {
36 
37  }
38 
39  //
40  // define the GReWeightI interface
41  //
42 
43  //! does the current weight calculator handle the input nuisance param?
44  virtual bool IsHandled (GSyst_t syst) = 0;
45 
46  //! update the value for the specified nuisance param
47  virtual void SetSystematic (GSyst_t syst, double val) = 0;
48 
49  //! set all nuisance parameters to default values
50  virtual void Reset (void) = 0;
51 
52  //! propagate updated nuisance parameter values to actual MC, etc
53  virtual void Reconfigure (void) = 0;
54 
55  //! calculate a weight for the input event using the current nuisance param values
56  virtual double CalcWeight (const genie::EventRecord & event) = 0;
57 
58  protected:
59 
61  {
62 
63  }
64  };
65 
66 } // rew namespace
67 } // genie namespace
68 
69 #endif
70 
#include "Numerical/GSFunc.h"
Definition: AlgCmp.h:26
An enumeration of systematic parameters.
virtual bool IsHandled(GSyst_t syst)=0
does the current weight calculator handle the input nuisance param?
virtual void Reconfigure(void)=0
propagate updated nuisance parameter values to actual MC, etc
virtual double CalcWeight(const genie::EventRecord &event)=0
calculate a weight for the input event using the current nuisance param values
virtual void SetSystematic(GSyst_t syst, double val)=0
update the value for the specified nuisance param
Generated Event Record. It is a GHepRecord object that can accept / be visited by EventRecordVisitorI...
Definition: EventRecord.h:38
virtual void Reset(void)=0
set all nuisance parameters to default values
Event finding and building.
GENIE event reweighting engine ABC.
Definition: GReWeightI.h:31