3 #include <boost/property_tree/ptree.hpp> 4 #include <boost/property_tree/xml_parser.hpp> 19 using boost::property_tree::ptree;
22 ptree&
options = top.get_child(
"inputs.Settings");
25 Nuniverses = options.get<
int>(
"NumberOfUniverses");
35 const char* ppfxDir =
getenv(
"PPFX_DIR");
37 std::cout<<
"Initializing correlation parameters"<<
std::endl;
40 std::cout<<
"Initializing bin data conventions"<<
std::endl;
44 thinbin->
pC_pi_from_xml(Form(
"%s/data/BINS/ThinTarget_pC_pi_Bins.xml",ppfxDir));
46 thinbin->
pC_k_from_xml(Form(
"%s/data/BINS/ThinTargetLowxF_pC_k_Bins.xml",ppfxDir));
49 thinbin->
pC_p_from_xml(Form(
"%s/data/BINS/ThinTarget_pC_p_Bins.xml",ppfxDir));
50 thinbin->
pC_n_from_xml(Form(
"%s/data/BINS/ThinTarget_pC_n_Bins.xml",ppfxDir));
53 std::cout<<
"Initializing MC values"<<
std::endl;
54 mymc->
pip_mc_from_xml(Form(
"%s/data/MIPP/MIPPNuMI_MC_PIP.xml",ppfxDir));
55 mymc->
pim_mc_from_xml(Form(
"%s/data/MIPP/MIPPNuMI_MC_PIM.xml",ppfxDir));
56 mymc->
kap_mc_from_xml(Form(
"%s/data/MIPP/MIPPNuMI_MC_KAP.xml",ppfxDir));
57 mymc->
kam_mc_from_xml(Form(
"%s/data/MIPP/MIPPNuMI_MC_KAM.xml",ppfxDir));
58 mymc->
k0l_mc_from_xml(Form(
"%s/data/MIPP/MIPPNuMI_MC_K0L.xml",ppfxDir));
59 mymc->
k0s_mc_from_xml(Form(
"%s/data/MIPP/MIPPNuMI_MC_K0S.xml",ppfxDir));
65 const int base_universe=1000000;
71 std::cout<<
"Loading parameters for universe: ";
84 std::cout<<
"Loading parameters for cv"<<
std::endl;
91 std::cout<<
"Done configuring universes"<<
std::endl;
144 std::vector<double> tmp_vec;
A class to manage the bin definitions for MIPP Numi Yields.
void k_pi_data_from_xml(const char *filename)
Read a xml kaons over pions file name to parse the bins.
A list/table of parameter names and values.
void doTheJob(InteractionChainData *icd)
void meson_incident_from_xml(const char *filename)
Read a pion incident.
std::vector< double > GetWeights(std::string nameReweighter)
get the vector of the weights for a given reweighter
A class to manage the MC value for MIPP NuMI.
void pim_data_from_xml(const char *filename)
Read a xml pim file name to parse the bins.
A class to make the reweight event by event.
void k0l_mc_from_xml(const char *filename)
Read a xml file name to get the mc value for k0l.
double GetCVWeight()
get the cv weights
Information about the chain of interactions leading to a neutrino.
static MakeReweight * getInstance()
A class to manage and drive the weight calculation procedure.
double calculateWeight(const InteractionChainData &icd)
void barton_pC_pi_from_xml(const char *filename)
Barton:
void material_scaling_from_xml(const char *filename)
Read a pion incident.
static MIPPNumiMC * getInstance()
std::vector< ParameterTable > cvPars
void pim_mc_from_xml(const char *filename)
Read a xml file name to get the mc value for pim.
void mipp_pC_k_pi_from_xml(const char *filename)
MIPP k/pi:
ParameterTable calculateParsForUniverse(int universe)
Calculate a table of randomly varied parameters for a particular universe i. The universe number is u...
void pC_pi_from_xml(const char *filename)
Read a NA49 data pip xml file name to parse the bins.
std::string getenv(std::string const &name)
QTextStream & flush(QTextStream &s)
int GetNumberOfUniversesUsed()
number of universes used in this run
static MakeReweight * instance
void pC_p_from_xml(const char *filename)
Read a NA49 data prt xml file name to parse the bins.
std::string mippCorrOption
void kam_mc_from_xml(const char *filename)
Read a xml file name to get the mc value for kam.
void pC_n_from_xml(const char *filename)
Read a NA49 data neutron xml file name to parse the bins.
A class to manage the bin definitions for MIPP Numi Yields.
void kap_mc_from_xml(const char *filename)
Read a xml file name to get the mc value for kap.
static void resetInstance()
static CentralValuesAndUncertainties * getInstance()
static ThinTargetBins * getInstance()
static MIPPNumiYieldsBins * getInstance()
void pip_mc_from_xml(const char *filename)
Read a xml file name to get the mc value for pip.
A class to manage parameter central values and their uncertanities.
void calculateWeights(nu_g4numi *nu, const char *tgtcfg, const char *horncfg)
ParameterTable getCVPars()
Get the central value parameters.
std::vector< ReweightDriver * > vec_rws
vector of Reweighter Drivers, one per universe
void k0s_mc_from_xml(const char *filename)
Read a xml file name to get the mc value for k0s.
std::map< std::string, std::vector< double > > map_rew_wgts
std::vector< ParameterTable > univPars
ReweightDriver * cv_rw
Reweighter Drivers for the central value.
std::vector< double > vec_wgts
void readFromXML(const char *filename)
Read a xml file name to parse the parameters.
std::vector< double > GetTotalWeights()
total weights
void pip_data_from_xml(const char *filename)
Read a xml pip file name to parse the bins.
QTextStream & endl(QTextStream &s)
void SetOptions(std::string fileIn)
void pC_k_from_xml(const char *filename)
Read a NA49 data K xml file name to parse the bins.