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 73 of file CTPPSCommonDQMSource.cc.

Constructor & Destructor Documentation

CTPPSCommonDQMSource::ArmPlots::ArmPlots ( )
inline

Definition at line 96 of file CTPPSCommonDQMSource.cc.

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

Definition at line 183 of file CTPPSCommonDQMSource.cc.

References CTPPSDetId::armName(), DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), 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, dataset::name, CTPPSDetId::nShort, year_2016_postTS2_cff::rpId, CTPPSDetId::rpName(), CTPPSDetId::sdTrackingStrip, DQMStore::IBooker::setCurrentFolder(), CTPPSDetId::stationName(), timingRPPlots, runGCPTkAlMap::title, and trackingRPPlots.

183  : id(_id)
184 {
185  string name;
187 
188  ibooker.setCurrentFolder("CTPPS/common/sector " + name);
189 
190  string title = "ctpps_common_sector_" + name;
191 
192  h_numRPWithTrack_top = ibooker.book1D("number of top RPs with tracks", title+";number of top RPs with tracks", 5, -0.5, 4.5);
193  h_numRPWithTrack_hor = ibooker.book1D("number of hor RPs with tracks", title+";number of hor RPs with tracks", 5, -0.5, 4.5);
194  h_numRPWithTrack_bot = ibooker.book1D("number of bot RPs with tracks", title+";number of bot RPs with tracks", 5, -0.5, 4.5);
195 
196  h_trackCorr = ibooker.book2D("track correlation", title, 7, -0.5, 6.5, 7, -0.5, 6.5);
197  TH2F *h_trackCorr_h = h_trackCorr->getTH2F();
198  TAxis *xa = h_trackCorr_h->GetXaxis(), *ya = h_trackCorr_h->GetYaxis();
199  xa->SetBinLabel( 1, "210, far, hor"); ya->SetBinLabel( 1, "210, far, hor");
200  xa->SetBinLabel( 2, "210, far, top"); ya->SetBinLabel( 2, "210, far, top");
201  xa->SetBinLabel( 3, "210, far, bot"); ya->SetBinLabel( 3, "210, far, bot");
202  xa->SetBinLabel( 4, "220, cyl" ); ya->SetBinLabel( 4, "220, cyl" );
203  xa->SetBinLabel( 5, "220, far, hor"); ya->SetBinLabel( 5, "220, far, hor");
204  xa->SetBinLabel( 6, "220, far, top"); ya->SetBinLabel( 6, "220, far, top");
205  xa->SetBinLabel( 7, "220, far, bot"); ya->SetBinLabel( 7, "220, far, bot");
206 
207  h_trackCorr_overlap = ibooker.book2D("track correlation hor-vert overlaps", title, 7, -0.5, 6.5, 7, -0.5, 6.5);
208  h_trackCorr_h = h_trackCorr_overlap->getTH2F();
209  xa = h_trackCorr_h->GetXaxis(); ya = h_trackCorr_h->GetYaxis();
210  xa->SetBinLabel( 1, "210, far, hor"); ya->SetBinLabel( 1, "210, far, hor");
211  xa->SetBinLabel( 2, "210, far, top"); ya->SetBinLabel( 2, "210, far, top");
212  xa->SetBinLabel( 3, "210, far, bot"); ya->SetBinLabel( 3, "210, far, bot");
213  xa->SetBinLabel( 4, "220, cyl" ); ya->SetBinLabel( 4, "220, cyl" );
214  xa->SetBinLabel( 5, "220, far, hor"); ya->SetBinLabel( 5, "220, far, hor");
215  xa->SetBinLabel( 6, "220, far, top"); ya->SetBinLabel( 6, "220, far, top");
216  xa->SetBinLabel( 7, "220, far, bot"); ya->SetBinLabel( 7, "220, far, bot");
217 
218  h_proton_xi = ibooker.book1D("proton xi", title+";xi", 100, 0., 0.3);
219  h_proton_t = ibooker.book1D("proton t", title+";|t| GeV^{2}", 100, 0., 5.);
220  h_proton_time = ibooker.book1D("proton time", title+";time (ns)", 100, -25., 50.);
221 
222  for (const unsigned int &rpDecId : { 2, 3, 16, 23 })
223  {
224  unsigned int st = rpDecId / 10, rp = rpDecId % 10, rpFullDecId = id * 100 + rpDecId;
226  string stName, rpName;
227  rpId.stationName(stName, CTPPSDetId::nShort);
228  rpId.rpName(rpName, CTPPSDetId::nShort);
229  rpName = stName + "_" + rpName;
230 
231  if (rp == 6)
232  {
233  timingRPPlots[rpFullDecId] = {
234  ibooker.book1D(rpName + " - track x histogram", title+"/"+rpName+";track x (mm)", 200, 0., 40.),
235  ibooker.book1D(rpName + " - track time histogram", title+"/"+rpName+";track time (ns)", 100, -25., +50.)
236  };
237  } else {
238  trackingRPPlots[rpFullDecId] = {
239  ibooker.book1D(rpName + " - track x histogram", title+"/"+rpName+";track x (mm)", 200, 0., 40.),
240  ibooker.book1D(rpName + " - track y histogram", title+"/"+rpName+";track y (mm)", 200, -20., +20.)
241  };
242  }
243  }
244 }
std::map< unsigned int, TimingRPPlots > timingRPPlots
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:268
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:106
void armName(std::string &name, NameFlag flag=nFull) const
Definition: CTPPSDetId.h:92
TH2F * getTH2F() const
std::map< unsigned int, TrackingRPPlots > trackingRPPlots
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:109
Base class for CTPPS detector IDs.
Definition: CTPPSDetId.h:32

Member Data Documentation

MonitorElement * CTPPSCommonDQMSource::ArmPlots::h_numRPWithTrack_bot = 0

Definition at line 77 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

MonitorElement * CTPPSCommonDQMSource::ArmPlots::h_numRPWithTrack_hor = 0

Definition at line 77 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

MonitorElement* CTPPSCommonDQMSource::ArmPlots::h_numRPWithTrack_top = 0

Definition at line 77 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

MonitorElement * CTPPSCommonDQMSource::ArmPlots::h_proton_t = 0

Definition at line 80 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

MonitorElement * CTPPSCommonDQMSource::ArmPlots::h_proton_time = 0

Definition at line 80 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

MonitorElement* CTPPSCommonDQMSource::ArmPlots::h_proton_xi = 0

Definition at line 80 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

MonitorElement* CTPPSCommonDQMSource::ArmPlots::h_trackCorr = 0

Definition at line 78 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

MonitorElement * CTPPSCommonDQMSource::ArmPlots::h_trackCorr_overlap = 0

Definition at line 78 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

int CTPPSCommonDQMSource::ArmPlots::id

Definition at line 75 of file CTPPSCommonDQMSource.cc.

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

Definition at line 94 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().

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

Definition at line 87 of file CTPPSCommonDQMSource.cc.

Referenced by ArmPlots().