From 5f46131a87b0856149f6a40dd8a71478dfb3496e Mon Sep 17 00:00:00 2001 From: mmusich Date: Mon, 16 Mar 2020 11:41:44 +0100 Subject: [PATCH] fix filtering for simulated events --- CalibTracker/SiStripCommon/src/SiStripDCSStatus.cc | 12 ++++++++---- DPGAnalysis/Skims/src/DetStatus.cc | 8 +++++++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/CalibTracker/SiStripCommon/src/SiStripDCSStatus.cc b/CalibTracker/SiStripCommon/src/SiStripDCSStatus.cc index aecf0666e1beb..df00709fc88ad 100644 --- a/CalibTracker/SiStripCommon/src/SiStripDCSStatus.cc +++ b/CalibTracker/SiStripCommon/src/SiStripDCSStatus.cc @@ -58,10 +58,14 @@ bool SiStripDCSStatus::getStatus(edm::Event const& e, edm::EventSetup const& eSe } if ((*dcsStatus).empty()) { - dcsTIBTID = (*dcsRecord).highVoltageReady(DCSRecord::Partition::TIBTID); - dcsTOB = (*dcsRecord).highVoltageReady(DCSRecord::Partition::TOB); - dcsTECF = (*dcsRecord).highVoltageReady(DCSRecord::Partition::TECp); - dcsTECB = (*dcsRecord).highVoltageReady(DCSRecord::Partition::TECm); + if (e.eventAuxiliary().isRealData()) { + dcsTIBTID = (*dcsRecord).highVoltageReady(DCSRecord::Partition::TIBTID); + dcsTOB = (*dcsRecord).highVoltageReady(DCSRecord::Partition::TOB); + dcsTECF = (*dcsRecord).highVoltageReady(DCSRecord::Partition::TECp); + dcsTECB = (*dcsRecord).highVoltageReady(DCSRecord::Partition::TECm); + } else { + return retVal; + } } else { dcsTIBTID = ((*dcsStatus)[0].ready(DcsStatus::TIBTID)); dcsTOB = ((*dcsStatus)[0].ready(DcsStatus::TOB)); diff --git a/DPGAnalysis/Skims/src/DetStatus.cc b/DPGAnalysis/Skims/src/DetStatus.cc index 75661c8139c1a..d999d2b0e52dd 100644 --- a/DPGAnalysis/Skims/src/DetStatus.cc +++ b/DPGAnalysis/Skims/src/DetStatus.cc @@ -130,7 +130,13 @@ bool DetStatus::filter(edm::Event& evt, edm::EventSetup const& es) if (dcsStatus.isValid() && !dcsStatus->empty()) { accepted = checkForDCSStatus(*dcsStatus); } else if (dcsRecord.isValid()) { - accepted = checkForDCSRecord(*dcsRecord); + if (evt.eventAuxiliary().isRealData()) { + // in case of real data check for DCS + accepted = checkForDCSRecord(*dcsRecord); + } else { + // in case of MC accept in any case + accepted = true; + } } else { edm::LogError("DetStatus") << "Error! can't get the product, neither DCSRecord, nor scalersRawToDigi: accept in any case!";