43 theFile =
new TFile(rootFileName.c_str(),
"READ");
60 MainFolder =
"DQMData/DT/";
99 string PsFileNameWithRun = PsFileName +
"_" + RunNum.str() +
".ps";
100 TPostScript psFile(PsFileNameWithRun.c_str(),111);
103 TCanvas
c1(
"c1",
"",600,780);
108 if(DataIntegrityHistos){
111 stringstream dduID; dduID << DDUId;
113 string histo_name1 = MainFolder +
"DataIntegrity/FED" + dduID.str() +
"/FED" + dduID.str() +
"_TTSValues";
114 TH1F *histo1 = (TH1F*)
theFile -> Get(histo_name1.c_str());
119 string histo_name2 = MainFolder +
"DataIntegrity/FED" + dduID.str() +
"/FED" + dduID.str() +
"_ROSStatus";
120 TH1F *histo2 = (TH1F*)
theFile -> Get(histo_name2.c_str());
125 string histo_name3 = MainFolder +
"DataIntegrity/FED" + dduID.str() +
"/FED" + dduID.str() +
"_ROSSummary";
126 TH1F *histo3 = (TH1F*)
theFile -> Get(histo_name3.c_str());
131 string histo_name4 = MainFolder +
"DataIntegrity/FED" + dduID.str() +
"/ROS1/FED" + dduID.str() +
"_ROS1_ROSError";
132 TH1F *histo4 = (TH1F*)
theFile -> Get(histo_name4.c_str());
147 vector<DTChamber*>::const_iterator ch_digi_it = muonGeom->chambers().begin();
148 vector<DTChamber*>::const_iterator ch_digi_end = muonGeom->chambers().end();
149 for (; ch_digi_it != ch_digi_end; ++ch_digi_it) {
151 stringstream wheel; wheel << ch.
wheel();
153 stringstream sector; sector << ch.
sector();
154 vector<const DTSuperLayer*>::const_iterator sl_it = (*ch_digi_it)->superLayers().begin();
155 vector<const DTSuperLayer*>::const_iterator sl_end = (*ch_digi_it)->superLayers().end();
157 for(; sl_it != sl_end; ++sl_it) {
159 stringstream superLayer; superLayer << sl.
superlayer();
161 string digiFolder = MainFolder +
"DTDigiTask/Wheel" + wheel.str();
162 string histo_name = digiFolder +
"/Station" + station.str() +
"/Sector" + sector.str() +
"/TimeBoxes/TimeBox_W" + wheel.str() +
"_St" + station.str() +
"_Sec" + sector.str()+
"_SL" + superLayer.str();
163 TH1F *
histo = (TH1F *)
theFile->Get(histo_name.c_str());
178 vector<DTChamber*>::const_iterator ch_digi2_it = muonGeom->chambers().begin();
179 vector<DTChamber*>::const_iterator ch_digi2_end = muonGeom->chambers().end();
180 for (; ch_digi2_it != ch_digi2_end; ++ch_digi2_it) {
182 stringstream wheel; wheel << ch.
wheel();
184 stringstream sector; sector << ch.
sector();
186 vector<const DTSuperLayer*>::const_iterator sl_it = (*ch_digi2_it)->superLayers().begin();
187 vector<const DTSuperLayer*>::const_iterator sl_end = (*ch_digi2_it)->superLayers().end();
189 for(; sl_it != sl_end; ++sl_it) {
191 vector<const DTLayer*>::const_iterator l_it = (*sl_it)->layers().begin();
192 vector<const DTLayer*>::const_iterator l_end = (*sl_it)->layers().end();
193 stringstream superLayer; superLayer << sl.
superlayer();
195 for(; l_it != l_end; ++l_it) {
197 stringstream layer; layer << layerId.
layer();
199 string digiFolder = MainFolder +
"DTDigiTask/Wheel" + wheel.str();
200 string histo_name = digiFolder +
"/Station" + station.str() +
"/Sector" + sector.str() +
"/Occupancies/OccupancyInTimeHits_perL_W" + wheel.str() +
"_St" + station.str() +
"_Sec" + sector.str()+
"_SL" + superLayer.str() +
"_L" + layer.str();
201 TH1F *
histo = (TH1F*)
theFile -> Get(histo_name.c_str());
218 vector<DTChamber*>::const_iterator ch_digi3_it = muonGeom->chambers().begin();
219 vector<DTChamber*>::const_iterator ch_digi3_end = muonGeom->chambers().end();
220 for (; ch_digi3_it != ch_digi3_end; ++ch_digi3_it) {
222 stringstream wheel; wheel << ch.
wheel();
224 stringstream sector; sector << ch.
sector();
226 vector<const DTSuperLayer*>::const_iterator sl_it = (*ch_digi3_it)->superLayers().begin();
227 vector<const DTSuperLayer*>::const_iterator sl_end = (*ch_digi3_it)->superLayers().end();
229 for(; sl_it != sl_end; ++sl_it) {
231 vector<const DTLayer*>::const_iterator l_it = (*sl_it)->layers().begin();
232 vector<const DTLayer*>::const_iterator l_end = (*sl_it)->layers().end();
233 stringstream superLayer; superLayer << sl.
superlayer();
235 for(; l_it != l_end; ++l_it) {
237 stringstream layer; layer << layerId.
layer();
239 string digiFolder = MainFolder +
"DTDigiTask/Wheel" + wheel.str();
240 string histo_name = digiFolder +
"/Station" + station.str() +
"/Sector" + sector.str() +
"/Occupancies/OccupancyNoise_perL_W" + wheel.str() +
"_St" + station.str() +
"_Sec" + sector.str()+
"_SL" + superLayer.str() +
"_L" + layer.str();
241 TH1F *
histo = (TH1F*)
theFile -> Get(histo_name.c_str());
258 vector<DTChamber*>::const_iterator ch_digi4_it = muonGeom->chambers().begin();
259 vector<DTChamber*>::const_iterator ch_digi4_end = muonGeom->chambers().end();
260 for (; ch_digi4_it != ch_digi4_end; ++ch_digi4_it) {
262 stringstream wheel; wheel << ch.
wheel();
264 stringstream sector; sector << ch.
sector();
266 vector<const DTSuperLayer*>::const_iterator sl_it = (*ch_digi4_it)->superLayers().begin();
267 vector<const DTSuperLayer*>::const_iterator sl_end = (*ch_digi4_it)->superLayers().end();
269 for(; sl_it != sl_end; ++sl_it) {
271 vector<const DTLayer*>::const_iterator l_it = (*sl_it)->layers().begin();
272 vector<const DTLayer*>::const_iterator l_end = (*sl_it)->layers().end();
273 stringstream superLayer; superLayer << sl.
superlayer();
275 for(; l_it != l_end; ++l_it) {
277 stringstream layer; layer << layerId.
layer();
279 string digiFolder = MainFolder +
"DTDigiTask/Wheel" + wheel.str();
280 string histo_name = digiFolder +
"/Station" + station.str() +
"/Sector" + sector.str() +
"/DigiPerEvent/DigiPerEvent_W" + wheel.str() +
"_St" + station.str() +
"_Sec" + sector.str() +
"_SL" + superLayer.str() +
"_L" + layer.str();
281 TProfile *
histo = (TProfile*)
theFile -> Get(histo_name.c_str());
303 vector<DTChamber*>::const_iterator ch_reco_it = muonGeom->chambers().begin();
304 vector<DTChamber*>::const_iterator ch_reco_end = muonGeom->chambers().end();
305 for (; ch_reco_it != ch_reco_end; ++ch_reco_it) {
307 stringstream wheel; wheel << ch.
wheel();
309 stringstream sector; sector << ch.
sector();
311 string recoFolder = MainFolder +
"DTSegmentAnalysisTask/Wheel" + wheel.str();
312 string histo_name = recoFolder +
"/Station" + station.str() +
"/Sector" + sector.str() +
"/hN4DSeg_W" + wheel.str() +
"_St" + station.str() +
"_Sec" + sector.str();
313 TH1F *
histo = (TH1F*)
theFile -> Get(histo_name.c_str());
315 int pad = (ch.
station() - 1)*2 + 1;
319 histo_name = recoFolder +
"/Station" + station.str() +
"/Sector" + sector.str() +
"/h4DSegmXvsYInCham_W" + wheel.str() +
"_St" + station.str() +
"_Sec" + sector.str();
320 TProfile *histo2 = (TProfile*)
theFile -> Get(histo_name.c_str());
322 int pad = (ch.
station() - 1)*2 + 2;
332 vector<DTChamber*>::const_iterator ch_reco2_it = muonGeom->chambers().begin();
333 vector<DTChamber*>::const_iterator ch_reco2_end = muonGeom->chambers().end();
334 for (; ch_reco2_it != ch_reco2_end; ++ch_reco2_it) {
336 stringstream wheel; wheel << ch.
wheel();
338 stringstream sector; sector << ch.
sector();
340 string recoFolder = MainFolder +
"DTSegmentAnalysisTask/Wheel" + wheel.str();
341 string histo_name = recoFolder +
"/Station" + station.str() +
"/Sector" + sector.str() +
"/h4DSegmPhiDirection_W" + wheel.str() +
"_St" + station.str() +
"_Sec" + sector.str();
342 TH1F *
histo = (TH1F*)
theFile -> Get(histo_name.c_str());
344 int pad = (ch.
station() - 1)*2 + 1;
348 histo_name = recoFolder +
"/Station" + station.str() +
"/Sector" + sector.str() +
"/h4DSegmThetaDirection_W" + wheel.str() +
"_St" + station.str() +
"_Sec" + sector.str();
349 TH1F *histo2 = (TH1F*)
theFile -> Get(histo_name.c_str());
351 int pad = (ch.
station() - 1)*2 + 2;
366 vector<DTChamber*>::const_iterator ch_reso_it = muonGeom->chambers().begin();
367 vector<DTChamber*>::const_iterator ch_reso_end = muonGeom->chambers().end();
368 for (; ch_reso_it != ch_reso_end; ++ch_reso_it) {
370 stringstream wheel; wheel << ch.
wheel();
372 stringstream sector; sector << ch.
sector();
373 vector<const DTSuperLayer*>::const_iterator sl_it = (*ch_reso_it)->superLayers().begin();
374 vector<const DTSuperLayer*>::const_iterator sl_end = (*ch_reso_it)->superLayers().end();
376 for(; sl_it != sl_end; ++sl_it) {
378 stringstream superLayer; superLayer << sl.
superlayer();
380 string resoFolder = MainFolder +
"DTResolutionAnalysisTask/Wheel" + wheel.str();
381 string histo_name = resoFolder +
"/Station" + station.str() +
"/Sector" + sector.str() +
"/hResDist_W" + wheel.str() +
"_St" + station.str() +
"_Sec" + sector.str() +
"_SL" + superLayer.str();
382 TH1F *
histo = (TH1F*)
theFile -> Get(histo_name.c_str());
395 vector<DTChamber*>::const_iterator ch_reso2_it = muonGeom->chambers().begin();
396 vector<DTChamber*>::const_iterator ch_reso2_end = muonGeom->chambers().end();
397 for (; ch_reso2_it != ch_reso2_end; ++ch_reso2_it) {
399 stringstream wheel; wheel << ch.
wheel();
401 stringstream sector; sector << ch.
sector();
402 vector<const DTSuperLayer*>::const_iterator sl_it = (*ch_reso2_it)->superLayers().begin();
403 vector<const DTSuperLayer*>::const_iterator sl_end = (*ch_reso2_it)->superLayers().end();
405 for(; sl_it != sl_end; ++sl_it) {
407 stringstream superLayer; superLayer << sl.
superlayer();
409 string resoFolder = MainFolder +
"DTResolutionAnalysisTask/Wheel" + wheel.str();
410 string histo_name = resoFolder +
"/Station" + station.str() +
"/Sector" + sector.str() +
"/hResDistVsDist_W" + wheel.str() +
"_St" + station.str() +
"_Sec" + sector.str() +
"_SL" + superLayer.str();
411 TProfile *
histo = (TProfile*)
theFile -> Get(histo_name.c_str());
424 if(EfficiencyHistos){
429 vector<DTChamber*>::const_iterator ch_eff_it = muonGeom->chambers().begin();
430 vector<DTChamber*>::const_iterator ch_eff_end = muonGeom->chambers().end();
431 for (; ch_eff_it != ch_eff_end; ++ch_eff_it) {
433 stringstream wheel; wheel << ch.
wheel();
435 stringstream sector; sector << ch.
sector();
437 vector<const DTSuperLayer*>::const_iterator sl_it = (*ch_eff_it)->superLayers().begin();
438 vector<const DTSuperLayer*>::const_iterator sl_end = (*ch_eff_it)->superLayers().end();
440 for(; sl_it != sl_end; ++sl_it) {
442 vector<const DTLayer*>::const_iterator l_it = (*sl_it)->layers().begin();
443 vector<const DTLayer*>::const_iterator l_end = (*sl_it)->layers().end();
444 stringstream superLayer; superLayer << sl.
superlayer();
446 for(; l_it != l_end; ++l_it) {
448 stringstream layer; layer << layerId.
layer();
450 string efficiencyFolder = MainFolder +
"Tests/DTEfficiency/Wheel" + wheel.str();
451 string histo_name = efficiencyFolder +
"/Station" + station.str() +
"/Sector" + sector.str() +
"/UnassEfficiency_W" + wheel.str() +
"_St" + station.str() +
"_Sec" + sector.str() +
"_SL" + superLayer.str() +
"_L" + layer.str();
452 TH1F *
histo = (TH1F*)
theFile -> Get(histo_name.c_str());
471 vector<DTChamber*>::const_iterator ch_eff2_it = muonGeom->chambers().begin();
472 vector<DTChamber*>::const_iterator ch_eff2_end = muonGeom->chambers().end();
473 for (; ch_eff2_it != ch_eff2_end; ++ch_eff2_it) {
475 stringstream wheel; wheel << ch.
wheel();
477 stringstream sector; sector << ch.
sector();
479 string efficiencyFolder = MainFolder +
"Tests/DTChamberEfficiency/Wheel" + wheel.str();
480 string histo_name = efficiencyFolder +
"/Station" + station.str() +
"/Sector" + sector.str() +
"/xEfficiency_W" + wheel.str() +
"_St" + station.str() +
"_Sec" + sector.str();
481 TH1F *
histo = (TH1F*)
theFile -> Get(histo_name.c_str());
492 vector<DTChamber*>::const_iterator ch_eff3_it = muonGeom->chambers().begin();
493 vector<DTChamber*>::const_iterator ch_eff3_end = muonGeom->chambers().end();
494 for (; ch_eff3_it != ch_eff3_end; ++ch_eff3_it) {
496 stringstream wheel; wheel << ch.
wheel();
498 stringstream sector; sector << ch.
sector();
500 string efficiencyFolder = MainFolder +
"Tests/DTChamberEfficiency/Wheel" + wheel.str();
501 string histo_name = efficiencyFolder +
"/Station" + station.str() +
"/Sector" + sector.str() +
"/yEfficiency_W" + wheel.str() +
"_St" + station.str() +
"_Sec" + sector.str();
502 TH1F *
histo = (TH1F*)
theFile -> Get(histo_name.c_str());
513 if(TestPulsesHistos){
517 vector<DTChamber*>::const_iterator ch_TP_it = muonGeom->chambers().begin();
518 vector<DTChamber*>::const_iterator ch_TP_end = muonGeom->chambers().end();
519 for (; ch_TP_it != ch_TP_end; ++ch_TP_it) {
521 stringstream wheel; wheel << ch.
wheel();
523 stringstream sector; sector << ch.
sector();
525 vector<const DTSuperLayer*>::const_iterator sl_it = (*ch_TP_it)->superLayers().begin();
526 vector<const DTSuperLayer*>::const_iterator sl_end = (*ch_TP_it)->superLayers().end();
528 for(; sl_it != sl_end; ++sl_it) {
530 vector<const DTLayer*>::const_iterator l_it = (*sl_it)->layers().begin();
531 vector<const DTLayer*>::const_iterator l_end = (*sl_it)->layers().end();
532 stringstream superLayer; superLayer << sl.
superlayer();
534 for(; l_it != l_end; ++l_it) {
536 stringstream layer; layer << layerId.
layer();
538 string testPulsesFolder = MainFolder +
"DTTestPulsesTask/Wheel" + wheel.str();
539 string histo_name = testPulsesFolder +
"/Station" + station.str() +
"/Sector" + sector.str() +
"/SuperLayer" + superLayer.str() +
"/TPProfile/TestPulses2D_W" + wheel.str() +
"_St" + station.str() +
"_Sec" + sector.str() +
"_SL" + superLayer.str() +
"_L" + layer.str();
540 TProfile *
histo = (TProfile*)
theFile -> Get(histo_name.c_str());
561 vector<DTChamber*>::const_iterator ch_trigger_it = muonGeom->chambers().begin();
562 vector<DTChamber*>::const_iterator ch_trigger_end = muonGeom->chambers().end();
563 for (; ch_trigger_it != ch_trigger_end; ++ch_trigger_it) {
565 stringstream wheel; wheel << ch.
wheel();
567 stringstream sector; sector << ch.
sector();
569 string triggerFolder = MainFolder +
"DTLocalTriggerTask/Wheel" + wheel.str();
570 string histo_name = triggerFolder +
"/Sector" + sector.str() +
"/Station" + station.str() +
"/LocalTriggerPhi/DDU_BXvsQual_W" + wheel.str() +
"_Sec" + sector.str() +
"_St" + station.str();
571 TH1F *
histo = (TH1F*)
theFile -> Get(histo_name.c_str());
581 vector<DTChamber*>::const_iterator ch_trigger2_it = muonGeom->chambers().begin();
582 vector<DTChamber*>::const_iterator ch_trigger2_end = muonGeom->chambers().end();
583 for (; ch_trigger2_it != ch_trigger2_end; ++ch_trigger2_it) {
585 stringstream wheel; wheel << ch.
wheel();
587 stringstream sector; sector << ch.
sector();
589 string triggerFolder = MainFolder +
"DTLocalTriggerTask/Wheel" + wheel.str();
590 string histo_name = triggerFolder +
"/Sector" + sector.str() +
"/Station" + station.str() +
"/LocalTriggerTheta/DDU_ThetaBXvsQual_W" + wheel.str() +
"_Sec" + sector.str() +
"_St" + station.str();
591 TH1F *
histo = (TH1F*)
theFile -> Get(histo_name.c_str());
602 int counter1=0,counter2=0;
604 vector<DTChamber*>::const_iterator ch_trigger3_it = muonGeom->chambers().begin();
605 vector<DTChamber*>::const_iterator ch_trigger3_end = muonGeom->chambers().end();
606 for (; ch_trigger3_it != ch_trigger3_end; ++ch_trigger3_it) {
608 stringstream wheel; wheel << ch.
wheel();
609 stringstream sector; sector << ch.
sector();
611 string triggerFolder = MainFolder +
"Tests/DTLocalTrigger/Wheel" + wheel.str();
612 string histo_Name = triggerFolder +
"/Sector" + sector.str() +
"/LocalTriggerPhi/CorrFraction_Phi_W" + wheel.str() +
"_Sec" + sector.str();
613 TH1F *Histo1 = (TH1F*)
theFile -> Get(histo_Name.c_str());
614 if(Histo1 && counter1==0){
619 histo_Name = triggerFolder +
"/Sector" + sector.str() +
"/LocalTriggerTheta/HFraction_Theta_W" + wheel.str() +
"_Sec" + sector.str();
620 TH1F *Histo2 = (TH1F*)
theFile -> Get(histo_Name.c_str());
621 if(Histo2 && counter2==0){
633 vector<DTChamber*>::const_iterator ch_trigger4_it = muonGeom->chambers().begin();
634 vector<DTChamber*>::const_iterator ch_trigger4_end = muonGeom->chambers().end();
635 for (; ch_trigger4_it != ch_trigger4_end; ++ch_trigger4_it) {
637 stringstream wheel; wheel << ch.
wheel();
639 stringstream sector; sector << ch.
sector();
641 string triggerFolder = MainFolder +
"Tests/DTLocalTrigger/Wheel" + wheel.str();
642 string histo_name = triggerFolder +
"/Sector" + sector.str() +
"/Station" + station.str() +
"/TrigEffPos_Phi_W" + wheel.str() +
"_Sec" + sector.str() +
"_St" + station.str();
643 TH1F *
histo = (TH1F*)
theFile -> Get(histo_name.c_str());
644 string histo_nameHHHL = triggerFolder +
"/Sector" + sector.str() +
"/Station" + station.str() +
"/TrigEffPosHHHL_Phi_W" + wheel.str() +
"_Sec" + sector.str() +
"_St" + station.str();
645 TH1F *histoHHHL = (TH1F*)
theFile -> Get(histo_nameHHHL.c_str());
648 histo->GetYaxis()->SetRangeUser(0,1.1);
651 histoHHHL->Draw(
"same");
661 vector<DTChamber*>::const_iterator ch_trigger5_it = muonGeom->chambers().begin();
662 vector<DTChamber*>::const_iterator ch_trigger5_end = muonGeom->chambers().end();
663 for (; ch_trigger5_it != ch_trigger5_end; ++ch_trigger5_it) {
665 stringstream wheel; wheel << ch.
wheel();
667 stringstream sector; sector << ch.
sector();
669 string triggerFolder = MainFolder +
"Tests/DTLocalTrigger/Wheel" + wheel.str();
670 string histo_name = triggerFolder +
"/Sector" + sector.str() +
"/Station" + station.str() +
"/TrigEffAngle_Phi_W" + wheel.str() +
"_Sec" + sector.str() +
"_St" + station.str();
671 TH1F *
histo = (TH1F*)
theFile -> Get(histo_name.c_str());
674 histo->GetYaxis()->SetRangeUser(0,1.1);
684 vector<DTChamber*>::const_iterator ch_trigger6_it = muonGeom->chambers().begin();
685 vector<DTChamber*>::const_iterator ch_trigger6_end = muonGeom->chambers().end();
686 for (; ch_trigger6_it != ch_trigger6_end; ++ch_trigger6_it) {
688 stringstream wheel; wheel << ch.
wheel();
690 stringstream sector; sector << ch.
sector();
692 string triggerFolder = MainFolder +
"Tests/DTLocalTrigger/Wheel" + wheel.str();
693 string histo_name = triggerFolder +
"/Sector" + sector.str() +
"/Station" + station.str() +
"/TrigEffPos_Theta_W" + wheel.str() +
"_Sec" + sector.str() +
"_St" + station.str();
694 TH1F *
histo = (TH1F*)
theFile -> Get(histo_name.c_str());
697 histo->GetYaxis()->SetRangeUser(0,1.1);
707 vector<DTChamber*>::const_iterator ch_trigger7_it = muonGeom->chambers().begin();
708 vector<DTChamber*>::const_iterator ch_trigger7_end = muonGeom->chambers().end();
709 for (; ch_trigger7_it != ch_trigger7_end; ++ch_trigger7_it) {
711 stringstream wheel; wheel << ch.
wheel();
713 stringstream sector; sector << ch.
sector();
715 string triggerFolder = MainFolder +
"Tests/DTLocalTrigger/Wheel" + wheel.str();
716 string histo_name = triggerFolder +
"/Sector" + sector.str() +
"/Station" + station.str() +
"/TrigEffAngle_Theta_W" + wheel.str() +
"_Sec" + sector.str() +
"_St" + station.str();
717 TH1F *
histo = (TH1F*)
theFile -> Get(histo_name.c_str());
719 histo->GetYaxis()->SetRangeUser(0,1.1);
T getUntrackedParameter(std::string const &, T const &) const
void analyze(const edm::Event &e, const edm::EventSetup &c)
Analyze.
int layer() const
Return the layer number.
void beginRun(const edm::Run &run, const edm::EventSetup &setup)
BeginRun.
virtual ~DTCreateSummaryHistos()
Destructor.
int superlayer() const
Return the superlayer number (deprecated method name)
DTCreateSummaryHistos(const edm::ParameterSet &ps)
Constructor.
int station() const
Return the station number.
int wheel() const
Return the wheel number.