From 1242a504c0d6b61518710c9bc57181c2bb269f03 Mon Sep 17 00:00:00 2001 From: Kyungmin Park Date: Fri, 11 Oct 2024 02:11:39 +0200 Subject: [PATCH] Add ByLS DQM plots for ES --- .../interface/ESIntegrityTask.h | 17 ++- .../interface/ESOccupancyTask.h | 16 ++- .../interface/ESRawDataTask.h | 17 ++- .../python/ESIntegrityTask_cfi.py | 2 +- .../src/ESIntegrityTask.cc | 104 ++++++++++++++---- .../src/ESOccupancyTask.cc | 30 +++++ .../src/ESRawDataTask.cc | 38 ++++++- 7 files changed, 186 insertions(+), 38 deletions(-) diff --git a/DQM/EcalPreshowerMonitorModule/interface/ESIntegrityTask.h b/DQM/EcalPreshowerMonitorModule/interface/ESIntegrityTask.h index 69288e831622c..5daeadf6df2c8 100644 --- a/DQM/EcalPreshowerMonitorModule/interface/ESIntegrityTask.h +++ b/DQM/EcalPreshowerMonitorModule/interface/ESIntegrityTask.h @@ -9,12 +9,12 @@ #include "DQMServices/Core/interface/DQMOneEDAnalyzer.h" #include "DQMServices/Core/interface/DQMStore.h" -struct ESLSCache { +struct ESIntLSCache { int ievtLS_; - int DIErrorsLS_[2][2][40][40]; + int DIErrorsByLS_[2][2][40][40]; }; -class ESIntegrityTask : public DQMOneEDAnalyzer> { +class ESIntegrityTask : public DQMOneEDAnalyzer> { public: ESIntegrityTask(const edm::ParameterSet& ps); ~ESIntegrityTask() override {} @@ -32,8 +32,8 @@ class ESIntegrityTask : public DQMOneEDAnalyzer globalBeginLuminosityBlock(const edm::LuminosityBlock& lumi, - const edm::EventSetup& c) const override; + std::shared_ptr globalBeginLuminosityBlock(const edm::LuminosityBlock& lumi, + const edm::EventSetup& c) const override; /// End Lumi void globalEndLuminosityBlock(const edm::LuminosityBlock& lumi, const edm::EventSetup& c) override; @@ -52,20 +52,25 @@ class ESIntegrityTask : public DQMOneEDAnalyzer { +struct ESOccLSCache { + int ievtLS_; +}; + +class ESOccupancyTask : public DQMOneEDAnalyzer> { public: ESOccupancyTask(const edm::ParameterSet& ps); ~ESOccupancyTask() override {} -private: +protected: void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override; void analyze(const edm::Event&, const edm::EventSetup&) override; + /// Begin Lumi + std::shared_ptr globalBeginLuminosityBlock(const edm::LuminosityBlock& lumi, + const edm::EventSetup& c) const override; + /// End Lumi + void globalEndLuminosityBlock(const edm::LuminosityBlock& lumi, const edm::EventSetup& c) override; + +private: // ----------member data --------------------------- edm::EDGetTokenT rechittoken_; std::string prefixME_; MonitorElement* hRecOCC_[2][2]; MonitorElement* hSelOCC_[2][2]; + MonitorElement* hSelOCCByLS_[2][2]; MonitorElement* hRecNHit_[2][2]; MonitorElement* hEnDensity_[2][2]; MonitorElement* hSelEnDensity_[2][2]; diff --git a/DQM/EcalPreshowerMonitorModule/interface/ESRawDataTask.h b/DQM/EcalPreshowerMonitorModule/interface/ESRawDataTask.h index 22c09790af302..5a23b0e75961c 100644 --- a/DQM/EcalPreshowerMonitorModule/interface/ESRawDataTask.h +++ b/DQM/EcalPreshowerMonitorModule/interface/ESRawDataTask.h @@ -9,8 +9,13 @@ #include "DQMServices/Core/interface/DQMEDAnalyzer.h" #include "DQMServices/Core/interface/DQMStore.h" +#include "DQMServices/Core/interface/DQMOneEDAnalyzer.h" -class ESRawDataTask : public DQMEDAnalyzer { +struct ESRawLSCache { + int ievtLS_; +}; + +class ESRawDataTask : public DQMOneEDAnalyzer> { public: ESRawDataTask(const edm::ParameterSet& ps); ~ESRawDataTask() override {} @@ -22,6 +27,12 @@ class ESRawDataTask : public DQMEDAnalyzer { /// Setup void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override; + /// Begin Lumi + std::shared_ptr globalBeginLuminosityBlock(const edm::LuminosityBlock& lumi, + const edm::EventSetup& c) const override; + /// End Lumi + void globalEndLuminosityBlock(const edm::LuminosityBlock& lumi, const edm::EventSetup& c) override; + private: int ievt_; @@ -30,10 +41,12 @@ class ESRawDataTask : public DQMEDAnalyzer { edm::EDGetTokenT dccCollections_; edm::EDGetTokenT FEDRawDataCollection_; - //MonitorElement* meRunNumberErrors_; MonitorElement* meL1ADCCErrors_; + MonitorElement* meL1ADCCErrorsByLS_; MonitorElement* meBXDCCErrors_; + MonitorElement* meBXDCCErrorsByLS_; MonitorElement* meOrbitNumberDCCErrors_; + MonitorElement* meOrbitNumberDCCErrorsByLS_; MonitorElement* meL1ADiff_; MonitorElement* meBXDiff_; MonitorElement* meOrbitNumberDiff_; diff --git a/DQM/EcalPreshowerMonitorModule/python/ESIntegrityTask_cfi.py b/DQM/EcalPreshowerMonitorModule/python/ESIntegrityTask_cfi.py index 865a914a45a62..59ad20a2430cc 100644 --- a/DQM/EcalPreshowerMonitorModule/python/ESIntegrityTask_cfi.py +++ b/DQM/EcalPreshowerMonitorModule/python/ESIntegrityTask_cfi.py @@ -7,6 +7,6 @@ ESDCCCollections = cms.InputTag("ecalPreshowerDigis"), ESKChipCollections = cms.InputTag("ecalPreshowerDigis"), OutputFile = cms.untracked.string(""), - DoLumiAnalysis = cms.bool(False) + DoLumiAnalysis = cms.bool(True) ) diff --git a/DQM/EcalPreshowerMonitorModule/src/ESIntegrityTask.cc b/DQM/EcalPreshowerMonitorModule/src/ESIntegrityTask.cc index 4d0ee336076e8..992fe4d7eb1ad 100644 --- a/DQM/EcalPreshowerMonitorModule/src/ESIntegrityTask.cc +++ b/DQM/EcalPreshowerMonitorModule/src/ESIntegrityTask.cc @@ -29,8 +29,6 @@ ESIntegrityTask::ESIntegrityTask(const ParameterSet& ps) { dccCollections_ = consumes(ps.getParameter("ESDCCCollections")); kchipCollections_ = consumes(ps.getParameter("ESKChipCollections")); - doLumiAnalysis_ = ps.getParameter("DoLumiAnalysis"); - // read in look-up table for (int i = 0; i < 2; ++i) for (int j = 0; j < 2; ++j) @@ -67,29 +65,35 @@ void ESIntegrityTask::dqmEndRun(const Run& r, const EventSetup& c) { // TODO: no longer possible, clone histo beforehand if full statisticcs at end of run are required. } -std::shared_ptr ESIntegrityTask::globalBeginLuminosityBlock(const edm::LuminosityBlock& lumi, - const edm::EventSetup& c) const { +std::shared_ptr ESIntegrityTask::globalBeginLuminosityBlock(const edm::LuminosityBlock& lumi, + const edm::EventSetup& c) const { LogInfo("ESIntegrityTask") << "analyzed " << ievt_ << " events"; // In case of Lumi based analysis SoftReset the Integrity histogram - auto lumiCache = std::make_shared(); + auto lumiCache = std::make_shared(); lumiCache->ievtLS_ = 0; - if (doLumiAnalysis_) { - for (int iz = 0; iz < 2; ++iz) { - for (int ip = 0; ip < 2; ++ip) { - for (int ix = 0; ix < 40; ++ix) { - for (int iy = 0; iy < 40; ++iy) { - (lumiCache->DIErrorsLS_)[iz][ip][ix][iy] = 0; - } + + for (int iz = 0; iz < 2; ++iz) { + for (int ip = 0; ip < 2; ++ip) { + meDIErrorsByLS_[iz][ip]->Reset(); + for (int ix = 0; ix < 40; ++ix) { + for (int iy = 0; iy < 40; ++iy) { + (lumiCache->DIErrorsByLS_)[iz][ip][ix][iy] = 0; } } } } + + meDCCCRCErrByLS_->Reset(); + meFiberErrCodeByLS_->Reset(); + meFiberOffByLS_->Reset(); + meOptoBCByLS_->Reset(); + meSLinkCRCErrByLS_->Reset(); + return lumiCache; } void ESIntegrityTask::globalEndLuminosityBlock(const edm::LuminosityBlock& lumi, const edm::EventSetup& c) { - if (doLumiAnalysis_) - calculateDIFraction(lumi, c); + calculateDIFraction(lumi, c); } void ESIntegrityTask::bookHistograms(DQMStore::IBooker& iBooker, edm::Run const&, edm::EventSetup const&) { @@ -181,9 +185,44 @@ void ESIntegrityTask::bookHistograms(DQMStore::IBooker& iBooker, edm::Run const& meDIErrors_[i][j]->setAxisTitle("Si Y", 2); } - if (doLumiAnalysis_) { - sprintf(histo, "ES Good Channel Fraction"); - meDIFraction_ = iBooker.book2D(histo, histo, 3, 1.0, 3.0, 3, 1.0, 3.0); + // LS-based histos + sprintf(histo, "ES Good Channel Fraction"); + meDIFraction_ = iBooker.book2D(histo, histo, 3, 1.0, 3.0, 3, 1.0, 3.0); + + iBooker.setCurrentFolder(prefixME_ + "/ByLumiSection"); + + sprintf(histo, "ES SLink CRC Errors"); + meSLinkCRCErrByLS_ = iBooker.book1D(histo, histo, 56, 519.5, 575.5); + meSLinkCRCErrByLS_->setAxisTitle("ES FED", 1); + meSLinkCRCErrByLS_->setAxisTitle("Num of Events", 2); + + sprintf(histo, "ES DCC CRC Errors"); + meDCCCRCErrByLS_ = iBooker.book2D(histo, histo, 56, 519.5, 575.5, 3, -0.5, 2.5); + meDCCCRCErrByLS_->setAxisTitle("ES FED", 1); + meDCCCRCErrByLS_->setAxisTitle("ES OptoRX", 2); + + sprintf(histo, "ES OptoRX BC mismatch"); + meOptoBCByLS_ = iBooker.book2D(histo, histo, 56, 519.5, 575.5, 3, -0.5, 2.5); + meOptoBCByLS_->setAxisTitle("ES FED", 1); + meOptoBCByLS_->setAxisTitle("ES OptoRX", 2); + + sprintf(histo, "ES Fiber Error Code"); + meFiberErrCodeByLS_ = iBooker.book1D(histo, histo, 17, -0.5, 16.5); + meFiberErrCodeByLS_->setAxisTitle("Fiber Error Code", 1); + + sprintf(histo, "ES Fiber Off"); + meFiberOffByLS_ = iBooker.book2D(histo, histo, 56, 519.5, 575.5, 36, 0.5, 36.5); + meFiberOffByLS_->setAxisTitle("ES FED", 1); + meFiberOffByLS_->setAxisTitle("Fiber Number", 2); + + for (int i = 0; i < 2; ++i) { + for (int j = 0; j < 2; ++j) { + int iz = (i == 0) ? 1 : -1; + sprintf(histo, "ES Integrity Errors Z %d P %d", iz, j + 1); + meDIErrorsByLS_[i][j] = iBooker.book2D(histo, histo, 40, 0.5, 40.5, 40, 0.5, 40.5); + meDIErrorsByLS_[i][j]->setAxisTitle("Si X", 1); + meDIErrorsByLS_[i][j]->setAxisTitle("Si Y", 2); + } } } @@ -200,10 +239,13 @@ void ESIntegrityTask::analyze(const Event& e, const EventSetup& c) { // Fill # of events meDCCErr_->Fill(575, 2, 1); meDCCCRCErr_->Fill(575, 2, 1); + meDCCCRCErrByLS_->Fill(575, 2, 1); meOptoRX_->Fill(575, 2, 1); meOptoBC_->Fill(575, 2, 1); + meOptoBCByLS_->Fill(575, 2, 1); meFiberBadStatus_->Fill(575, 36, 1); meFiberOff_->Fill(575, 36, 1); + meFiberOffByLS_->Fill(575, 36, 1); meEVDR_->Fill(575, 36, 1); // # of DI errors @@ -225,38 +267,48 @@ void ESIntegrityTask::analyze(const Event& e, const EventSetup& c) { // SLink CRC error if (dcc.getDCCErrors() == 101) { meSLinkCRCErr_->Fill(dcc.fedId()); + meSLinkCRCErrByLS_->Fill(dcc.fedId()); for (int j = 0; j < 36; ++j) nDIErr[dcc.fedId() - 520][j]++; } if (dcc.getOptoRX0() == 129) { meOptoRX_->Fill(dcc.fedId(), 0); - if (((dcc.getOptoBC0() - 15) & 0x0fff) != dcc.getBX()) + if (((dcc.getOptoBC0() - 15) & 0x0fff) != dcc.getBX()) { meOptoBC_->Fill(dcc.fedId(), 0); + meOptoBCByLS_->Fill(dcc.fedId(), 0); + } } if (dcc.getOptoRX1() == 129) { meOptoRX_->Fill(dcc.fedId(), 1); - if (((dcc.getOptoBC1() - 15) & 0x0fff) != dcc.getBX()) + if (((dcc.getOptoBC1() - 15) & 0x0fff) != dcc.getBX()) { meOptoBC_->Fill(dcc.fedId(), 1); + meOptoBCByLS_->Fill(dcc.fedId(), 1); + } } if (dcc.getOptoRX2() == 129) { meOptoRX_->Fill(dcc.fedId(), 2); - if (((dcc.getOptoBC2() - 15) & 0x0fff) != dcc.getBX()) + if (((dcc.getOptoBC2() - 15) & 0x0fff) != dcc.getBX()) { meOptoBC_->Fill(dcc.fedId(), 2); + meOptoBCByLS_->Fill(dcc.fedId(), 2); + } } if (dcc.getOptoRX0() == 128) { meDCCCRCErr_->Fill(dcc.fedId(), 0); + meDCCCRCErrByLS_->Fill(dcc.fedId(), 0); for (int j = 0; j < 12; ++j) nDIErr[dcc.fedId() - 520][j]++; } if (dcc.getOptoRX1() == 128) { meDCCCRCErr_->Fill(dcc.fedId(), 1); + meDCCCRCErrByLS_->Fill(dcc.fedId(), 1); for (int j = 12; j < 24; ++j) nDIErr[dcc.fedId() - 520][j]++; } if (dcc.getOptoRX2() == 128) { meDCCCRCErr_->Fill(dcc.fedId(), 2); + meDCCCRCErrByLS_->Fill(dcc.fedId(), 2); for (int j = 24; j < 36; ++j) nDIErr[dcc.fedId() - 520][j]++; } @@ -268,12 +320,16 @@ void ESIntegrityTask::analyze(const Event& e, const EventSetup& c) { fiberStatus[i] == 12) { meFiberBadStatus_->Fill(dcc.fedId(), i + 1, 1); meFiberErrCode_->Fill(fiberStatus[i]); + meFiberErrCodeByLS_->Fill(fiberStatus[i]); nDIErr[dcc.fedId() - 520][i]++; } - if (fiberStatus[i] == 7) + if (fiberStatus[i] == 7) { meFiberOff_->Fill(dcc.fedId(), i + 1, 1); + meFiberOffByLS_->Fill(dcc.fedId(), i + 1, 1); + } if (fiberStatus[i] == 6) { meFiberErrCode_->Fill(fiberStatus[i]); + meFiberErrCodeByLS_->Fill(fiberStatus[i]); meEVDR_->Fill(dcc.fedId(), i + 1, 1); } } @@ -316,8 +372,8 @@ void ESIntegrityTask::analyze(const Event& e, const EventSetup& c) { if (nDIErr[fed_[iz][ip][ix][iy] - 520][fiber_[iz][ip][ix][iy]] > 0) { meDIErrors_[iz][ip]->Fill(ix + 1, iy + 1, 1); - if (doLumiAnalysis_) - (lumiCache->DIErrorsLS_)[iz][ip][ix][iy] += 1; + (lumiCache->DIErrorsByLS_)[iz][ip][ix][iy] += 1; + meDIErrorsByLS_[iz][ip]->Fill(ix + 1, iy + 1, 1); } } } @@ -336,7 +392,7 @@ void ESIntegrityTask::calculateDIFraction(const edm::LuminosityBlock& lumi, cons float reportSummaryES = -1; for (int x = 0; x < 40; ++x) { for (int y = 0; y < 40; ++y) { - float val = 1.0 * ((lumiCache->DIErrorsLS_)[i][j][x][y]); + float val = 1.0 * ((lumiCache->DIErrorsByLS_)[i][j][x][y]); if (fed_[i][j][x][y] == -1) continue; if ((lumiCache->ievtLS_) != 0) diff --git a/DQM/EcalPreshowerMonitorModule/src/ESOccupancyTask.cc b/DQM/EcalPreshowerMonitorModule/src/ESOccupancyTask.cc index 9583760ed37a7..1468d93ea94dd 100644 --- a/DQM/EcalPreshowerMonitorModule/src/ESOccupancyTask.cc +++ b/DQM/EcalPreshowerMonitorModule/src/ESOccupancyTask.cc @@ -39,6 +39,7 @@ ESOccupancyTask::ESOccupancyTask(const edm::ParameterSet& ps) { hSelEng_[i][j] = nullptr; hSelOCC_[i][j] = nullptr; + hSelOCCByLS_[i][j] = nullptr; hSelEnDensity_[i][j] = nullptr; } @@ -46,6 +47,21 @@ ESOccupancyTask::ESOccupancyTask(const edm::ParameterSet& ps) { hE1E2_[i] = nullptr; } +std::shared_ptr ESOccupancyTask::globalBeginLuminosityBlock(const edm::LuminosityBlock& lumi, + const edm::EventSetup& c) const { + auto lumiCache = std::make_shared(); + lumiCache->ievtLS_ = 0; + + for (int iz = 0; iz < 2; ++iz) { + for (int ip = 0; ip < 2; ++ip) { + hSelOCCByLS_[iz][ip]->Reset(); + } + } + return lumiCache; +} + +void ESOccupancyTask::globalEndLuminosityBlock(const edm::LuminosityBlock& lumi, const edm::EventSetup& c) {} + void ESOccupancyTask::bookHistograms(DQMStore::IBooker& iBooker, Run const&, EventSetup const&) { iBooker.setCurrentFolder(prefixME_ + "/ESOccupancyTask"); @@ -105,6 +121,18 @@ void ESOccupancyTask::bookHistograms(DQMStore::IBooker& iBooker, Run const&, Eve hE1E2_[0] = iBooker.book2D("ES+ EP1 vs EP2", "ES+ EP1 vs EP2", 50, 0, 0.1, 50, 0, 0.1); hE1E2_[1] = iBooker.book2D("ES- EP1 vs EP2", "ES- EP1 vs EP2", 50, 0, 0.1, 50, 0, 0.1); + + // LS-based histos + iBooker.setCurrentFolder(prefixME_ + "/ByLumiSection"); + for (int i = 0; i < 2; ++i) { + for (int j = 0; j < 2; ++j) { + int iz = (i == 0) ? 1 : -1; + sprintf(histo, "ES Occupancy with selected hits Z %d P %d", iz, j + 1); + hSelOCCByLS_[i][j] = iBooker.book2D(histo, histo, 40, 0.5, 40.5, 40, 0.5, 40.5); + hSelOCCByLS_[i][j]->setAxisTitle("Si X", 1); + hSelOCCByLS_[i][j]->setAxisTitle("Si Y", 2); + } + } } void ESOccupancyTask::analyze(const edm::Event& e, const edm::EventSetup& iSetup) { @@ -150,6 +178,7 @@ void ESOccupancyTask::analyze(const edm::Event& e, const edm::EventSetup& iSetup hSelEng_[i][j]->Fill(hitItr->energy()); hSelEnDensity_[i][j]->Fill(ix, iy, hitItr->energy()); hSelOCC_[i][j]->Fill(ix, iy); + hSelOCCByLS_[i][j]->Fill(ix, iy); } } } else { @@ -168,6 +197,7 @@ void ESOccupancyTask::analyze(const edm::Event& e, const edm::EventSetup& iSetup hEnDensity_[i][j]->setBinContent(40, 40, eCount_); hSelOCC_[i][j]->setBinContent(40, 40, eCount_); + hSelOCCByLS_[i][j]->setBinContent(40, 40, eCount_); hSelEnDensity_[i][j]->setBinContent(40, 40, eCount_); } diff --git a/DQM/EcalPreshowerMonitorModule/src/ESRawDataTask.cc b/DQM/EcalPreshowerMonitorModule/src/ESRawDataTask.cc index a43daa8719ff3..2d70b4128fb03 100644 --- a/DQM/EcalPreshowerMonitorModule/src/ESRawDataTask.cc +++ b/DQM/EcalPreshowerMonitorModule/src/ESRawDataTask.cc @@ -34,6 +34,20 @@ ESRawDataTask::ESRawDataTask(const ParameterSet& ps) { ievt_ = 0; } +std::shared_ptr ESRawDataTask::globalBeginLuminosityBlock(const edm::LuminosityBlock& lumi, + const edm::EventSetup& c) const { + auto lumiCache = std::make_shared(); + lumiCache->ievtLS_ = 0; + + meL1ADCCErrorsByLS_->Reset(); + meBXDCCErrorsByLS_->Reset(); + meOrbitNumberDCCErrorsByLS_->Reset(); + + return lumiCache; +} + +void ESRawDataTask::globalEndLuminosityBlock(const edm::LuminosityBlock& lumi, const edm::EventSetup& c) {} + void ESRawDataTask::bookHistograms(DQMStore::IBooker& iBooker, Run const&, EventSetup const&) { char histo[200]; @@ -73,6 +87,24 @@ void ESRawDataTask::bookHistograms(DQMStore::IBooker& iBooker, Run const&, Event meOrbitNumberDiff_ = iBooker.book1D(histo, histo, 201, -100.5, 100.5); meOrbitNumberDiff_->setAxisTitle("ES - GT orbit number", 1); meOrbitNumberDiff_->setAxisTitle("Num of Events", 2); + + // LS-based histos + iBooker.setCurrentFolder(prefixME_ + "/ByLumiSection"); + + sprintf(histo, "ES L1A DCC errors"); + meL1ADCCErrorsByLS_ = iBooker.book1D(histo, histo, 56, 519.5, 575.5); + meL1ADCCErrorsByLS_->setAxisTitle("ES FED", 1); + meL1ADCCErrorsByLS_->setAxisTitle("Num of Events", 2); + + sprintf(histo, "ES BX DCC errors"); + meBXDCCErrorsByLS_ = iBooker.book1D(histo, histo, 56, 519.5, 575.5); + meBXDCCErrorsByLS_->setAxisTitle("ES FED", 1); + meBXDCCErrorsByLS_->setAxisTitle("Num of Events", 2); + + sprintf(histo, "ES Orbit Number DCC errors"); + meOrbitNumberDCCErrorsByLS_ = iBooker.book1D(histo, histo, 56, 519.5, 575.5); + meOrbitNumberDCCErrorsByLS_->setAxisTitle("ES FED", 1); + meOrbitNumberDCCErrorsByLS_->setAxisTitle("Num of Events", 2); } void ESRawDataTask::analyze(const Event& e, const EventSetup& c) { @@ -150,7 +182,7 @@ void ESRawDataTask::analyze(const Event& e, const EventSetup& c) { if (dcc.getLV1() != gt_L1A) { meL1ADCCErrors_->Fill(dcc.fedId()); - //cout<<"L1A err : "<Fill(dcc.fedId()); Float_t l1a_diff = dcc.getLV1() - gt_L1A; if (l1a_diff > 100) l1a_diff = 100; @@ -161,7 +193,7 @@ void ESRawDataTask::analyze(const Event& e, const EventSetup& c) { if (dcc.getBX() != gt_BX) { meBXDCCErrors_->Fill(dcc.fedId()); - //cout<<"BX err : "<Fill(dcc.fedId()); Float_t bx_diff = dcc.getBX() - gt_BX; if (bx_diff > 100) bx_diff = 100; @@ -171,7 +203,7 @@ void ESRawDataTask::analyze(const Event& e, const EventSetup& c) { } if (dcc.getOrbitNumber() != gt_OrbitNumber) { meOrbitNumberDCCErrors_->Fill(dcc.fedId()); - //cout<<"Orbit err : "<Fill(dcc.fedId()); Float_t orbitnumber_diff = dcc.getOrbitNumber() - gt_OrbitNumber; if (orbitnumber_diff > 100) orbitnumber_diff = 100;