CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Public Attributes
CTPPSCommonDQMSource::ArmPlots Struct Reference

plots related to one arm More...

Classes

struct  TimingRPPlots
 
struct  TrackingRPPlots
 

Public Member Functions

 ArmPlots ()
 
 ArmPlots (DQMStore::IBooker &ibooker, int _id)
 

Public Attributes

MonitorElementh_numRPWithTrack_bot = 0
 
MonitorElementh_numRPWithTrack_hor = 0
 
MonitorElementh_numRPWithTrack_top = 0
 
MonitorElementh_proton_t = 0
 
MonitorElementh_proton_time = 0
 
MonitorElementh_proton_xi = 0
 
MonitorElementh_trackCorr = 0
 
MonitorElementh_trackCorr_overlap = 0
 
int id
 
std::map< unsigned int, TimingRPPlotstimingRPPlots
 
std::map< unsigned int, TrackingRPPlotstrackingRPPlots
 

Detailed Description

plots related to one arm

Definition at line 71 of file CTPPSCommonDQMSource.cc.

Constructor & Destructor Documentation

CTPPSCommonDQMSource::ArmPlots::ArmPlots ( )
inline

Definition at line 91 of file CTPPSCommonDQMSource.cc.

References photons_cff::_id.

91 {}
CTPPSCommonDQMSource::ArmPlots::ArmPlots ( DQMStore::IBooker ibooker,
int  _id 
)

Definition at line 198 of file CTPPSCommonDQMSource.cc.

References CTPPSDetId::armName(), dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), dqm::dqmstoreimpl::DQMStore::IBooker::book2D(), dqm::impl::MonitorElement::getTH2F(), h_numRPWithTrack_bot, h_numRPWithTrack_hor, h_numRPWithTrack_top, h_proton_t, h_proton_time, h_proton_xi, h_trackCorr, h_trackCorr_overlap, Skims_PA_cff::name, CTPPSDetId::nShort, CTPPSDetId::rpName(), CTPPSDetId::sdTrackingStrip, dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), CTPPSDetId::stationName(), timingRPPlots, overlapproblemtsosanalyzer_cfi::title, and trackingRPPlots.

198  : id(_id) {
199  string name;
201 
202  ibooker.setCurrentFolder("CTPPS/common/sector " + name);
203 
204  string title = "ctpps_common_sector_" + name;
205 
207  ibooker.book1D("number of top RPs with tracks", title + ";number of top RPs with tracks", 5, -0.5, 4.5);
209  ibooker.book1D("number of hor RPs with tracks", title + ";number of hor RPs with tracks", 5, -0.5, 4.5);
211  ibooker.book1D("number of bot RPs with tracks", title + ";number of bot RPs with tracks", 5, -0.5, 4.5);
212 
213  h_trackCorr = ibooker.book2D("track correlation", title, 7, -0.5, 6.5, 7, -0.5, 6.5);
214  TH2F *h_trackCorr_h = h_trackCorr->getTH2F();
215  TAxis *xa = h_trackCorr_h->GetXaxis(), *ya = h_trackCorr_h->GetYaxis();
216  xa->SetBinLabel(1, "210, far, hor");
217  ya->SetBinLabel(1, "210, far, hor");
218  xa->SetBinLabel(2, "210, far, top");
219  ya->SetBinLabel(2, "210, far, top");
220  xa->SetBinLabel(3, "210, far, bot");
221  ya->SetBinLabel(3, "210, far, bot");
222  xa->SetBinLabel(4, "220, cyl");
223  ya->SetBinLabel(4, "220, cyl");
224  xa->SetBinLabel(5, "220, far, hor");
225  ya->SetBinLabel(5, "220, far, hor");
226  xa->SetBinLabel(6, "220, far, top");
227  ya->SetBinLabel(6, "220, far, top");
228  xa->SetBinLabel(7, "220, far, bot");
229  ya->SetBinLabel(7, "220, far, bot");
230 
231  h_trackCorr_overlap = ibooker.book2D("track correlation hor-vert overlaps", title, 7, -0.5, 6.5, 7, -0.5, 6.5);
232  h_trackCorr_h = h_trackCorr_overlap->getTH2F();
233  xa = h_trackCorr_h->GetXaxis();
234  ya = h_trackCorr_h->GetYaxis();
235  xa->SetBinLabel(1, "210, far, hor");
236  ya->SetBinLabel(1, "210, far, hor");
237  xa->SetBinLabel(2, "210, far, top");
238  ya->SetBinLabel(2, "210, far, top");
239  xa->SetBinLabel(3, "210, far, bot");
240  ya->SetBinLabel(3, "210, far, bot");
241  xa->SetBinLabel(4, "220, cyl");
242  ya->SetBinLabel(4, "220, cyl");
243  xa->SetBinLabel(5, "220, far, hor");
244  ya->SetBinLabel(5, "220, far, hor");
245  xa->SetBinLabel(6, "220, far, top");
246  ya->SetBinLabel(6, "220, far, top");
247  xa->SetBinLabel(7, "220, far, bot");
248  ya->SetBinLabel(7, "220, far, bot");
249 
250  h_proton_xi = ibooker.book1D("proton xi", title + ";xi", 100, 0., 0.3);
251  h_proton_t = ibooker.book1D("proton t", title + ";|t| GeV^{2}", 100, 0., 5.);
252  h_proton_time = ibooker.book1D("proton time", title + ";time (ns)", 100, -25., 50.);
253 
254  for (const unsigned int &rpDecId : {2, 3, 16, 23}) {
255  unsigned int st = rpDecId / 10, rp = rpDecId % 10, rpFullDecId = id * 100 + rpDecId;
256  CTPPSDetId rpId(CTPPSDetId::sdTrackingStrip, id, st, rp);
257  string stName, rpName;
258  rpId.stationName(stName, CTPPSDetId::nShort);
259  rpId.rpName(rpName, CTPPSDetId::nShort);
260  rpName = stName + "_" + rpName;
261 
262  if (rp == 6) {
263  timingRPPlots[rpFullDecId] = {
264  ibooker.book1D(rpName + " - track x histogram", title + "/" + rpName + ";track x (mm)", 200, 0., 40.),
265  ibooker.book1D(
266  rpName + " - track time histogram", title + "/" + rpName + ";track time (ns)", 100, -25., +50.)};
267  } else {
268  trackingRPPlots[rpFullDecId] = {
269  ibooker.book1D(rpName + " - track x histogram", title + "/" + rpName + ";track x (mm)", 200, 0., 40.),
270  ibooker.book1D(rpName + " - track y histogram", title + "/" + rpName + ";track y (mm)", 200, -20., +20.)};
271  }
272  }
273 }
std::map< unsigned int, TimingRPPlots > timingRPPlots
void armName(std::string &name, NameFlag flag=nFull) const
Definition: CTPPSDetId.h:92
std::map< unsigned int, TrackingRPPlots > trackingRPPlots
Base class for CTPPS detector IDs.
Definition: CTPPSDetId.h:32

Member Data Documentation

MonitorElement * CTPPSCommonDQMSource::ArmPlots::h_numRPWithTrack_bot = 0

Definition at line 74 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

MonitorElement * CTPPSCommonDQMSource::ArmPlots::h_numRPWithTrack_hor = 0

Definition at line 74 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

MonitorElement* CTPPSCommonDQMSource::ArmPlots::h_numRPWithTrack_top = 0

Definition at line 74 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

MonitorElement * CTPPSCommonDQMSource::ArmPlots::h_proton_t = 0

Definition at line 77 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

MonitorElement * CTPPSCommonDQMSource::ArmPlots::h_proton_time = 0

Definition at line 77 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

MonitorElement* CTPPSCommonDQMSource::ArmPlots::h_proton_xi = 0

Definition at line 77 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

MonitorElement* CTPPSCommonDQMSource::ArmPlots::h_trackCorr = 0

Definition at line 75 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

MonitorElement * CTPPSCommonDQMSource::ArmPlots::h_trackCorr_overlap = 0

Definition at line 75 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

int CTPPSCommonDQMSource::ArmPlots::id

Definition at line 72 of file CTPPSCommonDQMSource.cc.

std::map<unsigned int, TimingRPPlots> CTPPSCommonDQMSource::ArmPlots::timingRPPlots

Definition at line 89 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

std::map<unsigned int, TrackingRPPlots> CTPPSCommonDQMSource::ArmPlots::trackingRPPlots

Definition at line 83 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().