OtherAbsorptionOutOfTargetReweighter.h
Go to the documentation of this file.
1 #ifndef OTHERABSORPTIONOUTOFTARGETREWEIGHTER_H
2 #define OTHERABSORPTIONOUTOFTARGETREWEIGHTER_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 OtherAbsorptionOutOfTargetReweighter
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  OtherAbsorptionOutOfTargetReweighter(int iuniv, const ParameterTable& cv_pars, const ParameterTable& univ_pars);
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;
32 
33  };
34 
35 
36 
37 
38 }
39 #if defined __clang__
40  #pragma clang diagnostic pop
41 #endif
42 
43 #endif
A list/table of parameter names and values.
Information about the chain of interactions leading to a neutrino.
virtual double calculateWeight(const InteractionChainData &aa)
calculate a weight for this interaction chain given the central value parameters and the parameters f...
virtual std::vector< bool > canReweight(const InteractionChainData &aa)
Look through the InteractionChainData input and identify those Interactions that can be reweighted as...
OtherAbsorptionOutOfTargetReweighter(int iuniv, const ParameterTable &cv_pars, const ParameterTable &univ_pars)
Reweight a MC survival probabiity when the particles through volumes.