MIPPNumiKaonYieldsReweighter.h
Go to the documentation of this file.
1 #ifndef MIPPNUMIKAONYIELDSREWEIGHTER_H
2 #define MIPPNUMIKAONYIELDSREWEIGHTER_H
3 
5 
6 #if defined __clang__
7  #pragma clang diagnostic push
8  #pragma clang diagnostic ignored "-Wunused-private-field"
9 #endif
10 namespace NeutrinoFluxReweight{
11 
12  /*! \class MIPPNumiKaonYieldsReweighter
13  * \brief Reweight a chain of interactions that are covered by the NuMI target K/pi ratios measured by MIPP
14  */
16  public:
17  /*!
18  * 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.
19  */
20  MIPPNumiKaonYieldsReweighter(int iuniv, const ParameterTable& cv_pars, const ParameterTable& univ_pars);
22  //! 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
23  virtual std::vector<bool> canReweight(const InteractionChainData& aa);
24  //! 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()
25  virtual double calculateWeight(const InteractionChainData& aa);
26 
29 
30  private:
31  int iUniv;
32  float prt_no_inter;
35  float aux_par;
36  };
37 
38 
39 
40 
41 }
42 #if defined __clang__
43  #pragma clang diagnostic pop
44 #endif
45 
46 #endif
A list/table of parameter names and values.
MIPPNumiKaonYieldsReweighter(int iuniv, const ParameterTable &cv_pars, const ParameterTable &univ_pars)
Information about the chain of interactions leading to a neutrino.
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...
Reweight a chain of interactions that are covered by the NuMI target K/pi ratios measured by MIPP...