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

Replace fastSim.isChosen() with toModify/toReplaceWith/makeProcessModifier #21389

Merged
merged 3 commits into from Dec 1, 2017
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
24 changes: 10 additions & 14 deletions Configuration/EventContent/python/EventContent_cff.py
Expand Up @@ -107,11 +107,10 @@
from FastSimulation.Configuration.EventContent_cff import FASTPUEventContent
import FastSimulation.Configuration.EventContent_cff as fastSimEC
from Configuration.Eras.Modifier_fastSim_cff import fastSim
if fastSim.isChosen():
RecoLocalTrackerRECO.outputCommands = fastSimEC.RecoLocalTracker.outputCommands
RecoLocalTrackerFEVT.outputCommands = fastSimEC.RecoLocalTracker.outputCommands
SimG4CoreRAW = fastSimEC.SimRAW
SimG4CoreRECO = fastSimEC.SimRECO
fastSim.toModify(RecoLocalTrackerRECO, outputCommands = fastSimEC.RecoLocalTracker.outputCommands)
fastSim.toModify(RecoLocalTrackerFEVT, outputCommands = fastSimEC.RecoLocalTracker.outputCommands)
fastSim.toReplaceWith(SimG4CoreRAW, fastSimEC.SimRAW)
fastSim.toReplaceWith(SimG4CoreRECO, fastSimEC.SimRECO)

#
#
Expand Down Expand Up @@ -526,8 +525,7 @@
PREMIXEventContent.outputCommands.append('keep StripDigiSimLinkedmDetSetVector_simMuonCSCDigis_*_*')
PREMIXEventContent.outputCommands.append('keep RPCDigiSimLinkedmDetSetVector_*_*_*')
PREMIXEventContent.outputCommands.append('keep DTLayerIdDTDigiSimLinkMuonDigiCollection_*_*_*')
if fastSim.isChosen():
PREMIXEventContent.outputCommands.extend(fastSimEC.extraPremixContent)
fastSim.toModify(PREMIXEventContent, outputCommands = PREMIXEventContent.outputCommands+fastSimEC.extraPremixContent)

from Configuration.Eras.Modifier_hcalSkipPacker_cff import hcalSkipPacker
hcalSkipPacker.toModify(PREMIXEventContent.outputCommands,
Expand All @@ -544,8 +542,7 @@
PREMIXRAWEventContent.outputCommands.append('keep *_*_MuonCSCWireDigiSimLinks_*')
PREMIXRAWEventContent.outputCommands.append('keep *_*_RPCDigiSimLink_*')
PREMIXRAWEventContent.outputCommands.append('keep DTLayerIdDTDigiSimLinkMuonDigiCollection_*_*_*')
if fastSim.isChosen():
PREMIXEventContent.outputCommands.extend(fastSimEC.extraPremixContent)
fastSim.toModify(PREMIXEventContent, outputCommands = PREMIXEventContent.outputCommands+fastSimEC.extraPremixContent)

REPACKRAWSIMEventContent.outputCommands.extend(REPACKRAWEventContent.outputCommands)
REPACKRAWSIMEventContent.outputCommands.extend(SimG4CoreRAW.outputCommands)
Expand Down Expand Up @@ -841,11 +838,10 @@ def SwapKeepAndDrop(l):

# in fastsim, normal digis are edaliases of simdigis
# drop the simdigis to avoid complaints from the outputmodule related to duplicated branches
if fastSim.isChosen():
for _entry in [FEVTDEBUGHLTEventContent,FEVTDEBUGEventContent,RECOSIMEventContent,AODSIMEventContent,RAWAODSIMEventContent]:
fastSimEC.dropSimDigis(_entry.outputCommands)
for _entry in [MINIAODEventContent, MINIAODSIMEventContent]:
fastSimEC.dropPatTrigger(_entry.outputCommands)
for _entry in [FEVTDEBUGHLTEventContent,FEVTDEBUGEventContent,RECOSIMEventContent,AODSIMEventContent,RAWAODSIMEventContent]:
fastSim.toModify(_entry, outputCommands = _entry.outputCommands + fastSimEC.dropSimDigis)
for _entry in [MINIAODEventContent, MINIAODSIMEventContent]:
fastSim.toModify(_entry, outputCommands = _entry.outputCommands + fastSimEC.dropPatTrigger)


from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
Expand Down
6 changes: 3 additions & 3 deletions Configuration/StandardSequences/python/DataMixerPreMix_cff.py
Expand Up @@ -64,9 +64,9 @@
pdatamix = cms.Sequence(mixData+postDMDigi+addPileupInfo)

from Configuration.Eras.Modifier_fastSim_cff import fastSim
if fastSim.isChosen():
def _fastSimDigis(process):
# pretend these digis have been through digi2raw and raw2digi, by using the approprate aliases
# use an alias to make the mixed track collection available under the usual label
from FastSimulation.Configuration.DigiAliases_cff import loadDigiAliases
loadDigiAliases(premix = True)
from FastSimulation.Configuration.DigiAliases_cff import generalTracks,ecalPreshowerDigis,ecalDigis,hcalDigis,muonDTDigis,muonCSCDigis,muonRPCDigis
loadDigiAliases(process, premix=True)
modifyDataMixerPreMix_fastSimDigis = fastSim.makeProcessModifier(_fastSimDigis)
Expand Up @@ -40,6 +40,4 @@
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)
fastSim.toReplaceWith(DigiToRaw, DigiToRaw.copyAndExclude([siPixelRawData,SiStripDigiToRaw,castorRawData]))
4 changes: 1 addition & 3 deletions Configuration/StandardSequences/python/DigiToRaw_cff.py
Expand Up @@ -39,6 +39,4 @@
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)
fastSim.toReplaceWith(DigiToRaw, DigiToRaw.copyAndExclude([siPixelRawData,SiStripDigiToRaw,castorRawData]))
7 changes: 3 additions & 4 deletions Configuration/StandardSequences/python/Digi_PreMix_cff.py
Expand Up @@ -24,10 +24,9 @@
hcalDigiSequence.remove(simHcalTriggerPrimitiveDigis)
hcalDigiSequence.remove(simHcalTTPDigis)

from Configuration.Eras.Modifier_fastSim_cff import fastSim
if fastSim.isChosen():
# no need for the aliases for usual mixing
del generalTracks,ecalPreshowerDigis,ecalDigis,hcalDigis,muonDTDigis,muonCSCDigis,muonRPCDigis
# no need for the aliases for usual mixing
import FastSimulation.Configuration.DigiAliases_cff as _fastSim_DigiAliases_cff
_fastSim_DigiAliases_cff._enableDigiAliases = False
#else:
#no need for this hack running at Nebraska
##hack - our code is too fast at large scale - lets slow it down and idle for 15 seconds
Expand Down
8 changes: 5 additions & 3 deletions Configuration/StandardSequences/python/Digi_cff.py
Expand Up @@ -41,12 +41,14 @@
pdigi_hi_nogen=cms.Sequence(pdigi_nogen+heavyIon)

from Configuration.Eras.Modifier_fastSim_cff import fastSim
if fastSim.isChosen():
def _fastSimDigis(process):
import FastSimulation.Configuration.DigiAliases_cff as DigiAliases

# pretend these digis have been through digi2raw and raw2digi, by using the approprate aliases
# use an alias to make the mixed track collection available under the usual label
from FastSimulation.Configuration.DigiAliases_cff import loadDigiAliases
loadDigiAliases(premix = False)
from FastSimulation.Configuration.DigiAliases_cff import generalTracks,ecalPreshowerDigis,ecalDigis,hcalDigis,muonDTDigis,muonCSCDigis,muonRPCDigis
loadDigiAliases(process)
modifyDigi_fastSimDigis = fastSim.makeProcessModifier(_fastSimDigis)

#phase 2 common mods
def _modifyEnableHcalHardcode( theProcess ):
Expand Down
Expand Up @@ -9,10 +9,9 @@

# make trigger digis available under with the raw2digi names
from Configuration.Eras.Modifier_fastSim_cff import fastSim
if fastSim.isChosen():
def _fastSimTriggerDigis(process):
# pretend these digis have been through digi2raw and to the HLT internal raw2digi, by using the approprate aliases
# consider moving these mods to the HLT configuration
from FastSimulation.Configuration.DigiAliases_cff import loadTriggerDigiAliases
loadTriggerDigiAliases()
from FastSimulation.Configuration.DigiAliases_cff import gtDigis,gmtDigis,gctDigis,caloStage1LegacyFormatDigis

loadTriggerDigiAliases(process)
modifySimL1EmulatorPreMix_fastSimTriggerDigis = fastSim.makeProcessModifier(_fastSimTriggerDigis)
7 changes: 3 additions & 4 deletions Configuration/StandardSequences/python/SimL1Emulator_cff.py
Expand Up @@ -4,10 +4,9 @@

# make trigger digis available under with the raw2digi names
from Configuration.Eras.Modifier_fastSim_cff import fastSim
if fastSim.isChosen():
def _fastSimTriggerDigis(process):
# pretend these digis have been through digi2raw and to the HLT internal raw2digi, by using the approprate aliases
# consider moving these mods to the HLT configuration
from FastSimulation.Configuration.DigiAliases_cff import loadTriggerDigiAliases
loadTriggerDigiAliases()
from FastSimulation.Configuration.DigiAliases_cff import gtDigis,gmtDigis,gctDigis,caloStage1LegacyFormatDigis

loadTriggerDigiAliases(process)
modifySimL1Emulator_fastSimTriggerDigis = fastSim.makeProcessModifier(_fastSimTriggerDigis)
72 changes: 39 additions & 33 deletions FastSimulation/Configuration/python/DigiAliases_cff.py
@@ -1,27 +1,28 @@
import FWCore.ParameterSet.Config as cms

# define some global variables
# to be filled in by the load* functions below
generalTracks = None
ecalPreshowerDigis = None
ecalDigis = None
hcalDigis = None
muonDTDigis = None
muonCSCDigis = None
muonRPCDigis = None
caloStage1LegacyFormatDigis = None
gtDigis = None
gmtDigis = None
# This is an ugly hack (but better what was before) to record if the
# loadDigiAliases() was called with premixing or not. Unfortunately
# which alias to use depends on that. If we had a premixing Modifier,
# this hack would not be needed.
_loadDigiAliasesWasCalledPremix = None

loadDigiAliasesWasCalled = False
# This is another ugly hack to disable the loading of digi aliases
# "for usual mixing" (see
# Configuration.StandardSequences.Digi_PreMix_cff for the place which
# sets this variable to false). ProcessModifier can not be used there
# as there would be one from Digi_cff and another from Digi_Premix_cff
# and their running order is not specified. The need of this hack
# could also be fulfilled with a premixing Modifier, but we would
# actually need two of them: separate ones for premixing steps 1 and 2
# (this hack modifies step1 and the upper one modifies step2).
_enableDigiAliases = True

def loadDigiAliases(premix=False):
nopremix = not premix

global generalTracks,ecalPreshowerDigis,ecalDigis,hcalDigis,muonDTDigis,muonCSCDigis,muonRPCDigis,loadDigiAliasesWasCalled
def loadGeneralTracksAlias(process):
if _loadDigiAliasesWasCalledPremix is None:
raise Exception("This function may be called only after loadDigiAliases() has been called")

loadDigiAliasesWasCalled=True
generalTracks = cms.EDAlias(
nopremix = not _loadDigiAliasesWasCalledPremix
process.generalTracks = cms.EDAlias(
**{"mix" if nopremix else "mixData" :
cms.VPSet(
cms.PSet(
Expand All @@ -42,8 +43,16 @@ def loadDigiAliases(premix=False):
)
}
)

def loadDigiAliases(process, premix=False):
nopremix = not premix
global _loadDigiAliasesWasCalledPremix
_loadDigiAliasesWasCalledPremix = premix

if not _enableDigiAliases:
return

ecalPreshowerDigis = cms.EDAlias(
process.ecalPreshowerDigis = cms.EDAlias(
**{"simEcalPreshowerDigis" if nopremix else "DMEcalPreshowerDigis" :
cms.VPSet(
cms.PSet(
Expand All @@ -53,7 +62,7 @@ def loadDigiAliases(premix=False):
}
)

ecalDigis = cms.EDAlias(
process.ecalDigis = cms.EDAlias(
**{"simEcalDigis" if nopremix else "DMEcalDigis" :
cms.VPSet(
cms.PSet(
Expand Down Expand Up @@ -83,7 +92,7 @@ def loadDigiAliases(premix=False):
}
)

hcalDigis = cms.EDAlias(
process.hcalDigis = cms.EDAlias(
**{"simHcalDigis" if nopremix else "DMHcalDigis" :
cms.VPSet(
cms.PSet(type = cms.string("HBHEDataFramesSorted")),
Expand All @@ -103,7 +112,7 @@ def loadDigiAliases(premix=False):
}
)

muonDTDigis = cms.EDAlias(
process.muonDTDigis = cms.EDAlias(
**{"simMuonDTDigis" if nopremix else "mixData" :
cms.VPSet(
cms.PSet(
Expand All @@ -116,7 +125,7 @@ def loadDigiAliases(premix=False):
}
)

muonRPCDigis = cms.EDAlias(
process.muonRPCDigis = cms.EDAlias(
**{"simMuonRPCDigis" if nopremix else "mixData" :
cms.VPSet(
cms.PSet(
Expand All @@ -129,7 +138,7 @@ def loadDigiAliases(premix=False):
}
)

muonCSCDigis = cms.EDAlias(
process.muonCSCDigis = cms.EDAlias(
**{"simMuonCSCDigis" if nopremix else "mixData" :
cms.VPSet(
cms.PSet(
Expand All @@ -147,11 +156,8 @@ def loadDigiAliases(premix=False):
}
)

def loadTriggerDigiAliases():

global gctDigis,gtDigis,gmtDigis,caloStage1LegacyFormatDigis

caloStage1LegacyFormatDigis = cms.EDAlias(
def loadTriggerDigiAliases(process):
process.caloStage1LegacyFormatDigis = cms.EDAlias(
**{ "simCaloStage1LegacyFormatDigis" :
cms.VPSet(
cms.PSet(type = cms.string("L1GctEmCands")),
Expand All @@ -166,7 +172,7 @@ def loadTriggerDigiAliases():
cms.PSet(type = cms.string("L1GctInternJetDatas")),
cms.PSet(type = cms.string("L1GctJetCands")))})

gctDigis = cms.EDAlias(
process.gctDigis = cms.EDAlias(
**{ "simGctDigis" :
cms.VPSet(
cms.PSet(type = cms.string("L1GctEmCands")),
Expand All @@ -181,7 +187,7 @@ def loadTriggerDigiAliases():
cms.PSet(type = cms.string("L1GctInternJetDatas")),
cms.PSet(type = cms.string("L1GctJetCands")))})

gtDigis = cms.EDAlias(
process.gtDigis = cms.EDAlias(
**{ "simGtDigis" :
cms.VPSet(
cms.PSet(type = cms.string("L1GlobalTriggerEvmReadoutRecord")),
Expand All @@ -194,7 +200,7 @@ def loadTriggerDigiAliases():
})


gmtDigis = cms.EDAlias (
process.gmtDigis = cms.EDAlias (
simGmtDigis =
cms.VPSet(
cms.PSet(type = cms.string("L1MuGMTReadoutCollection")),
Expand Down
15 changes: 8 additions & 7 deletions FastSimulation/Configuration/python/EventContent_cff.py
@@ -1,13 +1,14 @@
import FWCore.ParameterSet.Config as cms

def dropPatTrigger(outputCommands):
print 'dropping patTrigger'
outputCommands.append("drop *_*patTrigger*_*_*")
outputCommands.append("drop *_*PatTrigger*_*_*")
dropPatTrigger = [
"drop *_*patTrigger*_*_*",
"drop *_*PatTrigger*_*_*"
]

def dropSimDigis(outputCommands):
outputCommands.append("drop *_sim*Digis*_*_*")
outputCommands.append("drop *_gmtDigis*_*_*")
dropSimDigis = [
"drop *_sim*Digis*_*_*",
"drop *_gmtDigis*_*_*"
]

extraPremixContent = ['keep *_mix_generalTracks_*']

Expand Down
3 changes: 1 addition & 2 deletions HLTriggerOffline/Btag/python/HltBtagValidation_cff.py
Expand Up @@ -78,8 +78,7 @@

# fastsim customs
from Configuration.Eras.Modifier_fastSim_cff import fastSim
if fastSim.isChosen():
HltVertexValidationVertices.SimVertexCollection = cms.InputTag("famosSimHits")
fastSim.toModify(HltVertexValidationVertices, SimVertexCollection = "famosSimHits")
# are these customs actually needed?
#HltVertexValidationVertices.HLTPathNames =cms.vstring(
#'HLT_PFMET120_NoiseCleaned_BTagCSV07_v',
Expand Down
15 changes: 8 additions & 7 deletions HLTriggerOffline/Common/python/HLTValidationHarvest_cff.py
Expand Up @@ -44,13 +44,14 @@

# fastsim customs
from Configuration.Eras.Modifier_fastSim_cff import fastSim
if fastSim.isChosen():
hltpostvalidation.remove(postProcessorHLTtrackingSequence)
hltpostvalidation.remove(postProcessorHLTvertexing)
hltpostvalidation.remove(postProcessorHLTgsfTrackingSequence)
hltpostvalidation.remove(postProcessorHLTmuonTrackingSequence)
# remove this: +hltvalidationqt ?
# remove this: +hltExoticaPostProcessors ?
fastSim.toReplaceWith(hltpostvalidation, hltpostvalidation.copyAndExclude([
postProcessorHLTtrackingSequence,
postProcessorHLTvertexing,
postProcessorHLTgsfTrackingSequence,
postProcessorHLTmuonTrackingSequence
# remove this: hltvalidationqt ?
# remove this: hltExoticaPostProcessors ?
]))

hltpostvalidation_preprod = cms.Sequence(
postProcessorHLTtrackingSequence
Expand Down
11 changes: 6 additions & 5 deletions HLTriggerOffline/Common/python/HLTValidation_cff.py
Expand Up @@ -75,11 +75,12 @@
# remove the dependent modules for now
# probably it would be rather easy to add or fake these collections
from Configuration.Eras.Modifier_fastSim_cff import fastSim
if fastSim.isChosen():
hltassociation.remove(hltMultiTrackValidation)
hltassociation.remove(hltMultiPVValidation)
hltassociation.remove(hltMultiTrackValidationGsfTracks)
hltassociation.remove(hltMultiTrackValidationMuonTracks)
fastSim.toReplaceWith(hltassociation, hltassociation.copyAndExclude([
hltMultiTrackValidation,
hltMultiPVValidation,
hltMultiTrackValidationGsfTracks,
hltMultiTrackValidationMuonTracks,
]))

from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
pp_on_XeXe_2017.toReplaceWith(hltvalidation, hltvalidation.copyAndExclude([HiggsValidationSequence]))
Expand Down
Expand Up @@ -59,13 +59,8 @@
)
)
def _fastSimGeneralTracks(process):
from FastSimulation.Configuration.DigiAliases_cff import loadDigiAliasesWasCalled
if loadDigiAliasesWasCalled:
from FastSimulation.Configuration.DigiAliases_cff import generalTracks
process.generalTracks = generalTracks
return
from Configuration.StandardSequences.Digi_cff import generalTracks
process.generalTracks = generalTracks
from FastSimulation.Configuration.DigiAliases_cff import loadGeneralTracksAlias
loadGeneralTracksAlias(process)
modifyMergeTrackCollections_fastSimGeneralTracks = fastSim.makeProcessModifier( _fastSimGeneralTracks )

import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
Expand Down
3 changes: 1 addition & 2 deletions SimCalorimetry/Configuration/python/SimCalorimetry_cff.py
Expand Up @@ -7,5 +7,4 @@

# fastsim has no castor model
from Configuration.Eras.Modifier_fastSim_cff import fastSim
if fastSim.isChosen():
calDigi.remove(castorDigiSequence)
fastSim.toReplaceWith(calDigi, calDigi.copyAndExclude([castorDigiSequence]))