Skip to content
Snippets Groups Projects
Commit c8780170 authored by Sylvester Joosten's avatar Sylvester Joosten
Browse files

minor restructure

parent 15c35c7f
No related branches found
No related tags found
1 merge request!10Update dis
Showing
with 143 additions and 175 deletions
......@@ -33,9 +33,9 @@ detector:
- ./util/build_detector.sh
include:
- local: 'dis/config.yml'
- local: 'dvmp/config.yml'
- local: 'dvcs/config.yml'
- local: 'benchmarks/dis/config.yml'
- local: 'benchmarks/dvmp/config.yml'
- local: 'benchmarks/dvcs/config.yml'
summary:
stage: finish
......
{
// Ensure fmt is loaded
R__LOAD_LIBRARY(libfmt);
//
// top-level include-dir
gROOT->ProcessLine(".include include");
// setup a local build directory so we don't polute our source code with
// ROOT dictionaries etc.
......@@ -37,7 +40,7 @@
// use large fonts
// Int_t font=72; // Helvetica italics
Int_t font = 43; // Helvetica
Int_t font = 43; // Helvetica
Double_t tsize = 26;
s->SetTextFont(font);
......
File moved
File moved
File moved
File moved
dis:generate:
stage: initialize
image: eicweb.phy.anl.gov:4567/eic/juggler/juggler:latest
needs: []
timeout: 1 hours
artifacts:
paths:
- results
script:
- bash dis/gen.sh
- bash benchmarks/dis/gen.sh
dis:process:
stage: process
......
......@@ -67,7 +67,7 @@ fi
echo "Running the digitization and reconstruction"
# FIXME Need to figure out how to pass file name to juggler from the commandline
xenv -x ${JUGGLER_INSTALL_PREFIX}/Juggler.xenv \
gaudirun.py options/tracker_reconstruction.py
gaudirun.py config/tracker_reconstruction.py
if [ "$?" -ne "0" ] ; then
echo "ERROR running juggler"
exit 1
......@@ -76,7 +76,7 @@ ls -l
## =============================================================================
## Step 4: Analysis
root -b -q "dis/analysis/rec_dis_electrons.cxx(\"${JUGGLER_DETECTOR}/${JUGGLER_REC_FILE}\")"
root -b -q "benchmarks/dis/analysis/rec_dis_electrons.cxx(\"${JUGGLER_DETECTOR}/${JUGGLER_REC_FILE}\")"
if [[ "$?" -ne "0" ]] ; then
echo "ERROR running root script"
exit 1
......
......@@ -10,7 +10,7 @@
echo "Running the DIS benchmarks"
## make sure we launch this script from the project root directory
PROJECT_ROOT="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"/..
PROJECT_ROOT="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"/../..
pushd ${PROJECT_ROOT}
## =============================================================================
......@@ -35,8 +35,8 @@ JUGGLER_FILE_NAME_TAG="dis"
## =============================================================================
## Step 1: Dummy event generator
## TODO better file name that encodes the actual configuration we're running
echo "Compiling dis/src/pythia_dis.cc ..."
g++ dis/src/pythia_dis.cc -o pythia_dis \
echo "Compiling benchmarks/dis/generator/pythia_dis.cxx ..."
g++ benchmarks/dis/generator/pythia_dis.cxx -o pythia_dis \
-I/usr/local/include -Iinclude \
-O2 -std=c++11 -pedantic -W -Wall -Wshadow -fPIC \
-L/usr/local/lib -Wl,-rpath,/usr/local/lib -lpythia8 -ldl \
......
File moved
......@@ -3,7 +3,7 @@ dvcs:process:
timeout: 1 hour
needs: ["detector"]
script:
- bash dvcs/dvcs.sh
- bash benchmarks/dvcs/dvcs.sh
artifacts:
paths:
- results
......@@ -18,5 +18,3 @@ dvcs:results:
paths:
- results
# reports:
# junit: ["results/dvcs/dvcs_report.xml"]
......@@ -43,7 +43,7 @@ fi
# Need to figure out how to pass file name to juggler from the commandline
xenv -x ${JUGGLER_INSTALL_PREFIX}/Juggler.xenv \
gaudirun.py options/tracker_reconstruction.py
gaudirun.py config/tracker_reconstruction.py
if [[ "$?" -ne "0" ]] ; then
echo "ERROR running juggler"
exit 1
......@@ -51,7 +51,7 @@ fi
mkdir -p results/dvcs
root -b -q "dvcs/scripts/dvcs_tests.cxx(\"${JUGGLER_REC_FILE}\")"
root -b -q "benchmarks/dvcs/scripts/dvcs_tests.cxx(\"${JUGGLER_REC_FILE}\")"
if [[ "$?" -ne "0" ]] ; then
echo "ERROR running root script"
exit 1
......@@ -62,10 +62,6 @@ if [[ "${JUGGLER_N_EVENTS}" -lt "500" ]] ; then
cp ${JUGGLER_REC_FILE} results/dvcs/.
fi
# Collect the results
#cp dvcs/report.xml results/dvcs/.
#cp dvcs/report2.xml results/dvcs/.
......
File moved
#include "benchmark.hh"
#include "mt.h"
#include "plot.h"
#include "util.h"
#include <benchmark.h>
#include <mt.h>
#include <util.h>
#include <ROOT/RDataFrame.hxx>
#include <cmath>
......@@ -20,21 +21,21 @@
// TODO: I think it would be better to pass small json configuration file to
// the test, instead of this ever-expanding list of function arguments.
// FIXME: MC does not trace back into particle history. Need to fix that
int vm_invar(const std::string& config_name) {
int vm_invar(const std::string& config_name)
{
// read our configuration
std::ifstream config_file{config_name};
std::ifstream config_file{config_name};
nlohmann::json config;
config_file >> config;
const std::string rec_file = config["rec_file"];
const std::string vm_name = config["vm_name"];
const std::string decay_name = config["decay"];
const std::string detector = config["detector"];
std::string output_prefix = config["output_prefix"];
const std::string test_tag = config["test_tag"];
const std::string rec_file = config["rec_file"];
const std::string vm_name = config["vm_name"];
const std::string decay_name = config["decay"];
const std::string detector = config["detector"];
std::string output_prefix = config["output_prefix"];
const std::string test_tag = config["test_tag"];
fmt::print(fmt::emphasis::bold | fg(fmt::color::forest_green),
"Running VM invariant mass analysis...\n");
fmt::print(fmt::emphasis::bold | fg(fmt::color::forest_green), "Running VM invariant mass analysis...\n");
fmt::print(" - Vector meson: {}\n", vm_name);
fmt::print(" - Decay particle: {}\n", decay_name);
fmt::print(" - Detector package: {}\n", detector);
......@@ -43,10 +44,8 @@ int vm_invar(const std::string& config_name) {
// create our test definition
// test_tag
eic::util::Test vm_mass_resolution_test{
{{"name",
fmt::format("{}_{}_{}_mass_resolution", test_tag, vm_name, decay_name)},
{"title",
fmt::format("{} -> {} Invariant Mass Resolution", vm_name, decay_name)},
{{"name", fmt::format("{}_{}_{}_mass_resolution", test_tag, vm_name, decay_name)},
{"title", fmt::format("{} -> {} Invariant Mass Resolution", vm_name, decay_name)},
{"description", "Invariant Mass Resolution calculated from raw "
"tracking data using a Gaussian fit."},
{"quantity", "resolution"},
......@@ -56,12 +55,11 @@ int vm_invar(const std::string& config_name) {
ROOT::EnableImplicitMT(kNumThreads);
// The particles we are looking for. E.g. J/psi decaying into e+e-
const double vm_mass = util::get_pdg_mass(vm_name);
const double vm_mass = util::get_pdg_mass(vm_name);
const double decay_mass = util::get_pdg_mass(decay_name);
// Ensure our output prefix always ends on a dot, a slash or a dash
if (output_prefix.back() != '.' && output_prefix.back() != '/' &&
output_prefix.back() != '-') {
if (output_prefix.back() != '.' && output_prefix.back() != '/' && output_prefix.back() != '-') {
output_prefix += "-";
}
......@@ -70,74 +68,68 @@ int vm_invar(const std::string& config_name) {
// utility lambda functions to bind the vector meson and decay particle
// types
auto momenta_from_tracking =
[decay_mass](const std::vector<eic::TrackParametersData>& tracks) {
return util::momenta_from_tracking(tracks, decay_mass);
};
auto momenta_from_tracking = [decay_mass](const std::vector<eic::TrackParametersData>& tracks) {
return util::momenta_from_tracking(tracks, decay_mass);
};
//====================================================================
// Define analysis flow
auto d_im =
d.Define("p_rec", momenta_from_tracking, {"outputTrackParameters"})
.Define("N", "p_rec.size()")
.Define("p_sim", util::momenta_from_simulation, {"mcparticles2"})
//================================================================
.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"});
//================================================================
auto d_im = d.Define("p_rec", momenta_from_tracking, {"outputTrackParameters"})
.Define("N", "p_rec.size()")
.Define("p_sim", util::momenta_from_simulation, {"mcparticles2"})
//================================================================
.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
auto h_nu_sim = d_im.Histo1D(
{"h_nu_sim", ";#nu/1000;#", 100, 0., 2.}, "nu_sim");
auto h_Q2_sim = d_im.Histo1D(
{"h_Q2_sim", ";Q^{2};#", 100, 0., 15.}, "Q2_sim");
auto h_x_sim = d_im.Histo1D(
{"h_x_sim", ";x;#", 100, 0., 0.1}, "x_sim");
auto h_nu_sim = d_im.Histo1D({"h_nu_sim", ";#nu/1000;#", 100, 0., 2.}, "nu_sim");
auto h_Q2_sim = d_im.Histo1D({"h_Q2_sim", ";Q^{2};#", 100, 0., 15.}, "Q2_sim");
auto h_x_sim = d_im.Histo1D({"h_x_sim", ";x;#", 100, 0., 0.1}, "x_sim");
// Plot our histograms.
// TODO: to start I'm explicitly plotting the histograms, but want to
// factorize out the plotting code moving forward.
{
// Print canvas to output file
TCanvas c{"canvas2", "canvas2", 1800, 600};
c.Divide(3, 1, 0.0001, 0.0001);
//pad 1 nu
// pad 1 nu
c.cd(1);
//gPad->SetLogx(false);
//gPad->SetLogy(false);
// gPad->SetLogx(false);
// gPad->SetLogy(false);
auto& hnu = *h_nu_sim;
// histogram style
hnu.SetLineColor(plot::kMpBlue);
hnu.SetLineWidth(2);
// axes
hnu.GetXaxis()->CenterTitle();
//hnu.GetXaxis()->SetTitle("#times1000");
// hnu.GetXaxis()->SetTitle("#times1000");
// draw everything
hnu.DrawClone("hist");
// FIXME hardcoded beam configuration
plot::draw_label(10, 100, detector, vm_name, "#nu");
TText* tptr21;
auto t21 = new TPaveText(.6, .8417, .9, .925, "NB NDC");
auto t21 = new TPaveText(.6, .8417, .9, .925, "NB NDC");
t21->SetFillColorAlpha(kWhite, 0);
t21->SetTextFont(43);
t21->SetTextSize(25);
tptr21 = t21->AddText("simulated");
tptr21->SetTextColor(plot::kMpBlue);
//tptr1 = t1->AddText("reconstructed");
//tptr1->SetTextColor(plot::kMpOrange);
// tptr1 = t1->AddText("reconstructed");
// tptr1->SetTextColor(plot::kMpOrange);
t21->Draw();
//pad 2 Q2
// pad 2 Q2
c.cd(2);
//gPad->SetLogx(false);
//gPad->SetLogy(false);
// gPad->SetLogx(false);
// gPad->SetLogy(false);
auto& hQ2 = *h_Q2_sim;
// histogram style
hQ2.SetLineColor(plot::kMpBlue);
......@@ -149,20 +141,20 @@ int vm_invar(const std::string& config_name) {
// FIXME hardcoded beam configuration
plot::draw_label(10, 100, detector, vm_name, "Q^{2}");
TText* tptr22;
auto t22 = new TPaveText(.6, .8417, .9, .925, "NB NDC");
auto t22 = new TPaveText(.6, .8417, .9, .925, "NB NDC");
t22->SetFillColorAlpha(kWhite, 0);
t22->SetTextFont(43);
t22->SetTextSize(25);
tptr22 = t22->AddText("simulated");
tptr22->SetTextColor(plot::kMpBlue);
//tptr1 = t1->AddText("reconstructed");
//tptr1->SetTextColor(plot::kMpOrange);
// tptr1 = t1->AddText("reconstructed");
// tptr1->SetTextColor(plot::kMpOrange);
t22->Draw();
//pad 1 nu
// pad 1 nu
c.cd(3);
//gPad->SetLogx(false);
//gPad->SetLogy(false);
// gPad->SetLogx(false);
// gPad->SetLogy(false);
auto& hx = *h_x_sim;
// histogram style
hx.SetLineColor(plot::kMpBlue);
......@@ -174,16 +166,16 @@ int vm_invar(const std::string& config_name) {
// FIXME hardcoded beam configuration
plot::draw_label(10, 100, detector, vm_name, "x");
TText* tptr23;
auto t23 = new TPaveText(.6, .8417, .9, .925, "NB NDC");
auto t23 = new TPaveText(.6, .8417, .9, .925, "NB NDC");
t23->SetFillColorAlpha(kWhite, 0);
t23->SetTextFont(43);
t23->SetTextSize(25);
tptr23 = t23->AddText("simulated");
tptr23->SetTextColor(plot::kMpBlue);
//tptr1 = t1->AddText("reconstructed");
//tptr1->SetTextColor(plot::kMpOrange);
// tptr1 = t1->AddText("reconstructed");
// tptr1->SetTextColor(plot::kMpOrange);
t23->Draw();
c.Print(fmt::format("{}InvariantQuantities.png", output_prefix).c_str());
}
......@@ -192,8 +184,7 @@ int vm_invar(const std::string& config_name) {
vm_mass_resolution_test.error(-1);
// write out our test data
eic::util::write_test(vm_mass_resolution_test,
fmt::format("{}vm_invar.json", output_prefix));
eic::util::write_test(vm_mass_resolution_test, fmt::format("{}vm_invar.json", output_prefix));
// That's all!
return 0;
......
#include "benchmark.hh"
#include "mt.h"
#include "plot.h"
#include "util.h"
#include <benchmark.h>
#include <mt.h>
#include <util.h>
#include <ROOT/RDataFrame.hxx>
#include <cmath>
......@@ -20,21 +21,21 @@
// TODO: I think it would be better to pass small json configuration file to
// the test, instead of this ever-expanding list of function arguments.
// FIXME: MC does not trace back into particle history. Need to fix that
int vm_mass(const std::string& config_name) {
int vm_mass(const std::string& config_name)
{
// read our configuration
std::ifstream config_file{config_name};
std::ifstream config_file{config_name};
nlohmann::json config;
config_file >> config;
const std::string rec_file = config["rec_file"];
const std::string vm_name = config["vm_name"];
const std::string decay_name = config["decay"];
const std::string detector = config["detector"];
std::string output_prefix = config["output_prefix"];
const std::string test_tag = config["test_tag"];
const std::string rec_file = config["rec_file"];
const std::string vm_name = config["vm_name"];
const std::string decay_name = config["decay"];
const std::string detector = config["detector"];
std::string output_prefix = config["output_prefix"];
const std::string test_tag = config["test_tag"];
fmt::print(fmt::emphasis::bold | fg(fmt::color::forest_green),
"Running VM invariant mass analysis...\n");
fmt::print(fmt::emphasis::bold | fg(fmt::color::forest_green), "Running VM invariant mass analysis...\n");
fmt::print(" - Vector meson: {}\n", vm_name);
fmt::print(" - Decay particle: {}\n", decay_name);
fmt::print(" - Detector package: {}\n", detector);
......@@ -43,10 +44,8 @@ int vm_mass(const std::string& config_name) {
// create our test definition
// test_tag
eic::util::Test vm_mass_resolution_test{
{{"name",
fmt::format("{}_{}_{}_mass_resolution", test_tag, vm_name, decay_name)},
{"title",
fmt::format("{} -> {} Invariant Mass Resolution", vm_name, decay_name)},
{{"name", fmt::format("{}_{}_{}_mass_resolution", test_tag, vm_name, decay_name)},
{"title", fmt::format("{} -> {} Invariant Mass Resolution", vm_name, decay_name)},
{"description", "Invariant Mass Resolution calculated from raw "
"tracking data using a Gaussian fit."},
{"quantity", "resolution"},
......@@ -56,12 +55,11 @@ int vm_mass(const std::string& config_name) {
ROOT::EnableImplicitMT(kNumThreads);
// The particles we are looking for. E.g. J/psi decaying into e+e-
const double vm_mass = util::get_pdg_mass(vm_name);
const double vm_mass = util::get_pdg_mass(vm_name);
const double decay_mass = util::get_pdg_mass(decay_name);
// Ensure our output prefix always ends on a dot, a slash or a dash
if (output_prefix.back() != '.' && output_prefix.back() != '/' &&
output_prefix.back() != '-') {
if (output_prefix.back() != '.' && output_prefix.back() != '/' && output_prefix.back() != '-') {
output_prefix += "-";
}
......@@ -70,56 +68,41 @@ int vm_mass(const std::string& config_name) {
// utility lambda functions to bind the vector meson and decay particle
// types
auto momenta_from_tracking =
[decay_mass](const std::vector<eic::TrackParametersData>& tracks) {
return util::momenta_from_tracking(tracks, decay_mass);
};
auto find_decay_pair =
[vm_mass](const std::vector<ROOT::Math::PxPyPzMVector>& parts) {
return util::find_decay_pair(parts, vm_mass);
};
//util::PrintGeant4(mcparticles2);
auto momenta_from_tracking = [decay_mass](const std::vector<eic::TrackParametersData>& tracks) {
return util::momenta_from_tracking(tracks, decay_mass);
};
auto find_decay_pair = [vm_mass](const std::vector<ROOT::Math::PxPyPzMVector>& parts) {
return util::find_decay_pair(parts, vm_mass);
};
// util::PrintGeant4(mcparticles2);
// Define analysis flow
auto d_im =
d.Define("p_rec", momenta_from_tracking, {"outputTrackParameters"})
.Define("N", "p_rec.size()")
.Define("p_sim", util::momenta_from_simulation, {"mcparticles2"})
.Define("decay_pair_rec", find_decay_pair, {"p_rec"})
.Define("decay_pair_sim", find_decay_pair, {"p_sim"})
.Define("mass_rec", util::get_im, {"decay_pair_rec"})
.Define("mass_sim", util::get_im, {"decay_pair_sim"})
.Define("pt_rec", util::get_pt, {"decay_pair_rec"})
.Define("pt_sim", util::get_pt, {"decay_pair_sim"})
.Define("phi_rec" , util::get_phi, {"decay_pair_rec"})
.Define("phi_sim" , util::get_phi, {"decay_pair_sim"})
.Define("rapidity_rec" , util::get_y, {"decay_pair_rec"})
.Define("rapidity_sim" , util::get_y, {"decay_pair_sim"});
auto d_im = d.Define("p_rec", momenta_from_tracking, {"outputTrackParameters"})
.Define("N", "p_rec.size()")
.Define("p_sim", util::momenta_from_simulation, {"mcparticles2"})
.Define("decay_pair_rec", find_decay_pair, {"p_rec"})
.Define("decay_pair_sim", find_decay_pair, {"p_sim"})
.Define("mass_rec", util::get_im, {"decay_pair_rec"})
.Define("mass_sim", util::get_im, {"decay_pair_sim"})
.Define("pt_rec", util::get_pt, {"decay_pair_rec"})
.Define("pt_sim", util::get_pt, {"decay_pair_sim"})
.Define("phi_rec", util::get_phi, {"decay_pair_rec"})
.Define("phi_sim", util::get_phi, {"decay_pair_sim"})
.Define("rapidity_rec", util::get_y, {"decay_pair_rec"})
.Define("rapidity_sim", util::get_y, {"decay_pair_sim"});
// Define output histograms
auto h_im_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});#", 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_sim = d_im.Histo1D(
{"h_pt_sim", ";p_{T} (GeV/c);#", 400, 0., 40.}, "pt_sim");
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_y_rec = d_im.Histo1D(
{"h_y_rec", ";y_{ll'};#", 1000, -5., 5.}, "rapidity_rec");
auto h_y_sim = d_im.Histo1D(
{"h_y_sim", ";y_{ll'};#", 1000, -5., 5.}, "rapidity_sim");
auto h_im_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});#", 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_sim = d_im.Histo1D({"h_pt_sim", ";p_{T} (GeV/c);#", 400, 0., 40.}, "pt_sim");
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_y_rec = d_im.Histo1D({"h_y_rec", ";y_{ll'};#", 1000, -5., 5.}, "rapidity_rec");
auto h_y_sim = d_im.Histo1D({"h_y_sim", ";y_{ll'};#", 1000, -5., 5.}, "rapidity_sim");
// Plot our histograms.
// TODO: to start I'm explicitly plotting the histograms, but want to
......@@ -127,10 +110,10 @@ int vm_mass(const std::string& config_name) {
{
TCanvas c{"canvas", "canvas", 1200, 1200};
c.Divide(2, 2, 0.0001, 0.0001);
//pad 1 mass
// pad 1 mass
c.cd(1);
//gPad->SetLogx(false);
//gPad->SetLogy(false);
// gPad->SetLogx(false);
// gPad->SetLogy(false);
auto& h11 = *h_im_sim;
auto& h12 = *h_im_rec;
// histogram style
......@@ -147,7 +130,7 @@ int vm_mass(const std::string& config_name) {
// FIXME hardcoded beam configuration
plot::draw_label(10, 100, detector, vm_name, "Invariant mass");
TText* tptr1;
auto t1 = new TPaveText(.6, .8417, .9, .925, "NB NDC");
auto t1 = new TPaveText(.6, .8417, .9, .925, "NB NDC");
t1->SetFillColorAlpha(kWhite, 0);
t1->SetTextFont(43);
t1->SetTextSize(25);
......@@ -156,11 +139,11 @@ int vm_mass(const std::string& config_name) {
tptr1 = t1->AddText("reconstructed");
tptr1->SetTextColor(plot::kMpOrange);
t1->Draw();
//pad 2 pt
// pad 2 pt
c.cd(2);
//gPad->SetLogx(false);
//gPad->SetLogy(false);
// gPad->SetLogx(false);
// gPad->SetLogy(false);
auto& h21 = *h_pt_sim;
auto& h22 = *h_pt_rec;
// histogram style
......@@ -177,7 +160,7 @@ int vm_mass(const std::string& config_name) {
// FIXME hardcoded beam configuration
plot::draw_label(10, 100, detector, vm_name, "Transverse Momentum");
TText* tptr2;
auto t2 = new TPaveText(.6, .8417, .9, .925, "NB NDC");
auto t2 = new TPaveText(.6, .8417, .9, .925, "NB NDC");
t2->SetFillColorAlpha(kWhite, 0);
t2->SetTextFont(43);
t2->SetTextSize(25);
......@@ -186,11 +169,11 @@ int vm_mass(const std::string& config_name) {
tptr2 = t2->AddText("reconstructed");
tptr2->SetTextColor(plot::kMpOrange);
t2->Draw();
//pad 3 phi
// pad 3 phi
c.cd(3);
//gPad->SetLogx(false);
//gPad->SetLogy(false);
// gPad->SetLogx(false);
// gPad->SetLogy(false);
auto& h31 = *h_phi_sim;
auto& h32 = *h_phi_rec;
// histogram style
......@@ -207,7 +190,7 @@ int vm_mass(const std::string& config_name) {
// FIXME hardcoded beam configuration
plot::draw_label(10, 100, detector, vm_name, "#phi");
TText* tptr3;
auto t3 = new TPaveText(.6, .8417, .9, .925, "NB NDC");
auto t3 = new TPaveText(.6, .8417, .9, .925, "NB NDC");
t3->SetFillColorAlpha(kWhite, 0);
t3->SetTextFont(43);
t3->SetTextSize(25);
......@@ -216,11 +199,11 @@ int vm_mass(const std::string& config_name) {
tptr3 = t3->AddText("reconstructed");
tptr3->SetTextColor(plot::kMpOrange);
t3->Draw();
//pad 4 rapidity
// pad 4 rapidity
c.cd(4);
//gPad->SetLogx(false);
//gPad->SetLogy(false);
// gPad->SetLogx(false);
// gPad->SetLogy(false);
auto& h41 = *h_y_sim;
auto& h42 = *h_y_rec;
// histogram style
......@@ -237,7 +220,7 @@ int vm_mass(const std::string& config_name) {
// FIXME hardcoded beam configuration
plot::draw_label(10, 100, detector, vm_name, "Rapidity");
TText* tptr4;
auto t4 = new TPaveText(.6, .8417, .9, .925, "NB NDC");
auto t4 = new TPaveText(.6, .8417, .9, .925, "NB NDC");
t4->SetFillColorAlpha(kWhite, 0);
t4->SetTextFont(43);
t4->SetTextSize(25);
......@@ -248,7 +231,6 @@ int vm_mass(const std::string& config_name) {
t4->Draw();
c.Print(fmt::format("{}vm_mass_pt_phi_rapidity.png", output_prefix).c_str());
}
// TODO we're not actually doing an IM fit yet, so for now just return an
......@@ -256,8 +238,7 @@ int vm_mass(const std::string& config_name) {
vm_mass_resolution_test.error(-1);
// write out our test data
eic::util::write_test(vm_mass_resolution_test,
fmt::format("{}vm_mass.json", output_prefix));
eic::util::write_test(vm_mass_resolution_test, fmt::format("{}vm_mass.json", output_prefix));
// That's all!
return 0;
......
File moved
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment