Skip to content
Snippets Groups Projects

Add J/psi resolution; re-write RC with Dummy instead of rc tracks

Merged Ziyue Zhang requested to merge ziyue_work_branch into master
Compare and
2 files
+ 30
13
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -14,6 +14,8 @@
@@ -14,6 +14,8 @@
#include <nlohmann/json.hpp>
#include <nlohmann/json.hpp>
#include <string>
#include <string>
#include <vector>
#include <vector>
 
#include "eicd/ReconstructedParticleCollection.h"
 
#include "eicd/ReconstructedParticleData.h"
// Run VM invariant-mass-based benchmarks on an input reconstruction file for
// Run VM invariant-mass-based benchmarks on an input reconstruction file for
// a desired vector meson (e.g. jpsi) and a desired decay particle (e.g. muon)
// a desired vector meson (e.g. jpsi) and a desired decay particle (e.g. muon)
@@ -82,9 +84,10 @@ int vm_mass(const std::string& config_name)
@@ -82,9 +84,10 @@ int vm_mass(const std::string& config_name)
// util::PrintGeant4(mcparticles2);
// util::PrintGeant4(mcparticles2);
// Define analysis flow
// Define analysis flow
auto d_im = d.Define("p_rec", momenta_from_tracking, {"outputTrackParameters"})
auto d_im = d.Define("p_rec", momenta_from_tracking, {"outputTrackParameters"})
.Define("N", "p_rec.size()")
.Define("p_rec_test", util::momenta_RC, {"DummyReconstructedParticles"})
 
.Define("N", "p_rec_test.size()")
.Define("p_sim", util::momenta_from_simulation, {"mcparticles2"})
.Define("p_sim", util::momenta_from_simulation, {"mcparticles2"})
.Define("decay_pair_rec", find_decay_pair, {"p_rec"})
.Define("decay_pair_rec", find_decay_pair, {"p_rec_test"})
.Define("decay_pair_sim", find_decay_pair, {"p_sim"})
.Define("decay_pair_sim", find_decay_pair, {"p_sim"})
.Define("p_vm_rec", "decay_pair_rec.first + decay_pair_rec.second")
.Define("p_vm_rec", "decay_pair_rec.first + decay_pair_rec.second")
.Define("p_vm_sim", "decay_pair_sim.first + decay_pair_sim.second")
.Define("p_vm_sim", "decay_pair_sim.first + decay_pair_sim.second")
@@ -99,19 +102,17 @@ int vm_mass(const std::string& config_name)
@@ -99,19 +102,17 @@ int vm_mass(const std::string& config_name)
.Define("eta_sim", "p_vm_sim.eta()");
.Define("eta_sim", "p_vm_sim.eta()");
// Define output histograms
// Define output histograms
auto h_im_rec =
auto h_im_rec = d_im.Histo1D({"h_im_rec", ";m_{ll'} (GeV/c^{2});#", (int)(vm_mass+0.5)*2*100, 0., 2.*(int)(vm_mass+0.5)}, "mass_rec");
d_im.Histo1D({"h_im_rec", ";m_{ll'} (GeV/c^{2});#", 100, -1.1, vm_mass + 5}, "mass_rec");
auto h_im_sim = d_im.Histo1D({"h_im_sim", ";m_{ll'} (GeV/c^{2});#", (int)(vm_mass+0.5)*2*100, 3.0, 3.2}, "mass_sim");
auto h_im_sim =
d_im.Histo1D({"h_im_sim", ";m_{ll'} (GeV/c^{2});#", 100, -1.1, vm_mass + 5}, "mass_sim");
auto h_pt_rec = d_im.Histo1D({"h_pt_rec", ";p_{T} (GeV/c);#", 400, 0., 40.}, "pt_rec");
auto h_pt_rec = d_im.Histo1D({"h_pt_rec", ";p_{T} (GeV/c);#", 150, 0., 15.}, "pt_rec");
auto h_pt_sim = d_im.Histo1D({"h_pt_sim", ";p_{T} (GeV/c);#", 400, 0., 40.}, "pt_sim");
auto h_pt_sim = d_im.Histo1D({"h_pt_sim", ";p_{T} (GeV/c);#", 150, 0., 15.}, "pt_sim");
auto h_phi_rec = d_im.Histo1D({"h_phi_rec", ";#phi_{ll'};#", 90, -M_PI, M_PI}, "phi_rec");
auto h_phi_rec = d_im.Histo1D({"h_phi_rec", ";#phi_{ll'};#", 90, -M_PI, M_PI}, "phi_rec");
auto h_phi_sim = d_im.Histo1D({"h_phi_sim", ";#phi_{ll'};#", 90, -M_PI, M_PI}, "phi_sim");
auto h_phi_sim = d_im.Histo1D({"h_phi_sim", ";#phi_{ll'};#", 90, -M_PI, M_PI}, "phi_sim");
auto h_eta_rec = d_im.Histo1D({"h_eta_rec", ";#eta_{ll'};#", 1000, -5., 5.}, "eta_rec");
auto h_eta_rec = d_im.Histo1D({"h_eta_rec", ";#eta_{ll'};#", 400, -2., 2.}, "eta_rec");
auto h_eta_sim = d_im.Histo1D({"h_eta_sim", ";#eta_{ll'};#", 1000, -5., 5.}, "eta_sim");
auto h_eta_sim = d_im.Histo1D({"h_eta_sim", ";#eta_{ll'};#", 400, -2., 2.}, "eta_sim");
// Plot our histograms.
// Plot our histograms.
// TODO: to start I'm explicitly plotting the histograms, but want to
// TODO: to start I'm explicitly plotting the histograms, but want to
@@ -135,7 +136,7 @@ int vm_mass(const std::string& config_name)
@@ -135,7 +136,7 @@ int vm_mass(const std::string& config_name)
h11.GetYaxis()->CenterTitle();
h11.GetYaxis()->CenterTitle();
// draw everything
// draw everything
h11.DrawClone("hist");
h11.DrawClone("hist");
h12.DrawClone("hist same");
//h12.DrawClone("hist same");
// FIXME hardcoded beam configuration
// FIXME hardcoded beam configuration
plot::draw_label(10, 100, detector);
plot::draw_label(10, 100, detector);
TText* tptr1;
TText* tptr1;
Loading