diff --git a/EventFilter/GEMRawToDigi/plugins/GEMRawToDigiModule.cc b/EventFilter/GEMRawToDigi/plugins/GEMRawToDigiModule.cc index b32a97ac13112..30af0bdbc5113 100644 --- a/EventFilter/GEMRawToDigi/plugins/GEMRawToDigiModule.cc +++ b/EventFilter/GEMRawToDigi/plugins/GEMRawToDigiModule.cc @@ -45,7 +45,7 @@ class GEMRawToDigiModule : public edm::global::EDProducer fed_token; edm::ESGetToken gemEMapToken_; - bool useDBEMap_, keepDAQStatus_, readMultiBX_; + bool useDBEMap_, keepDAQStatus_, readMultiBX_, ge21Off_; unsigned int fedIdStart_, fedIdEnd_; std::unique_ptr gemRawToDigi_; }; @@ -58,6 +58,7 @@ GEMRawToDigiModule::GEMRawToDigiModule(const edm::ParameterSet& pset) useDBEMap_(pset.getParameter("useDBEMap")), keepDAQStatus_(pset.getParameter("keepDAQStatus")), readMultiBX_(pset.getParameter("readMultiBX")), + ge21Off_(pset.getParameter("ge21Off")), fedIdStart_(pset.getParameter("fedIdStart")), fedIdEnd_(pset.getParameter("fedIdEnd")), gemRawToDigi_(std::make_unique()) { @@ -71,6 +72,12 @@ GEMRawToDigiModule::GEMRawToDigiModule(const edm::ParameterSet& pset) if (useDBEMap_) { gemEMapToken_ = esConsumes(); } + if (ge21Off_ && fedIdStart_ == FEDNumbering::MINGEMFEDID && fedIdEnd_ == FEDNumbering::MAXGEMFEDID) { + fedIdEnd_ = FEDNumbering::MINGE21FEDID - 1; + } else if (ge21Off_) { + edm::LogError("InvalidSettings") << "Turning GE2/1 off requires changing the FEDIDs the GEM unpacker looks at. If " + "you wish to set the FEDIDs yourself, don't use the ge21Off switch."; + } } void GEMRawToDigiModule::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { @@ -79,6 +86,7 @@ void GEMRawToDigiModule::fillDescriptions(edm::ConfigurationDescriptions& descri desc.add("useDBEMap", false); desc.add("keepDAQStatus", false); desc.add("readMultiBX", false); + desc.add("ge21Off", false); desc.add("fedIdStart", FEDNumbering::MINGEMFEDID); desc.add("fedIdEnd", FEDNumbering::MAXGEMFEDID); descriptions.add("muonGEMDigisDefault", desc); diff --git a/EventFilter/GEMRawToDigi/python/muonGEMDigis_cfi.py b/EventFilter/GEMRawToDigi/python/muonGEMDigis_cfi.py index 6711429ca9419..c14855cd306a6 100644 --- a/EventFilter/GEMRawToDigi/python/muonGEMDigis_cfi.py +++ b/EventFilter/GEMRawToDigi/python/muonGEMDigis_cfi.py @@ -7,5 +7,6 @@ from Configuration.Eras.Modifier_phase2_GEM_cff import phase2_GEM run2_GEM_2017.toModify(muonGEMDigis, useDBEMap = True) -run3_GEM.toModify(muonGEMDigis, useDBEMap = True) -phase2_GEM.toModify(muonGEMDigis, useDBEMap = False, readMultiBX = True) +# Note that by default we don't unpack the GE2/1 demonstrator digis in run3 +run3_GEM.toModify(muonGEMDigis, useDBEMap = True, ge21Off = True) +phase2_GEM.toModify(muonGEMDigis, useDBEMap = False, readMultiBX = True, ge21Off = False)