Skip to content
Snippets Groups Projects
Commit ac1cf66c authored by Maria Zurek's avatar Maria Zurek
Browse files

Add efficiency cut

parent 427ce91b
No related branches found
No related tags found
1 merge request!153Draft: Resolve "Add energy scan for Barrel Ecal"
...@@ -146,7 +146,7 @@ std::tuple <double, double> extract_sampling_fraction_parameters(std::string E_l ...@@ -146,7 +146,7 @@ std::tuple <double, double> extract_sampling_fraction_parameters(std::string E_l
// Define variables // Define variables
auto d1 = d0.Define("Ethr", Ethr, {"mcparticles2"}) auto d1 = d0.Define("Ethr", Ethr, {"mcparticles2"})
.Define("Mom", momentum, {"mcparticles2"}) .Define("Mom", momentum, {"mcparticles2"})
.Define("MomSmeared", momentum_smeared, {"mom"}) .Define("MomSmeared", momentum_smeared, {"Mom"})
.Define("ErecImg", Erec, {"RecoEcalBarrelImagingHits"}) .Define("ErecImg", Erec, {"RecoEcalBarrelImagingHits"})
.Define("ErecScFi", Erec, {"EcalBarrelScFiHitsReco"}) .Define("ErecScFi", Erec, {"EcalBarrelScFiHitsReco"})
.Define("NClusterImg", ncluster, {"EcalBarrelImagingClusters"}) .Define("NClusterImg", ncluster, {"EcalBarrelImagingClusters"})
...@@ -184,6 +184,30 @@ std::tuple <double, double> extract_sampling_fraction_parameters(std::string E_l ...@@ -184,6 +184,30 @@ std::tuple <double, double> extract_sampling_fraction_parameters(std::string E_l
hpion->SetLineColor(kRed); hpion->SetLineColor(kRed);
hpion->DrawClone("same"); hpion->DrawClone("same");
save_canvas(c, infoHist.column.c_str(), E_label, "electron_pion"); save_canvas(c, infoHist.column.c_str(), E_label, "electron_pion");
// Define efficiency cut
auto requested_efficiency = 0.95;
if(col == eoverPScFi || col == eoverPRecScFi) {
auto nbins = helectron->GetXaxis()->GetNbins();
auto integral_helectron = helectron->Integral();
auto ngen_helectron = delectrons.Count();
cout << infoHists[col].name << ": Thrown electron events: " << ngen_helectron << " Histo integral: " << integral_helectron << endl;
auto efficiency_cut_bin = 0;
for(int bin=1; bin<=nbins;bin++){
auto inegral_helectron_bin = helectron->Integral(1,bin);
auto efficiency = 1. - inegral_helectron_bin/ngen_helectron;
if(efficiency > requested_efficiency) continue;
else{
efficiency_cut_bin = bin-1;
break;
}
}
cout << "efficiency cut bin: " << efficiency_cut_bin << " efficiency: " << 1 - helectron->Integral(1,efficiency_cut_bin)/ngen_helectron;
auto ngen_hpion = dpions.Count();
auto pion_suppresion = hpion->Integral(efficiency_cut_bin, nbins)/ngen_hpion;
cout << "pion supression: " << pion_suppresion << endl;
}
} }
auto nlayers = 20; auto nlayers = 20;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment