Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move ME0 trigger primitive producers from DIGI to L1 step #28329

Merged
merged 3 commits into from Nov 6, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
79 changes: 41 additions & 38 deletions L1Trigger/Configuration/python/L1Trigger_EventContent_cff.py
@@ -1,20 +1,20 @@
import FWCore.ParameterSet.Config as cms

# RAW content
# RAW content
L1TriggerRAW = cms.PSet(
outputCommands = cms.untracked.vstring(
'keep FEDRawDataCollection_rawDataCollector_*_*',
'keep FEDRawDataCollection_source_*_*')
)


# RAWDEBUG content
# RAWDEBUG content
L1TriggerRAWDEBUG = cms.PSet(
outputCommands = cms.untracked.vstring(
'keep FEDRawDataCollection_rawDataCollector_*_*',
'keep FEDRawDataCollection_source_*_*',
'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*',
'keep *_l1GtRecord_*_*',
'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*',
'keep *_l1GtRecord_*_*',
'keep *_l1GtTriggerMenuLite_*_*',
'keep *_conditionsInEdm_*_*',
'keep *_l1extraParticles_*_*')
Expand All @@ -23,8 +23,8 @@
# RECO content
L1TriggerRECO = cms.PSet(
outputCommands = cms.untracked.vstring(
'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*',
'keep *_l1GtRecord_*_*',
'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*',
'keep *_l1GtRecord_*_*',
'keep *_l1GtTriggerMenuLite_*_*',
'keep *_conditionsInEdm_*_*',
'keep *_l1extraParticles_*_*',
Expand All @@ -47,8 +47,8 @@
# AOD content
L1TriggerAOD = cms.PSet(
outputCommands = cms.untracked.vstring(
'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*',
'keep *_l1GtRecord_*_*',
'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*',
'keep *_l1GtRecord_*_*',
'keep *_l1GtTriggerMenuLite_*_*',
'keep *_conditionsInEdm_*_*',
'keep *_l1extraParticles_*_*',
Expand All @@ -59,37 +59,37 @@

L1TriggerFEVTDEBUG = cms.PSet(
outputCommands = cms.untracked.vstring(
'keep *_simCscTriggerPrimitiveDigis_*_*',
'keep *_simDtTriggerPrimitiveDigis_*_*',
'keep *_simRpcTriggerDigis_*_*',
'keep *_simRctDigis_*_*',
'keep *_simCsctfDigis_*_*',
'keep *_simCsctfTrackDigis_*_*',
'keep *_simDttfDigis_*_*',
'keep *_simGctDigis_*_*',
'keep *_simCaloStage1Digis_*_*',
'keep *_simCaloStage1FinalDigis_*_*',
'keep *_simCaloStage2Layer1Digis_*_*',
'keep *_simCaloStage2Digis_*_*',
'keep *_simGmtDigis_*_*',
'keep *_simCscTriggerPrimitiveDigis_*_*',
'keep *_simDtTriggerPrimitiveDigis_*_*',
'keep *_simRpcTriggerDigis_*_*',
'keep *_simRctDigis_*_*',
'keep *_simCsctfDigis_*_*',
'keep *_simCsctfTrackDigis_*_*',
'keep *_simDttfDigis_*_*',
'keep *_simGctDigis_*_*',
'keep *_simCaloStage1Digis_*_*',
'keep *_simCaloStage1FinalDigis_*_*',
'keep *_simCaloStage2Layer1Digis_*_*',
'keep *_simCaloStage2Digis_*_*',
'keep *_simGmtDigis_*_*',
"keep *_simBmtfDigis_*_*",
"keep *_simOmtfDigis_*_*",
"keep *_simEmtfDigis_*_*",
"keep *_simGmtStage2Digis_*_*",
'keep *_simGtDigis_*_*',
'keep *_simGtDigis_*_*',
"keep *_simGtStage2Digis_*_*",
'keep *_cscTriggerPrimitiveDigis_*_*',
'keep *_dtTriggerPrimitiveDigis_*_*',
'keep *_rpcTriggerDigis_*_*',
'keep *_rctDigis_*_*',
'keep *_csctfDigis_*_*',
'keep *_csctfTrackDigis_*_*',
'keep *_dttfDigis_*_*',
'keep *_gctDigis_*_*',
'keep *_gmtDigis_*_*',
'keep *_cscTriggerPrimitiveDigis_*_*',
'keep *_dtTriggerPrimitiveDigis_*_*',
'keep *_rpcTriggerDigis_*_*',
'keep *_rctDigis_*_*',
'keep *_csctfDigis_*_*',
'keep *_csctfTrackDigis_*_*',
'keep *_dttfDigis_*_*',
'keep *_gctDigis_*_*',
'keep *_gmtDigis_*_*',
'keep *_gtDigis_*_*',
'keep *_gtEvmDigis_*_*',
'keep *_l1GtRecord_*_*',
'keep *_l1GtRecord_*_*',
'keep *_l1GtTriggerMenuLite_*_*',
'keep *_conditionsInEdm_*_*',
'keep *_l1extraParticles_*_*',
Expand All @@ -101,7 +101,7 @@

def _appendStage2Digis(obj):
l1Stage2Digis = [
'keep *_gtStage2Digis_*_*',
'keep *_gtStage2Digis_*_*',
'keep *_gmtStage2Digis_*_*',
'keep *_caloStage2Digis_*_*',
]
Expand Down Expand Up @@ -139,14 +139,17 @@ def _appendGEMDigis(obj):
from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
run3_GEM.toModify(L1TriggerFEVTDEBUG, func=_appendGEMDigis)

# adding ME0 pseudo trigger stubs
def _appendME0PseudoStubs(obj):
l1ME0PseudoStubs = [
# adding ME0 trigger primitives
def _appendME0Digis(obj):
l1ME0Digis = [
'keep *_simMuonME0PadDigis__*',
'keep *_me0TriggerDigis__*',
'keep *_simMuonME0PseudoReDigisCoarse__*',
'keep *_me0RecHitsCoarse__*',
'keep *_me0TriggerPseudoDigis__*',
'keep *_me0TriggerConvertedPseudoDigis__*',
]
obj.outputCommands += l1ME0PseudoStubs
obj.outputCommands += l1ME0Digis

from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon
phase2_muon.toModify(L1TriggerFEVTDEBUG, func=_appendME0PseudoStubs)
phase2_muon.toModify(L1TriggerFEVTDEBUG, func=_appendME0Digis)
6 changes: 3 additions & 3 deletions L1Trigger/L1TMuon/python/simDigis_cff.py
Expand Up @@ -40,7 +40,7 @@
)
#
# - DT Track Finder emulator
#
#
import L1Trigger.DTTrackFinder.dttfDigis_cfi
simDttfDigis = L1Trigger.DTTrackFinder.dttfDigis_cfi.dttfDigis.clone(
DTDigi_Source = 'simDtTriggerPrimitiveDigis',
Expand Down Expand Up @@ -93,9 +93,9 @@
(stage2L1Trigger & run3_GEM).toReplaceWith( SimL1TMuonTask, _run3_SimL1TMuonTask )

## ME0 TPs
from L1Trigger.ME0Trigger.me0TriggerPseudoDigis_cff import *
from L1Trigger.ME0Trigger.me0TriggerDigis_cff import *
_phase2_SimL1TMuonTask = SimL1TMuonTask.copy()
_phase2_SimL1TMuonTask.add(me0TriggerPseudoDigiTask)
_phase2_SimL1TMuonTask.add(me0TriggerAllDigiTask)

from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon
(stage2L1Trigger & phase2_muon).toReplaceWith( SimL1TMuonTask, _phase2_SimL1TMuonTask )
15 changes: 2 additions & 13 deletions L1Trigger/ME0Trigger/plugins/ME0TriggerProducer.cc
Expand Up @@ -8,10 +8,8 @@
#include "Geometry/GEMGeometry/interface/ME0Geometry.h"

ME0TriggerProducer::ME0TriggerProducer(const edm::ParameterSet& conf) {
me0PadDigiClusters_ = conf.getParameter<edm::InputTag>("ME0PadDigiClusterProducer");
me0_pad_cluster_token_ = consumes<ME0PadDigiClusterCollection>(me0PadDigiClusters_);
me0PadDigis_ = conf.getParameter<edm::InputTag>("ME0PadDigis");
me0_pad_token_ = consumes<ME0PadDigiCollection>(me0PadDigis_);
useClusters_ = conf.getParameter<bool>("useClusters");
config_ = conf;

// register what this produces
Expand All @@ -24,10 +22,6 @@ void ME0TriggerProducer::produce(edm::StreamID, edm::Event& ev, const edm::Event
edm::ESHandle<ME0Geometry> h_me0;
setup.get<MuonGeometryRecord>().get(h_me0);

edm::Handle<ME0PadDigiClusterCollection> me0PadDigiClusters;
ev.getByToken(me0_pad_cluster_token_, me0PadDigiClusters);
const ME0PadDigiClusterCollection* me0PadClusters = me0PadDigiClusters.product();

edm::Handle<ME0PadDigiCollection> me0PadDigis;
ev.getByToken(me0_pad_token_, me0PadDigis);
const ME0PadDigiCollection* me0Pads = me0PadDigis.product();
Expand All @@ -39,12 +33,7 @@ void ME0TriggerProducer::produce(edm::StreamID, edm::Event& ev, const edm::Event
trigBuilder->setME0Geometry(&*h_me0);

// Fill output collections if valid input collection is available.
if (me0PadDigiClusters.isValid()) {
if (useClusters_)
trigBuilder->build<ME0PadDigiClusterCollection>(me0PadClusters, *oc_trig);
else
trigBuilder->build<ME0PadDigiCollection>(me0Pads, *oc_trig);
}
trigBuilder->build<ME0PadDigiCollection>(me0Pads, *oc_trig);

// Put collections in event.
ev.put(std::move(oc_trig));
Expand Down
3 changes: 0 additions & 3 deletions L1Trigger/ME0Trigger/plugins/ME0TriggerProducer.h
Expand Up @@ -10,7 +10,6 @@
*
*/

#include "DataFormats/GEMDigi/interface/ME0PadDigiClusterCollection.h"
#include "DataFormats/GEMDigi/interface/ME0PadDigiCollection.h"
#include "FWCore/Framework/interface/ConsumesCollector.h"
#include "FWCore/Framework/interface/Frameworkfwd.h"
Expand All @@ -30,9 +29,7 @@ class ME0TriggerProducer : public edm::global::EDProducer<> {
void produce(edm::StreamID, edm::Event&, const edm::EventSetup&) const override;

private:
edm::InputTag me0PadDigiClusters_;
edm::InputTag me0PadDigis_;
edm::EDGetTokenT<ME0PadDigiClusterCollection> me0_pad_cluster_token_;
edm::EDGetTokenT<ME0PadDigiCollection> me0_pad_token_;
edm::ParameterSet config_;
bool useClusters_;
Expand Down
@@ -1,6 +1,6 @@
import FWCore.ParameterSet.Config as cms

me0TriggerPseudoDigis = cms.EDProducer("ME0TriggerPseudoProducer",
me0TriggerConvertedPseudoDigis = cms.EDProducer("ME0TriggerPseudoProducer",
ME0SegmentProducer = cms.InputTag("me0Segments"),
info = cms.untracked.int32(0),
DeltaPhiResolution = cms.untracked.double(0.25)# in term of trigger pad
Expand Down
8 changes: 8 additions & 0 deletions L1Trigger/ME0Trigger/python/me0TriggerDigis_cff.py
@@ -0,0 +1,8 @@
import FWCore.ParameterSet.Config as cms

from L1Trigger.ME0Trigger.muonME0PadDigis_cfi import *
from L1Trigger.ME0Trigger.me0TriggerDigis_cfi import *
from L1Trigger.ME0Trigger.me0TriggerPseudoDigis_cff import *

me0TriggerRealDigiTask = cms.Task(simMuonME0PadDigis, me0TriggerDigis)
me0TriggerAllDigiTask = cms.Task(me0TriggerRealDigiTask, me0TriggerPseudoDigiTask)
6 changes: 3 additions & 3 deletions L1Trigger/ME0Trigger/python/me0TriggerDigis_cfi.py
@@ -1,8 +1,8 @@
import FWCore.ParameterSet.Config as cms

me0TriggerDigis = cms.EDProducer("ME0TriggerProducer",
ME0PadDigiClusters = cms.InputTag("simMuonME0PadDigiClusters"),
ME0PadDigis = cms.InputTag("simMuonME0PadDigis"),
useClusters = cms.bool(False),
tmbParam = cms.PSet()
tmbParam = cms.PSet(
verbosity = cms.int32(0)
)
)
7 changes: 6 additions & 1 deletion L1Trigger/ME0Trigger/python/me0TriggerPseudoDigis_cff.py
Expand Up @@ -8,6 +8,7 @@
from SimMuon.GEMDigitizer.muonME0PseudoReDigis_cfi import *
from RecoLocalMuon.GEMRecHit.me0RecHits_cfi import *
from RecoLocalMuon.GEMSegment.me0Segments_cfi import *
from L1Trigger.ME0Trigger.me0TriggerConvertedPseudoDigis_cfi import *

simMuonME0PseudoReDigisCoarse = simMuonME0PseudoReDigis.clone(
usePads = cms.bool(True)
Expand All @@ -30,5 +31,9 @@
me0TriggerPseudoDigiTask = cms.Task(
simMuonME0PseudoReDigisCoarse,
me0RecHitsCoarse,
me0TriggerPseudoDigis
me0TriggerPseudoDigis,
## need to run the standard ME0 RECO sequence for converted triggers
me0RecHits,
me0Segments,
me0TriggerConvertedPseudoDigis
)
6 changes: 3 additions & 3 deletions L1Trigger/ME0Trigger/test/ME0TPEmulator_cfg.py
Expand Up @@ -38,8 +38,8 @@
from Configuration.AlCa.GlobalTag import GlobalTag
process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic', '')

process.load('L1Trigger/ME0Trigger/me0TriggerPseudoDigis_cfi')
process.me0TriggerPseudoDigis.info = 3
process.load('L1Trigger.ME0Trigger.me0TriggerConvertedPseudoDigis_cfi')
process.me0TriggerConvertedPseudoDigis.info = 3


# ======
Expand All @@ -52,5 +52,5 @@

# Scheduler path
# ==============
process.p = cms.Path(process.me0TriggerPseudoDigis)
process.p = cms.Path(process.me0TriggerConvertedPseudoDigis)
process.out = cms.EndPath(process.output)
50 changes: 25 additions & 25 deletions L1Trigger/ME0Trigger/test/runME0_Reco_L1.py
@@ -1,7 +1,7 @@
# Auto generated configuration file
# using:
# Revision: 1.19
# Source: /local/reps/CMSSW/CMSSW/Configuration/Applications/python/ConfigBuilder.py,v
# using:
# Revision: 1.19
# Source: /local/reps/CMSSW/CMSSW/Configuration/Applications/python/ConfigBuilder.py,v
# with command line options: step2 --conditions auto:phase2_realistic -s DIGI:pdigi_valid,L1,L1TrackTrigger,DIGI2RAW,HLT:@fake2 --datatier GEN-SIM-DIGI-RAW -n 10 --geometry Extended2023D22 --era Phase2 --eventcontent FEVTDEBUGHLT --filein file:step1.root --fileout file:step2.root
import FWCore.ParameterSet.Config as cms

Expand All @@ -24,7 +24,7 @@


process.me0RecoSequence = cms.Sequence(
process.me0RecHits * process.me0Segments
process.me0RecHits * process.me0Segments
)


Expand All @@ -37,22 +37,22 @@
dropDescendantsOfDroppedBranches = cms.untracked.bool(False),
fileNames = cms.untracked.vstring('file:step2.root'),
inputCommands = cms.untracked.vstring(
'keep *',
'drop *_genParticles_*_*',
'drop *_genParticlesForJets_*_*',
'drop *_kt4GenJets_*_*',
'drop *_kt6GenJets_*_*',
'drop *_iterativeCone5GenJets_*_*',
'drop *_ak4GenJets_*_*',
'drop *_ak7GenJets_*_*',
'drop *_ak8GenJets_*_*',
'drop *_ak4GenJetsNoNu_*_*',
'drop *_ak8GenJetsNoNu_*_*',
'drop *_genCandidatesForMET_*_*',
'drop *_genParticlesForMETAllVisible_*_*',
'drop *_genMetCalo_*_*',
'drop *_genMetCaloAndNonPrompt_*_*',
'drop *_genMetTrue_*_*',
'keep *',
'drop *_genParticles_*_*',
'drop *_genParticlesForJets_*_*',
'drop *_kt4GenJets_*_*',
'drop *_kt6GenJets_*_*',
'drop *_iterativeCone5GenJets_*_*',
'drop *_ak4GenJets_*_*',
'drop *_ak7GenJets_*_*',
'drop *_ak8GenJets_*_*',
'drop *_ak4GenJetsNoNu_*_*',
'drop *_ak8GenJetsNoNu_*_*',
'drop *_genCandidatesForMET_*_*',
'drop *_genParticlesForMETAllVisible_*_*',
'drop *_genMetCalo_*_*',
'drop *_genMetCaloAndNonPrompt_*_*',
'drop *_genMetTrue_*_*',
'drop *_genMetIC5GenJs_*_*'
),
secondaryFileNames = cms.untracked.vstring()
Expand Down Expand Up @@ -88,15 +88,15 @@
process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic', '')


process.load('L1Trigger/ME0Trigger/me0TriggerPseudoDigis_cfi')
process.me0TriggerPseudoDigis.info = 3
process.me0TriggerPseudoDigis.ME0SegmentProducer = cms.InputTag("me0Segments")
process.load('L1Trigger.ME0Trigger.me0TriggerConvertedPseudoDigis_cfi')
process.me0TriggerConvertedPseudoDigis.info = 3
process.me0TriggerConvertedPseudoDigis.ME0SegmentProducer = cms.InputTag("me0Segments")


# Path and EndPath definitions
#process.ME0_step = cms.Path(process.me0RecoSequence_all)
process.ME0Reco_step = cms.Path(process.me0RecoSequence)
process.ME0L1_step = cms.Path(process.me0TriggerPseudoDigis)
process.ME0L1_step = cms.Path(process.me0TriggerConvertedPseudoDigis)
process.endjob_step = cms.EndPath(process.endOfProcess)
process.FEVTDEBUGHLToutput_step = cms.EndPath(process.FEVTDEBUGHLToutput)

Expand All @@ -109,7 +109,7 @@
# customisation of the process.

# Automatic addition of the customisation function from HLTrigger.Configuration.customizeHLTforMC
#from HLTrigger.Configuration.customizeHLTforMC import customizeHLTforMC
#from HLTrigger.Configuration.customizeHLTforMC import customizeHLTforMC

#call to customisation function customizeHLTforMC imported from HLTrigger.Configuration.customizeHLTforMC
#process = customizeHLTforMC(process)
Expand Down