Skip to content
Snippets Groups Projects

Implement detector benchmark for the barrel calorimeter for energy resolution

Merged Maria Zurek requested to merge 10-calo-resolution into master
1 file
+ 35
19
Compare changes
  • Side-by-side
  • Inline
@@ -19,33 +19,37 @@
@@ -19,33 +19,37 @@
using ROOT::RDataFrame;
using ROOT::RDataFrame;
using namespace ROOT::VecOps;
using namespace ROOT::VecOps;
// Setting for graphs
gROOT->SetStyle("Plain");
gStyle->SetOptFit(1);
gStyle->SetLineWidth(2);
gStyle->SetPadTickX(1);
gStyle->SetPadTickY(1);
gStyle->SetPadGridX(1);
gStyle->SetPadGridY(1);
gStyle->SetPadLeftMargin(0.14);
gStyle->SetPadRightMargin(0.14);
void save_canvas(TCanvas* c, std::string label)
void save_canvas(TCanvas* c, std::string label, double E)
{
{
c->SaveAs(std::format("results/{}_{}.png",label, E));
c->SaveAs(std::format("results/{}_{}.pdf",label, E));
std::string dir = "result/";
 
std::string png = ".png";
 
std::string pdf = ".pdf";
 
 
std::string plot_name_png = dir + label + png;
 
std::string plot_name_pdf = dir + label + pdf;
 
 
c->SaveAs(plot_name_png);
 
c->SaveAs(plot_name_pdf)
 
 
//c->SaveAs(std::format("results/{}.png",label));
 
//c->SaveAs(std::format("results/{}.pdf",label));
}
}
void save_canvas(TCanvas* c, std::string label)
void save_canvas(TCanvas* c, std::string label, double E)
{
{
c->SaveAs(std::format("results/{}.png",label));
std::string label_with_E = label + std::to_string(E);
c->SaveAs(std::format("results/{}.pdf",label));
save_canvas(c, label_with_E);
}
}
std::tuple <double, double> extract_sampling_fraction_parameters(double E)
std::tuple <double, double> extract_sampling_fraction_parameters(double E)
{
{
auto input_fname = std::format("sim_output/energy_scan/{}/emcal_barrel_uniform_electrons.root", E);
 
std::string input_dir = "sim_output/energy_scan/";
 
std::string input_file = "/emcal_barrel_uniform_electrons.root";
 
 
std::string input_fname = input_dir + std::to_string(E) + input_file;
ROOT::EnableImplicitMT();
ROOT::EnableImplicitMT();
ROOT::RDataFrame d0("events", input_fname);
ROOT::RDataFrame d0("events", input_fname);
@@ -163,13 +167,25 @@ std::vector<double> read_scanned_energies(std::string input_energies_fname)
@@ -163,13 +167,25 @@ std::vector<double> read_scanned_energies(std::string input_energies_fname)
}
}
else
else
{
{
std::cout << std::format("Unable to open file {}", input_energies_fname);
std::cout << "Unable to open file" << input_energies_fname << std::endl;
abort();
abort();
}
}
};
};
void emcal_barrel_electrons_energy_scan_analysis()
void emcal_barrel_electrons_energy_scan_analysis()
{
{
 
 
// Setting for graphs
 
gROOT->SetStyle("Plain");
 
gStyle->SetOptFit(1);
 
gStyle->SetLineWidth(2);
 
gStyle->SetPadTickX(1);
 
gStyle->SetPadTickY(1);
 
gStyle->SetPadGridX(1);
 
gStyle->SetPadGridY(1);
 
gStyle->SetPadLeftMargin(0.14);
 
gStyle->SetPadRightMargin(0.14);
 
vector<double> scanned_energies = read_scanned_energies("emcal_barrel_energy_scan_points.txt");
vector<double> scanned_energies = read_scanned_energies("emcal_barrel_energy_scan_points.txt");
TGraph gr_fsam(scanned_energies.size());
TGraph gr_fsam(scanned_energies.size());
TGraph gr_fsam_res(scanned_energies.size());
TGraph gr_fsam_res(scanned_energies.size());
Loading