Skip to content
Snippets Groups Projects
Commit 389c417b authored by Ziyue Zhang's avatar Ziyue Zhang
Browse files

Update dvmp/analysis/util.h, dvmp/analysis/vm_invar.cxx files

parent 10f34695
Branches
No related tags found
1 merge request!22Add nu Q2 x plots for simulation
This commit is part of merge request !22. Comments created here will be created in the context of that merge request.
......@@ -159,28 +159,28 @@ get_y(const std::pair<ROOT::Math::PxPyPzMVector, ROOT::Math::PxPyPzMVector>&
//========================================================================================================
//for structure functions
struct structure_func{ //add more when needed
struct inv_quant{ //add more when needed
double nu, Q2, x;
};
//for simu
inline structure_func calc_structure_func_simu(const std::vector<ROOT::Math::PxPyPzMVector>& parts){
inline inv_quant calc_inv_quant_simu(const std::vector<ROOT::Math::PxPyPzMVector>& parts){
ROOT::Math::PxPyPzMVector q(parts[0] - parts[2]);
ROOT::Math::PxPyPzMVector P(parts[3]);
double nu = q.Dot(P) / P.mass();
double Q2 = - q.Dot(q);
structure_func quantities = {nu, Q2, Q2/2./P.mass()/nu};
inv_quant quantities = {nu, Q2, Q2/2./P.mass()/nu};
return quantities;
}
inline double get_nu_simu(structure_func quantities) {
inline double get_nu_simu(inv_quant quantities) {
return quantities.nu/1000.;
}
inline double get_Q2_simu(structure_func quantities) {
inline double get_Q2_simu(inv_quant quantities) {
return quantities.Q2;
}
inline double get_x_simu(structure_func quantities) {
inline double get_x_simu(inv_quant quantities) {
return quantities.x;
}
......
......@@ -83,10 +83,10 @@ int vm_invar(const std::string& config_name) {
.Define("N", "p_rec.size()")
.Define("p_sim", util::momenta_from_simulation, {"mcparticles2"})
//================================================================
.Define("structure_functions", util::calc_structure_func_simu, {"p_sim"})
.Define("nu_sim" , util::get_nu_simu, {"structure_functions"})
.Define("Q2_sim" , util::get_Q2_simu, {"structure_functions"})
.Define("x_sim" , util::get_x_simu, {"structure_functions"});
.Define("invariant_quantities", util::calc_inv_quant_simu, {"p_sim"})
.Define("nu_sim" , util::get_nu_simu, {"invariant_quantities"})
.Define("Q2_sim" , util::get_Q2_simu, {"invariant_quantities"})
.Define("x_sim" , util::get_x_simu, {"invariant_quantities"});
//================================================================
// Define output histograms
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment