diff --git a/DQM/DTMonitorClient/python/dtFineDelayCorr_cfi.py b/DQM/DTMonitorClient/python/dtFineDelayCorr_cfi.py index 3f433911875cb..45baf2b25b16f 100644 --- a/DQM/DTMonitorClient/python/dtFineDelayCorr_cfi.py +++ b/DQM/DTMonitorClient/python/dtFineDelayCorr_cfi.py @@ -6,7 +6,7 @@ # run in online environment runOnline = cms.untracked.bool(True), # kind of trigger data processed by DTLocalTriggerTask - hwSources = cms.untracked.vstring('TM','DDU'), + hwSources = cms.untracked.vstring('TM'), # false if DTLocalTriggerTask used LTC digis localrun = cms.untracked.bool(True), # root folder for booking of histograms @@ -22,8 +22,8 @@ outputFile = cms.string("dtFineDelaysNew.txt"), # Tag for the t0Mean Histograms t0MeanHistoTag = cms.string("TrackCrossingTimeAll"), - # Hardware Source (DDU or TM) - hwSource = cms.string("DDU"), + # Hardware Source (TM) + hwSource = cms.string("TM"), # Choose to use Hist Mean or Gaussian Fit Mean gaussMean = cms.bool(False), # Require Minimum Number Of Entries in the t0Mean Histogram @@ -36,6 +36,3 @@ ) -from Configuration.Eras.Modifier_run2_common_cff import run2_common -run2_common.toModify( dtFineDelayCorr, hwSources = cms.untracked.vstring('TM')) - diff --git a/DQM/DTMonitorClient/python/dtLocalTriggerEfficiencyTest_cfi.py b/DQM/DTMonitorClient/python/dtLocalTriggerEfficiencyTest_cfi.py index 3eed57cdd3ef9..ee49fb0887b0c 100644 --- a/DQM/DTMonitorClient/python/dtLocalTriggerEfficiencyTest_cfi.py +++ b/DQM/DTMonitorClient/python/dtLocalTriggerEfficiencyTest_cfi.py @@ -7,14 +7,11 @@ # run in online environment runOnline = cms.untracked.bool(True), # kind of trigger data processed by DTLocalTriggerTask - hwSources = cms.untracked.vstring('TM','DDU'), + hwSources = cms.untracked.vstring('TM'), # false if DTLocalTriggerTask used LTC digis localrun = cms.untracked.bool(True), # root folder for booking of histograms folderRoot = cms.untracked.string('') ) -from Configuration.Eras.Modifier_run2_common_cff import run2_common -run2_common.toModify( triggerEfficiencyTest, hwSources = cms.untracked.vstring('TM')) - diff --git a/DQM/DTMonitorClient/python/dtLocalTriggerLutTest_cfi.py b/DQM/DTMonitorClient/python/dtLocalTriggerLutTest_cfi.py index 38b7548246465..57beebb91298a 100644 --- a/DQM/DTMonitorClient/python/dtLocalTriggerLutTest_cfi.py +++ b/DQM/DTMonitorClient/python/dtLocalTriggerLutTest_cfi.py @@ -7,7 +7,7 @@ # run in online environment runOnline = cms.untracked.bool(True), # kind of trigger data processed by DTLocalTriggerTask - hwSources = cms.untracked.vstring('TM','DDU'), + hwSources = cms.untracked.vstring('TM'), # false if DTLocalTriggerTask used LTC digis localrun = cms.untracked.bool(True), # enable/disable correlation plot tests @@ -16,6 +16,3 @@ folderRoot = cms.untracked.string('') ) -from Configuration.Eras.Modifier_run2_common_cff import run2_common -run2_common.toModify( triggerLutTest, hwSources = cms.untracked.vstring('TM')) - diff --git a/DQM/DTMonitorClient/python/dtLocalTriggerSynchTest_cfi.py b/DQM/DTMonitorClient/python/dtLocalTriggerSynchTest_cfi.py index 16b0bf1d16c5a..f7545c4926f2b 100644 --- a/DQM/DTMonitorClient/python/dtLocalTriggerSynchTest_cfi.py +++ b/DQM/DTMonitorClient/python/dtLocalTriggerSynchTest_cfi.py @@ -7,7 +7,7 @@ # run in online environment runOnline = cms.untracked.bool(True), # kind of trigger data processed by DTLocalTriggerTask - hwSources = cms.untracked.vstring('TM','DDU'), + hwSources = cms.untracked.vstring('TM'), # false if DTLocalTriggerTask used LTC digis localrun = cms.untracked.bool(True), # root folder for booking of histograms @@ -28,6 +28,3 @@ ) -from Configuration.Eras.Modifier_run2_common_cff import run2_common -run2_common.toModify( triggerSynchTest, hwSources = cms.untracked.vstring('TM')) - diff --git a/DQM/DTMonitorClient/python/dtLocalTriggerTest_TP_cfi.py b/DQM/DTMonitorClient/python/dtLocalTriggerTest_TP_cfi.py index 182a779764fef..0c22603803fee 100644 --- a/DQM/DTMonitorClient/python/dtLocalTriggerTest_TP_cfi.py +++ b/DQM/DTMonitorClient/python/dtLocalTriggerTest_TP_cfi.py @@ -7,13 +7,11 @@ # run in online environment runOnline = cms.untracked.bool(True), # kind of trigger data processed by DTLocalTriggerTask - hwSources = cms.untracked.vstring('TM','DDU'), + hwSources = cms.untracked.vstring('TM'), # false if DTLocalTriggerTask used LTC digis localrun = cms.untracked.bool(True), # root folder for booking of histograms folderRoot = cms.untracked.string(''), ) -from Configuration.Eras.Modifier_run2_common_cff import run2_common -run2_common.toModify( dtTPTriggerTest, hwSources = cms.untracked.vstring('TM')) diff --git a/DQM/DTMonitorClient/python/dtLocalTriggerTest_cfi.py b/DQM/DTMonitorClient/python/dtLocalTriggerTest_cfi.py index c41eaa1bf7b93..bad5adfb72f62 100644 --- a/DQM/DTMonitorClient/python/dtLocalTriggerTest_cfi.py +++ b/DQM/DTMonitorClient/python/dtLocalTriggerTest_cfi.py @@ -7,7 +7,7 @@ # run in online environment runOnline = cms.untracked.bool(True), # kind of trigger data processed by DTLocalTriggerTask - hwSources = cms.untracked.vstring('TM','DDU'), + hwSources = cms.untracked.vstring('TM'), # false if DTLocalTriggerTask used LTC digis localrun = cms.untracked.bool(True), # root folder for booking of histograms @@ -18,14 +18,9 @@ # second fraction test tresholds secondFracError = cms.untracked.double(0.95), secondFracWarning = cms.untracked.double(0.8), - # DDU-TM matching tests tresholds - matchingFracError = cms.untracked.double(0.65), - matchingFracWarning = cms.untracked.double(0.85), nEventsCert = cms.untracked.int32(1000) ) -from Configuration.Eras.Modifier_run2_common_cff import run2_common -run2_common.toModify( triggerTest, hwSources = cms.untracked.vstring('TM')) diff --git a/DQM/DTMonitorClient/python/dtTriggerEfficiencyTest_cfi.py b/DQM/DTMonitorClient/python/dtTriggerEfficiencyTest_cfi.py index 814bc878b17de..e69f9a1d74217 100644 --- a/DQM/DTMonitorClient/python/dtTriggerEfficiencyTest_cfi.py +++ b/DQM/DTMonitorClient/python/dtTriggerEfficiencyTest_cfi.py @@ -7,7 +7,7 @@ # run in online environment runOnline = cms.untracked.bool(False), # kind of trigger data processed by DTLocalTriggerTask - hwSources = cms.untracked.vstring('TM','DDU'), + hwSources = cms.untracked.vstring('TM'), # false if DTLocalTriggerTask used LTC digis localrun = cms.untracked.bool(True), # root folder for booking of histograms @@ -16,6 +16,4 @@ detailedAnalysis = cms.untracked.bool(False) ) -from Configuration.Eras.Modifier_run2_common_cff import run2_common -run2_common.toModify( triggerEffTest, hwSources = cms.untracked.vstring('TM')) diff --git a/DQM/DTMonitorClient/src/DTEfficiencyTest.cc b/DQM/DTMonitorClient/src/DTEfficiencyTest.cc index e270f20850931..2affa986867c2 100644 --- a/DQM/DTMonitorClient/src/DTEfficiencyTest.cc +++ b/DQM/DTMonitorClient/src/DTEfficiencyTest.cc @@ -152,7 +152,6 @@ void DTEfficiencyTest::dqmEndLuminosityBlock(DQMStore::IBooker& ibooker, // Loop over the TH1F bin and fill the ME to be used for the Quality Test for (int bin = firstWire; bin <= lastWire; bin++) { if ((recSegmOccupancy_histo_root->GetBinContent(bin)) != 0) { - //cout<<"book histos"< muonGeom; diff --git a/DQM/DTMonitorClient/src/DTLocalTriggerEfficiencyTest.cc b/DQM/DTMonitorClient/src/DTLocalTriggerEfficiencyTest.cc index 1619a60dfa967..f06a7aa9359ba 100644 --- a/DQM/DTMonitorClient/src/DTLocalTriggerEfficiencyTest.cc +++ b/DQM/DTMonitorClient/src/DTLocalTriggerEfficiencyTest.cc @@ -34,7 +34,6 @@ using namespace std; DTLocalTriggerEfficiencyTest::DTLocalTriggerEfficiencyTest(const edm::ParameterSet& ps) : trigGeomUtils(nullptr) { setConfig(ps, "DTLocalTriggerEfficiency"); baseFolderTM = "DT/03-LocalTrigger-TM/"; - baseFolderDDU = "DT/04-LocalTrigger-DDU/"; bookingdone = false; } @@ -301,13 +300,12 @@ void DTLocalTriggerEfficiencyTest::bookChambHistos(DQMStore::IBooker& ibooker, D sector << chambId.sector(); string fullType = fullName(htype); - bool isTM = hwSource == "TM"; string HistoName = fullType + "_W" + wheel.str() + "_Sec" + sector.str() + "_St" + station.str(); - ibooker.setCurrentFolder(topFolder(isTM) + "Wheel" + wheel.str() + "/Sector" + sector.str() + "/Station" + - station.str() + "/Segment"); + ibooker.setCurrentFolder(topFolder() + "Wheel" + wheel.str() + "/Sector" + sector.str() + "/Station" + station.str() + + "/Segment"); - LogTrace(category()) << "[" << testName << "Test]: booking " + topFolder(isTM) + "Wheel" << wheel.str() << "/Sector" + LogTrace(category()) << "[" << testName << "Test]: booking " + topFolder() + "Wheel" << wheel.str() << "/Sector" << sector.str() << "/Station" << station.str() << "/Segment/" << HistoName; uint32_t indexChId = chambId.rawId(); diff --git a/DQM/DTMonitorClient/src/DTLocalTriggerLutTest.cc b/DQM/DTMonitorClient/src/DTLocalTriggerLutTest.cc index 81acdaa4890dd..aded2105124be 100644 --- a/DQM/DTMonitorClient/src/DTLocalTriggerLutTest.cc +++ b/DQM/DTMonitorClient/src/DTLocalTriggerLutTest.cc @@ -33,7 +33,6 @@ using namespace std; DTLocalTriggerLutTest::DTLocalTriggerLutTest(const edm::ParameterSet& ps) { setConfig(ps, "DTLocalTriggerLut"); baseFolderTM = "DT/03-LocalTrigger-TM/"; - baseFolderDDU = "DT/04-LocalTrigger-DDU/"; thresholdPhiMean = ps.getUntrackedParameter("thresholdPhiMean", 1.5); thresholdPhiRMS = ps.getUntrackedParameter("thresholdPhiRMS", .5); thresholdPhibMean = ps.getUntrackedParameter("thresholdPhibMean", 1.5); diff --git a/DQM/DTMonitorClient/src/DTLocalTriggerSynchTest.cc b/DQM/DTMonitorClient/src/DTLocalTriggerSynchTest.cc index b31630456cbf7..af746932cf146 100644 --- a/DQM/DTMonitorClient/src/DTLocalTriggerSynchTest.cc +++ b/DQM/DTMonitorClient/src/DTLocalTriggerSynchTest.cc @@ -40,7 +40,6 @@ using namespace std; DTLocalTriggerSynchTest::DTLocalTriggerSynchTest(const edm::ParameterSet& ps) { setConfig(ps, "DTLocalTriggerSynch"); baseFolderTM = "DT/90-LocalTriggerSynch/"; - baseFolderDDU = "DT/90-LocalTriggerSynch/"; bookingdone = false; } @@ -151,7 +150,7 @@ void DTLocalTriggerSynchTest::dqmEndJob(DQMStore::IBooker& ibooker, DQMStore::IG << endl; DTTPGParameters* delayMap = new DTTPGParameters(); - hwSource = parameters.getParameter("dbFromTM") ? "TM" : "DDU"; + hwSource = "TM"; std::vector::const_iterator chambIt = muonGeom->chambers().begin(); std::vector::const_iterator chambEnd = muonGeom->chambers().end(); for (; chambIt != chambEnd; ++chambIt) { @@ -214,8 +213,7 @@ float DTLocalTriggerSynchTest::getFloatFromME(DQMStore::IGetter& igetter, DTCham stringstream sector; sector << chId.sector(); - string folderName = - topFolder(hwSource == "TM") + "Wheel" + wheel.str() + "/Sector" + sector.str() + "/Station" + station.str() + "/"; + string folderName = topFolder() + "Wheel" + wheel.str() + "/Sector" + sector.str() + "/Station" + station.str() + "/"; string histoname = sourceFolder + folderName + meType + "_W" + wheel.str() + "_Sec" + sector.str() + "_St" + station.str(); @@ -243,10 +241,9 @@ void DTLocalTriggerSynchTest::bookChambHistos(DQMStore::IBooker& ibooker, sector << chambId.sector(); string fullType = fullName(htype); - bool isTM = hwSource == "TM"; string HistoName = fullType + "_W" + wheel.str() + "_Sec" + sector.str() + "_St" + station.str(); - string folder = topFolder(isTM) + "Wheel" + wheel.str() + "/Sector" + sector.str() + "/Station" + station.str(); + string folder = topFolder() + "Wheel" + wheel.str() + "/Sector" + sector.str() + "/Station" + station.str(); if (!subfolder.empty()) { folder += "7" + subfolder; } diff --git a/DQM/DTMonitorClient/src/DTLocalTriggerTPTest.cc b/DQM/DTMonitorClient/src/DTLocalTriggerTPTest.cc index 9bb962e982f60..58d4072bd3fc0 100644 --- a/DQM/DTMonitorClient/src/DTLocalTriggerTPTest.cc +++ b/DQM/DTMonitorClient/src/DTLocalTriggerTPTest.cc @@ -33,7 +33,6 @@ using namespace std; DTLocalTriggerTPTest::DTLocalTriggerTPTest(const edm::ParameterSet& ps) { setConfig(ps, "DTLocalTriggerTP"); baseFolderTM = "DT/11-LocalTriggerTP-TM/"; - baseFolderDDU = "DT/12-LocalTriggerTP-DDU/"; bookingdone = false; } @@ -83,7 +82,7 @@ void DTLocalTriggerTPTest::runClientDiagnostic(DQMStore::IBooker& ibooker, DQMSt for (int sect = 1; sect <= 12; ++sect) { DTChamberId chId(wh, stat, sect); - // Perform TM/DDU common plot analysis (Phi ones) + // Perform TM common plot analysis (Phi ones) TH2F* BXvsQual = getHisto(igetter.get(getMEName("BXvsQual_In", "LocalTriggerPhiIn", chId))); if (BXvsQual) { if (BXvsQual->GetEntries() > 1) { diff --git a/DQM/DTMonitorClient/src/DTLocalTriggerTest.cc b/DQM/DTMonitorClient/src/DTLocalTriggerTest.cc index 9a08089d169d1..671dd739476a1 100644 --- a/DQM/DTMonitorClient/src/DTLocalTriggerTest.cc +++ b/DQM/DTMonitorClient/src/DTLocalTriggerTest.cc @@ -33,7 +33,6 @@ using namespace std; DTLocalTriggerTest::DTLocalTriggerTest(const edm::ParameterSet& ps) { setConfig(ps, "DTLocalTrigger"); baseFolderTM = "DT/03-LocalTrigger-TM/"; - baseFolderDDU = "DT/04-LocalTrigger-DDU/"; nMinEvts = ps.getUntrackedParameter("nEventsCert", 5000); bookingdone = false; @@ -55,28 +54,24 @@ void DTLocalTriggerTest::Bookings(DQMStore::IBooker& ibooker, DQMStore::IGetter& hwSource = (*iHw); // Loop over the TriggerUnits for (int wh = -2; wh <= 2; ++wh) { - if (hwSource == "COM") { - bookWheelHistos(ibooker, wh, "MatchingPhi"); - } else { - for (int sect = 1; sect <= 12; ++sect) { - bookSectorHistos(ibooker, wh, sect, "BXDistribPhiIn"); - bookSectorHistos(ibooker, wh, sect, "QualDistribPhiIn"); - bookSectorHistos(ibooker, wh, sect, "BXDistribPhiOut"); - bookSectorHistos(ibooker, wh, sect, "QualDistribPhiOut"); - } - - bookWheelHistos(ibooker, wh, "CorrectBXPhiIn"); - bookWheelHistos(ibooker, wh, "ResidualBXPhiIn"); - bookWheelHistos(ibooker, wh, "CorrFractionPhiIn"); - bookWheelHistos(ibooker, wh, "2ndFractionPhiIn"); - bookWheelHistos(ibooker, wh, "TriggerInclusivePhiIn"); - - bookWheelHistos(ibooker, wh, "CorrectBXPhiOut"); - bookWheelHistos(ibooker, wh, "ResidualBXPhiOut"); - bookWheelHistos(ibooker, wh, "CorrFractionPhiOut"); - bookWheelHistos(ibooker, wh, "2ndFractionPhiOut"); - bookWheelHistos(ibooker, wh, "TriggerInclusivePhiOut"); + for (int sect = 1; sect <= 12; ++sect) { + bookSectorHistos(ibooker, wh, sect, "BXDistribPhiIn"); + bookSectorHistos(ibooker, wh, sect, "QualDistribPhiIn"); + bookSectorHistos(ibooker, wh, sect, "BXDistribPhiOut"); + bookSectorHistos(ibooker, wh, sect, "QualDistribPhiOut"); } + + bookWheelHistos(ibooker, wh, "CorrectBXPhiIn"); + bookWheelHistos(ibooker, wh, "ResidualBXPhiIn"); + bookWheelHistos(ibooker, wh, "CorrFractionPhiIn"); + bookWheelHistos(ibooker, wh, "2ndFractionPhiIn"); + bookWheelHistos(ibooker, wh, "TriggerInclusivePhiIn"); + + bookWheelHistos(ibooker, wh, "CorrectBXPhiOut"); + bookWheelHistos(ibooker, wh, "ResidualBXPhiOut"); + bookWheelHistos(ibooker, wh, "CorrFractionPhiOut"); + bookWheelHistos(ibooker, wh, "2ndFractionPhiOut"); + bookWheelHistos(ibooker, wh, "TriggerInclusivePhiOut"); } } } @@ -88,23 +83,16 @@ void DTLocalTriggerTest::Bookings(DQMStore::IBooker& ibooker, DQMStore::IGetter& hwSource = (*iHw); // Loop over the TriggerUnits for (int wh = -2; wh <= 2; ++wh) { - if (hwSource == "COM") { - bookWheelHistos(ibooker, wh, "MatchingSummary", "Summaries"); - } else { - bookWheelHistos(ibooker, wh, "CorrFractionSummaryIn", "Summaries"); - bookWheelHistos(ibooker, wh, "2ndFractionSummaryIn", "Summaries"); - bookWheelHistos(ibooker, wh, "CorrFractionSummaryOut", "Summaries"); - bookWheelHistos(ibooker, wh, "2ndFractionSummaryOut", "Summaries"); - } - } - if (hwSource == "COM") { - bookCmsHistos(ibooker, "MatchingSummary", "Summaries"); - } else { - bookCmsHistos(ibooker, "CorrFractionSummaryIn"); - bookCmsHistos(ibooker, "2ndFractionSummaryIn"); - bookCmsHistos(ibooker, "CorrFractionSummaryOut"); - bookCmsHistos(ibooker, "2ndFractionSummaryOut"); + bookWheelHistos(ibooker, wh, "CorrFractionSummaryIn", "Summaries"); + bookWheelHistos(ibooker, wh, "2ndFractionSummaryIn", "Summaries"); + bookWheelHistos(ibooker, wh, "CorrFractionSummaryOut", "Summaries"); + bookWheelHistos(ibooker, wh, "2ndFractionSummaryOut", "Summaries"); } + bookCmsHistos(ibooker, "CorrFractionSummaryIn"); + bookCmsHistos(ibooker, "2ndFractionSummaryIn"); + bookCmsHistos(ibooker, "CorrFractionSummaryOut"); + bookCmsHistos(ibooker, "2ndFractionSummaryOut"); + if (hwSource == "TM") { bookCmsHistos(ibooker, "TrigGlbSummary", "", true); } @@ -135,44 +123,106 @@ void DTLocalTriggerTest::runClientDiagnostic(DQMStore::IBooker& ibooker, DQMStor DTChamberId chId(wh, stat, sect); int sector_id = (wh + wheelArrayShift) + (sect - 1) * 5; - if (hwSource == "COM") { - // Perform TM-DDU matching test and generates summaries (Phi view) - TH2F* DDUvsTM = getHisto(igetter.get(getMEName("QualDDUvsQualTM", "LocalTriggerPhiIn", chId))); - if (DDUvsTM) { - int matchSummary = 1; - - if (DDUvsTM->GetEntries() > 1) { - double entries = DDUvsTM->GetEntries(); - double corrEntries = 0; - for (int ibin = 2; ibin <= 8; ++ibin) { - corrEntries += DDUvsTM->GetBinContent(ibin, ibin); - } - double corrRatio = corrEntries / entries; + // IN part + TH2F* BXvsQual = getHisto(igetter.get(getMEName("BXvsQual_In", "LocalTriggerPhiIn", chId))); + TH1F* BestQual = getHisto(igetter.get(getMEName("BestQual_In", "LocalTriggerPhiIn", chId))); + TH2F* Flag1stvsQual = getHisto(igetter.get(getMEName("Flag1stvsQual_In", "LocalTriggerPhiIn", chId))); + if (BXvsQual && Flag1stvsQual && BestQual) { + int corrSummary = 1; + int secondSummary = 1; + //default values for histograms + double BX_OK = 51.; + double BXMean = 51.; + double corrFrac = 0.; + double secondFrac = 0.; + double besttrigs = 0.; + if (BestQual->GetEntries() > 1) { + TH1D* BXHH = BXvsQual->ProjectionY("", 6, 7, ""); + TH1D* Flag1st = Flag1stvsQual->ProjectionY(); + int BXOK_bin = BXHH->GetEntries() >= 1 ? BXHH->GetMaximumBin() : 51; + BXMean = BXHH->GetEntries() >= 1 ? BXHH->GetMean() : 51; + BX_OK = BXvsQual->GetYaxis()->GetBinCenter(BXOK_bin); + double trigsFlag2nd = Flag1st->GetBinContent(2); + double trigs = Flag1st->GetEntries(); + besttrigs = BestQual->GetEntries(); + double besttrigsCorr = BestQual->Integral(5, 7, ""); + delete BXHH; + delete Flag1st; + + corrFrac = besttrigsCorr / besttrigs; + secondFrac = trigsFlag2nd / trigs; + if (corrFrac < parameters.getUntrackedParameter("corrFracError", .5)) { + corrSummary = 2; + } else if (corrFrac < parameters.getUntrackedParameter("corrFracWarning", .6)) { + corrSummary = 3; + } else { + corrSummary = 0; + } + if (secondFrac > parameters.getUntrackedParameter("secondFracError", .2)) { + secondSummary = 2; + } else if (secondFrac > parameters.getUntrackedParameter("secondFracWarning", .1)) { + secondSummary = 3; + } else { + secondSummary = 0; + } - if (corrRatio < parameters.getUntrackedParameter("matchingFracError", .65)) { - matchSummary = 2; - } else if (corrRatio < parameters.getUntrackedParameter("matchingFracWarning", .85)) { - matchSummary = 3; - } else { - matchSummary = 0; - } + if (secME[sector_id].find(fullName("BXDistribPhiIn")) == secME[sector_id].end()) { + bookSectorHistos(ibooker, wh, sect, "QualDistribPhiIn"); + bookSectorHistos(ibooker, wh, sect, "BXDistribPhiIn"); + } - if (whME[wh].find(fullName("MatchingPhi")) == whME[wh].end()) { - bookWheelHistos(ibooker, wh, "MatchingPhi"); - } + TH1D* BXDistr = BXvsQual->ProjectionY(); + TH1D* QualDistr = BXvsQual->ProjectionX(); + std::map* innerME = &(secME[sector_id]); - whME[wh].find(fullName("MatchingPhi"))->second->setBinContent(sect, stat, corrRatio); + int nbinsBX = BXDistr->GetNbinsX(); + int firstBinCenter = static_cast(BXDistr->GetBinCenter(1)); + int lastBinCenter = static_cast(BXDistr->GetBinCenter(nbinsBX)); + int iMin = firstBinCenter > -4 ? firstBinCenter : -4; + int iMax = lastBinCenter < 20 ? lastBinCenter : 20; + for (int ibin = iMin + 5; ibin <= iMax + 5; ++ibin) { + innerME->find(fullName("BXDistribPhiIn")) + ->second->setBinContent(ibin, stat, BXDistr->GetBinContent(ibin - 5 - firstBinCenter + 1)); } + for (int ibin = 1; ibin <= 7; ++ibin) { + innerME->find(fullName("QualDistribPhiIn")) + ->second->setBinContent(ibin, stat, QualDistr->GetBinContent(ibin)); + } + + delete BXDistr; + delete QualDistr; + } - whME[wh].find(fullName("MatchingSummary"))->second->setBinContent(sect, stat, matchSummary); + std::map* innerME = &(secME[sector_id]); + + if (whME[wh].find(fullName("CorrectBXPhiIn")) == whME[wh].end()) { + bookWheelHistos(ibooker, wh, "ResidualBXPhiIn"); + bookWheelHistos(ibooker, wh, "CorrectBXPhiIn"); + bookWheelHistos(ibooker, wh, "CorrFractionPhiIn"); + bookWheelHistos(ibooker, wh, "2ndFractionPhiIn"); + bookWheelHistos(ibooker, wh, "TriggerInclusivePhiIn"); } - } //closes COM - else { - // IN part - TH2F* BXvsQual = getHisto(igetter.get(getMEName("BXvsQual_In", "LocalTriggerPhiIn", chId))); - TH1F* BestQual = getHisto(igetter.get(getMEName("BestQual_In", "LocalTriggerPhiIn", chId))); + + innerME = &(whME[wh]); + innerME->find(fullName("CorrectBXPhiIn"))->second->setBinContent(sect, stat, BX_OK + 0.00001); + innerME->find(fullName("ResidualBXPhiIn")) + ->second->setBinContent(sect, stat, round(25. * (BXMean - BX_OK)) + 0.00001); + innerME->find(fullName("CorrFractionPhiIn"))->second->setBinContent(sect, stat, corrFrac); + innerME->find(fullName("TriggerInclusivePhiIn"))->second->setBinContent(sect, stat, besttrigs); + innerME->find(fullName("2ndFractionPhiIn"))->second->setBinContent(sect, stat, secondFrac); + + whME[wh].find(fullName("CorrFractionSummaryIn"))->second->setBinContent(sect, stat, corrSummary); + whME[wh].find(fullName("2ndFractionSummaryIn"))->second->setBinContent(sect, stat, secondSummary); + + } // closes BXvsQual && Flag1stvsQual && BestQual + + if (hwSource == "TM") { + //Out part + + TH2F* BXvsQual = getHisto(igetter.get(getMEName("BXvsQual_Out", "LocalTriggerPhiOut", chId))); + TH1F* BestQual = getHisto(igetter.get(getMEName("BestQual_Out", "LocalTriggerPhiOut", chId))); TH2F* Flag1stvsQual = - getHisto(igetter.get(getMEName("Flag1stvsQual_In", "LocalTriggerPhiIn", chId))); + getHisto(igetter.get(getMEName("Flag1stvsQual_Out", "LocalTriggerPhiOut", chId))); if (BXvsQual && Flag1stvsQual && BestQual) { int corrSummary = 1; int secondSummary = 1; @@ -182,6 +232,7 @@ void DTLocalTriggerTest::runClientDiagnostic(DQMStore::IBooker& ibooker, DQMStor double corrFrac = 0.; double secondFrac = 0.; double besttrigs = 0.; + if (BestQual->GetEntries() > 1) { TH1D* BXHH = BXvsQual->ProjectionY("", 6, 7, ""); TH1D* Flag1st = Flag1stvsQual->ProjectionY(); @@ -212,9 +263,9 @@ void DTLocalTriggerTest::runClientDiagnostic(DQMStore::IBooker& ibooker, DQMStor secondSummary = 0; } - if (secME[sector_id].find(fullName("BXDistribPhiIn")) == secME[sector_id].end()) { - bookSectorHistos(ibooker, wh, sect, "QualDistribPhiIn"); - bookSectorHistos(ibooker, wh, sect, "BXDistribPhiIn"); + if (secME[sector_id].find(fullName("BXDistribPhiOut")) == secME[sector_id].end()) { + bookSectorHistos(ibooker, wh, sect, "QualDistribPhiOut"); + bookSectorHistos(ibooker, wh, sect, "BXDistribPhiOut"); } TH1D* BXDistr = BXvsQual->ProjectionY(); @@ -227,11 +278,11 @@ void DTLocalTriggerTest::runClientDiagnostic(DQMStore::IBooker& ibooker, DQMStor int iMin = firstBinCenter > -4 ? firstBinCenter : -4; int iMax = lastBinCenter < 20 ? lastBinCenter : 20; for (int ibin = iMin + 5; ibin <= iMax + 5; ++ibin) { - innerME->find(fullName("BXDistribPhiIn")) + innerME->find(fullName("BXDistribPhiOut")) ->second->setBinContent(ibin, stat, BXDistr->GetBinContent(ibin - 5 - firstBinCenter + 1)); } for (int ibin = 1; ibin <= 7; ++ibin) { - innerME->find(fullName("QualDistribPhiIn")) + innerME->find(fullName("QualDistribPhiOut")) ->second->setBinContent(ibin, stat, QualDistr->GetBinContent(ibin)); } @@ -241,184 +292,60 @@ void DTLocalTriggerTest::runClientDiagnostic(DQMStore::IBooker& ibooker, DQMStor std::map* innerME = &(secME[sector_id]); - if (whME[wh].find(fullName("CorrectBXPhiIn")) == whME[wh].end()) { - bookWheelHistos(ibooker, wh, "ResidualBXPhiIn"); - bookWheelHistos(ibooker, wh, "CorrectBXPhiIn"); - bookWheelHistos(ibooker, wh, "CorrFractionPhiIn"); - bookWheelHistos(ibooker, wh, "2ndFractionPhiIn"); - bookWheelHistos(ibooker, wh, "TriggerInclusivePhiIn"); + if (whME[wh].find(fullName("CorrectBXPhiOut")) == whME[wh].end()) { + bookWheelHistos(ibooker, wh, "ResidualBXPhiOut"); + bookWheelHistos(ibooker, wh, "CorrectBXPhiOut"); + bookWheelHistos(ibooker, wh, "CorrFractionPhiOut"); + bookWheelHistos(ibooker, wh, "2ndFractionPhiOut"); + bookWheelHistos(ibooker, wh, "TriggerInclusivePhiOut"); } innerME = &(whME[wh]); - innerME->find(fullName("CorrectBXPhiIn"))->second->setBinContent(sect, stat, BX_OK + 0.00001); - innerME->find(fullName("ResidualBXPhiIn")) + innerME->find(fullName("CorrectBXPhiOut"))->second->setBinContent(sect, stat, BX_OK + 0.00001); + innerME->find(fullName("ResidualBXPhiOut")) ->second->setBinContent(sect, stat, round(25. * (BXMean - BX_OK)) + 0.00001); - innerME->find(fullName("CorrFractionPhiIn"))->second->setBinContent(sect, stat, corrFrac); - innerME->find(fullName("TriggerInclusivePhiIn"))->second->setBinContent(sect, stat, besttrigs); - innerME->find(fullName("2ndFractionPhiIn"))->second->setBinContent(sect, stat, secondFrac); + innerME->find(fullName("CorrFractionPhiOut"))->second->setBinContent(sect, stat, corrFrac); + innerME->find(fullName("TriggerInclusivePhiOut"))->second->setBinContent(sect, stat, besttrigs); + innerME->find(fullName("2ndFractionPhiOut"))->second->setBinContent(sect, stat, secondFrac); - whME[wh].find(fullName("CorrFractionSummaryIn"))->second->setBinContent(sect, stat, corrSummary); - whME[wh].find(fullName("2ndFractionSummaryIn"))->second->setBinContent(sect, stat, secondSummary); + whME[wh].find(fullName("CorrFractionSummaryOut"))->second->setBinContent(sect, stat, corrSummary); + whME[wh].find(fullName("2ndFractionSummaryOut"))->second->setBinContent(sect, stat, secondSummary); } // closes BXvsQual && Flag1stvsQual && BestQual - if (hwSource == "TM") { - //Out part - - TH2F* BXvsQual = getHisto(igetter.get(getMEName("BXvsQual_Out", "LocalTriggerPhiOut", chId))); - TH1F* BestQual = getHisto(igetter.get(getMEName("BestQual_Out", "LocalTriggerPhiOut", chId))); - TH2F* Flag1stvsQual = - getHisto(igetter.get(getMEName("Flag1stvsQual_Out", "LocalTriggerPhiOut", chId))); - if (BXvsQual && Flag1stvsQual && BestQual) { - int corrSummary = 1; - int secondSummary = 1; - //default values for histograms - double BX_OK = 51.; - double BXMean = 51.; - double corrFrac = 0.; - double secondFrac = 0.; - double besttrigs = 0.; - - if (BestQual->GetEntries() > 1) { - TH1D* BXHH = BXvsQual->ProjectionY("", 6, 7, ""); - TH1D* Flag1st = Flag1stvsQual->ProjectionY(); - int BXOK_bin = BXHH->GetEntries() >= 1 ? BXHH->GetMaximumBin() : 51; - BXMean = BXHH->GetEntries() >= 1 ? BXHH->GetMean() : 51; - BX_OK = BXvsQual->GetYaxis()->GetBinCenter(BXOK_bin); - double trigsFlag2nd = Flag1st->GetBinContent(2); - double trigs = Flag1st->GetEntries(); - besttrigs = BestQual->GetEntries(); - double besttrigsCorr = BestQual->Integral(5, 7, ""); - delete BXHH; - delete Flag1st; - - corrFrac = besttrigsCorr / besttrigs; - secondFrac = trigsFlag2nd / trigs; - if (corrFrac < parameters.getUntrackedParameter("corrFracError", .5)) { - corrSummary = 2; - } else if (corrFrac < parameters.getUntrackedParameter("corrFracWarning", .6)) { - corrSummary = 3; - } else { - corrSummary = 0; - } - if (secondFrac > parameters.getUntrackedParameter("secondFracError", .2)) { - secondSummary = 2; - } else if (secondFrac > parameters.getUntrackedParameter("secondFracWarning", .1)) { - secondSummary = 3; - } else { - secondSummary = 0; - } - - if (secME[sector_id].find(fullName("BXDistribPhiOut")) == secME[sector_id].end()) { - bookSectorHistos(ibooker, wh, sect, "QualDistribPhiOut"); - bookSectorHistos(ibooker, wh, sect, "BXDistribPhiOut"); - } - - TH1D* BXDistr = BXvsQual->ProjectionY(); - TH1D* QualDistr = BXvsQual->ProjectionX(); - std::map* innerME = &(secME[sector_id]); - - int nbinsBX = BXDistr->GetNbinsX(); - int firstBinCenter = static_cast(BXDistr->GetBinCenter(1)); - int lastBinCenter = static_cast(BXDistr->GetBinCenter(nbinsBX)); - int iMin = firstBinCenter > -4 ? firstBinCenter : -4; - int iMax = lastBinCenter < 20 ? lastBinCenter : 20; - for (int ibin = iMin + 5; ibin <= iMax + 5; ++ibin) { - innerME->find(fullName("BXDistribPhiOut")) - ->second->setBinContent(ibin, stat, BXDistr->GetBinContent(ibin - 5 - firstBinCenter + 1)); - } - for (int ibin = 1; ibin <= 7; ++ibin) { - innerME->find(fullName("QualDistribPhiOut")) - ->second->setBinContent(ibin, stat, QualDistr->GetBinContent(ibin)); - } - - delete BXDistr; - delete QualDistr; - } - - std::map* innerME = &(secME[sector_id]); - - if (whME[wh].find(fullName("CorrectBXPhiOut")) == whME[wh].end()) { - bookWheelHistos(ibooker, wh, "ResidualBXPhiOut"); - bookWheelHistos(ibooker, wh, "CorrectBXPhiOut"); - bookWheelHistos(ibooker, wh, "CorrFractionPhiOut"); - bookWheelHistos(ibooker, wh, "2ndFractionPhiOut"); - bookWheelHistos(ibooker, wh, "TriggerInclusivePhiOut"); - } - - innerME = &(whME[wh]); - innerME->find(fullName("CorrectBXPhiOut"))->second->setBinContent(sect, stat, BX_OK + 0.00001); - innerME->find(fullName("ResidualBXPhiOut")) - ->second->setBinContent(sect, stat, round(25. * (BXMean - BX_OK)) + 0.00001); - innerME->find(fullName("CorrFractionPhiOut"))->second->setBinContent(sect, stat, corrFrac); - innerME->find(fullName("TriggerInclusivePhiOut"))->second->setBinContent(sect, stat, besttrigs); - innerME->find(fullName("2ndFractionPhiOut"))->second->setBinContent(sect, stat, secondFrac); - - whME[wh].find(fullName("CorrFractionSummaryOut"))->second->setBinContent(sect, stat, corrSummary); - whME[wh].find(fullName("2ndFractionSummaryOut"))->second->setBinContent(sect, stat, secondSummary); - - } // closes BXvsQual && Flag1stvsQual && BestQual - - } // Check on TM source - //Theta part - if (hwSource == "DDU") { - TH2F* ThetaBXvsQual = - getHisto(igetter.get(getMEName("ThetaBXvsQual", "LocalTriggerTheta", chId))); - TH1F* ThetaBestQual = - getHisto(igetter.get(getMEName("ThetaBestQual", "LocalTriggerTheta", chId))); - - // no theta triggers in stat 4! - if (ThetaBXvsQual && ThetaBestQual && stat < 4 && ThetaBestQual->GetEntries() > 1) { - TH1D* BXH = ThetaBXvsQual->ProjectionY("", 4, 4, ""); - int BXOK_bin = BXH->GetEffectiveEntries() >= 1 ? BXH->GetMaximumBin() : 10; - double BX_OK = ThetaBXvsQual->GetYaxis()->GetBinCenter(BXOK_bin); - double trigs = ThetaBestQual->GetEntries(); - double trigsH = ThetaBestQual->GetBinContent(4); - delete BXH; - - if (whME[wh].find(fullName("HFractionTheta")) == whME[wh].end()) { - bookWheelHistos(ibooker, wh, "CorrectBXTheta"); - bookWheelHistos(ibooker, wh, "HFractionTheta"); - } - std::map* innerME = &(whME.find(wh)->second); - innerME->find(fullName("CorrectBXTheta"))->second->setBinContent(sect, stat, BX_OK + 0.00001); - innerME->find(fullName("HFractionTheta"))->second->setBinContent(sect, stat, trigsH / trigs); - } - } else if (hwSource == "TM") { - // Perform TM plot analysis (Theta ones) - TH2F* ThetaPosvsBX = getHisto(igetter.get(getMEName("PositionvsBX", "LocalTriggerTheta", chId))); - double BX_OK = 48; - // no theta triggers in stat 4! - if (ThetaPosvsBX && stat < 4 && ThetaPosvsBX->GetEntries() > 1) { - TH1D* BX = ThetaPosvsBX->ProjectionX(); - int BXOK_bin = BX->GetEffectiveEntries() >= 1 ? BX->GetMaximumBin() : 10; - BX_OK = ThetaPosvsBX->GetXaxis()->GetBinCenter(BXOK_bin); - delete BX; - - if (whME[wh].find(fullName("CorrectBXTheta")) == whME[wh].end()) { - bookWheelHistos(ibooker, wh, "CorrectBXTheta"); - } - std::map* innerME = &(whME.find(wh)->second); - innerME->find(fullName("CorrectBXTheta"))->second->setBinContent(sect, stat, BX_OK + 0.00001); + } // Check on TM source + //Theta part + if (hwSource == "TM") { + // Perform TM plot analysis (Theta ones) + TH2F* ThetaPosvsBX = getHisto(igetter.get(getMEName("PositionvsBX", "LocalTriggerTheta", chId))); + double BX_OK = 48; + // no theta triggers in stat 4! + if (ThetaPosvsBX && stat < 4 && ThetaPosvsBX->GetEntries() > 1) { + TH1D* BX = ThetaPosvsBX->ProjectionX(); + int BXOK_bin = BX->GetEffectiveEntries() >= 1 ? BX->GetMaximumBin() : 10; + BX_OK = ThetaPosvsBX->GetXaxis()->GetBinCenter(BXOK_bin); + delete BX; + + if (whME[wh].find(fullName("CorrectBXTheta")) == whME[wh].end()) { + bookWheelHistos(ibooker, wh, "CorrectBXTheta"); } - // After TM the DDU is not used and the TM has information on the Theta Quality - // Adding trigger info to compute H fraction (11/10/2016) M.C.Fouz - TH2F* ThetaBXvsQual = - getHisto(igetter.get(getMEName("ThetaBXvsQual", "LocalTriggerTheta", chId))); - TH1F* ThetaBestQual = - getHisto(igetter.get(getMEName("ThetaBestQual", "LocalTriggerTheta", chId))); - if (ThetaBXvsQual && ThetaBestQual && stat < 4 && ThetaBestQual->GetEntries() > 1) { - double trigs = ThetaBestQual->GetEntries(); - double trigsH = ThetaBestQual->GetBinContent( - 2); // Note that for the new plots H is at bin=2 and not 4 as in DDU!!!! - if (whME[wh].find(fullName("HFractionTheta")) == whME[wh].end()) { - bookWheelHistos(ibooker, wh, "HFractionTheta"); - } - std::map* innerME = &(whME.find(wh)->second); - innerME->find(fullName("HFractionTheta"))->second->setBinContent(sect, stat, trigsH / trigs); + std::map* innerME = &(whME.find(wh)->second); + innerME->find(fullName("CorrectBXTheta"))->second->setBinContent(sect, stat, BX_OK + 0.00001); + } + // Adding trigger info to compute H fraction (11/10/2016) M.C.Fouz + TH2F* ThetaBXvsQual = getHisto(igetter.get(getMEName("ThetaBXvsQual", "LocalTriggerTheta", chId))); + TH1F* ThetaBestQual = getHisto(igetter.get(getMEName("ThetaBestQual", "LocalTriggerTheta", chId))); + if (ThetaBXvsQual && ThetaBestQual && stat < 4 && ThetaBestQual->GetEntries() > 1) { + double trigs = ThetaBestQual->GetEntries(); + double trigsH = ThetaBestQual->GetBinContent( + 2); // Note that for the new plots H is at bin=2 and not 4 as in DDU!!!! + if (whME[wh].find(fullName("HFractionTheta")) == whME[wh].end()) { + bookWheelHistos(ibooker, wh, "HFractionTheta"); } - // END ADDING H Fraction info + std::map* innerME = &(whME.find(wh)->second); + innerME->find(fullName("HFractionTheta"))->second->setBinContent(sect, stat, trigsH / trigs); } + // END ADDING H Fraction info } } } @@ -432,92 +359,71 @@ void DTLocalTriggerTest::runClientDiagnostic(DQMStore::IBooker& ibooker, DQMStor hwSource = (*iHw); for (int wh = -2; wh <= 2; ++wh) { std::map* innerME = &(whME[wh]); - if (hwSource == "COM") { - TH2F* matchWhSummary = getHisto(innerME->find(fullName("MatchingSummary"))->second); - for (int sect = 1; sect <= 12; ++sect) { - int matchErr = 0; - int matchNoData = 0; - for (int stat = 1; stat <= 4; ++stat) { - switch (static_cast(matchWhSummary->GetBinContent(sect, stat))) { - case 1: - matchNoData++; - [[fallthrough]]; - case 2: - matchErr++; - } + // In part + TH2F* corrWhSummaryIn = getHisto(innerME->find(fullName("CorrFractionSummaryIn"))->second); + TH2F* secondWhSummaryIn = getHisto(innerME->find(fullName("2ndFractionSummaryIn"))->second); + for (int sect = 1; sect <= 12; ++sect) { + int corrErr = 0; + int secondErr = 0; + int corrNoData = 0; + int secondNoData = 0; + for (int stat = 1; stat <= 4; ++stat) { + switch (static_cast(corrWhSummaryIn->GetBinContent(sect, stat))) { + case 1: + corrNoData++; + [[fallthrough]]; + case 2: + corrErr++; } - if (matchNoData == 4) - matchErr = 5; - cmsME.find(fullName("MatchingSummary"))->second->setBinContent(sect, wh + wheelArrayShift, matchErr); - } - } else { - // In part - TH2F* corrWhSummaryIn = getHisto(innerME->find(fullName("CorrFractionSummaryIn"))->second); - TH2F* secondWhSummaryIn = getHisto(innerME->find(fullName("2ndFractionSummaryIn"))->second); - for (int sect = 1; sect <= 12; ++sect) { - int corrErr = 0; - int secondErr = 0; - int corrNoData = 0; - int secondNoData = 0; - for (int stat = 1; stat <= 4; ++stat) { - switch (static_cast(corrWhSummaryIn->GetBinContent(sect, stat))) { - case 1: - corrNoData++; - [[fallthrough]]; - case 2: - corrErr++; - } - switch (static_cast(secondWhSummaryIn->GetBinContent(sect, stat))) { - case 1: - secondNoData++; - [[fallthrough]]; - case 2: - secondErr++; - } + switch (static_cast(secondWhSummaryIn->GetBinContent(sect, stat))) { + case 1: + secondNoData++; + [[fallthrough]]; + case 2: + secondErr++; } - if (corrNoData == 4) - corrErr = 5; - if (secondNoData == 4) - secondErr = 5; - cmsME.find(fullName("CorrFractionSummaryIn"))->second->setBinContent(sect, wh + wheelArrayShift, corrErr); - cmsME.find(fullName("2ndFractionSummaryIn"))->second->setBinContent(sect, wh + wheelArrayShift, secondErr); } - // Out part - TH2F* corrWhSummaryOut = getHisto(innerME->find(fullName("CorrFractionSummaryOut"))->second); - TH2F* secondWhSummaryOut = getHisto(innerME->find(fullName("2ndFractionSummaryOut"))->second); - for (int sect = 1; sect <= 12; ++sect) { - int corrErr = 0; - int secondErr = 0; - int corrNoData = 0; - int secondNoData = 0; - for (int stat = 1; stat <= 4; ++stat) { - switch (static_cast(corrWhSummaryOut->GetBinContent(sect, stat))) { - case 1: - corrNoData++; - [[fallthrough]]; - case 2: - corrErr++; - } - switch (static_cast(secondWhSummaryOut->GetBinContent(sect, stat))) { - case 1: - secondNoData++; - [[fallthrough]]; - case 2: - secondErr++; - } + if (corrNoData == 4) + corrErr = 5; + if (secondNoData == 4) + secondErr = 5; + cmsME.find(fullName("CorrFractionSummaryIn"))->second->setBinContent(sect, wh + wheelArrayShift, corrErr); + cmsME.find(fullName("2ndFractionSummaryIn"))->second->setBinContent(sect, wh + wheelArrayShift, secondErr); + } + // Out part + TH2F* corrWhSummaryOut = getHisto(innerME->find(fullName("CorrFractionSummaryOut"))->second); + TH2F* secondWhSummaryOut = getHisto(innerME->find(fullName("2ndFractionSummaryOut"))->second); + for (int sect = 1; sect <= 12; ++sect) { + int corrErr = 0; + int secondErr = 0; + int corrNoData = 0; + int secondNoData = 0; + for (int stat = 1; stat <= 4; ++stat) { + switch (static_cast(corrWhSummaryOut->GetBinContent(sect, stat))) { + case 1: + corrNoData++; + [[fallthrough]]; + case 2: + corrErr++; + } + switch (static_cast(secondWhSummaryOut->GetBinContent(sect, stat))) { + case 1: + secondNoData++; + [[fallthrough]]; + case 2: + secondErr++; } - if (corrNoData == 4) - corrErr = 5; - if (secondNoData == 4) - secondErr = 5; - cmsME.find(fullName("CorrFractionSummaryOut"))->second->setBinContent(sect, wh + wheelArrayShift, corrErr); - cmsME.find(fullName("2ndFractionSummaryOut"))->second->setBinContent(sect, wh + wheelArrayShift, secondErr); } + if (corrNoData == 4) + corrErr = 5; + if (secondNoData == 4) + secondErr = 5; + cmsME.find(fullName("CorrFractionSummaryOut"))->second->setBinContent(sect, wh + wheelArrayShift, corrErr); + cmsME.find(fullName("2ndFractionSummaryOut"))->second->setBinContent(sect, wh + wheelArrayShift, secondErr); } } } } - fillGlobalSummary(igetter); } @@ -534,7 +440,7 @@ void DTLocalTriggerTest::fillGlobalSummary(DQMStore::IGetter& igetter) { int corr = cmsME.find(fullName("CorrFractionSummaryIn"))->second->getBinContent(sect, wh + wheelArrayShift); int second = cmsME.find(fullName("2ndFractionSummaryIn"))->second->getBinContent(sect, wh + wheelArrayShift); int lut = 0; - MonitorElement* lutsME = igetter.get(topFolder(hwSource == "TM") + "Summaries/TrigLutSummary"); + MonitorElement* lutsME = igetter.get(topFolder() + "Summaries/TrigLutSummary"); if (lutsME) { lut = lutsME->getBinContent(sect, wh + wheelArrayShift); maxErr += 4; diff --git a/DQM/DTMonitorClient/src/DTTriggerEfficiencyTest.cc b/DQM/DTMonitorClient/src/DTTriggerEfficiencyTest.cc index 97b39eebdbb8b..bc1c539604bb7 100644 --- a/DQM/DTMonitorClient/src/DTTriggerEfficiencyTest.cc +++ b/DQM/DTMonitorClient/src/DTTriggerEfficiencyTest.cc @@ -36,7 +36,6 @@ using namespace std; DTTriggerEfficiencyTest::DTTriggerEfficiencyTest(const edm::ParameterSet& ps) { setConfig(ps, "DTTriggerEfficiency"); baseFolderTM = "DT/03-LocalTrigger-TM/"; - baseFolderDDU = "DT/04-LocalTrigger-DDU/"; detailedPlots = ps.getUntrackedParameter("detailedAnalysis", true); bookingdone = false; @@ -180,7 +179,7 @@ string DTTriggerEfficiencyTest::getMEName(string histoTag, string folder, int wh stringstream wheel; wheel << wh; - string folderName = topFolder(hwSource == "TM") + folder + "/"; + string folderName = topFolder() + folder + "/"; string histoname = sourceFolder + folderName + fullName(histoTag) + "_W" + wheel.str(); @@ -189,8 +188,7 @@ string DTTriggerEfficiencyTest::getMEName(string histoTag, string folder, int wh void DTTriggerEfficiencyTest::bookHistos(DQMStore::IBooker& ibooker, string hTag, string folder) { string basedir; - bool isTM = hwSource == "TM"; - basedir = topFolder(isTM); //Book summary histo outside Task directory + basedir = topFolder(); //Book summary histo outside Task directory if (!folder.empty()) { basedir += folder + "/"; @@ -209,11 +207,10 @@ void DTTriggerEfficiencyTest::bookWheelHistos(DQMStore::IBooker& ibooker, int wh stringstream wh; wh << wheel; string basedir; - bool isTM = hwSource == "TM"; if (hTag.find("Summary") != string::npos) { - basedir = topFolder(isTM); //Book summary histo outside wheel directories + basedir = topFolder(); //Book summary histo outside wheel directories } else { - basedir = topFolder(isTM) + "Wheel" + wh.str() + "/"; + basedir = topFolder() + "Wheel" + wh.str() + "/"; } if (!folder.empty()) { basedir += folder + "/"; @@ -270,13 +267,12 @@ void DTTriggerEfficiencyTest::bookChambHistos(DQMStore::IBooker& ibooker, sector << chambId.sector(); string fullType = fullName(htype); - bool isTM = hwSource == "TM"; string HistoName = fullType + "_W" + wheel.str() + "_Sec" + sector.str() + "_St" + station.str(); - ibooker.setCurrentFolder(topFolder(isTM) + "Wheel" + wheel.str() + "/Sector" + sector.str() + "/Station" + - station.str() + "/" + folder + "/"); + ibooker.setCurrentFolder(topFolder() + "Wheel" + wheel.str() + "/Sector" + sector.str() + "/Station" + station.str() + + "/" + folder + "/"); - LogTrace(category()) << "[" << testName << "Test]: booking " + topFolder(isTM) + "Wheel" << wheel.str() << "/Sector" + LogTrace(category()) << "[" << testName << "Test]: booking " + topFolder() + "Wheel" << wheel.str() << "/Sector" << sector.str() << "/Station" << station.str() << "/" + folder + "/" << HistoName; uint32_t indexChId = chambId.rawId(); diff --git a/DQM/DTMonitorClient/src/DTTriggerLutTest.cc b/DQM/DTMonitorClient/src/DTTriggerLutTest.cc index c6d692b851f67..b9b3598e6901f 100644 --- a/DQM/DTMonitorClient/src/DTTriggerLutTest.cc +++ b/DQM/DTMonitorClient/src/DTTriggerLutTest.cc @@ -32,7 +32,6 @@ using namespace std; DTTriggerLutTest::DTTriggerLutTest(const edm::ParameterSet& ps) { setConfig(ps, "DTTriggerLut"); baseFolderTM = "DT/03-LocalTrigger-TM/"; - baseFolderDDU = "DT/04-LocalTrigger-DDU/"; thresholdWarnPhi = ps.getUntrackedParameter("thresholdWarnPhi"); thresholdErrPhi = ps.getUntrackedParameter("thresholdErrPhi"); thresholdWarnPhiB = ps.getUntrackedParameter("thresholdWarnPhiB"); @@ -293,7 +292,7 @@ int DTTriggerLutTest::performLutTest(double perc, double thresholdWarn, double t } void DTTriggerLutTest::bookCmsHistos1d(DQMStore::IBooker& ibooker, string hTag, string folder) { - string basedir = topFolder(true); + string basedir = topFolder(); if (!folder.empty()) { basedir += folder + "/"; } diff --git a/DQM/DTMonitorClient/test/dt_finedelay_beam_cfg.py b/DQM/DTMonitorClient/test/dt_finedelay_beam_cfg.py index 1f37d85ed538c..1e7ba79caad0d 100644 --- a/DQM/DTMonitorClient/test/dt_finedelay_beam_cfg.py +++ b/DQM/DTMonitorClient/test/dt_finedelay_beam_cfg.py @@ -57,7 +57,6 @@ process.dtFineDelayCorr.writeDB = cms.bool(False) process.dtFineDelayCorr.outputFile = cms.string("dtFineDelaysNew.txt") process.dtFineDelayCorr.t0MeanHistoTag = cms.string("TrackCrossingTimeAll") -process.dtFineDelayCorr.hwSource = cms.string("DDU") process.dtFineDelayCorr.minEntries = cms.untracked.int32(100) diff --git a/DQM/DTMonitorModule/python/dtTriggerBaseTask_cfi.py b/DQM/DTMonitorModule/python/dtTriggerBaseTask_cfi.py index 76fb09105ad2a..72451717b150a 100644 --- a/DQM/DTMonitorModule/python/dtTriggerBaseTask_cfi.py +++ b/DQM/DTMonitorModule/python/dtTriggerBaseTask_cfi.py @@ -5,9 +5,7 @@ testPulseMode = cms.untracked.bool(False), detailedAnalysis = cms.untracked.bool(False), targetBXTM = cms.untracked.int32(0), - targetBXDDU = cms.untracked.int32(9), bestTrigAccRange = cms.untracked.int32(3), - processDDU = cms.untracked.bool(True), #Not needed any longer, switches below for 2016 Eras and onwards processTM = cms.untracked.bool(True), nTimeBins = cms.untracked.int32(100), nLSTimeBin = cms.untracked.int32(15), @@ -16,13 +14,8 @@ inputTagTMphIn = cms.untracked.InputTag('twinMuxStage2Digis:PhIn'), inputTagTMphOut = cms.untracked.InputTag('twinMuxStage2Digis:PhOut'), inputTagTMth = cms.untracked.InputTag('twinMuxStage2Digis:ThIn'), - inputTagDDU = cms.untracked.InputTag('dtunpacker'), - minBXDDU = cms.untracked.int32(0), - maxBXDDU = cms.untracked.int32(20), minBXTM = cms.untracked.int32(-2), maxBXTM = cms.untracked.int32(2) ) -from Configuration.Eras.Modifier_run2_common_cff import run2_common -run2_common.toModify( dtTriggerBaseMonitor, processDDU = cms.untracked.bool(False)) diff --git a/DQM/DTMonitorModule/python/dtTriggerEfficiencyTask_cfi.py b/DQM/DTMonitorModule/python/dtTriggerEfficiencyTask_cfi.py index 3276315209601..222622092c473 100644 --- a/DQM/DTMonitorModule/python/dtTriggerEfficiencyTask_cfi.py +++ b/DQM/DTMonitorModule/python/dtTriggerEfficiencyTask_cfi.py @@ -7,16 +7,11 @@ SegmArbitration = cms.untracked.string("SegmentAndTrackArbitration"), - # labels of DDU/TM data and 4D segments + # labels of TM data and 4D segments inputTagTM = cms.untracked.InputTag('dttfDigis'), -# inputTagTM = cms.untracked.InputTag('dttfDigis'), - inputTagDDU = cms.untracked.InputTag('muonDTDigis'), inputTagSEG = cms.untracked.InputTag('dt4DSegments'), inputTagGMT = cms.untracked.InputTag('gtDigis'), - processDDU = cms.untracked.bool(True), # Not needed any longer. Switches below for 2016 Eras and onwards processTM = cms.untracked.bool(True), # if true enables TM data analysis - minBXDDU = cms.untracked.int32(7), # min BX for DDU eff computation - maxBXDDU = cms.untracked.int32(15), # max BX for DDU eff computation checkRPCtriggers = cms.untracked.bool(False), # Not needed any longer. Swittches below for 2016 Eras and onwards @@ -30,6 +25,5 @@ # Modify for running in run 2 2016 data # from Configuration.Eras.Modifier_run2_common_cff import run2_common -run2_common.toModify( dtTriggerEfficiencyMonitor, checkRPCtriggers = cms.untracked.bool(False),processDDU = cms.untracked.bool(False)) - +run2_common.toModify( dtTriggerEfficiencyMonitor, inputTagTM = cms.untracked.InputTag('twinMuxStage2Digis:PhIn')) diff --git a/DQM/DTMonitorModule/python/dtTriggerLutTask_cfi.py b/DQM/DTMonitorModule/python/dtTriggerLutTask_cfi.py index 3bfb1c2ef6d60..b76b3ff857340 100644 --- a/DQM/DTMonitorModule/python/dtTriggerLutTask_cfi.py +++ b/DQM/DTMonitorModule/python/dtTriggerLutTask_cfi.py @@ -2,7 +2,7 @@ from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer dtTriggerLutMonitor = DQMEDAnalyzer('DTLocalTriggerLutTask', - # labels of DDU/TM data and 4D segments + # labels of TM data and 4D segments inputTagTMin = cms.untracked.InputTag("twinMuxStage2Digis:PhIn"), inputTagTMout = cms.untracked.InputTag("twinMuxStage2Digis:PhOut"), inputTagSEG = cms.untracked.InputTag("dt4DSegments"), diff --git a/DQM/DTMonitorModule/python/dtTriggerSynchTask_cfi.py b/DQM/DTMonitorModule/python/dtTriggerSynchTask_cfi.py index 9583e9a3b96f9..9254c07a36611 100644 --- a/DQM/DTMonitorModule/python/dtTriggerSynchTask_cfi.py +++ b/DQM/DTMonitorModule/python/dtTriggerSynchTask_cfi.py @@ -3,11 +3,9 @@ from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer dtTriggerSynchMonitor = DQMEDAnalyzer('DTLocalTriggerSynchTask', staticBooking = cms.untracked.bool(True), - # labels of DDU/TM data and 4D segments + # labels of TM data and 4D segments TMInputTag = cms.InputTag('dttfDigis'), - DDUInputTag = cms.InputTag('muonDTDigis'), SEGInputTag = cms.InputTag('dt4DSegments'), - processDDU = cms.untracked.bool(True), bxTimeInterval = cms.double(25), rangeWithinBX = cms.bool(True), nBXHigh = cms.int32(0), @@ -28,8 +26,4 @@ tTrigMode = cms.string('DTTTrigSyncFromDB') ) -from Configuration.Eras.Modifier_run2_DT_2018_cff import run2_DT_2018 -run2_DT_2018.toModify(dtTriggerSynchMonitor,processDDU = False) - - diff --git a/DQM/DTMonitorModule/python/dtTriggerTask_TP_cfi.py b/DQM/DTMonitorModule/python/dtTriggerTask_TP_cfi.py index bea73c7c90147..cabd4f6568746 100644 --- a/DQM/DTMonitorModule/python/dtTriggerTask_TP_cfi.py +++ b/DQM/DTMonitorModule/python/dtTriggerTask_TP_cfi.py @@ -4,16 +4,13 @@ dtTPTriggerMonitor = DQMEDAnalyzer('DTLocalTriggerTask', # set static booking (all the detector) staticBooking = cms.untracked.bool(True), - # labels of DDU/TM data and 4D segments + # labels of TM data and 4D segments tm_label = cms.untracked.InputTag('twinMuxStage2Digis:PhIn'), ros_label = cms.untracked.InputTag('dtunpacker'), seg_label = cms.untracked.InputTag('dt4DSegments'), - minBXDDU = cms.untracked.int32(0), # min BX for DDU plots - maxBXDDU = cms.untracked.int32(20), # max BX for DDU plots minBXTM = cms.untracked.int32(0), # min BX for TM plots maxBXTM = cms.untracked.int32(2), # max BX for TM plots process_seg = cms.untracked.bool(False), # if true enables comparisons with reconstructed segments - process_ddu = cms.untracked.bool(True), # if true enables DDU data analysis process_tm = cms.untracked.bool(True), # if true enables TM data analysis testPulseMode = cms.untracked.bool(True), #if true enables test pulse mode detailedAnalysis = cms.untracked.bool(False), #if true enables detailed analysis plots @@ -23,9 +20,4 @@ ResetCycle = cms.untracked.int32(10000) ) -# -# Modify for running in run 2 2016 data -# -from Configuration.Eras.Modifier_run2_25ns_specific_cff import run2_25ns_specific -run2_25ns_specific.toModify( dtTPTriggerMonitor, process_ddu = cms.untracked.bool(False)) diff --git a/DQM/DTMonitorModule/python/dtTriggerTask_cfi.py b/DQM/DTMonitorModule/python/dtTriggerTask_cfi.py index d37473e63cd05..721128cfd0a73 100644 --- a/DQM/DTMonitorModule/python/dtTriggerTask_cfi.py +++ b/DQM/DTMonitorModule/python/dtTriggerTask_cfi.py @@ -4,17 +4,14 @@ dtTriggerMonitor = DQMEDAnalyzer('DTLocalTriggerTask', # set static booking (all the detector) staticBooking = cms.untracked.bool(True), - # labels of DDU/TM data and 4D segments + # labels of TM data and 4D segments tm_label = cms.untracked.InputTag('twinMuxStage2Digis:PhIn'), tmTh_label = cms.untracked.InputTag("twinMuxStage2Digis","ThIn"), ros_label = cms.untracked.InputTag('dtunpacker'), seg_label = cms.untracked.InputTag('dt4DSegments'), - minBXDDU = cms.untracked.int32(0), # min BX for DDU plots - maxBXDDU = cms.untracked.int32(20), # max BX for DDU plots maxBXTM = cms.untracked.int32(2), # max BX for TM plots minBXTM = cms.untracked.int32(0), # min BX for TM plots process_seg = cms.untracked.bool(False), # if true enables comparisons with reconstructed segments - process_ddu = cms.untracked.bool(False), # if true enables DDU data analysis process_tm = cms.untracked.bool(True), # if true enables TM data analysis testPulseMode = cms.untracked.bool(False), # if true enables test pluse mode detailedAnalysis = cms.untracked.bool(False), #if true enables detailed analysis plots @@ -24,9 +21,4 @@ ResetCycle = cms.untracked.int32(10000) ) -# -# Modify for running in run 2 2016 data -# -from Configuration.Eras.Modifier_run2_25ns_specific_cff import run2_25ns_specific -run2_25ns_specific.toModify( dtTriggerMonitor, process_ddu = cms.untracked.bool(False)) diff --git a/DQM/DTMonitorModule/python/dt_dqm_sourceclient_common_cff.py b/DQM/DTMonitorModule/python/dt_dqm_sourceclient_common_cff.py index f916d1e4efb96..1fc9ca42bb501 100644 --- a/DQM/DTMonitorModule/python/dt_dqm_sourceclient_common_cff.py +++ b/DQM/DTMonitorModule/python/dt_dqm_sourceclient_common_cff.py @@ -28,8 +28,6 @@ from EventFilter.L1TXRawToDigi.twinMuxStage2Digis_cfi import * twinMuxStage2Digis.DTTM7_FED_Source = 'rawDataCollector' -#from EventFilter.DTRawToDigi.dtunpackerDDUGlobal_cfi import * -#from EventFilter.DTRawToDigi.dtunpackerDDULocal_cfi import * #dtunpacker.readOutParameters.performDataIntegrityMonitor = True #dtunpacker.readOutParameters.rosParameters.performDataIntegrityMonitor = True #dtunpacker.readOutParameters.debug = False @@ -49,8 +47,6 @@ from DQM.DTMonitorClient.dtDataIntegrityTest_cfi import * from DQM.DTMonitorClient.dtBlockedROChannelsTest_cfi import * DTDataIntegrityTask.processingMode = 'Online' -DTDataIntegrityTask.dtDDULabel = 'dtunpacker' -DTDataIntegrityTask.dtROS25Label = 'dtunpacker' DTDataIntegrityTask.dtFEDlabel = 'dtunpacker' DTDataIntegrityTask.checkUros = True blockedROChannelTest.checkUros = True @@ -70,7 +66,6 @@ from DQM.DTMonitorClient.dtLocalTriggerTest_cfi import * from DQM.DTMonitorClient.dtTriggerLutTest_cfi import * triggerTest.hwSources = cms.untracked.vstring('TM') -dtTriggerBaseMonitor.processDDU = False # scaler task from DQM.DTMonitorModule.dtScalerInfoTask_cfi import * @@ -110,7 +105,6 @@ from DQM.DTMonitorModule.dtTriggerTask_TP_cfi import * from DQM.DTMonitorClient.dtLocalTriggerTest_TP_cfi import * dtTPTriggerTest.hwSources = cms.untracked.vstring('TM') -dtTPTriggerMonitor.process_ddu = cms.untracked.bool(False) unpackers = cms.Sequence(dtunpacker + twinMuxStage2Digis + scalersRawToDigi) diff --git a/DQM/DTMonitorModule/src/DTDCSByLumiTask.cc b/DQM/DTMonitorModule/src/DTDCSByLumiTask.cc index 3a917105a5974..013e79d03cb20 100644 --- a/DQM/DTMonitorModule/src/DTDCSByLumiTask.cc +++ b/DQM/DTMonitorModule/src/DTDCSByLumiTask.cc @@ -93,8 +93,9 @@ void DTDCSByLumiTask::beginLuminosityBlock(LuminosityBlock const& lumiSeg, Event } void DTDCSByLumiTask::endLuminosityBlock(const edm::LuminosityBlock& lumiSeg, const edm::EventSetup& context) { - if (DTHVRecordFound) + if (DTHVRecordFound) { context.get().get(hvStatus); + } vector::const_iterator layersIt = theDTGeom->layers().begin(); vector::const_iterator layersEnd = theDTGeom->layers().end(); @@ -103,7 +104,6 @@ void DTDCSByLumiTask::endLuminosityBlock(const edm::LuminosityBlock& lumiSeg, co int wheel = (*layersIt)->id().wheel(); int nWiresLayer = (*layersIt)->specificTopology().channels(); - hActiveUnits[wheel + 2]->Fill(1, nWiresLayer); // CB first bin is # of layers int nActiveWires = nWiresLayer; diff --git a/DQM/DTMonitorModule/src/DTLocalTriggerBaseTask.cc b/DQM/DTMonitorModule/src/DTLocalTriggerBaseTask.cc index abe55c4b4783c..09e8319700885 100644 --- a/DQM/DTMonitorModule/src/DTLocalTriggerBaseTask.cc +++ b/DQM/DTMonitorModule/src/DTLocalTriggerBaseTask.cc @@ -36,31 +36,19 @@ using namespace std; class DTTPGCompareUnit { public: - DTTPGCompareUnit() { - theQual[0] = -1; - theQual[1] = -1; - } + DTTPGCompareUnit() { theQual = -1; } ~DTTPGCompareUnit(){}; - void setDDU(int qual, int bx) { - theQual[0] = qual; - theBX[0] = bx; - } void setTM(int qual, int bx) { - theQual[1] = qual; - theBX[1] = bx; + theQual = qual; + theBX = bx; } - bool hasOne() const { return theQual[0] != -1 || theQual[1] != -1; }; - bool hasBoth() const { return theQual[0] != -1 && theQual[1] != -1; }; - bool hasSameQual() const { return hasBoth() && theQual[0] == theQual[1]; }; - int deltaBX() const { return theBX[0] - theBX[1]; } - int qualDDU() const { return theQual[0]; } - int qualTM() const { return theQual[1]; } + int qualTM() const { return theQual; } private: - int theQual[2]; // 0=DDU 1=TM - int theBX[2]; // 0=DDU 1=TM + int theQual; + int theBX; }; DTLocalTriggerBaseTask::DTLocalTriggerBaseTask(const edm::ParameterSet& ps) @@ -71,28 +59,21 @@ DTLocalTriggerBaseTask::DTLocalTriggerBaseTask(const edm::ParameterSet& ps) detailedAnalysis = ps.getUntrackedParameter("detailedAnalysis"); targetBXTM = ps.getUntrackedParameter("targetBXTM"); - targetBXDDU = ps.getUntrackedParameter("targetBXDDU"); bestAccRange = ps.getUntrackedParameter("bestTrigAccRange"); processTM = ps.getUntrackedParameter("processTM"); - processDDU = ps.getUntrackedParameter("processDDU"); tm_phiIn_Token_ = consumes(ps.getUntrackedParameter("inputTagTMphIn")); tm_phiOut_Token_ = consumes(ps.getUntrackedParameter("inputTagTMphOut")); tm_theta_Token_ = consumes(ps.getUntrackedParameter("inputTagTMth")); - trig_Token_ = consumes(ps.getUntrackedParameter("inputTagDDU")); if (processTM) theTypes.push_back("TM"); - if (processDDU) - theTypes.push_back("DDU"); if (tpMode) { topFolder("TM") = "DT/11-LocalTriggerTP-TM/"; - topFolder("DDU") = "DT/12-LocalTriggerTP-DDU/"; } else { topFolder("TM") = "DT/03-LocalTrigger-TM/"; - topFolder("DDU") = "DT/04-LocalTrigger-DDU/"; } theParams = ps; @@ -117,8 +98,6 @@ void DTLocalTriggerBaseTask::bookHistograms(DQMStore::IBooker& ibooker, bookHistos(ibooker, DTChamberId(wh, stat, sect)); } } - if (processDDU) - bookHistos(ibooker, wh); } } @@ -149,7 +128,9 @@ void DTLocalTriggerBaseTask::endLuminosityBlock(const LuminosityBlock& lumiSeg, map::const_iterator chambIt = trendHistos.begin(); map::const_iterator chambEnd = trendHistos.end(); for (; chambIt != chambEnd; ++chambIt) { + cout << "updating time slot in DTLocalTriggerBaseTask" << endl; chambIt->second->updateTimeSlot(lumiSeg.luminosityBlock(), nEventsInLS); + cout << "updated time slot in DTLocalTriggerBaseTask" << endl; } } @@ -172,7 +153,6 @@ void DTLocalTriggerBaseTask::analyze(const edm::Event& e, const edm::EventSetup& Handle phiInTrigsTM; Handle phiOutTrigsTM; Handle thetaTrigsTM; - Handle trigsDDU; if (processTM) { InputTag inputTagTM = theParams.getUntrackedParameter("inputTagTM"); @@ -189,22 +169,6 @@ void DTLocalTriggerBaseTask::analyze(const edm::Event& e, const edm::EventSetup& return; } } - - if (processDDU) { - InputTag inputTagDDU = theParams.getUntrackedParameter("inputTagDDU"); - e.getByToken(trig_Token_, trigsDDU); - - if (trigsDDU.isValid()) { - runDDUAnalysis(trigsDDU); - } else { - LogVerbatim("DTDQM|DTMonitorModule|DTLocalTriggerBaseTask") - << "[DTLocalTriggerBaseTask]: one or more DDU handles for Input Tag " << inputTagDDU << " not found!" << endl; - return; - } - } - - if (processTM && processDDU) - runDDUvsTMAnalysis(); } void DTLocalTriggerBaseTask::bookHistos(DQMStore::IBooker& ibooker, const DTChamberId& dtCh) { @@ -222,11 +186,6 @@ void DTLocalTriggerBaseTask::bookHistos(DQMStore::IBooker& ibooker, const DTCham minBX["TM"] = theParams.getUntrackedParameter("minBXTM"); maxBX["TM"] = theParams.getUntrackedParameter("maxBXTM"); - minBX["DDU"] = theParams.getUntrackedParameter("minBXDDU"); - maxBX["DDU"] = theParams.getUntrackedParameter("maxBXDDU"); - - int nTimeBins = theParams.getUntrackedParameter("nTimeBins"); - int nLSTimeBin = theParams.getUntrackedParameter("nLSTimeBin"); string chTag = "_W" + wheel.str() + "_Sec" + sector.str() + "_St" + station.str(); string labelInOut = ""; @@ -352,39 +311,6 @@ void DTLocalTriggerBaseTask::bookHistos(DQMStore::IBooker& ibooker, const DTCham } } } - - if (processTM && processDDU) { - // Book TM/DDU Comparison Plots - // NOt needed In and Out comparison, only IN in DDU.... - ibooker.setCurrentFolder(topFolder("DDU") + "Wheel" + wheel.str() + "/Sector" + sector.str() + "/Station" + - station.str() + "/LocalTriggerPhiIn"); - - string histoTag = "COM_QualDDUvsQualTM"; - chamberHistos[rawId][histoTag] = - ibooker.book2D(histoTag + chTag, "DDU quality vs TM quality", 8, -1.5, 6.5, 8, -1.5, 6.5); - setQLabels((chamberHistos[rawId])[histoTag], 1); - setQLabels((chamberHistos[rawId])[histoTag], 2); - - histoTag = "COM_MatchingTrend"; - trendHistos[rawId] = new DTTimeEvolutionHisto( - ibooker, histoTag + chTag, "Fraction of DDU-TM matches w.r.t. proc evts", nTimeBins, nLSTimeBin, true, 0); - } -} - -void DTLocalTriggerBaseTask::bookHistos(DQMStore::IBooker& ibooker, int wh) { - stringstream wheel; - wheel << wh; - ibooker.setCurrentFolder(topFolder("DDU") + "Wheel" + wheel.str() + "/"); - string whTag = "_W" + wheel.str(); - - LogTrace("DTDQM|DTMonitorModule|DTLocalTriggerBaseTask") - << "[DTLocalTriggerBaseTask]: booking wheel histos for " << topFolder("DDU") << "Wheel" << wh << endl; - - string histoTag = "COM_BXDiff"; - MonitorElement* me = ibooker.bookProfile2D(histoTag + whTag, "DDU-TM BX Difference", 12, 1, 13, 4, 1, 5, 0., 20.); - me->setAxisTitle("Sector", 1); - me->setAxisTitle("station", 2); - wheelHistos[wh][histoTag] = me; } void DTLocalTriggerBaseTask::runTMAnalysis(std::vector const* phInTrigs, @@ -519,80 +445,6 @@ void DTLocalTriggerBaseTask::runTMAnalysis(std::vector const* } } -void DTLocalTriggerBaseTask::runDDUAnalysis(Handle& trigsDDU) { - DTLocalTriggerCollection::DigiRangeIterator detUnitIt = trigsDDU->begin(); - DTLocalTriggerCollection::DigiRangeIterator detUnitEnd = trigsDDU->end(); - - for (; detUnitIt != detUnitEnd; ++detUnitIt) { - const DTChamberId& chId = (*detUnitIt).first; - uint32_t rawId = chId.rawId(); - - const DTLocalTriggerCollection::Range& range = (*detUnitIt).second; - DTLocalTriggerCollection::const_iterator trigIt = range.first; - map& innerME = chamberHistos[rawId]; - - int bestQualTheta = -1; - - for (; trigIt != range.second; ++trigIt) { - int qualPhi = trigIt->quality(); - int qualTheta = trigIt->trTheta(); - int flag1st = trigIt->secondTrack() ? 1 : 0; - int bx = trigIt->bx(); - int bxPhi = bx - flag1st; // phi BX assign is different for 1st & 2nd tracks - - if (qualPhi > -1 && qualPhi < 7) { // it is a phi trigger - if (abs(bx - targetBXDDU) <= bestAccRange && theCompMapIn[rawId].qualDDU() <= qualPhi) - theCompMapIn[rawId].setDDU(qualPhi, bxPhi); - if (tpMode) { - innerME["DDU_BXvsQual"]->Fill(qualPhi, bxPhi); // SM BX vs Qual Phi view - } else { - innerME["DDU_BXvsQual"]->Fill(qualPhi, bxPhi); // SM BX vs Qual Phi view - innerME["DDU_Flag1stvsQual"]->Fill(qualPhi, flag1st); // SM Quality vs 1st/2nd track flag Phi view - } - } - - if (qualTheta > 0 && !tpMode) { // it is a theta trigger & is not TP - if (qualTheta > bestQualTheta) { - bestQualTheta = qualTheta; - } - innerME["DDU_ThetaBXvsQual"]->Fill(qualTheta, bx); // SM BX vs Qual Theta view - } - } - - // Fill Quality plots with best ddu triggers - if (!tpMode && theCompMapIn.find(rawId) != theCompMapIn.end()) { - int bestQualPhi = theCompMapIn[rawId].qualDDU(); - if (bestQualPhi > -1) - innerME["DDU_BestQual"]->Fill(bestQualPhi); // SM Best Qual Trigger Phi view - if (bestQualTheta > 0) { - innerME["DDU_ThetaBestQual"]->Fill(bestQualTheta); // SM Best Qual Trigger Theta view - } - } - } -} - -void DTLocalTriggerBaseTask::runDDUvsTMAnalysis() { - map::const_iterator compIt = theCompMapIn.begin(); - map::const_iterator compEnd = theCompMapIn.end(); - - for (; compIt != compEnd; ++compIt) { - uint32_t rawId = compIt->first; - DTChamberId chId(rawId); - map& innerME = chamberHistos[rawId]; - - const DTTPGCompareUnit& compUnit = compIt->second; - if (compUnit.hasOne()) { - innerME["COM_QualDDUvsQualTM"]->Fill(compUnit.qualTM(), compUnit.qualDDU()); - } - if (compUnit.hasBoth()) { - wheelHistos[chId.wheel()]["COM_BXDiff"]->Fill(chId.sector(), chId.station(), compUnit.deltaBX()); - if (compUnit.hasSameQual()) { - trendHistos[rawId]->accumulateValueTimeSlot(1); - } - } - } -} - void DTLocalTriggerBaseTask::setQLabels(MonitorElement* me, short int iaxis) { TH1* histo = me->getTH1(); if (!histo) diff --git a/DQM/DTMonitorModule/src/DTLocalTriggerBaseTask.h b/DQM/DTMonitorModule/src/DTLocalTriggerBaseTask.h index 1ab876af5caa4..5e300b96a553f 100644 --- a/DQM/DTMonitorModule/src/DTLocalTriggerBaseTask.h +++ b/DQM/DTMonitorModule/src/DTLocalTriggerBaseTask.h @@ -70,13 +70,7 @@ class DTLocalTriggerBaseTask : public one::DQMEDAnalyzer const* phOutTrigs, std::vector const* thTrigs); - /// Run analysis on ROS data - void runDDUAnalysis(edm::Handle& trigsDDU); - - /// Run analysis on ROS data - void runDDUvsTMAnalysis(); - - /// Get the Top folder (different between Physics and TP and TM/DDU) + /// Get the Top folder (different between Physics and TP and TM) std::string& topFolder(std::string const& type) { return baseFolder[type == "TM"]; } void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override; @@ -99,9 +93,7 @@ class DTLocalTriggerBaseTask : public one::DQMEDAnalyzer(ps.getParameter("TMInputTag")); seg_Token_ = consumes(ps.getParameter("SEGInputTag")); - processDDU = ps.getUntrackedParameter("processDDU", false); - - if (processDDU) - ddu_Token_ = consumes(ps.getParameter("DDUInputTag")); - bxTime = ps.getParameter("bxTimeInterval"); // CB move this to static const or DB rangeInBX = ps.getParameter("rangeWithinBX"); nBXLow = ps.getParameter("nBXLow"); @@ -95,7 +90,6 @@ void DTLocalTriggerSynchTask::analyze(const edm::Event& event, const edm::EventS for (int j = 0; j < 6; ++j) { for (int k = 0; k < 13; ++k) { phCodeBestTM[j][i][k] = -1; - phCodeBestDDU[j][i][k] = -1; } } } @@ -118,30 +112,6 @@ void DTLocalTriggerSynchTask::analyze(const edm::Event& event, const edm::EventS } } - // Get best DDU triggers - if (processDDU) { - Handle trigsDDU; - event.getByToken(ddu_Token_, trigsDDU); - DTLocalTriggerCollection::DigiRangeIterator detUnitIt; - - for (detUnitIt = trigsDDU->begin(); detUnitIt != trigsDDU->end(); ++detUnitIt) { - const DTChamberId& id = (*detUnitIt).first; - const DTLocalTriggerCollection::Range& range = (*detUnitIt).second; - - int wh = id.wheel(); - int sec = id.sector(); - int st = id.station(); - - for (DTLocalTriggerCollection::const_iterator trigIt = range.first; trigIt != range.second; ++trigIt) { - int quality = trigIt->quality(); - - if (quality > -1 && quality < 7 && quality > phCodeBestDDU[wh + wheelArrayShift][st][sec]) { - phCodeBestDDU[wh + wheelArrayShift][st][sec] = quality; - } - } - } - } - //Get best segments (highest number of phi hits) vector bestSegments4D; Handle segments4D; @@ -192,7 +162,6 @@ void DTLocalTriggerSynchTask::analyze(const edm::Event& event, const edm::EventS int scsector = sector > 12 ? sector == 13 ? 4 : 10 : sector; int qualTM = phCodeBestTM[wheel + 3][station][scsector]; - int qualDDU = phCodeBestDDU[wheel + 3][station][scsector]; if (fabs(t0seg) > 0.01) { innerME.find("SEG_TrackCrossingTime")->second->Fill(htime); @@ -200,10 +169,6 @@ void DTLocalTriggerSynchTask::analyze(const edm::Event& event, const edm::EventS innerME.find("TM_TrackCrossingTimeAll")->second->Fill(htime); if (qualTM == 6) innerME.find("TM_TrackCrossingTimeHH")->second->Fill(htime); - if (processDDU && qualDDU >= 0) - innerME.find("DDU_TrackCrossingTimeAll")->second->Fill(htime); - if (processDDU && qualDDU == 6) - innerME.find("DDU_TrackCrossingTimeHH")->second->Fill(htime); } } } @@ -222,11 +187,6 @@ void DTLocalTriggerSynchTask::bookHistos(DQMStore::IBooker& ibooker, const DTCha std::vector histoTags = {"SEG_TrackCrossingTime", "TM_TrackCrossingTimeAll", "TM_TrackCrossingTimeHH"}; - if (processDDU) { - histoTags.push_back("DDU_TrackCrossingTimeAll"); - histoTags.push_back("DDU_TrackCrossingTimeHH"); - } - float min = rangeInBX ? 0 : nBXLow * bxTime; float max = rangeInBX ? bxTime : nBXHigh * bxTime; int nbins = static_cast(ceil(rangeInBX ? bxTime : (nBXHigh - nBXLow) * bxTime)); diff --git a/DQM/DTMonitorModule/src/DTLocalTriggerSynchTask.h b/DQM/DTMonitorModule/src/DTLocalTriggerSynchTask.h index cdfb65b0f54ef..7a80caab6d624 100644 --- a/DQM/DTMonitorModule/src/DTLocalTriggerSynchTask.h +++ b/DQM/DTMonitorModule/src/DTLocalTriggerSynchTask.h @@ -78,13 +78,10 @@ class DTLocalTriggerSynchTask : public DQMEDAnalyzer { DTArr3int phCodeBestTM; DTArr4int phCodeBXTM; - DTArr3int phCodeBestDDU; - DTArr3int thCodeBestDDU; DTArr3int segHitBest; float bxTime; bool rangeInBX; - bool processDDU; int nBXLow; int nBXHigh; float angleRange; @@ -99,7 +96,6 @@ class DTLocalTriggerSynchTask : public DQMEDAnalyzer { MonitorElement* tm_IDDataErrorPlot; edm::EDGetTokenT tm_Token_; - edm::EDGetTokenT ddu_Token_; edm::EDGetTokenT seg_Token_; }; diff --git a/DQM/DTMonitorModule/src/DTLocalTriggerTask.cc b/DQM/DTMonitorModule/src/DTLocalTriggerTask.cc index a6b318e6f551b..19c6ec9325c76 100644 --- a/DQM/DTMonitorModule/src/DTLocalTriggerTask.cc +++ b/DQM/DTMonitorModule/src/DTLocalTriggerTask.cc @@ -54,10 +54,8 @@ DTLocalTriggerTask::DTLocalTriggerTask(const edm::ParameterSet& ps) if (tpMode) { baseFolderTM = "DT/11-LocalTriggerTP-TM/"; - baseFolderDDU = "DT/12-LocalTriggerTP-DDU/"; } else { baseFolderTM = "DT/03-LocalTrigger-TM/"; - baseFolderDDU = "DT/04-LocalTrigger-DDU/"; } parameters = ps; @@ -109,20 +107,12 @@ void DTLocalTriggerTask::bookHistograms(DQMStore::IBooker& ibooker, bookHistos(ibooker, dtChId, "LocalTriggerPhiIn", "TM_BXvsQual" + (*trigSrcIt)); bookHistos(ibooker, dtChId, "LocalTriggerPhiIn", "TM_QualvsPhirad" + (*trigSrcIt)); } - - if (parameters.getUntrackedParameter("process_ddu", true)) { // DDU data - bookHistos(ibooker, dtChId, "LocalTriggerPhiIn", "DDU_BXvsQual" + (*trigSrcIt)); - } } } } // end of loop } else { for (; trigSrcIt != trigSrcEnd; ++trigSrcIt) { for (int wh = -2; wh < 3; ++wh) { - if (parameters.getUntrackedParameter("process_tm", true) && - parameters.getUntrackedParameter("process_ddu", true)) { // TM+DDU data - bookWheelHistos(ibooker, wh, "COM_BXDiff" + (*trigSrcIt)); - } for (int sect = 1; sect < 13; ++sect) { for (int stat = 1; stat < 5; ++stat) { DTChamberId dtChId(wh, stat, sect); @@ -167,34 +157,6 @@ void DTLocalTriggerTask::bookHistograms(DQMStore::IBooker& ibooker, } } } - - if (parameters.getUntrackedParameter("process_ddu", true)) { // DDU data - - bookHistos(ibooker, dtChId, "LocalTriggerPhiIn", "DDU_BXvsQual" + (*trigSrcIt)); - bookHistos(ibooker, dtChId, "LocalTriggerPhiIn", "DDU_Flag1stvsQual" + (*trigSrcIt)); - bookHistos(ibooker, dtChId, "LocalTriggerPhiIn", "DDU_BestQual" + (*trigSrcIt)); - if (stat != 4) { // theta view - bookHistos(ibooker, dtChId, "LocalTriggerTheta", "DDU_ThetaBXvsQual" + (*trigSrcIt)); - bookHistos(ibooker, dtChId, "LocalTriggerTheta", "DDU_ThetaBestQual" + (*trigSrcIt)); - } - - if (parameters.getUntrackedParameter("process_seg", true)) { // DDU + Segment - bookHistos(ibooker, dtChId, "Segment", "DDU_HitstkvsQualtrig" + (*trigSrcIt)); - bookHistos(ibooker, dtChId, "Segment", "DDU_TrackPosvsAngle" + (*trigSrcIt)); - bookHistos(ibooker, dtChId, "Segment", "DDU_TrackPosvsAngleandTrig" + (*trigSrcIt)); - bookHistos(ibooker, dtChId, "Segment", "DDU_TrackPosvsAngleandTrigHHHL" + (*trigSrcIt)); - if (stat != 4) { - bookHistos(ibooker, dtChId, "Segment", "DDU_TrackThetaPosvsAngle" + (*trigSrcIt)); // theta view - bookHistos(ibooker, dtChId, "Segment", "DDU_TrackThetaPosvsAngleandTrig" + (*trigSrcIt)); - bookHistos(ibooker, dtChId, "Segment", "DDU_TrackThetaPosvsAngleandTrigH" + (*trigSrcIt)); - } - } - } - - if (parameters.getUntrackedParameter("process_tm", true) && - parameters.getUntrackedParameter("process_ddu", true)) { // TM+DDU data - bookHistos(ibooker, dtChId, "LocalTriggerPhiIn", "COM_QualDDUvsQualTM" + (*trigSrcIt)); - } } } for (int sect = 13; sect < 15; ++sect) { @@ -238,10 +200,6 @@ void DTLocalTriggerTask::analyze(const edm::Event& e, const edm::EventSetup& c) useTM = (l1DTTPGPh.isValid() || l1DTTPGTh.isValid()) && parameters.getUntrackedParameter("process_tm", true); - Handle l1DDUTrigs; - e.getByToken(ros_Token_, l1DDUTrigs); - useDDU = l1DDUTrigs.isValid() && parameters.getUntrackedParameter("process_ddu", true); - Handle all4DSegments; e.getByToken(seg_Token_, all4DSegments); useSEG = all4DSegments.isValid() && parameters.getUntrackedParameter("process_seg", true); @@ -263,26 +221,16 @@ void DTLocalTriggerTask::analyze(const edm::Event& e, const edm::EventSetup& c) runTMAnalysis(l1PhTrig, l1ThTrig); } - if (useDDU) { - Handle l1DDUTrigs; - e.getByToken(ros_Token_, l1DDUTrigs); - - runDDUAnalysis(l1DDUTrigs); - } if (!tpMode && useSEG) { Handle segments4D; e.getByToken(seg_Token_, segments4D); runSegmentAnalysis(segments4D); } - if (!tpMode && useTM && useDDU) { - runDDUvsTMAnalysis(trigsrc); - } } void DTLocalTriggerTask::bookBarrelHistos(DQMStore::IBooker& ibooker, string histoTag) { - bool isTM = histoTag.substr(0, 2) == "TM"; - ibooker.setCurrentFolder(topFolder(isTM)); + ibooker.setCurrentFolder(topFolder()); if (histoTag == "TM_ErrorsChamberID") { tm_IDDataErrorPlot = ibooker.book1D(histoTag.c_str(), "TM Data ID Error", 5, -2, 3); tm_IDDataErrorPlot->setAxisTitle("wheel", 1); @@ -309,24 +257,20 @@ void DTLocalTriggerTask::bookHistos(DQMStore::IBooker& ibooker, int rangeBX = 0; string histoType = histoTag.substr(3, histoTag.find("_", 3) - 3); - bool isTM = histoTag.substr(0, 2) == "TM"; - ibooker.setCurrentFolder(topFolder(isTM) + "Wheel" + wheel.str() + "/Sector" + sector.str() + "/Station" + - station.str() + "/" + folder); + ibooker.setCurrentFolder(topFolder() + "Wheel" + wheel.str() + "/Sector" + sector.str() + "/Station" + station.str() + + "/" + folder); string histoName = histoTag + "_W" + wheel.str() + "_Sec" + sector.str() + "_St" + station.str(); LogTrace("DTDQM|DTMonitorModule|DTLocalTriggerTask") - << "[DTLocalTriggerTask]: booking " << topFolder(isTM) << "Wheel" << wheel.str() << "/Sector" << sector.str() + << "[DTLocalTriggerTask]: booking " << topFolder() << "Wheel" << wheel.str() << "/Sector" << sector.str() << "/Station" << station.str() << "/" << folder << "/" << histoName << endl; if (histoType.find("BX") != string::npos) { if (histoTag.substr(0, 2) == "TM") { minBX = parameters.getUntrackedParameter("minBXTM", -2) - 0.5; maxBX = parameters.getUntrackedParameter("maxBXTM", 2) + 0.5; - } else { - minBX = parameters.getUntrackedParameter("minBXDDU", 0) - 0.5; - maxBX = parameters.getUntrackedParameter("maxBXDDU", 20) + 0.5; } rangeBX = (int)(maxBX - minBX); } @@ -369,14 +313,6 @@ void DTLocalTriggerTask::bookHistos(DQMStore::IBooker& ibooker, return; } - if (histoType == "QualDDUvsQualTM") { - (digiHistos[dtCh.rawId()])[histoTag] = - ibooker.book2D(histoName, "DDU quality vs TM quality", 8, -1.5, 6.5, 8, -1.5, 6.5); - setQLabels((digiHistos[dtCh.rawId()])[histoTag], 1); - setQLabels((digiHistos[dtCh.rawId()])[histoTag], 2); - return; - } - } else if (folder == "LocalTriggerTheta") { if (histoType == "PositionvsBX") { (digiHistos[dtCh.rawId()])[histoTag] = @@ -463,22 +399,13 @@ void DTLocalTriggerTask::bookWheelHistos(DQMStore::IBooker& ibooker, int wh, str wheel << wh; string histoType = histoTag.substr(3, histoTag.find("_", 3) - 3); - bool isTM = histoTag.substr(0, 2) == "TM"; - ibooker.setCurrentFolder(topFolder(isTM) + "Wheel" + wheel.str() + "/"); + ibooker.setCurrentFolder(topFolder() + "Wheel" + wheel.str() + "/"); string histoName = histoTag + "_W" + wheel.str(); LogTrace("DTDQM|DTMonitorModule|DTLocalTriggerTask") - << "[DTLocalTriggerTask]: booking " << topFolder(isTM) << "Wheel" << wheel.str() << "/" << histoName << endl; - - if (histoType.find("BXDiff") != string::npos) { - MonitorElement* me = ibooker.bookProfile2D(histoName, "DDU-TM BX Difference", 12, 1, 13, 4, 1, 5, 0., 20.); - me->setAxisTitle("Sector", 1); - me->setAxisTitle("station", 2); - (wheelHistos[wh])[histoTag] = me; - return; - } + << "[DTLocalTriggerTask]: booking " << topFolder() << "Wheel" << wheel.str() << "/" << histoName << endl; } void DTLocalTriggerTask::runTMAnalysis(std::vector const* phTrigs, @@ -609,74 +536,6 @@ void DTLocalTriggerTask::runTMAnalysis(std::vector const* phT } } -void DTLocalTriggerTask::runDDUAnalysis(Handle& trigsDDU) { - DTLocalTriggerCollection::DigiRangeIterator detUnitIt; - - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 6; ++j) { - for (int k = 0; k < 13; ++k) { - dduphcode_best[j][i][k] = -1; - dduthcode_best[j][i][k] = -1; - } - } - } - - for (detUnitIt = trigsDDU->begin(); detUnitIt != trigsDDU->end(); ++detUnitIt) { - const DTChamberId& id = (*detUnitIt).first; - const DTLocalTriggerCollection::Range& range = (*detUnitIt).second; - uint32_t indexCh = id.rawId(); - map& innerME = digiHistos[indexCh]; - - int wh = id.wheel(); - int sec = id.sector(); - int st = id.station(); - - for (DTLocalTriggerCollection::const_iterator trigIt = range.first; trigIt != range.second; ++trigIt) { - int bx = trigIt->bx(); - int quality = trigIt->quality(); - int thqual = trigIt->trTheta(); - int flag1st = trigIt->secondTrack() ? 1 : 0; - - // check if SC data exist: fill for any trigger - if (quality > -1 && quality < 7) { // it is a phi trigger - - if (quality > dduphcode_best[wh + wheelArrayShift][st][sec]) { - dduphcode_best[wh + wheelArrayShift][st][sec] = quality; - iphbestddu[wh + wheelArrayShift][st][sec] = &(*trigIt); - } - - if (tpMode) { - innerME.find("DDU_BXvsQual" + trigsrc)->second->Fill(quality, bx - flag1st); // SM BX vs Qual Phi view - } else { - innerME.find("DDU_BXvsQual" + trigsrc)->second->Fill(quality, bx - flag1st); // SM BX vs Qual Phi view - innerME.find("DDU_Flag1stvsQual" + trigsrc) - ->second->Fill(quality, flag1st); // SM Quality vs 1st/2nd track flag Phi view - } - } - if (thqual > 0 && !tpMode) { // it is a theta trigger - - if (thqual > dduthcode_best[wh + wheelArrayShift][st][sec]) { - dduthcode_best[wh + wheelArrayShift][st][sec] = thqual; - } - - innerME.find("DDU_ThetaBXvsQual" + trigsrc)->second->Fill(thqual, bx); // SM BX vs Qual Theta view - } - } - - // Fill Quality plots with best ddu triggers in phi & theta - if (!tpMode) { - if (dduphcode_best[wh + wheelArrayShift][st][sec] > -1 && dduphcode_best[wh + wheelArrayShift][st][sec] < 7) { - innerME.find("DDU_BestQual" + trigsrc) - ->second->Fill(dduphcode_best[wh + wheelArrayShift][st][sec]); // Best Qual Trigger Phi view - } - if (dduthcode_best[wh + wheelArrayShift][st][sec] > 0) { - innerME.find("DDU_ThetaBestQual" + trigsrc) - ->second->Fill(dduthcode_best[wh + wheelArrayShift][st][sec]); // Best Qual Trigger Theta view - } - } - } -} - void DTLocalTriggerTask::runSegmentAnalysis(Handle& segments4D) { DTRecSegment4DCollection::const_iterator track; @@ -738,13 +597,6 @@ void DTLocalTriggerTask::runSegmentAnalysis(Handle& se indexCh = dtChIdSC.rawId(); map& innerME = digiHistos[indexCh]; - if (useDDU && dduphcode_best[wheel + 3][station][scsector] > -1 && - dduphcode_best[wheel + 3][station][scsector] < 7) { - // SM hits of the track vs quality of the trigger - innerME.find("DDU_HitstkvsQualtrig" + trigsrc) - ->second->Fill(dduphcode_best[wheel + 3][station][scsector], nHitsPhi); - } - if (useTM && phcode_best[wheel + 3][station][scsector] > -1 && phcode_best[wheel + 3][station][scsector] < 7) { innerME.find("TM_HitstkvsQualtrig" + trigsrc)->second->Fill(phcode_best[wheel + 3][station][scsector], nHitsPhi); @@ -794,69 +646,6 @@ void DTLocalTriggerTask::runSegmentAnalysis(Handle& se } } } - - if (useDDU) { - // check for triggers elsewhere in the sector - bool trigFlagDDU = false; - for (int ist = 1; ist < 5; ist++) { - if (ist != station && dduphcode_best[wheel + 3][ist][scsector] >= 2 && - dduphcode_best[wheel + 3][ist][scsector] < 7 && track_ok[wheel + 3][ist][scsector] == true) { - trigFlagDDU = true; - break; - } - } - - if (trigFlagDDU && fabs(x_angle) < 40. && nHitsPhi >= 7) { - // position vs angle of track for reconstruced tracks (denom. for trigger efficiency) - innerME.find("DDU_TrackPosvsAngle" + trigsrc)->second->Fill(x_angle, x_track); - if (dduphcode_best[wheel + 3][station][scsector] >= 2 && dduphcode_best[wheel + 3][station][scsector] < 7) { - innerME.find("DDU_TrackPosvsAngleandTrig" + trigsrc)->second->Fill(x_angle, x_track); - if (dduphcode_best[wheel + 3][station][scsector] > 4) { //HH & HL Triggers - innerME.find("DDU_TrackPosvsAngleandTrigHHHL" + trigsrc)->second->Fill(x_angle, x_track); - } - } - } - - if ((*btrack)->hasZed() && trigFlagDDU && fabs(y_angle) < 40. && - (*btrack)->zSegment()->degreesOfFreedom() >= 1) { - // position va angle of track for reconstruced tracks (denom. for trigger efficiency) along theta direction - innerME.find("DDU_TrackThetaPosvsAngle" + trigsrc)->second->Fill(y_angle, y_track); - if (dduthcode_best[wheel + 3][station][scsector] > 0) { - innerME.find("DDU_TrackThetaPosvsAngleandTrig" + trigsrc)->second->Fill(y_angle, y_track); - if (dduthcode_best[wheel + 3][station][scsector] == 3) { - innerME.find("DDU_TrackThetaPosvsAngleandTrigH" + trigsrc)->second->Fill(y_angle, y_track); - } - } - } - } - } - } -} - -void DTLocalTriggerTask::runDDUvsTMAnalysis(string& trigsrc) { - string histoType; - string histoTag; - - for (int st = 1; st < 5; ++st) { - for (int wh = -2; wh < 3; ++wh) { - for (int sc = 1; sc < 13; ++sc) { - if ((phcode_best[wh + wheelArrayShift][st][sc] > -1 && phcode_best[wh + wheelArrayShift][st][sc] < 7) || - (dduphcode_best[wh + wheelArrayShift][st][sc] > -1 && dduphcode_best[wh + wheelArrayShift][st][sc] < 7)) { - DTChamberId id(wh, st, sc); - uint32_t indexCh = id.rawId(); - map& innerME = digiHistos[indexCh]; - - innerME.find("COM_QualDDUvsQualTM" + trigsrc) - ->second->Fill(phcode_best[wh + wheelArrayShift][st][sc], dduphcode_best[wh + wheelArrayShift][st][sc]); - if ((phcode_best[wh + wheelArrayShift][st][sc] > -1 && phcode_best[wh + wheelArrayShift][st][sc] < 7) && - (dduphcode_best[wh + wheelArrayShift][st][sc] > -1 && dduphcode_best[wh + wheelArrayShift][st][sc] < 7)) { - int bxDDU = iphbestddu[wh + wheelArrayShift][st][sc]->bx() - - iphbestddu[wh + wheelArrayShift][st][sc]->secondTrack(); - int bxTM = iphbest[wh + wheelArrayShift][st][sc]->bxNum() - iphbest[wh + wheelArrayShift][st][sc]->Ts2Tag(); - (wheelHistos[wh]).find("COM_BXDiff" + trigsrc)->second->Fill(sc, st, bxDDU - bxTM); - } - } - } } } } diff --git a/DQM/DTMonitorModule/src/DTLocalTriggerTask.h b/DQM/DTMonitorModule/src/DTLocalTriggerTask.h index d383921795aba..d2d32cac53ceb 100644 --- a/DQM/DTMonitorModule/src/DTLocalTriggerTask.h +++ b/DQM/DTMonitorModule/src/DTLocalTriggerTask.h @@ -81,15 +81,9 @@ class DTLocalTriggerTask : public one::DQMEDAnalyzer const* phTrigs, std::vector const* thTrigs); - /// Run analysis on ROS data - void runDDUAnalysis(edm::Handle& trigsDDU); - /// Run analysis using DT 4D segments void runSegmentAnalysis(edm::Handle& segments4D); - /// Run analysis on ROS data - void runDDUvsTMAnalysis(std::string& trigsrc); - /// Analyze void analyze(const edm::Event& e, const edm::EventSetup& c) override; @@ -100,8 +94,8 @@ class DTLocalTriggerTask : public one::DQMEDAnalyzer seg_Token_; edm::EDGetTokenT ltcDigiCollectionToken_; - bool useTM, useDDU, useSEG; + bool useTM, useSEG; std::string trigsrc; int nevents; bool tpMode; std::string baseFolderTM; - std::string baseFolderDDU; bool doTMTheta; bool detailedAnalysis; DTArr3int phcode_best; - DTArr3int dduphcode_best; DTArr3int thcode_best; - DTArr3int dduthcode_best; DTArr3mapInt mapDTTF; DTArr3PhDigi iphbest; - DTArr3LocalTrigger iphbestddu; DTArr3ThDigi ithbest; bool track_ok[6][5][15]; diff --git a/DQM/DTMonitorModule/src/DTTriggerEfficiencyTask.cc b/DQM/DTMonitorModule/src/DTTriggerEfficiencyTask.cc index 8f0b34f736ace..c54e40e7b74fe 100644 --- a/DQM/DTMonitorModule/src/DTTriggerEfficiencyTask.cc +++ b/DQM/DTMonitorModule/src/DTTriggerEfficiencyTask.cc @@ -46,7 +46,6 @@ DTTriggerEfficiencyTask::DTTriggerEfficiencyTask(const edm::ParameterSet& ps) : muons_Token_ = consumes(parameters.getUntrackedParameter("inputTagMuons")); tm_Token_ = consumes(parameters.getUntrackedParameter("inputTagTM")); - ddu_Token_ = consumes(parameters.getUntrackedParameter("inputTagDDU")); inputTagSEG = parameters.getUntrackedParameter("inputTagSEG"); gmt_Token_ = consumes(parameters.getUntrackedParameter("inputTagGMT")); @@ -54,9 +53,6 @@ DTTriggerEfficiencyTask::DTTriggerEfficiencyTask(const edm::ParameterSet& ps) : detailedPlots = parameters.getUntrackedParameter("detailedAnalysis"); processTM = parameters.getUntrackedParameter("processTM"); - processDDU = parameters.getUntrackedParameter("processDDU"); - minBXDDU = parameters.getUntrackedParameter("minBXDDU"); - maxBXDDU = parameters.getUntrackedParameter("maxBXDDU"); checkRPCtriggers = parameters.getUntrackedParameter("checkRPCtriggers"); nMinHitsPhi = parameters.getUntrackedParameter("nMinHitsPhi"); @@ -64,13 +60,9 @@ DTTriggerEfficiencyTask::DTTriggerEfficiencyTask(const edm::ParameterSet& ps) : if (processTM) processTags.push_back("TM"); - if (processDDU) { - processTags.push_back("DDU"); - ddu_Token_ = consumes(parameters.getUntrackedParameter("inputTagDDU")); - } - if (!processTM && !processDDU) + if (!processTM) LogError("DTDQM|DTMonitorModule|DTTriggerEfficiencyTask") - << "[DTTriggerEfficiencyTask]: Error, no trigger source (DDU or Twinmux) has been selected!!" << endl; + << "[DTTriggerEfficiencyTask]: Error, no trigger source (Twinmux) has been selected!!" << endl; } DTTriggerEfficiencyTask::~DTTriggerEfficiencyTask() { @@ -114,8 +106,8 @@ void DTTriggerEfficiencyTask::analyze(const edm::Event& e, const edm::EventSetup return; } } + map phBestTM; - map phBestDDU; // Getting best TM Stuff edm::Handle l1DTTPGPh; e.getByToken(tm_Token_, l1DTTPGPh); @@ -135,27 +127,6 @@ void DTTriggerEfficiencyTask::analyze(const edm::Event& e, const edm::EventSetup phBestTM[chId] = &(*iph); } - //Getting Best DDU Stuff - if (processDDU) { - Handle trigsDDU; - e.getByToken(ddu_Token_, trigsDDU); - DTLocalTriggerCollection::DigiRangeIterator detUnitIt; - - for (detUnitIt = trigsDDU->begin(); detUnitIt != trigsDDU->end(); ++detUnitIt) { - const DTChamberId& id = (*detUnitIt).first; - const DTLocalTriggerCollection::Range& range = (*detUnitIt).second; - - DTLocalTriggerCollection::const_iterator trigIt = range.first; - DTLocalTriggerCollection::const_iterator trigEnd = range.second; - for (; trigIt != trigEnd; ++trigIt) { - int quality = trigIt->quality(); - if (quality > -1 && quality < 7 && - (phBestDDU.find(id) == phBestDDU.end() || quality > phBestDDU[id]->quality())) - phBestDDU[id] = &(*trigIt); - } - } - } //processDDU - //Getting Best Segments vector best4DSegments; @@ -231,10 +202,8 @@ void DTTriggerEfficiencyTask::analyze(const edm::Event& e, const edm::EventSetup vector::const_iterator tagIt = processTags.begin(); vector::const_iterator tagEnd = processTags.end(); for (; tagIt != tagEnd; ++tagIt) { - int qual = (*tagIt) == "TM" ? phBestTM.find(dtChId) != phBestTM.end() ? phBestTM[dtChId]->code() : -1 - : phBestDDU.find(dtChId) != phBestDDU.end() ? phBestDDU[dtChId]->quality() : -1; + int qual = phBestTM.find(dtChId) != phBestTM.end() ? phBestTM[dtChId]->code() : -1; innerWhME.find((*tagIt) + "_TrigEffDenum")->second->Fill(scsector, station); - if (qual >= 0 && qual < 7) { innerWhME.find((*tagIt) + "_TrigEffNum")->second->Fill(scsector, station); if (qual >= 4) { @@ -294,7 +263,7 @@ void DTTriggerEfficiencyTask::bookChamberHistos(DQMStore::IBooker& ibooker, stringstream sector; sector << sc; - string hwFolder = topFolder(histoType); + string hwFolder = topFolder(); string bookingFolder = hwFolder + "Wheel" + wheel.str() + "/Sector" + sector.str() + "/Station" + station.str() + "/" + folder; string histoTag = "_W" + wheel.str() + "_Sec" + sector.str() + "_St" + station.str(); @@ -332,9 +301,9 @@ void DTTriggerEfficiencyTask::bookWheelHistos(DQMStore::IBooker& ibooker, int wh wh << wheel; string basedir; if (hTag.find("Summary") != string::npos) { - basedir = topFolder(hTag); //Book summary histo outside folder directory + basedir = topFolder(); //Book summary histo outside folder directory } else { - basedir = topFolder(hTag) + folder + "/"; + basedir = topFolder() + folder + "/"; } ibooker.setCurrentFolder(basedir); diff --git a/DQM/DTMonitorModule/src/DTTriggerEfficiencyTask.h b/DQM/DTMonitorModule/src/DTTriggerEfficiencyTask.h index 9c81cb3b5c2e6..846d90fb9825b 100644 --- a/DQM/DTMonitorModule/src/DTTriggerEfficiencyTask.h +++ b/DQM/DTMonitorModule/src/DTTriggerEfficiencyTask.h @@ -68,8 +68,8 @@ class DTTriggerEfficiencyTask : public DQMEDAnalyzer { bool hasRPCTriggers(const edm::Event& e); /// return the top folder - std::string topFolder(std::string source) { - return source == "TM" ? "DT/03-LocalTrigger-TM/" : "DT/04-LocalTrigger-DDU/"; + std::string topFolder() { + return "DT/03-LocalTrigger-TM/"; //DDU no longer existing, leaving folder here for past references } /// Analyze @@ -82,16 +82,14 @@ class DTTriggerEfficiencyTask : public DQMEDAnalyzer { std::string SegmArbitration; - bool processTM, processDDU, detailedPlots, checkRPCtriggers; + bool processTM, detailedPlots, checkRPCtriggers; std::vector processTags; - int minBXDDU, maxBXDDU; float phiAccRange; int nMinHitsPhi; edm::EDGetTokenT muons_Token_; edm::EDGetTokenT tm_Token_; - edm::EDGetTokenT ddu_Token_; edm::InputTag inputTagSEG; edm::EDGetTokenT gmt_Token_;