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, bool makeProtonRecoPlots)
 

Public Attributes

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

Detailed Description

plots related to one arm

Definition at line 74 of file CTPPSCommonDQMSource.cc.

Constructor & Destructor Documentation

◆ ArmPlots() [1/2]

CTPPSCommonDQMSource::ArmPlots::ArmPlots ( )
inline

Definition at line 95 of file CTPPSCommonDQMSource.cc.

95 {}

◆ ArmPlots() [2/2]

CTPPSCommonDQMSource::ArmPlots::ArmPlots ( DQMStore::IBooker ibooker,
int  _id,
bool  makeProtonRecoPlots 
)

Definition at line 209 of file CTPPSCommonDQMSource.cc.

References CTPPSDetId::armName(), dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), dqm::impl::MonitorElement::getTH2F(), h_numRPWithTrack_bot, h_numRPWithTrack_hor, h_numRPWithTrack_top, h_proton_t, h_proton_th_x, h_proton_th_y, h_proton_time, h_proton_xi, h_trackCorr, h_trackCorr_overlap, ctppsCommonDQMSource_cfi::makeProtonRecoPlots, Skims_PA_cff::name, CTPPSDetId::nShort, CTPPSDetId::rpName(), CTPPSDetId::sdTrackingStrip, dqm::implementation::NavigatorBase::setCurrentFolder(), CTPPSDetId::stationName(), timingRPPlots, runGCPTkAlMap::title, and trackingRPPlots.

209  : id(_id) {
210  string name;
212 
213  ibooker.setCurrentFolder("CTPPS/common/sector " + name);
214 
215  string title = "ctpps_common_sector_" + name;
216 
218  ibooker.book1D("number of top RPs with tracks", title + ";number of top RPs with tracks", 5, -0.5, 4.5);
220  ibooker.book1D("number of hor RPs with tracks", title + ";number of hor RPs with tracks", 5, -0.5, 4.5);
222  ibooker.book1D("number of bot RPs with tracks", title + ";number of bot RPs with tracks", 5, -0.5, 4.5);
223 
224  h_trackCorr = ibooker.book2D("track correlation", title, 8, -0.5, 7.5, 8, -0.5, 7.5);
225  TH2F *h_trackCorr_h = h_trackCorr->getTH2F();
226  TAxis *xa = h_trackCorr_h->GetXaxis(), *ya = h_trackCorr_h->GetYaxis();
227  xa->SetBinLabel(1, "210, FR-HR");
228  ya->SetBinLabel(1, "210, FR-HR");
229  xa->SetBinLabel(2, "210, FR-TP");
230  ya->SetBinLabel(2, "210, FR-TP");
231  xa->SetBinLabel(3, "210, FR-BT");
232  ya->SetBinLabel(3, "210, FR-BT");
233  xa->SetBinLabel(4, "220, NR-HR");
234  ya->SetBinLabel(4, "220, NR-HR");
235  xa->SetBinLabel(5, "220, C1");
236  ya->SetBinLabel(5, "220, C1");
237  xa->SetBinLabel(6, "220, FR-HR");
238  ya->SetBinLabel(6, "220, FR-HR");
239  xa->SetBinLabel(7, "220, FR-TP");
240  ya->SetBinLabel(7, "220, FR-TP");
241  xa->SetBinLabel(8, "220, FR-BT");
242  ya->SetBinLabel(8, "220, FR-BT");
243 
244  h_trackCorr_overlap = ibooker.book2D("track correlation hor-vert overlaps", title, 8, -0.5, 7.5, 8, -0.5, 7.5);
245  h_trackCorr_h = h_trackCorr_overlap->getTH2F();
246  xa = h_trackCorr_h->GetXaxis();
247  ya = h_trackCorr_h->GetYaxis();
248  xa->SetBinLabel(1, "210, FR-HR");
249  ya->SetBinLabel(1, "210, FR-HR");
250  xa->SetBinLabel(2, "210, FR-TP");
251  ya->SetBinLabel(2, "210, FR-TP");
252  xa->SetBinLabel(3, "210, FR-BT");
253  ya->SetBinLabel(3, "210, FR-BT");
254  xa->SetBinLabel(4, "220, NR-HR");
255  ya->SetBinLabel(4, "220, NR-HR");
256  xa->SetBinLabel(5, "220, C1");
257  ya->SetBinLabel(5, "220, C1");
258  xa->SetBinLabel(6, "220, FR-HR");
259  ya->SetBinLabel(6, "220, FR-HR");
260  xa->SetBinLabel(7, "220, FR-TP");
261  ya->SetBinLabel(7, "220, FR-TP");
262  xa->SetBinLabel(8, "220, FR-BT");
263  ya->SetBinLabel(8, "220, FR-BT");
264 
265  if (makeProtonRecoPlots) {
266  h_proton_xi = ibooker.book1D("proton xi", title + ";xi", 100, 0., 0.3);
267  h_proton_th_x = ibooker.book1D("proton theta st x", ";#theta^{*}_{x} (rad)", 250, -500E-6, +500E-6);
268  h_proton_th_y = ibooker.book1D("proton theta st y", ";#theta^{*}_{y} (rad)", 250, -500E-6, +500E-6);
269  h_proton_t = ibooker.book1D("proton t", title + ";|t| GeV^{2}", 100, 0., 5.);
270  h_proton_time = ibooker.book1D("proton time", title + ";time (ns)", 100, -1., 1.);
271  }
272 
273  for (const unsigned int rpDecId : {3, 22, 16, 23}) {
274  unsigned int st = rpDecId / 10, rp = rpDecId % 10, rpFullDecId = id * 100 + rpDecId;
275  CTPPSDetId rpId(CTPPSDetId::sdTrackingStrip, id, st, rp);
276  string stName, rpName;
277  rpId.stationName(stName, CTPPSDetId::nShort);
278  rpId.rpName(rpName, CTPPSDetId::nShort);
279  rpName = stName + "_" + rpName;
280 
281  const bool timingRP = (rpDecId == 22 || rpDecId == 16);
282 
283  if (timingRP) {
284  timingRPPlots[rpFullDecId] = {
285  ibooker.book1D(rpName + " - track x histogram", title + "/" + rpName + ";track x (mm)", 200, 0., 40.),
286  ibooker.book1D(
287  rpName + " - track time histogram", title + "/" + rpName + ";track time (ns)", 100, -25., +50.)};
288  } else {
289  trackingRPPlots[rpFullDecId] = {
290  ibooker.book1D(rpName + " - track x histogram", title + "/" + rpName + ";track x (mm)", 200, 0., 40.),
291  ibooker.book1D(rpName + " - track y histogram", title + "/" + rpName + ";track y (mm)", 200, -20., +20.)};
292  }
293  }
294 }
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
std::map< unsigned int, TimingRPPlots > timingRPPlots
void armName(std::string &name, NameFlag flag=nFull) const
Definition: CTPPSDetId.h:98
std::map< unsigned int, TrackingRPPlots > trackingRPPlots
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:212
Base class for CTPPS detector IDs.
Definition: CTPPSDetId.h:32
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98

Member Data Documentation

◆ h_numRPWithTrack_bot

MonitorElement * CTPPSCommonDQMSource::ArmPlots::h_numRPWithTrack_bot = nullptr

Definition at line 77 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

◆ h_numRPWithTrack_hor

MonitorElement * CTPPSCommonDQMSource::ArmPlots::h_numRPWithTrack_hor = nullptr

Definition at line 77 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

◆ h_numRPWithTrack_top

MonitorElement* CTPPSCommonDQMSource::ArmPlots::h_numRPWithTrack_top = nullptr

Definition at line 77 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

◆ h_proton_t

MonitorElement * CTPPSCommonDQMSource::ArmPlots::h_proton_t = nullptr

Definition at line 80 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

◆ h_proton_th_x

MonitorElement * CTPPSCommonDQMSource::ArmPlots::h_proton_th_x = nullptr

Definition at line 80 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

◆ h_proton_th_y

MonitorElement * CTPPSCommonDQMSource::ArmPlots::h_proton_th_y = nullptr

Definition at line 80 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

◆ h_proton_time

MonitorElement * CTPPSCommonDQMSource::ArmPlots::h_proton_time = nullptr

Definition at line 81 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

◆ h_proton_xi

MonitorElement* CTPPSCommonDQMSource::ArmPlots::h_proton_xi = nullptr

Definition at line 80 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

◆ h_trackCorr

MonitorElement* CTPPSCommonDQMSource::ArmPlots::h_trackCorr = nullptr

Definition at line 78 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

◆ h_trackCorr_overlap

MonitorElement * CTPPSCommonDQMSource::ArmPlots::h_trackCorr_overlap = nullptr

Definition at line 78 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

◆ id

int CTPPSCommonDQMSource::ArmPlots::id

Definition at line 75 of file CTPPSCommonDQMSource.cc.

◆ timingRPPlots

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

Definition at line 93 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

◆ trackingRPPlots

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

Definition at line 87 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().