Skip to content
Snippets Groups Projects
Commit 24aaa26f authored by Kong Tu's avatar Kong Tu
Browse files

add a few histograms for info

parent de5d9ef7
No related branches found
No related tags found
1 merge request!100Draft: Diffractive phi benchmark development
......@@ -123,16 +123,26 @@ int dvcs_ep_analysis(const std::string& config_name)
.Define("gammaREC",findGamma,{"ReconstructedParticles"})
.Define("gammaMC",findGammaMC,{"mcparticles"})
.Define("gammaAngleDiff",getAngleDiff,{"gammaMC","gammaREC"})
.Define("gammaMC_match",findPhot_MC_match_REC,{"gammaMC","gammaREC"})
.Define("gammaMC_match",findPart_MC_match_REC,{"gammaMC","gammaREC"})
.Define("gamma_mc_eta_match",getEta,{"gammaMC_match"})
.Define("gammaREC_not_match",findPhot_REC_not_match_MC,{"gammaREC","gammaMC"})
.Define("gammaREC_not_match",findPart_REC_not_match_MC,{"gammaREC","gammaMC"})
.Define("gamma_rec_eta_not_match",getEta,{"gammaREC_not_match"})
.Define("scatElecMC",findScatElecMC,{"mcparticles"})
.Define("scatElecREC",findScatElec_alt,{"ReconstructedParticles"})
.Define("scatElec_rec_eta",getEta,{"scatElecREC"})
.Define("scatElecMC_match",findPart_MC_match_REC,{"scatElecMC","scatElecREC"})
.Define("scatElec_mc_eta_match",getEta,{"scatElecMC_match"})
.Define("scatElecREC_not_match",findPart_REC_not_match_MC,{"scatElecREC","scatElecMC"})
.Define("scatElec_rec_eta_not_match",getEta,{"scatElecREC_not_match"})
.Filter(kineCut,{"Q2_elec","y_elec"})
;
auto h_Angle_gamma_MC = d3.Histo1D({"h_Angle_gamma_MC", "; opening angle; counts", 1000, 0, PI}, "gammaAngleDiff");
auto h_Eta_gamma_MC_match = d3.Histo1D({"h_Eta_gamma_MC_match", "; #eta; counts", 100, -9, 9}, "gamma_mc_eta_match");
auto h_Eta_gamma_REC_not_match = d3.Histo1D({"h_Eta_gamma_REC_not_match", "; #eta; counts", 100, -9, 9}, "gamma_rec_eta_not_match");
auto h_Eta_scatElec_MC_match = d3.Histo1D({"h_Eta_scatElec_MC_match", "; #eta; counts", 100, -9, 9}, "scatElec_mc_eta_match");
auto h_Eta_scatElec_REC_not_match = d3.Histo1D({"h_Eta_scatElec_REC_not_match", "; #eta; counts", 100, -9, 9}, "scatElec_rec_eta_not_match");
auto h_Eta_scatElec_REC_alt = d3.Histo1D({"h_Eta_scatElec_REC_alt", "; #eta; counts", 100, -9, 9}, "scatElec_rec_eta");
TString output_name_dir = output_prefix.c_str();
TFile* output = new TFile(output_name_dir+"_output.root","RECREATE");
......@@ -178,6 +188,10 @@ int dvcs_ep_analysis(const std::string& config_name)
h_Angle_gamma_MC->Write();
h_Eta_gamma_MC_match->Write();
h_Eta_gamma_REC_not_match->Write();
h_Eta_scatElec_MC_match->Write();
h_Eta_scatElec_REC_not_match->Write();
h_Eta_scatElec_REC_alt->Write();
output->Write();
output->Close();
......
......@@ -102,6 +102,16 @@ auto findScatElec(const std::vector<eic::ReconstructedParticleData>& parts,
return momenta;
}
auto findScatElec_alt(const std::vector<eic::ReconstructedParticleData>& parts){
std::vector<ROOT::Math::PxPyPzMVector> momenta;
for(auto& i1 : parts){
if(i1.charge==-1){
momenta.push_back(ROOT::Math::PxPyPzMVector{i1.p.x,i1.p.y,i1.p.z,MASS_ELECTRON});
}
}
return momenta;
}
auto findScatElecMC(const std::vector<dd4pod::Geant4ParticleData>& parts)
{
std::vector<ROOT::Math::PxPyPzMVector> momenta;
......@@ -175,7 +185,7 @@ auto findScatProton(const std::vector<eic::ReconstructedParticleData>& FF){
return momenta;
}
auto findPhot_MC_match_REC(const std::vector<ROOT::Math::PxPyPzMVector> MC,
auto findPart_MC_match_REC(const std::vector<ROOT::Math::PxPyPzMVector> MC,
const std::vector<ROOT::Math::PxPyPzMVector> REC)
{
std::vector<ROOT::Math::PxPyPzMVector> ph_match;
......@@ -183,6 +193,7 @@ auto findPhot_MC_match_REC(const std::vector<ROOT::Math::PxPyPzMVector> MC,
auto v = ROOT::Math::PxPyPzMVector{-1e10, -1e10, -1e10, -1e10};
if(i1.Px()<-1e9) continue;
for(auto& i2:REC){
if(i2.Px()<-1e9) continue;
if(matchVectKine(i1,i2)) v=i1;
}
ph_match.push_back(v);
......@@ -190,7 +201,7 @@ auto findPhot_MC_match_REC(const std::vector<ROOT::Math::PxPyPzMVector> MC,
return ph_match;
}
auto findPhot_REC_not_match_MC(const std::vector<ROOT::Math::PxPyPzMVector> REC,
auto findPart_REC_not_match_MC(const std::vector<ROOT::Math::PxPyPzMVector> REC,
const std::vector<ROOT::Math::PxPyPzMVector> MC)
{
std::vector<ROOT::Math::PxPyPzMVector> ph_not_match;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment