AbsorptionDPIPReweighter.h
Go to the documentation of this file.
1 #ifndef ABSORPTIONDPIPREWEIGHTER_H
2 #define ABSORPTIONDPIPREWEIGHTER_H
3 
5 #include "ParameterTable.h"
6 
7 
8 #if defined __clang__
9  #pragma clang diagnostic push
10  #pragma clang diagnostic ignored "-Wunused-private-field"
11 #endif
13 
14  /*! \class AbsorptionReweighter
15  * \brief Reweight a MC survival probabiity when the particles through volumes
16  */
18  public:
19  /*!
20  * 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.
21  */
22  AbsorptionDPIPReweighter(int iuniv, const ParameterTable& cv_pars, const ParameterTable& univ_pars);
23  virtual ~AbsorptionDPIPReweighter();
24  //! 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
25  virtual std::vector<bool> canReweight(const InteractionChainData& aa);
26  //! 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()
27  virtual double calculateWeight(const InteractionChainData& aa);
28 
31 
32  private:
33  int iUniv;
37 
38  };
39 
40 
41 
42 
43 }
44 #if defined __clang__
45  #pragma clang diagnostic pop
46 #endif
47 
48 #endif
A list/table of parameter names and values.
Information about the chain of interactions leading to a neutrino.
AbsorptionDPIPReweighter(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...
virtual double calculateWeight(const InteractionChainData &aa)
calculate a weight for this interaction chain given the central value parameters and the parameters f...