ThinTargetpCNucleonReweighter.h
Go to the documentation of this file.
1 
2 #ifndef THINTARGETPCNUCLEONREWEIGHTER_H
3 #define THINTARGETPCNUCLEONREWEIGHTER_H
4 
6 
7 #include <vector>
8 
9 namespace NeutrinoFluxReweight{
10 
11  /*! \class ThinTargetpCNucleonReweighter
12  * \brief Reweighter of thin target p,n production
13  */
14 
16  public:
17  ThinTargetpCNucleonReweighter(int iuniv, const ParameterTable& cv_pars, const ParameterTable& univ_pars);
19  virtual bool canReweight(const InteractionData& aa);
20  virtual double calculateWeight(const InteractionData& aa);
21 
22  double calculateDataScale(int inc_pdg, double inc_mom, int prod_pdg,double xf, double pt);
23 
24  double data_prod_xs;
25  std::vector<float> vbin_data_p, vbin_data_n;
26 
27  private:
28  int iUniv;
31 
32  };
33 
34 
35 }
36 #endif
A list/table of parameter names and values.
virtual double calculateWeight(const InteractionData &aa)
calculate a weight for this interaction given the central value parameters and the parameters for thi...
double calculateDataScale(int inc_pdg, double inc_mom, int prod_pdg, double xf, double pt)
The information about a hadronic interaction needed to calculate weights.
virtual bool canReweight(const InteractionData &aa)
can the particular instance of this class reweight this interaction?
ThinTargetpCNucleonReweighter(int iuniv, const ParameterTable &cv_pars, const ParameterTable &univ_pars)