AbsorptionICReweighter.h
Go to the documentation of this file.
1 #ifndef ABSORPTIONICREWEIGHTER_H
2 #define ABSORPTIONICREWEIGHTER_H
3 
5 #include "ParameterTable.h"
6 
7 #if defined __clang__
8  #pragma clang diagnostic push
9  #pragma clang diagnostic ignored "-Wunused-private-field"
10 #endif
11 namespace NeutrinoFluxReweight{
12 
13  /*! \class AbsorptionReweighter
14  * \brief Reweight a MC survival probabiity when the particles through volumes
15  */
17  public:
18  /*!
19  * The constructor. Note, we pass central value and single universe parameters in this constructor only. There is thus a 1 to 1 correspondence between an instance of this class and a given universe.
20  */
21  AbsorptionICReweighter(int iuniv, const ParameterTable& cv_pars, const ParameterTable& univ_pars);
22  virtual ~AbsorptionICReweighter();
23  //! Look through the InteractionChainData input and identify those Interactions that can be reweighted as part of a chain. We return a vector indicating which elements will be assigned a weight by calculateWeight
24  virtual std::vector<bool> canReweight(const InteractionChainData& aa);
25  //! calculate a weight for this interaction chain given the central value parameters and the parameters for this universe. The weight is something like: f(cv)/f(MC) * f(univ)/f(cv) where cv in this case corresponds to the best value of the parameter, given the data. If univ_pars=cv_pars then we are calculating a central value weight. Note, canReweight() should be called to determine which elements of the chain are covered by the weight returned by calculateWeight()
26  virtual double calculateWeight(const InteractionChainData& aa);
29  private:
30  int iUniv;
34 
35  };
36 
37 
38 
39 
40 }
41 #if defined __clang__
42  #pragma clang diagnostic pop
43 #endif
44 
45 #endif
virtual double calculateWeight(const InteractionChainData &aa)
calculate a weight for this interaction chain given the central value parameters and the parameters f...
A list/table of parameter names and values.
Information about the chain of interactions leading to a neutrino.
AbsorptionICReweighter(int iuniv, const ParameterTable &cv_pars, const ParameterTable &univ_pars)
virtual std::vector< bool > canReweight(const InteractionChainData &aa)
Look through the InteractionChainData input and identify those Interactions that can be reweighted as...