# only for debuging purpose and for specific studies dtlocalreco = cms.Sequence(dt1DRecHits*dt4DSegments + dt1DCosmicRecHits*dt4DCosmicSegments) # DT sequence with the 2D segment reconstruction dtlocalreco_with_2DSegments = cms.Sequence(dt1DRecHits*dt2DSegments*dt4DSegments + dt1DCosmicRecHits*dt2DCosmicSegments*dt4DCosmicSegments) # DT sequence with T0seg correction # CSC sequence csclocalreco = cms.Sequence(csc2DRecHits*cscSegments) # DT, CSC and RPC together muonlocalreco_with_2DSegments = cms.Sequence(dtlocalreco_with_2DSegments+csclocalreco+rpcRecHits) # DT, CSC and RPC together (correct sequence for the standard path) muonlocalreco = cms.Sequence(dtlocalreco+csclocalreco+rpcRecHits) from RecoLocalMuon.GEMRecHit.gemLocalReco_cff import * from RecoLocalMuon.GEMRecHit.me0LocalReco_cff import * _run2_GEM_2017_muonlocalreco = muonlocalreco.copy() _run2_GEM_2017_muonlocalreco += gemLocalReco _run3_muonlocalreco = muonlocalreco.copy() _run3_muonlocalreco += gemLocalReco _phase2_muonlocalreco = _run3_muonlocalreco.copy() _phase2_muonlocalreco += me0LocalReco from Configuration.Eras.Modifier_run2_GEM_2017_MCTest_cff import run2_GEM_2017_MCTest run2_GEM_2017_MCTest.toReplaceWith( muonlocalreco , _run2_GEM_2017_muonlocalreco ) from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM run3_GEM.toReplaceWith( muonlocalreco , _run3_muonlocalreco ) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith( muonlocalreco , _phase2_muonlocalreco )
from Configuration.Eras.Modifier_fastSim_cff import fastSim fastSim.toReplaceWith( recoMuonValidation, cms.Sequence(muonValidation_seq + muonValidationTEV_seq + muonValidationRefit_seq + muonValidationRMV_seq)) # sequence for cosmic muons recoCosmicMuonValidation = cms.Sequence(muonValidationCosmic_seq) # sequences for muon upgrades # _run3_muonValidation = recoMuonValidation.copy() #For full validation #_run3_muonValidation = recoMuonValidation_reduced_seq.copy() _run3_muonValidation += gemMuonValidation #_phase2_muonValidation = recoMuonValidation.copy() #For full validation _phase2_muonValidation = recoMuonValidation_reduced_seq.copy() _phase2_muonValidation += gemMuonValidation_phase2 _phase2_muonValidation += me0MuonValidation #_phase2_ge0_muonValidation = recoMuonValidation.copy() #For full validation _phase2_ge0_muonValidation = recoMuonValidation_reduced_seq.copy() _phase2_ge0_muonValidation += gemMuonValidation_phase2 from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM run3_GEM.toReplaceWith(recoMuonValidation, _run3_muonValidation) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith(recoMuonValidation, _phase2_muonValidation) from Configuration.Eras.Modifier_phase2_GE0_cff import phase2_GE0 phase2_GE0.toReplaceWith(recoMuonValidation, _phase2_ge0_muonValidation)
simGmtDigis.DTCandidates = cms.InputTag( 'simDttfDigis', 'DT' ) simGmtDigis.CSCCandidates = cms.InputTag( 'simCsctfDigis', 'CSC' ) simGmtDigis.RPCbCandidates = cms.InputTag( 'simRpcTriggerDigis', 'RPCb' ) simGmtDigis.RPCfCandidates = cms.InputTag( 'simRpcTriggerDigis', 'RPCf' ) # Note: GMT requires input from calorimeter emulators, namely MipIsoData from GCT simGmtDigis.MipIsoData = 'simRctDigis' # # SimL1TMuon = cms.Sequence(SimL1TMuonCommon + simCsctfTrackDigis + simCsctfDigis + simDttfDigis + simRpcTriggerDigis + simGmtDigis) # # Stage-2 Trigger # if stage2L1Trigger.isChosen(): from L1Trigger.L1TTwinMux.simTwinMuxDigis_cfi import * from L1Trigger.L1TMuonBarrel.simBmtfDigis_cfi import * from L1Trigger.L1TMuonEndCap.simEmtfDigis_cfi import * from L1Trigger.L1TMuonOverlap.simOmtfDigis_cfi import * from L1Trigger.L1TMuon.simGmtCaloSumDigis_cfi import * from L1Trigger.L1TMuon.simGmtStage2Digis_cfi import * # # SimL1TMuon = cms.Sequence(SimL1TMuonCommon + simTwinMuxDigis + simBmtfDigis + simEmtfDigis + simOmtfDigis + simGmtCaloSumDigis + simGmtStage2Digis) from L1Trigger.ME0Trigger.me0TriggerPseudoDigis_cff import * _phase2_SimL1TMuon = SimL1TMuon.copy() _phase2_SimL1TMuon += me0TriggerPseudoDigiSequence from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith( SimL1TMuon, _phase2_SimL1TMuon )
from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel (phase1Pixel & ~fastSim).toReplaceWith( globalValidation, _phase_1_globalValidation ) #module siPixelPhase1OfflineDQM_sourceV can't run in FastSim since siPixelClusters of type edmNew::DetSetVector are not produced (phase1Pixel & ~fastSim).toReplaceWith( globalValidationPixelTrackingOnly, _phase_1_globalValidationPixelTrackingOnly ) #module siPixelPhase1OfflineDQM_sourceV can't run in FastSim since siPixelClusters of type edmNew::DetSetVector are not produced _run3_globalValidation = globalValidation.copy() _run3_globalValidation += gemSimValid _phase2_globalValidation = _run3_globalValidation.copy() _phase2_globalValidation += trackerphase2ValidationSource _phase2_globalValidation += me0SimValid from Configuration.Eras.Modifier_run2_GEM_2017_cff import run2_GEM_2017 run2_GEM_2017.toReplaceWith(globalValidation, _run3_globalValidation) from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM run3_GEM.toReplaceWith(globalValidation, _run3_globalValidation) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith(globalValidation, _phase2_globalValidation) from Configuration.Eras.Modifier_pp_on_AA_2018_cff import pp_on_AA_2018 pp_on_AA_2018.toReplaceWith( globalValidation, globalValidation.copyAndExclude([pfTauRunDQMValidation])) from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer phase2_timing_layer.toReplaceWith( globalValidationMTD, cms.Sequence(mtdSimValid + mtdDigiValid + mtdRecoValid))
# CSC sequence csclocalrecoTask = cms.Task(csc2DRecHits, cscSegments) csclocalreco = cms.Sequence(csclocalrecoTask) # DT, CSC and RPC together muonlocalreco_with_2DSegmentsTask = cms.Task(dtlocalreco_with_2DSegmentsTask, csclocalrecoTask, rpcRecHits) muonlocalreco_with_2DSegments = cms.Sequence(muonlocalreco_with_2DSegmentsTask) # DT, CSC and RPC together (correct sequence for the standard path) muonlocalrecoTask = cms.Task(dtlocalrecoTask, csclocalrecoTask, rpcRecHits) muonlocalreco = cms.Sequence(muonlocalrecoTask) from RecoLocalMuon.GEMRecHit.gemLocalReco_cff import * from RecoLocalMuon.GEMRecHit.me0LocalReco_cff import * _run2_GEM_2017_muonlocalrecoTask = muonlocalrecoTask.copy() _run2_GEM_2017_muonlocalrecoTask.add(gemLocalRecoTask) _run3_muonlocalrecoTask = muonlocalrecoTask.copy() _run3_muonlocalrecoTask.add(gemLocalRecoTask) _phase2_muonlocalrecoTask = _run3_muonlocalrecoTask.copy() _phase2_muonlocalrecoTask.add(me0LocalRecoTask) from Configuration.Eras.Modifier_run2_GEM_2017_cff import run2_GEM_2017 run2_GEM_2017.toReplaceWith(muonlocalrecoTask, _run2_GEM_2017_muonlocalrecoTask) from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM run3_GEM.toReplaceWith(muonlocalrecoTask, _run3_muonlocalrecoTask) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith(muonlocalrecoTask, _phase2_muonlocalrecoTask)
from DQMOffline.Muon.segmentTrackAnalyzer_cfi import * from DQMOffline.Muon.muonSeedsAnalyzer_cfi import * from DQMOffline.Muon.muonPFAnalyzer_cfi import * from DQMOffline.Muon.triggerMatchMonitor_cfi import * muonAnalyzer = cms.Sequence( muonEnergyDepositAnalyzer * muonSeedsAnalyzer * muonRecoAnalyzer * glbMuonSegmentAnalyzer * staMuonSegmentAnalyzer * muonKinVsEtaAnalyzer * diMuonHistos * LooseMuonEfficiencyAnalyzer * MediumMuonEfficiencyAnalyzer * TightMuonEfficiencyAnalyzer * muonPFsequence * muonRecoOneHLT) from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith( muonAnalyzer, muonAnalyzer.copyAndExclude([ # FIXME muonEnergyDepositAnalyzer ])) muonAnalyzer_miniAOD = cms.Sequence( muonRecoAnalyzer_miniAOD * muonKinVsEtaAnalyzer_miniAOD * diMuonHistos_miniAOD * LooseMuonEfficiencyAnalyzer_miniAOD * MediumMuonEfficiencyAnalyzer_miniAOD * TightMuonEfficiencyAnalyzer_miniAOD * triggerMatchMonitor_miniAOD) muonAnalyzer_noHLT = cms.Sequence( muonEnergyDepositAnalyzer * muonSeedsAnalyzer * muonRecoAnalyzer * glbMuonSegmentAnalyzer * staMuonSegmentAnalyzer * muonKinVsEtaAnalyzer * diMuonHistos * LooseMuonEfficiencyAnalyzer * MediumMuonEfficiencyAnalyzer * TightMuonEfficiencyAnalyzer * muonPFsequence)
recoMuonValidation = cms.Sequence( muonValidation_seq + muonValidationTEV_seq + muonValidationRefit_seq + muonValidationDisplaced_seq ) # no displaces in fastsim from Configuration.Eras.Modifier_fastSim_cff import fastSim if fastSim.isChosen(): recoMuonValidation = cms.Sequence(muonValidation_seq + muonValidationTEV_seq + muonValidationRefit_seq) # sequence for cosmic muons recoCosmicMuonValidation = cms.Sequence( muonValidationCosmic_seq ) gemMuonValidation = cms.Sequence(extractGemMuonsTracks_seq + tpToGEMMuonMuonAssociation + gemMuonTrackVMuonAssoc) me0MuonValidation = cms.Sequence(extractMe0MuonsTracks_seq + tpToME0MuonMuonAssociation + me0MuonTrackVMuonAssoc) #_run3_muonValidation = muonValidation_seq.copy() #For full validation _run3_muonValidation = muonValidation_reduced_seq.copy() _run3_muonValidation += gemMuonValidation _phase2_muonValidation = _run3_muonValidation.copy() _phase2_muonValidation += me0MuonValidation from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM #run3_GEM.toReplaceWith( muonValidation_seq, _run3_muonValidation ) #For full validation run3_GEM.toReplaceWith( recoMuonValidation, _run3_muonValidation ) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon #phase2_muon.toReplaceWith( muonValidation_seq, _phase2_muonValidation ) #For full validation phase2_muon.toReplaceWith( recoMuonValidation, _phase2_muonValidation )
muonValidationDisplaced_seq + muonValidationRMV_seq) # no displaced muons in fastsim from Configuration.Eras.Modifier_fastSim_cff import fastSim fastSim.toReplaceWith( recoMuonValidation, cms.Sequence(muonValidation_seq + muonValidationTEV_seq + muonValidationRefit_seq + muonValidationRMV_seq)) # sequence for cosmic muons recoCosmicMuonValidation = cms.Sequence(muonValidationCosmic_seq) # sequences for muon upgrades # _run3_muonValidation = muonValidation_seq.copy() #For full validation _run3_muonValidation = muonValidation_reduced_seq.copy() _run3_muonValidation += gemMuonValidation _phase2_muonValidation = _run3_muonValidation.copy() _phase2_muonValidation += me0MuonValidation from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM run3_GEM.toReplaceWith(muonValidation_seq, _run3_muonValidation) #For full validation run3_GEM.toReplaceWith(recoMuonValidation, _run3_muonValidation) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith(muonValidation_seq, _phase2_muonValidation) #For full validation phase2_muon.toReplaceWith(recoMuonValidation, _phase2_muonValidation)
# 6th - Run the remnant part of the muon sequence (muonGlobalReco) ######################################################## _enableGEMMeasurement = dict(EnableGEMMeasurement=cms.bool(True)) from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM run3_GEM.toModify(standAloneMuons, STATrajBuilderParameters=dict( FilterParameters=_enableGEMMeasurement, BWFilterParameters=_enableGEMMeasurement)) run3_GEM.toModify(refittedStandAloneMuons, STATrajBuilderParameters=dict( FilterParameters=_enableGEMMeasurement, BWFilterParameters=_enableGEMMeasurement)) _enableME0Measurement = dict(EnableME0Measurement=cms.bool(True)) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toModify(standAloneMuons, STATrajBuilderParameters=dict( FilterParameters=_enableME0Measurement, BWFilterParameters=_enableME0Measurement)) phase2_muon.toModify(refittedStandAloneMuons, STATrajBuilderParameters=dict( FilterParameters=_enableME0Measurement, BWFilterParameters=_enableME0Measurement)) from RecoMuon.MuonIdentification.me0MuonReco_cff import * _phase2_muonGlobalReco = muonGlobalReco.copy() _phase2_muonGlobalReco += me0MuonReco phase2_muon.toReplaceWith(muonGlobalReco, _phase2_muonGlobalReco)
# Muon Digitization (CSC, DT, RPC electronics responce) # CSC digitizer # from SimMuon.CSCDigitizer.muonCSCDigis_cfi import * from CalibMuon.CSCCalibration.CSCChannelMapper_cfi import * from CalibMuon.CSCCalibration.CSCIndexer_cfi import * # DT digitizer # from SimMuon.DTDigitizer.muondtdigi_cfi import * # RPC digitizer # from SimMuon.RPCDigitizer.muonrpcdigi_cfi import * muonDigi = cms.Sequence(simMuonCSCDigis + simMuonDTDigis + simMuonRPCDigis) from SimMuon.GEMDigitizer.muonGEMDigi_cff import * from SimMuon.GEMDigitizer.muonME0Digi_cff import * _run3_muonDigi = muonDigi.copy() _run3_muonDigi += muonGEMDigi _phase2_muonDigi = _run3_muonDigi.copy() _phase2_muonDigi += muonME0Digi from Configuration.Eras.Modifier_run2_GEM_2017_cff import run2_GEM_2017 run2_GEM_2017.toReplaceWith(muonDigi, _run3_muonDigi) from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM run3_GEM.toReplaceWith(muonDigi, _run3_muonDigi) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith(muonDigi, _phase2_muonDigi)
DMHcalTTPDigis.HFDigiCollection = cms.InputTag("mixData") hcalDigiSequenceDM = cms.Sequence(DMHcalTriggerPrimitiveDigis + DMHcalDigis * DMHcalTTPDigis) postDMDigi = cms.Sequence(ecalDigiSequenceDM + hcalDigiSequenceDM) # GEM and ME0 have additional digi sequences from SimMuon.GEMDigitizer.muonGEMDigi_cff import muonGEMDigiDM from SimMuon.GEMDigitizer.muonME0Digi_cff import muonME0DigiDM _phase2_postDMDigi = postDMDigi.copy() _phase2_postDMDigi += (muonGEMDigiDM + muonME0DigiDM) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith(postDMDigi, _phase2_postDMDigi) # disable adding noise to HCAL cells with no MC signal #mixData.doEmpty = False # # TrackingParticle Producer is now part of the mixing module, so # it is no longer run here. # from SimGeneral.PileupInformation.AddPileupSummary_cfi import * pdatamix = cms.Sequence(mixData + postDMDigi + addPileupInfo) from Configuration.Eras.Modifier_fastSim_cff import fastSim
vtxBin=20, vtxMin=149.5, vtxMax=249.5) LooseMuonEfficiencyAnalyzer_Phase2 = LooseMuonEfficiencyAnalyzer.clone( vtxBin=20, vtxMin=149.5, vtxMax=249.5) MediumMuonEfficiencyAnalyzer_Phase2 = MediumMuonEfficiencyAnalyzer.clone( vtxBin=20, vtxMin=149.5, vtxMax=249.5) TightMuonEfficiencyAnalyzer_miniAOD_Phase2 = TightMuonEfficiencyAnalyzer_miniAOD.clone( vtxBin=20, vtxMin=149.5, vtxMax=249.5) LooseMuonEfficiencyAnalyzer_miniAOD_Phase2 = LooseMuonEfficiencyAnalyzer_miniAOD.clone( vtxBin=20, vtxMin=149.5, vtxMax=249.5) MediumMuonEfficiencyAnalyzer_miniAOD_Phase2 = MediumMuonEfficiencyAnalyzer.clone( vtxBin=20, vtxMin=149.5, vtxMax=249.5) EfficiencyAnalyzer_Phase2 = cms.Sequence(TightMuonEfficiencyAnalyzer_Phase2 * LooseMuonEfficiencyAnalyzer_Phase2 * MediumMuonEfficiencyAnalyzer_Phase2) EfficiencyAnalyzer_miniAOD_Phase2 = cms.Sequence( TightMuonEfficiencyAnalyzer_miniAOD_Phase2 * LooseMuonEfficiencyAnalyzer_miniAOD_Phase2 * MediumMuonEfficiencyAnalyzer_miniAOD_Phase2) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith(EfficiencyAnalyzer, EfficiencyAnalyzer_Phase2) phase2_muon.toReplaceWith(EfficiencyAnalyzer_miniAOD, EfficiencyAnalyzer_miniAOD_Phase2)
"muIsoDepositCalByAssociatorTowers", "ho"), vertexLabel=cms.untracked.InputTag("offlinePrimaryVertices"), directory=cms.string("Muons_miniAOD/Isolation/global"), vtxBin=cms.int32(30), vtxMax=cms.double(149.5), vtxMin=cms.double(0.5), ) muIsoDQM_seq_miniAOD = cms.Sequence(MuIsoDQM_trk_miniAOD + MuIsoDQM_sta_miniAOD + MuIsoDQM_glb_miniAOD) MuIsoDQM_glb_miniAOD_Phase2 = MuIsoDQM_glb_miniAOD.clone(vtxBin=20, vtxMin=149.5, vtxMax=249.5) MuIsoDQM_trk_miniAOD_Phase2 = MuIsoDQM_trk_miniAOD.clone(vtxBin=20, vtxMin=149.5, vtxMax=249.5) MuIsoDQM_sta_miniAOD_Phase2 = MuIsoDQM_sta_miniAOD.clone(vtxBin=20, vtxMin=149.5, vtxMax=249.5) muIsoDQM_seq_miniAOD_Phase2 = cms.Sequence(MuIsoDQM_trk_miniAOD_Phase2 + MuIsoDQM_sta_miniAOD_Phase2 + MuIsoDQM_glb_miniAOD_Phase2) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith(muIsoDQM_seq, muIsoDQM_seq_Phase2) phase2_muon.toReplaceWith(muIsoDQM_seq_miniAOD, muIsoDQM_seq_miniAOD_Phase2)
# The full offline muon validation sequence # recoMuonValidation = cms.Sequence( muonValidation_seq + muonValidationTEV_seq + muonValidationRefit_seq + muonValidationDisplaced_seq + muonValidationRMV_seq ) # no displaced muons in fastsim from Configuration.Eras.Modifier_fastSim_cff import fastSim fastSim.toReplaceWith(recoMuonValidation, cms.Sequence(muonValidation_seq + muonValidationTEV_seq + muonValidationRefit_seq + muonValidationRMV_seq)) # sequence for cosmic muons recoCosmicMuonValidation = cms.Sequence( muonValidationCosmic_seq ) # sequences for muon upgrades # _run3_muonValidation = muonValidation_seq.copy() #For full validation _run3_muonValidation = muonValidation_reduced_seq.copy() _run3_muonValidation += gemMuonValidation _phase2_muonValidation = _run3_muonValidation.copy() _phase2_muonValidation += me0MuonValidation from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM run3_GEM.toReplaceWith( muonValidation_seq, _run3_muonValidation ) #For full validation run3_GEM.toReplaceWith( recoMuonValidation, _run3_muonValidation ) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith( muonValidation_seq, _phase2_muonValidation ) #For full validation phase2_muon.toReplaceWith( recoMuonValidation, _phase2_muonValidation )
# NEWrecoMuonValidation = cms.Sequence( NEWmuonValidation_seq + NEWmuonValidationTEV_seq + NEWmuonValidationRefit_seq + NEWmuonValidationDisplaced_seq + NEWmuonValidationRMV_seq ) # no displaced muons in fastsim from Configuration.Eras.Modifier_fastSim_cff import fastSim if fastSim.isChosen(): NEWrecoMuonValidation = cms.Sequence(NEWmuonValidation_seq + NEWmuonValidationTEV_seq + NEWmuonValidationRefit_seq) # sequence for cosmic muons NEWrecoCosmicMuonValidation = cms.Sequence( NEWmuonValidationCosmic_seq ) # sequences for muon upgrades # NEW_run3_muonValidation = NEWmuonValidation_seq.copy() #For full validation NEW_run3_muonValidation = NEWmuonValidation_reduced_seq.copy() NEW_run3_muonValidation += NEWgemMuonValidation NEW_phase2_muonValidation = NEW_run3_muonValidation.copy() NEW_phase2_muonValidation += NEWme0MuonValidation from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM run3_GEM.toReplaceWith( NEWmuonValidation_seq, NEW_run3_muonValidation ) #For full validation run3_GEM.toReplaceWith( NEWrecoMuonValidation, NEW_run3_muonValidation ) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith( NEWmuonValidation_seq, NEW_phase2_muonValidation ) #For full validation phase2_muon.toReplaceWith( NEWrecoMuonValidation, NEW_phase2_muonValidation )
effPlotter_miniAOD = cms.Sequence( effPlotterLooseMiniAOD * effPlotterMediumMiniAOD * effPlotterTightMiniAOD) effPlotterLoose_Phase2 = effPlotterLoose.clone(vtxBin=20, vtxMin=149.5, vtxMax=249.5) effPlotterMedium_Phase2 = effPlotterMedium.clone(vtxBin=20, vtxMin=149.5, vtxMax=249.5) effPlotterTight_Phase2 = effPlotterTight.clone(vtxBin=20, vtxMin=149.5, vtxMax=249.5) effPlotterLooseMiniAOD_Phase2 = effPlotterLooseMiniAOD.clone(vtxBin=20, vtxMin=149.5, vtxMax=249.5) effPlotterMediumMiniAOD_Phase2 = effPlotterMediumMiniAOD.clone(vtxBin=20, vtxMin=149.5, vtxMax=249.5) effPlotterTightMiniAOD_Phase2 = effPlotterTightMiniAOD.clone(vtxBin=20, vtxMin=149.5, vtxMax=249.5) effPlotter_Phase2 = cms.Sequence( effPlotterLoose_Phase2 * effPlotterMedium_Phase2 * effPlotterTight_Phase2) effPlotter_miniAOD_Phase2 = cms.Sequence(effPlotterLooseMiniAOD_Phase2 * effPlotterMediumMiniAOD_Phase2 * effPlotterTightMiniAOD_Phase2) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith(effPlotter, effPlotter_Phase2) phase2_muon.toReplaceWith(effPlotter_miniAOD, effPlotter_miniAOD_Phase2)
# Muon Digitization (CSC, DT, RPC electronics responce) # CSC digitizer # from SimMuon.CSCDigitizer.muonCSCDigis_cfi import * from CalibMuon.CSCCalibration.CSCChannelMapper_cfi import * from CalibMuon.CSCCalibration.CSCIndexer_cfi import * # DT digitizer # from SimMuon.DTDigitizer.muondtdigi_cfi import * # RPC digitizer # from SimMuon.RPCDigitizer.muonrpcdigi_cfi import * muonDigi = cms.Sequence(simMuonCSCDigis+simMuonDTDigis+simMuonRPCDigis) from SimMuon.GEMDigitizer.muonGEMDigi_cff import * from SimMuon.GEMDigitizer.muonME0Digi_cff import * _run3_muonDigi = muonDigi.copy() _run3_muonDigi += muonGEMDigi _phase2_muonDigi = _run3_muonDigi.copy() _phase2_muonDigi += muonME0Digi from Configuration.Eras.Modifier_run2_GEM_2017_cff import run2_GEM_2017 run2_GEM_2017.toReplaceWith( muonDigi, _run3_muonDigi ) from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM run3_GEM.toReplaceWith( muonDigi, _run3_muonDigi ) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith( muonDigi, _phase2_muonDigi )
# no displaced muons in fastsim from Configuration.Eras.Modifier_fastSim_cff import fastSim fastSim.toReplaceWith( NEWrecoMuonValidation, cms.Sequence(NEWmuonValidation_seq + NEWmuonValidationTEV_seq + NEWmuonValidationRefit_seq)) # sequence for cosmic muons NEWrecoCosmicMuonValidation = cms.Sequence(NEWmuonValidationCosmic_seq) # sequences for muon upgrades # NEW_run3_muonValidation = NEWmuonValidation_seq.copy() #For full validation NEW_run3_muonValidation = NEWmuonValidation_reduced_seq.copy() NEW_run3_muonValidation += NEWgemMuonValidation NEW_phase2_muonValidation = NEW_run3_muonValidation.copy() NEW_phase2_muonValidation += NEWme0MuonValidation from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM run3_GEM.toReplaceWith(NEWmuonValidation_seq, NEW_run3_muonValidation) #For full validation run3_GEM.toReplaceWith(NEWrecoMuonValidation, NEW_run3_muonValidation) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith(NEWmuonValidation_seq, NEW_phase2_muonValidation) #For full validation phase2_muon.toReplaceWith(NEWrecoMuonValidation, NEW_phase2_muonValidation)
# DT digitizer # from SimMuon.DTDigitizer.muondtdigi_cfi import * # RPC digitizer # from SimMuon.RPCDigitizer.muonrpcdigi_cfi import * muonDigiTask = cms.Task(simMuonCSCDigis, simMuonDTDigis, simMuonRPCDigis) muonDigi = cms.Sequence(muonDigiTask) from SimMuon.GEMDigitizer.muonGEMDigi_cff import * from SimMuon.GEMDigitizer.muonME0Digi_cff import * _run3_muonDigiTask = muonDigiTask.copy() _run3_muonDigiTask.add(muonGEMDigiTask) _phase2_muonDigiTask = _run3_muonDigiTask.copy() _phase2_muonDigiTask.add(muonME0DigiTask) # while GE0 is in development, just turn off ME0 tasks _phase2_ge0 = _phase2_muonDigiTask.copyAndExclude([muonME0DigiTask]) from Configuration.Eras.Modifier_run2_GEM_2017_cff import run2_GEM_2017 run2_GEM_2017.toReplaceWith( muonDigiTask, _run3_muonDigiTask ) from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM run3_GEM.toReplaceWith( muonDigiTask, _run3_muonDigiTask ) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith( muonDigiTask, _phase2_muonDigiTask ) from Configuration.Eras.Modifier_phase2_GE0_cff import phase2_GE0 phase2_GE0.toReplaceWith( muonDigiTask, _phase2_ge0 )
digiModel=cms.string('RPCSimModelTiming'), digiIRPCModelConfig=cms.PSet( signalPropagationSpeed=cms.double(0.66), timingRPCOffset=cms.double(50.0), Frate=cms.double(1.0), printOutDigitizer=cms.bool(False), cosmics=cms.bool(False), deltatimeAdjacentStrip=cms.double(3.0), linkGateWidth=cms.double(20.0), Rate=cms.double(0.0), timeResolution=cms.double(1.0), averageClusterSize=cms.double(1.5), Gate=cms.double(25.0), averageEfficiency=cms.double(0.95), Nbxing=cms.int32(9), BX_range=cms.int32(5), timeJitter=cms.double(0.1), IRPC_time_resolution=cms.double(1), # resolution of 1 ns IRPC_electronics_jitter=cms.double(0.1), # resolution of 100 ps sigmaY=cms.double(2.), # resolution of 2 cm do_Y_coordinate=cms.bool(True), digitizeElectrons=cms.bool(True), ), digiIRPCModel=cms.string('RPCSimModelTiming')) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith(simMuonRPCDigis, _simMuonRPCDigisPhaseII) from Configuration.ProcessModifiers.premix_stage2_cff import premix_stage2 premix_stage2.toModify(simMuonRPCDigis, mixLabel="mixData")
# Note: GMT requires input from calorimeter emulators, namely MipIsoData from GCT simGmtDigis.MipIsoData = 'simRctDigis' # # SimL1TMuon = cms.Sequence(SimL1TMuonCommon + simCsctfTrackDigis + simCsctfDigis + simDttfDigis + simRpcTriggerDigis + simGmtDigis) # # Stage-2 Trigger # if stage2L1Trigger.isChosen(): from L1Trigger.L1TMuonBarrel.simTwinMuxDigis_cfi import * from L1Trigger.L1TMuonBarrel.simBmtfDigis_cfi import * from L1Trigger.L1TMuonEndCap.simEmtfDigis_cfi import * from L1Trigger.L1TMuonOverlap.simOmtfDigis_cfi import * from L1Trigger.L1TMuon.simGmtCaloSumDigis_cfi import * from L1Trigger.L1TMuon.simGmtStage2Digis_cfi import * # # SimL1TMuon = cms.Sequence(SimL1TMuonCommon + simTwinMuxDigis + simBmtfDigis + simEmtfDigis + simOmtfDigis + simGmtCaloSumDigis + simGmtStage2Digis) from L1Trigger.ME0Trigger.me0TriggerPseudoDigis_cff import * _phase2_SimL1TMuon = SimL1TMuon.copy() _phase2_SimL1TMuon += me0TriggerPseudoDigiSequence from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith(SimL1TMuon, _phase2_SimL1TMuon)
InputCollection = cms.string('g4SimHitsMuonRPCHits'), digiModel = cms.string('RPCSimModelTiming'), digiIRPCModelConfig = cms.PSet( signalPropagationSpeed = cms.double(0.66), timingRPCOffset = cms.double(50.0), Frate = cms.double(1.0), printOutDigitizer = cms.bool(False), cosmics = cms.bool(False), deltatimeAdjacentStrip = cms.double(3.0), linkGateWidth = cms.double(20.0), Rate = cms.double(0.0), timeResolution = cms.double(1.0), averageClusterSize = cms.double(1.5), Gate = cms.double(25.0), averageEfficiency = cms.double(0.95), Nbxing = cms.int32(9), BX_range = cms.int32(5), timeJitter = cms.double(0.1), IRPC_time_resolution = cms.double(1),# resolution of 1 ns IRPC_electronics_jitter = cms.double(0.1),# resolution of 100 ps sigmaY = cms.double(2.), # resolution of 2 cm do_Y_coordinate = cms.bool(True), digitizeElectrons = cms.bool(True), ), digiIRPCModel = cms.string('RPCSimModelTiming') ) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith( simMuonRPCDigis, _simMuonRPCDigisPhaseII )
DigiToRaw = cms.Sequence(siPixelRawData * SiStripDigiToRaw * ecalPacker * esDigiToRaw * hcalRawData * cscpacker * dtpacker * rpcpacker * castorRawData * rawDataCollector) ecalPacker.Label = 'simEcalDigis' ecalPacker.InstanceEB = 'ebDigis' ecalPacker.InstanceEE = 'eeDigis' ecalPacker.labelEBSRFlags = "simEcalDigis:ebSrFlags" ecalPacker.labelEESRFlags = "simEcalDigis:eeSrFlags" from Configuration.Eras.Modifier_phase2_common_cff import phase2_common phase2_common.toReplaceWith(DigiToRaw, DigiToRaw.copyAndExclude([castorRawData])) #until we have hcal raw data for phase 2.... from Configuration.Eras.Modifier_phase2_hcal_cff import phase2_hcal phase2_hcal.toReplaceWith(DigiToRaw, DigiToRaw.copyAndExclude([hcalRawData])) # Remove siPixelRawData until we have phase1 pixel digis from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker phase2_tracker.toReplaceWith(DigiToRaw, DigiToRaw.copyAndExclude([siPixelRawData ])) # FIXME from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith(DigiToRaw, DigiToRaw.copyAndExclude([rpcpacker])) from Configuration.Eras.Modifier_fastSim_cff import fastSim if fastSim.isChosen(): for _entry in [siPixelRawData, SiStripDigiToRaw, castorRawData]: DigiToRaw.remove(_entry)
+ me0SimValid + validSimHit + muondtdigianalyzer + cscDigiValidation + validationMuonRPCDigis + recoMuonValidation + rpcRecHitValidation_step + dtLocalRecoValidation_no2D + muonIdValDQMSeq ) globalValidationMuons = cms.Sequence() _phase_1_globalValidation = globalValidation.copy() _phase_1_globalValidation += siPixelPhase1OfflineDQM_sourceV from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel phase1Pixel.toReplaceWith( globalValidation, _phase_1_globalValidation ) _run3_globalValidation = globalValidation.copy() _run3_globalValidation += gemSimValid _phase2_globalValidation = _run3_globalValidation.copy() _phase2_globalValidation += me0SimValid from Configuration.Eras.Modifier_run2_GEM_2017_MCTest_cff import run2_GEM_2017_MCTest run2_GEM_2017_MCTest.toReplaceWith( globalValidation, _run3_globalValidation ) from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM run3_GEM.toReplaceWith( globalValidation, _run3_globalValidation ) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith( globalValidation, _phase2_globalValidation )
dtlocalreco_with_2DSegments = cms.Sequence( dt1DRecHits * dt2DSegments * dt4DSegments + dt1DCosmicRecHits * dt2DCosmicSegments * dt4DCosmicSegments) # DT sequence with T0seg correction # CSC sequence csclocalreco = cms.Sequence(csc2DRecHits * cscSegments) # DT, CSC and RPC together muonlocalreco_with_2DSegments = cms.Sequence(dtlocalreco_with_2DSegments + csclocalreco + rpcRecHits) # DT, CSC and RPC together (correct sequence for the standard path) muonlocalreco = cms.Sequence(dtlocalreco + csclocalreco + rpcRecHits) from RecoLocalMuon.GEMRecHit.gemLocalReco_cff import * from RecoLocalMuon.GEMRecHit.me0LocalReco_cff import * _run2_GEM_2017_muonlocalreco = muonlocalreco.copy() _run2_GEM_2017_muonlocalreco += gemLocalReco _run3_muonlocalreco = muonlocalreco.copy() _run3_muonlocalreco += gemLocalReco _phase2_muonlocalreco = _run3_muonlocalreco.copy() _phase2_muonlocalreco += me0LocalReco from Configuration.Eras.Modifier_run2_GEM_2017_MCTest_cff import run2_GEM_2017_MCTest run2_GEM_2017_MCTest.toReplaceWith(muonlocalreco, _run2_GEM_2017_muonlocalreco) from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM run3_GEM.toReplaceWith(muonlocalreco, _run3_muonlocalreco) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith(muonlocalreco, _phase2_muonlocalreco)
ecalPacker.labelEBSRFlags = "simEcalDigis:ebSrFlags" ecalPacker.labelEESRFlags = "simEcalDigis:eeSrFlags" premix_stage1.toModify(hcalRawDatauHTR, premix = True) from Configuration.Eras.Modifier_run3_common_cff import run3_common run3_common.toReplaceWith(DigiToRaw, DigiToRaw.copyAndExclude([castorRawData])) #if we don't have hcal raw data from Configuration.Eras.Modifier_hcalSkipPacker_cff import hcalSkipPacker hcalSkipPacker.toReplaceWith(DigiToRaw, DigiToRaw.copyAndExclude([hcalRawData])) # Remove siPixelRawData until we have phase1 pixel digis from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker phase2_tracker.toReplaceWith(DigiToRaw, DigiToRaw.copyAndExclude([siPixelRawData])) # FIXME # GEM settings _gem_DigiToRaw = DigiToRaw.copy() _gem_DigiToRaw.insert(-2,gemPacker) from Configuration.Eras.Modifier_run2_GEM_2017_cff import run2_GEM_2017 run2_GEM_2017.toReplaceWith(DigiToRaw, _gem_DigiToRaw) from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM run3_GEM.toReplaceWith(DigiToRaw, _gem_DigiToRaw) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith(DigiToRaw, DigiToRaw.copyAndExclude([rpcpacker])) from Configuration.Eras.Modifier_fastSim_cff import fastSim fastSim.toReplaceWith(DigiToRaw, DigiToRaw.copyAndExclude([siPixelRawData,SiStripDigiToRaw,castorRawData]))
) # The full offline muon validation sequence recoMuonValidation = cms.Sequence( muonValidation_seq + muonValidationTEV_seq + muonValidationRefit_seq + muonValidationDisplaced_seq ) # no displaces in fastsim from Configuration.Eras.Modifier_fastSim_cff import fastSim if fastSim.isChosen(): recoMuonValidation = cms.Sequence(muonValidation_seq + muonValidationTEV_seq + muonValidationRefit_seq) # sequence for cosmic muons recoCosmicMuonValidation = cms.Sequence( muonValidationCosmic_seq ) gemMuonValidation = cms.Sequence(extractGemMuonsTracks_seq + tpToGEMMuonMuonAssociation + gemMuonTrackVMuonAssoc) me0MuonValidation = cms.Sequence(extractMe0MuonsTracks_seq + tpToME0MuonMuonAssociation + me0MuonTrackVMuonAssoc) _run3_muonValidation = muonValidation_seq.copy() _run3_muonValidation += gemMuonValidation _phase2_muonValidation = _run3_muonValidation.copy() _phase2_muonValidation += me0MuonValidation from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM run3_GEM.toReplaceWith( muonValidation_seq, _run3_muonValidation ) from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith( muonValidation_seq, _phase2_muonValidation )
muonSeedsAnalyzer* muonRecoAnalyzer* glbMuonSegmentAnalyzer* staMuonSegmentAnalyzer* muonKinVsEtaAnalyzer* diMuonHistos* LooseMuonEfficiencyAnalyzer* MediumMuonEfficiencyAnalyzer* TightMuonEfficiencyAnalyzer* muonPFsequence* muonRecoOneHLT) from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith(muonAnalyzer, muonAnalyzer.copyAndExclude([ # FIXME muonEnergyDepositAnalyzer ])) muonAnalyzer_miniAOD = cms.Sequence(muonRecoAnalyzer_miniAOD* muonKinVsEtaAnalyzer_miniAOD* diMuonHistos_miniAOD* LooseMuonEfficiencyAnalyzer_miniAOD* MediumMuonEfficiencyAnalyzer_miniAOD* TightMuonEfficiencyAnalyzer_miniAOD* triggerMatchMonitor_miniAOD) muonAnalyzer_noHLT = cms.Sequence(muonEnergyDepositAnalyzer* muonSeedsAnalyzer* muonRecoAnalyzer* glbMuonSegmentAnalyzer* staMuonSegmentAnalyzer*