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