Skip to content
Snippets Groups Projects
Commit e64460d2 authored by Chandradoy Chatterjee's avatar Chandradoy Chatterjee
Browse files

Added SPE Theta & from Estimated to Reconstructed

parent 17f87238
Branches
No related tags found
1 merge request!309Irt algo
...@@ -52,16 +52,22 @@ namespace benchmarks { ...@@ -52,16 +52,22 @@ namespace benchmarks {
TH1D *m_mcWavelength_dist; TH1D *m_mcWavelength_dist;
TH1D *m_mcRindex_dist; TH1D *m_mcRindex_dist;
TH1D *m_highestWeight_dist; TH1D *m_highestWeight_dist;
TH1D *m_speTheta_dist;
TH1D *m_speResid_dist;
TH2D *m_photonTheta_vs_photonPhi; TH2D *m_photonTheta_vs_photonPhi;
// - momentum scans // - momentum scans
TH2D *m_npe_vs_p; TH2D *m_npe_vs_p;
TH2D *m_theta_vs_p; TH2D *m_theta_vs_p;
TH2D *m_spetheta_vs_p;
TH2D *m_thetaResid_vs_p; TH2D *m_thetaResid_vs_p;
TH2D *m_spethetaResid_vs_p;
TH2D *m_highestWeight_vs_p; TH2D *m_highestWeight_vs_p;
// - pseudorapidity scans // - pseudorapidity scans
TH2D *m_npe_vs_eta; TH2D *m_npe_vs_eta;
TH2D *m_theta_vs_eta; TH2D *m_theta_vs_eta;
TH2D *m_spetheta_vs_eta;
TH2D *m_thetaResid_vs_eta; TH2D *m_thetaResid_vs_eta;
TH2D *m_spehetaResid_vs_eta;
TH2D *m_highestWeight_vs_eta; TH2D *m_highestWeight_vs_eta;
// logger // logger
......
...@@ -31,20 +31,32 @@ namespace benchmarks { ...@@ -31,20 +31,32 @@ namespace benchmarks {
); );
m_theta_dist = new TH1D( m_theta_dist = new TH1D(
"theta_dist_"+m_rad_name_trun, "theta_dist_"+m_rad_name_trun,
"Estimated Cherenkov Angle for "+m_rad_title+";#theta [mrad]", "Reconstructed Cherenkov Angle for "+m_rad_title+";#theta [mrad]",
Tools::theta_bins, 0, Tools::theta_max Tools::theta_bins, 0, Tools::theta_max
); );
m_thetaResid_dist = new TH1D( m_thetaResid_dist = new TH1D(
"thetaResid_dist_"+m_rad_name_trun, "thetaResid_dist_"+m_rad_name_trun,
"Estimated Cherenkov Angle Residual for "+m_rad_title+";#Delta#theta [mrad]", "Reconstructed Cherenkov Angle Residual for "+m_rad_title+";#Delta#theta [mrad]",
Tools::theta_bins, -Tools::thetaResid_max, Tools::thetaResid_max Tools::theta_bins, -Tools::thetaResid_max, Tools::thetaResid_max
); );
m_photonTheta_vs_photonPhi = new TH2D( m_photonTheta_vs_photonPhi = new TH2D(
"photonTheta_vs_photonPhi_"+m_rad_name_trun, "photonTheta_vs_photonPhi_"+m_rad_name_trun,
"Estimated Photon #theta vs #phi for "+m_rad_title+";#phi [rad];#theta [mrad]", "Reconstructed Photon #theta vs #phi for "+m_rad_title+";#phi [rad];#theta [mrad]",
Tools::phi_bins, -TMath::Pi(), TMath::Pi(), Tools::phi_bins, -TMath::Pi(), TMath::Pi(),
Tools::theta_bins, 0, Tools::theta_max Tools::theta_bins, 0, Tools::theta_max
); );
m_speTheta_dist = new TH1D(
"speTheta_dist_"+m_rad_name_trun,
"Reconstructed Photon SPE #theta for" +m_rad_title+";#theta[mrad],
Tools::theta_bins, 0, Tools::theta_max
);
m_speResid_dist = new TH1D(
"speResid_dist_"+m_rad_name_trun,
"Reconstructed SPE Cherenkov Angle Residual for "+m_rad_title+";#Delta#theta [mrad]",
Tools::theta_bins, -Tools::thetaResid_max, Tools::thetaResid_max
);
// truth distributions // truth distributions
m_mcWavelength_dist = new TH1D( m_mcWavelength_dist = new TH1D(
...@@ -74,13 +86,25 @@ namespace benchmarks { ...@@ -74,13 +86,25 @@ namespace benchmarks {
); );
m_theta_vs_p = new TH2D( m_theta_vs_p = new TH2D(
"theta_vs_p_"+m_rad_name_trun, "theta_vs_p_"+m_rad_name_trun,
"Estimated Cherenkov Angle vs. Particle Momentum for "+m_rad_title+";p [GeV];#theta [mrad]", "Reconstructed Cherenkov Angle vs. Particle Momentum for "+m_rad_title+";p [GeV];#theta [mrad]",
Tools::momentum_bins, 0, Tools::momentum_max, Tools::momentum_bins, 0, Tools::momentum_max,
Tools::theta_bins, 0, Tools::theta_max Tools::theta_bins, 0, Tools::theta_max
); );
m_thetaResid_vs_p = new TH2D( m_thetaResid_vs_p = new TH2D(
"thetaResid_vs_p_"+m_rad_name_trun, "thetaResid_vs_p_"+m_rad_name_trun,
"Estimated Cherenkov Angle Residual vs. Particle Momentum for "+m_rad_title+";p [GeV];#Delta#theta [mrad]", "Reconstructed Cherenkov Angle Residual vs. Particle Momentum for "+m_rad_title+";p [GeV];#Delta#theta [mrad]",
Tools::momentum_bins, 0, Tools::momentum_max,
Tools::theta_bins, -Tools::thetaResid_max, Tools::thetaResid_max
);
m_spetheta_vs_p = new TH2D(
"theta_vs_p_"+m_rad_name_trun,
"Reconstructed Cherenkov Angle vs. Particle Momentum for "+m_rad_title+";p [GeV];#theta [mrad]",
Tools::momentum_bins, 0, Tools::momentum_max,
Tools::theta_bins, 0, Tools::theta_max
);
m_spethetaResid_vs_p = new TH2D(
"thetaResid_vs_p_"+m_rad_name_trun,
"Reconstructed Cherenkov Angle Residual vs. Particle Momentum for "+m_rad_title+";p [GeV];#Delta#theta [mrad]",
Tools::momentum_bins, 0, Tools::momentum_max, Tools::momentum_bins, 0, Tools::momentum_max,
Tools::theta_bins, -Tools::thetaResid_max, Tools::thetaResid_max Tools::theta_bins, -Tools::thetaResid_max, Tools::thetaResid_max
); );
...@@ -100,16 +124,29 @@ namespace benchmarks { ...@@ -100,16 +124,29 @@ namespace benchmarks {
); );
m_theta_vs_eta = new TH2D( m_theta_vs_eta = new TH2D(
"theta_vs_eta_"+m_rad_name_trun, "theta_vs_eta_"+m_rad_name_trun,
"Estimated Cherenkov Angle vs. Pseudorapidity for "+m_rad_title+";#eta;#theta [mrad]", "Reconstructed Cherenkov Angle vs. Pseudorapidity for "+m_rad_title+";#eta;#theta [mrad]",
Tools::eta_bins, Tools::eta_min, Tools::eta_max, Tools::eta_bins, Tools::eta_min, Tools::eta_max,
Tools::theta_bins, 0, Tools::theta_max Tools::theta_bins, 0, Tools::theta_max
); );
m_thetaResid_vs_eta = new TH2D( m_thetaResid_vs_eta = new TH2D(
"thetaResid_vs_eta_"+m_rad_name_trun, "thetaResid_vs_eta_"+m_rad_name_trun,
"Estimated Cherenkov Angle Residual vs. Pseudorapidity for "+m_rad_title+";#eta;#Delta#theta [mrad]", "Reconstructed Cherenkov Angle Residual vs. Pseudorapidity for "+m_rad_title+";#eta;#Delta#theta [mrad]",
Tools::eta_bins, Tools::eta_min, Tools::eta_max, Tools::eta_bins, Tools::eta_min, Tools::eta_max,
Tools::theta_bins, -Tools::thetaResid_max, Tools::thetaResid_max Tools::theta_bins, -Tools::thetaResid_max, Tools::thetaResid_max
); );
m_spetheta_vs_eta = new TH2D(
"theta_vs_eta_"+m_rad_name_trun,
"Reconstructed SPE Cherenkov Angle vs. Pseudorapidity for "+m_rad_title+";#eta;#theta [mrad]",
Tools::eta_bins, Tools::eta_min, Tools::eta_max,
Tools::theta_bins, 0, Tools::theta_max
);
m_spethetaResid_vs_eta = new TH2D(
"thetaResid_vs_eta_"+m_rad_name_trun,
"Reconstructed SPE Cherenkov Angle Residual vs. Pseudorapidity for "+m_rad_title+";#eta;#Delta#theta [mrad]",
Tools::eta_bins, Tools::eta_min, Tools::eta_max,
Tools::theta_bins, -Tools::thetaResid_max, Tools::thetaResid_max
);
m_highestWeight_vs_eta = new TH2D( m_highestWeight_vs_eta = new TH2D(
"highestWeight_vs_eta_"+m_rad_name_trun, "highestWeight_vs_eta_"+m_rad_name_trun,
"Highest PDG Weight vs. Pseudorapidity for "+m_rad_title+";#eta", "Highest PDG Weight vs. Pseudorapidity for "+m_rad_title+";#eta",
...@@ -200,8 +237,15 @@ namespace benchmarks { ...@@ -200,8 +237,15 @@ namespace benchmarks {
m_thetaResid_dist->Fill( theta_resid_mrad); m_thetaResid_dist->Fill( theta_resid_mrad);
m_thetaResid_vs_p->Fill( charged_particle_momentum, theta_resid_mrad); m_thetaResid_vs_p->Fill( charged_particle_momentum, theta_resid_mrad);
m_thetaResid_vs_eta->Fill( charged_particle_eta, theta_resid_mrad); m_thetaResid_vs_eta->Fill( charged_particle_eta, theta_resid_mrad);
for(const auto& [theta,phi] : cherenkov_pid.getThetaPhiPhotons()) for(const auto& [theta,phi] : cherenkov_pid.getThetaPhiPhotons()){
m_photonTheta_vs_photonPhi->Fill( phi, theta*1e3); // [rad] -> [mrad] m_photonTheta_vs_photonPhi->Fill( phi, theta*1e3);
m_speTheta_dist->Fill(theta*1e3);
m_speResid_dist->Fill((theta-theta_exp)*1e3);
m_spetheta_vs_p->Fill(charged_particle_momentum,theta*1e3);
m_spethetaResid_vs_p->Fill(charged_particle_momentum,(theta-theta_exp)*1e3);
m_spetheta_vs_eta->Fill(charged_particle_eta,theta*1e3);
m_spethetaResid_vs_eta->Fill(charged_particle_eta,(theta-theta_exp)*1e3);
} // [rad] -> [mrad]
m_mcWavelength_dist->Fill( Tools::HC / cherenkov_pid.getPhotonEnergy() ); // energy [GeV] -> wavelength [nm] m_mcWavelength_dist->Fill( Tools::HC / cherenkov_pid.getPhotonEnergy() ); // energy [GeV] -> wavelength [nm]
m_mcRindex_dist->Fill( mc_rindex); m_mcRindex_dist->Fill( mc_rindex);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment