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< 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 60 of file CTPPSProtonReconstructionSimulationValidator.cc.

Constructor & Destructor Documentation

CTPPSProtonReconstructionSimulationValidator::PlotGroup::PlotGroup ( )
inline

Definition at line 77 of file CTPPSProtonReconstructionSimulationValidator.cc.

78  : h_de_xi(new TH1D("", ";#xi_{reco} - #xi_{simu}", 100, 0., 0.)),
79  p_de_xi_vs_xi_simu(new TProfile("", ";#xi_{simu};#xi_{reco} - #xi_{simu}", 19, 0.015, 0.205)),
80  h_xi_reco_vs_xi_simu(new TH2D("", ";#xi_{simu};#xi_{reco}", 100, 0., 0.30, 100, 0., 0.30)),
81 
82  h_de_th_x(new TH1D("", ";#theta_{x,reco} - #theta_{x,simu}", 100, 0., 0.)),
83  p_de_th_x_vs_xi_simu(new TProfile("", ";#xi_{simu};#theta_{x,reco} - #theta_{x,simu}", 19, 0.015, 0.205)),
84 
85  h_de_th_y(new TH1D("", ";#theta_{y,reco} - #theta_{y,simu}", 100, 0., 0.)),
86  p_de_th_y_vs_xi_simu(new TProfile("", ";#xi_{simu};#theta_{y,reco} - #theta_{y,simu}", 19, 0.015, 0.205)),
87 
88  h_de_vtx_y(new TH1D("", ";vtx_{y,reco} - vtx_{y,simu} (mm)", 100, 0., 0.)),
89  p_de_vtx_y_vs_xi_simu(new TProfile("", ";#xi_{simu};vtx_{y,reco} - vtx_{y,simu} (mm)", 19, 0.015, 0.205)),
90 
91  h_de_t(new TH1D("", ";t_{reco} - t_{simu}", 100, -1., +1.)),
92  p_de_t_vs_xi_simu(new TProfile("", ";xi_{simu};t_{reco} - t_{simu}", 19, 0.015, 0.205)),
93  p_de_t_vs_t_simu(new TProfile("", ";t_{simu};t_{reco} - t_{simu}", 20, 0., 5.)) {}

Member Function Documentation

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

Definition at line 95 of file CTPPSProtonReconstructionSimulationValidator.cc.

References HltBtagPostValidation_cff::c, N, Skims_PA_cff::name, mathSSE::sqrt(), and w.

Referenced by write().

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

Definition at line 120 of file CTPPSProtonReconstructionSimulationValidator.cc.

References profileToRMSGraph().

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

Member Data Documentation

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