CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Public Attributes
CTPPSProtonReconstructionSimulationValidator::PlotGroup Struct Reference

Public Member Functions

 PlotGroup ()
 
void write () const
 

Static Public Member Functions

static TGraphErrors profileToRMSGraph (TProfile *p, const char *name="")
 

Public Attributes

std::unique_ptr< TH2D > h2_de_t_vs_t_simu
 
std::unique_ptr< TH1D > h_de_t
 
std::unique_ptr< TH1D > h_de_th_x
 
std::unique_ptr< TH1D > h_de_th_y
 
std::unique_ptr< TH1D > h_de_vtx_y
 
std::unique_ptr< TH1D > h_de_xi
 
std::unique_ptr< TH2D > h_xi_reco_vs_xi_simu
 
std::unique_ptr< TProfile > p_de_t_vs_t_simu
 
std::unique_ptr< TProfile > p_de_t_vs_xi_simu
 
std::unique_ptr< TProfile > p_de_th_x_vs_xi_simu
 
std::unique_ptr< TProfile > p_de_th_y_vs_xi_simu
 
std::unique_ptr< TProfile > p_de_vtx_y_vs_xi_simu
 
std::unique_ptr< TProfile > p_de_xi_vs_xi_simu
 

Detailed Description

Definition at line 62 of file CTPPSProtonReconstructionSimulationValidator.cc.

Constructor & Destructor Documentation

◆ PlotGroup()

CTPPSProtonReconstructionSimulationValidator::PlotGroup::PlotGroup ( )
inline

Definition at line 80 of file CTPPSProtonReconstructionSimulationValidator.cc.

81  : h_de_xi(new TH1D("", ";#xi_{reco} - #xi_{simu}", 100, 0., 0.)),
82  p_de_xi_vs_xi_simu(new TProfile("", ";#xi_{simu};#xi_{reco} - #xi_{simu}", 50, 0., 0.25)),
83  h_xi_reco_vs_xi_simu(new TH2D("", ";#xi_{simu};#xi_{reco}", 100, 0., 0.30, 100, 0., 0.30)),
84 
85  h_de_th_x(new TH1D("", ";#theta_{x,reco} - #theta_{x,simu}", 100, 0., 0.)),
86  p_de_th_x_vs_xi_simu(new TProfile("", ";#xi_{simu};#theta_{x,reco} - #theta_{x,simu}", 50, 0., 0.25)),
87 
88  h_de_th_y(new TH1D("", ";#theta_{y,reco} - #theta_{y,simu}", 100, 0., 0.)),
89  p_de_th_y_vs_xi_simu(new TProfile("", ";#xi_{simu};#theta_{y,reco} - #theta_{y,simu}", 50, 0., 0.25)),
90 
91  h_de_vtx_y(new TH1D("", ";vtx_{y,reco} - vtx_{y,simu} (mm)", 100, 0., 0.)),
92  p_de_vtx_y_vs_xi_simu(new TProfile("", ";#xi_{simu};vtx_{y,reco} - vtx_{y,simu} (mm)", 50, 0., 0.25)),
93 
94  h_de_t(new TH1D("", ";t_{reco} - t_{simu}", 100, -1., +1.)),
95  p_de_t_vs_xi_simu(new TProfile("", ";xi_{simu};t_{reco} - t_{simu}", 50, 0., 0.25)),
96  p_de_t_vs_t_simu(new TProfile("", ";t_{simu};t_{reco} - t_{simu}", 20, 0., 5.)),
97  h2_de_t_vs_t_simu(new TH2D("", ";t_{simu};t_{reco} - t_{simu}", 150, 0., 5., 300, -2., +2.)) {}

Member Function Documentation

◆ profileToRMSGraph()

static TGraphErrors CTPPSProtonReconstructionSimulationValidator::PlotGroup::profileToRMSGraph ( TProfile *  p,
const char *  name = "" 
)
inlinestatic

Definition at line 99 of file CTPPSProtonReconstructionSimulationValidator.cc.

References HltBtagPostValidation_cff::c, heavyIonCSV_trainingSettings::idx, N, Skims_PA_cff::name, AlCaHLTBitMon_ParallelJobs::p, mathSSE::sqrt(), and w().

Referenced by write().

99  {
100  TGraphErrors gr_err;
101  gr_err.SetName(name);
102 
103  for (int bi = 1; bi <= p->GetNbinsX(); ++bi) {
104  double c = p->GetBinCenter(bi);
105  double w = p->GetBinWidth(bi);
106 
107  double N = p->GetBinEntries(bi);
108  double Sy = p->GetBinContent(bi) * N;
109  double Syy = p->GetSumw2()->At(bi);
110 
111  double si_sq = Syy / N - Sy * Sy / N / N;
112  double si = (si_sq >= 0.) ? sqrt(si_sq) : 0.;
113  double si_unc_sq = si_sq / 2. / N; // Gaussian approximation
114  double si_unc = (si_unc_sq >= 0.) ? sqrt(si_unc_sq) : 0.;
115 
116  int idx = gr_err.GetN();
117  gr_err.SetPoint(idx, c, si);
118  gr_err.SetPointError(idx, w / 2., si_unc);
119  }
120 
121  return gr_err;
122  }
T w() const
T sqrt(T t)
Definition: SSEVec.h:19
#define N
Definition: blowfish.cc:9

◆ write()

void CTPPSProtonReconstructionSimulationValidator::PlotGroup::write ( ) const
inline

Definition at line 124 of file CTPPSProtonReconstructionSimulationValidator.cc.

References h2_de_t_vs_t_simu, h_de_t, h_de_th_x, h_de_th_y, h_de_vtx_y, h_de_xi, h_xi_reco_vs_xi_simu, p_de_t_vs_t_simu, p_de_t_vs_xi_simu, p_de_th_x_vs_xi_simu, p_de_th_y_vs_xi_simu, p_de_vtx_y_vs_xi_simu, p_de_xi_vs_xi_simu, and profileToRMSGraph().

124  {
125  h_xi_reco_vs_xi_simu->Write("h_xi_reco_vs_xi_simu");
126  h_de_xi->Write("h_de_xi");
127  p_de_xi_vs_xi_simu->Write("p_de_xi_vs_xi_simu");
128  profileToRMSGraph(p_de_xi_vs_xi_simu.get(), "g_rms_de_xi_vs_xi_simu").Write();
129 
130  h_de_th_x->Write("h_de_th_x");
131  p_de_th_x_vs_xi_simu->Write("p_de_th_x_vs_xi_simu");
132  profileToRMSGraph(p_de_th_x_vs_xi_simu.get(), "g_rms_de_th_x_vs_xi_simu").Write();
133 
134  h_de_th_y->Write("h_de_th_y");
135  p_de_th_y_vs_xi_simu->Write("p_de_th_y_vs_xi_simu");
136  profileToRMSGraph(p_de_th_y_vs_xi_simu.get(), "g_rms_de_th_y_vs_xi_simu").Write();
137 
138  h_de_vtx_y->Write("h_de_vtx_y");
139  p_de_vtx_y_vs_xi_simu->Write("p_de_vtx_y_vs_xi_simu");
140  profileToRMSGraph(p_de_vtx_y_vs_xi_simu.get(), "g_rms_de_vtx_y_vs_xi_simu").Write();
141 
142  h_de_t->Write("h_de_t");
143  p_de_t_vs_xi_simu->Write("p_de_t_vs_xi_simu");
144  profileToRMSGraph(p_de_t_vs_xi_simu.get(), "g_rms_de_t_vs_xi_simu").Write();
145  p_de_t_vs_t_simu->Write("p_de_t_vs_t_simu");
146  profileToRMSGraph(p_de_t_vs_t_simu.get(), "g_rms_de_t_vs_t_simu").Write();
147  h2_de_t_vs_t_simu->Write("h2_de_t_vs_t_simu");
148  }
static TGraphErrors profileToRMSGraph(TProfile *p, const char *name="")

Member Data Documentation

◆ h2_de_t_vs_t_simu

std::unique_ptr<TH2D> CTPPSProtonReconstructionSimulationValidator::PlotGroup::h2_de_t_vs_t_simu

Definition at line 78 of file CTPPSProtonReconstructionSimulationValidator.cc.

Referenced by write().

◆ h_de_t

std::unique_ptr<TH1D> CTPPSProtonReconstructionSimulationValidator::PlotGroup::h_de_t

Definition at line 76 of file CTPPSProtonReconstructionSimulationValidator.cc.

Referenced by write().

◆ h_de_th_x

std::unique_ptr<TH1D> CTPPSProtonReconstructionSimulationValidator::PlotGroup::h_de_th_x

Definition at line 67 of file CTPPSProtonReconstructionSimulationValidator.cc.

Referenced by write().

◆ h_de_th_y

std::unique_ptr<TH1D> CTPPSProtonReconstructionSimulationValidator::PlotGroup::h_de_th_y

Definition at line 70 of file CTPPSProtonReconstructionSimulationValidator.cc.

Referenced by write().

◆ h_de_vtx_y

std::unique_ptr<TH1D> CTPPSProtonReconstructionSimulationValidator::PlotGroup::h_de_vtx_y

Definition at line 73 of file CTPPSProtonReconstructionSimulationValidator.cc.

Referenced by write().

◆ h_de_xi

std::unique_ptr<TH1D> CTPPSProtonReconstructionSimulationValidator::PlotGroup::h_de_xi

Definition at line 63 of file CTPPSProtonReconstructionSimulationValidator.cc.

Referenced by write().

◆ h_xi_reco_vs_xi_simu

std::unique_ptr<TH2D> CTPPSProtonReconstructionSimulationValidator::PlotGroup::h_xi_reco_vs_xi_simu

Definition at line 65 of file CTPPSProtonReconstructionSimulationValidator.cc.

Referenced by write().

◆ p_de_t_vs_t_simu

std::unique_ptr<TProfile> CTPPSProtonReconstructionSimulationValidator::PlotGroup::p_de_t_vs_t_simu

Definition at line 77 of file CTPPSProtonReconstructionSimulationValidator.cc.

Referenced by write().

◆ p_de_t_vs_xi_simu

std::unique_ptr<TProfile> CTPPSProtonReconstructionSimulationValidator::PlotGroup::p_de_t_vs_xi_simu

Definition at line 77 of file CTPPSProtonReconstructionSimulationValidator.cc.

Referenced by write().

◆ p_de_th_x_vs_xi_simu

std::unique_ptr<TProfile> CTPPSProtonReconstructionSimulationValidator::PlotGroup::p_de_th_x_vs_xi_simu

Definition at line 68 of file CTPPSProtonReconstructionSimulationValidator.cc.

Referenced by write().

◆ p_de_th_y_vs_xi_simu

std::unique_ptr<TProfile> CTPPSProtonReconstructionSimulationValidator::PlotGroup::p_de_th_y_vs_xi_simu

Definition at line 71 of file CTPPSProtonReconstructionSimulationValidator.cc.

Referenced by write().

◆ p_de_vtx_y_vs_xi_simu

std::unique_ptr<TProfile> CTPPSProtonReconstructionSimulationValidator::PlotGroup::p_de_vtx_y_vs_xi_simu

Definition at line 74 of file CTPPSProtonReconstructionSimulationValidator.cc.

Referenced by write().

◆ p_de_xi_vs_xi_simu

std::unique_ptr<TProfile> CTPPSProtonReconstructionSimulationValidator::PlotGroup::p_de_xi_vs_xi_simu

Definition at line 64 of file CTPPSProtonReconstructionSimulationValidator.cc.

Referenced by write().