53 sprintf(namepar,
"ThinTarget_mesonleftover_incident_%d",0);
58 const char* cinc[5] = {
"pip",
"pim",
"kap",
"kam",
"k0"};
59 const char* cpro[7] = {
"pip",
"pim",
"kap",
"kam",
"k0",
"p",
"n"};
61 for(
int ii=0;ii<5;ii++){
62 for(
int jj=0;jj<7;jj++){
63 for(
int kk=0;kk<4;kk++){
65 sprintf(namepar,
"ThinTarget_%s_incident_%s_%d",cinc[ii],cpro[jj],kk);
115 if(aa.
Proc.find(
"Inelastic")>100)
return false;
123 if(is_mesoninc)
return true;
137 if(bin>=0 && right_inc && right_prod){
189 else if(is_mesoninc){
A class to manage the bin definitions for MIPP Numi Yields.
A list/table of parameter names and values.
std::vector< float > vbin_k0_inc_k0
std::vector< float > vbin_k0_inc_kam
std::vector< float > vbin_k0_inc_pip
std::vector< float > vbin_kap_inc_kap
int Prod_pdg
pdg code of the produced particle
double Pt
Transversal momentum (GeV/c) of the produced particle.
double getParameterValue(const std::string &name) const
get the value of a parameter. throw an exception of a well defined type if we don't have it ...
std::vector< float > vbin_kap_inc_n
std::vector< float > vbin_k0_inc_pim
The information about a hadronic interaction needed to calculate weights.
std::vector< float > vbin_pim_inc_p
std::vector< float > vbin_kam_inc_pip
std::vector< float > vbin_pim_inc_pip
virtual double calculateWeight(const InteractionData &aa)
calculate a weight for this interaction given the central value parameters and the parameters for thi...
std::vector< float > vbin_pip_inc_kap
std::vector< float > vbin_kap_inc_k0
std::vector< float > vbin_pim_inc_kam
double xF
Feynmann-x of the produced particle: .
std::vector< float > vbin_pip_inc_n
std::vector< float > vbin_k0_inc_p
int meson_inc_BinID(double xf, double pt, int pdgcode)
Return Pion incident bin.
const ParameterTable & univPars
std::vector< float > vbin_pip_inc_pip
int GetNbins_meson_incident()
std::string Proc
Interaction process.
double Inc_P
Momentum magnitude of the incident particle.
virtual ~ThinTargetMesonIncidentReweighter()
std::vector< float > vbin_kap_inc_p
std::vector< float > vbin_pip_inc_p
std::vector< float > vbin_pim_inc_kap
std::vector< float > vbin_pim_inc_n
ThinTargetMesonIncidentReweighter(int iuniv, const ParameterTable &cv_pars, const ParameterTable &univ_pars)
int Inc_pdg
pdg code of the incident particle
std::vector< float > vbin_kap_inc_pim
std::vector< float > vbin_kap_inc_pip
std::vector< float > vbin_kam_inc_pim
std::vector< float > vbin_k0_inc_kap
static ThinTargetBins * getInstance()
std::vector< float > vbin_pip_inc_k0
QTextStream & bin(QTextStream &s)
std::vector< float > vbin_k0_inc_n
std::vector< float > vbin_pip_inc_kam
std::vector< float > vbin_kam_inc_n
std::vector< float > vbin_pim_inc_pim
std::vector< float > vbin_kam_inc_p
std::vector< float > vbin_kap_inc_kam
std::vector< float > vbin_kam_inc_k0
std::vector< float > vbin_kam_inc_kam
std::vector< float > vbin_pim_inc_k0
QTextStream & endl(QTextStream &s)
std::vector< float > vbin_kam_inc_kap
virtual bool canReweight(const InteractionData &aa)
can the particular instance of this class reweight this interaction?
float bin_mesonleftover_inc
std::vector< float > vbin_pip_inc_pim