MIPPNumiMC.h
Go to the documentation of this file.
1 #ifndef MIPPNUMIMC_H
2 #define MIPPNUMIMC_H
3 
4 #include <utility>
5 #include <vector>
6 #include <string>
7 #include <iostream>
8 #include <iostream>
9 #include <sstream>
10 
11 namespace NeutrinoFluxReweight{
12 
13  /*! \class MIPPNumiMC
14  * \brief A class to manage the MC value for MIPP NuMI.
15  */
16  class MIPPNumiMC{
17 
18  private:
19  MIPPNumiMC();
20 
21  public:
22  static MIPPNumiMC* getInstance();
23 
24  //! Read a xml file name to get the mc value for pip
25  void pip_mc_from_xml(const char* filename);
26 
27  //! Read a xml file name to get the mc value for pim
28  void pim_mc_from_xml(const char* filename);
29 
30  //! Read a xml file name to get the mc value for kap
31  void kap_mc_from_xml(const char* filename);
32 
33  //! Read a xml file name to get the mc value for kam
34  void kam_mc_from_xml(const char* filename);
35 
36  //! Read a xml file name to get the mc value for k0l
37  void k0l_mc_from_xml(const char* filename);
38 
39  //! Read a xml file name to get the mc value for k0s
40  void k0s_mc_from_xml(const char* filename);
41 
42  //! MC value for this HP production
43  double getMCval(double pz,double pt, int pdgcode);
44 
45  private:
46  std::vector<double> pip_cv,pim_cv,kap_cv,kam_cv,k0l_cv,k0s_cv;
47  std::vector<double> v_pzmin,v_pzmax,v_ptmin,v_ptmax;
51 
52  };
53 
54 
55 
56 }
57 #endif
std::vector< double > kap_cv
Definition: MIPPNumiMC.h:46
double getMCval(double pz, double pt, int pdgcode)
MC value for this HP production.
Definition: MIPPNumiMC.cpp:222
A class to manage the MC value for MIPP NuMI.
Definition: MIPPNumiMC.h:16
static MIPPNumiMC * instance
Definition: MIPPNumiMC.h:50
std::vector< double > kam_cv
Definition: MIPPNumiMC.h:46
void k0l_mc_from_xml(const char *filename)
Read a xml file name to get the mc value for k0l.
Definition: MIPPNumiMC.cpp:156
std::vector< double > pip_cv
Definition: MIPPNumiMC.h:46
std::vector< double > k0l_cv
Definition: MIPPNumiMC.h:46
std::vector< double > v_ptmin
Definition: MIPPNumiMC.h:47
string filename
Definition: train.py:213
static MIPPNumiMC * getInstance()
Definition: MIPPNumiMC.cpp:295
void pim_mc_from_xml(const char *filename)
Read a xml file name to get the mc value for pim.
Definition: MIPPNumiMC.cpp:54
void kam_mc_from_xml(const char *filename)
Read a xml file name to get the mc value for kam.
Definition: MIPPNumiMC.cpp:123
void kap_mc_from_xml(const char *filename)
Read a xml file name to get the mc value for kap.
Definition: MIPPNumiMC.cpp:89
std::vector< double > v_pzmin
Definition: MIPPNumiMC.h:47
std::vector< double > v_pzmax
Definition: MIPPNumiMC.h:47
void pip_mc_from_xml(const char *filename)
Read a xml file name to get the mc value for pip.
Definition: MIPPNumiMC.cpp:18
std::vector< double > v_ptmax
Definition: MIPPNumiMC.h:47
std::vector< double > k0s_cv
Definition: MIPPNumiMC.h:46
void k0s_mc_from_xml(const char *filename)
Read a xml file name to get the mc value for k0s.
Definition: MIPPNumiMC.cpp:189
std::vector< double > pim_cv
Definition: MIPPNumiMC.h:46