CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes
CTPPSProtonReconstructionPlotter::SingleRPPlots Struct Reference

Public Member Functions

void fill (const reco::ForwardProton &p, unsigned int nTracks)
 
 SingleRPPlots ()
 
void write () const
 

Public Attributes

std::unique_ptr< TH2D > h2_th_y_vs_xi
 
std::unique_ptr< TH1D > h_multiplicity
 
std::unique_ptr< TH1D > h_xi
 
std::map< unsigned int, TH1D * > m_h_xi_nTracks
 
std::unique_ptr< TProfile > p_th_y_vs_xi
 

Detailed Description

Definition at line 78 of file CTPPSProtonReconstructionPlotter.cc.

Constructor & Destructor Documentation

CTPPSProtonReconstructionPlotter::SingleRPPlots::SingleRPPlots ( )
inline

Definition at line 86 of file CTPPSProtonReconstructionPlotter.cc.

References gen::n.

87  : h_multiplicity(new TH1D("", ";reconstructed protons", 11, -0.5, 10.5)),
88  h_xi(new TH1D("", ";#xi", 100, 0., 0.3)),
89  h2_th_y_vs_xi(new TH2D("", ";#xi;#theta_{y} (rad)", 100, 0., 0.3, 100, -500E-6, +500E-6)),
90  p_th_y_vs_xi(new TProfile("", ";#xi;#theta_{y} (rad)", 100, 0., 0.3)) {
91  for (unsigned int n = 2; n <= 10; ++n)
92  m_h_xi_nTracks[n] = new TH1D(*h_xi);
93  }

Member Function Documentation

void CTPPSProtonReconstructionPlotter::SingleRPPlots::fill ( const reco::ForwardProton p,
unsigned int  nTracks 
)
inline

Definition at line 95 of file CTPPSProtonReconstructionPlotter.cc.

References reco::ForwardProton::thetaY(), reco::ForwardProton::validFit(), and reco::ForwardProton::xi().

95  {
96  if (p.validFit()) {
97  h_xi->Fill(p.xi());
98 
99  const double th_y = p.thetaY();
100  h2_th_y_vs_xi->Fill(p.xi(), th_y);
101  p_th_y_vs_xi->Fill(p.xi(), th_y);
102 
103  auto it = m_h_xi_nTracks.find(nTracks);
104  if (it != m_h_xi_nTracks.end())
105  it->second->Fill(p.xi());
106  }
107  }
const unsigned int nTracks(const reco::Vertex &sv)
float xi() const
longitudinal fractional momentum loss
Definition: ForwardProton.h:76
bool validFit() const
flag for the fit validity
float thetaY() const
horizontal scattering angle, in rad
Definition: ForwardProton.h:80
void CTPPSProtonReconstructionPlotter::SingleRPPlots::write ( ) const
inline

Definition at line 109 of file CTPPSProtonReconstructionPlotter.cc.

References AlCaHLTBitMon_ParallelJobs::p.

109  {
110  h_multiplicity->Write("h_multiplicity");
111  h_xi->Write("h_xi");
112 
113  h2_th_y_vs_xi->Write("h2_th_y_vs_xi");
114  p_th_y_vs_xi->Write("p_th_y_vs_xi");
115 
116  TDirectory *d_top = gDirectory;
117 
118  gDirectory = d_top->mkdir("h_xi_nTracks");
119  for (const auto p : m_h_xi_nTracks) {
120  char buf[100];
121  sprintf(buf, "h_xi_nTracks_%u", p.first);
122  p.second->Write(buf);
123  }
124 
125  gDirectory = d_top;
126  }

Member Data Documentation

std::unique_ptr<TH2D> CTPPSProtonReconstructionPlotter::SingleRPPlots::h2_th_y_vs_xi

Definition at line 81 of file CTPPSProtonReconstructionPlotter.cc.

std::unique_ptr<TH1D> CTPPSProtonReconstructionPlotter::SingleRPPlots::h_multiplicity

Definition at line 79 of file CTPPSProtonReconstructionPlotter.cc.

std::unique_ptr<TH1D> CTPPSProtonReconstructionPlotter::SingleRPPlots::h_xi

Definition at line 80 of file CTPPSProtonReconstructionPlotter.cc.

std::map<unsigned int, TH1D *> CTPPSProtonReconstructionPlotter::SingleRPPlots::m_h_xi_nTracks

Definition at line 84 of file CTPPSProtonReconstructionPlotter.cc.

std::unique_ptr<TProfile> CTPPSProtonReconstructionPlotter::SingleRPPlots::p_th_y_vs_xi

Definition at line 82 of file CTPPSProtonReconstructionPlotter.cc.