Skip to content

Commit 09fba89

Browse files
committed
streamlining of PAT configuration
1 parent deedc43 commit 09fba89

File tree

6 files changed

+52
-65
lines changed

6 files changed

+52
-65
lines changed

Configuration/Applications/python/ConfigBuilder.py

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1098,7 +1098,7 @@ def define_Configs(self):
10981098
self.VALIDATIONDefaultSeq=''
10991099
self.ENDJOBDefaultSeq='endOfProcess'
11001100
self.REPACKDefaultSeq='DigiToRawRepack'
1101-
self.PATDefaultSeq='miniAOD'
1101+
self.PATDefaultSeq='patTask'
11021102
self.PATGENDefaultSeq='miniGEN'
11031103
#TODO: Check based of file input
11041104
self.NANODefaultSeq='nanoSequence'
@@ -1118,7 +1118,6 @@ def define_Configs(self):
11181118
if self._options.isMC==True:
11191119
self.RAW2DIGIDefaultCFF="Configuration/StandardSequences/RawToDigi_cff"
11201120
self.RECODefaultCFF="Configuration/StandardSequences/Reconstruction_cff"
1121-
self.PATDefaultCFF="Configuration/StandardSequences/PATMC_cff"
11221121
self.PATGENDefaultCFF="Configuration/StandardSequences/PATGEN_cff"
11231122
self.DQMOFFLINEDefaultCFF="DQMOffline/Configuration/DQMOfflineMC_cff"
11241123
self.ALCADefaultCFF="Configuration/StandardSequences/AlCaRecoStreamsMC_cff"
@@ -1745,12 +1744,6 @@ def prepare_RAW2DIGI(self, stepSpec = "RawToDigi"):
17451744
self.scheduleSequence(_raw2digiSeq,'raw2digi_step')
17461745
return
17471746

1748-
def prepare_PATFILTER(self, stepSpec = None):
1749-
self.loadAndRemember("PhysicsTools/PatAlgos/slimming/metFilterPaths_cff")
1750-
from PhysicsTools.PatAlgos.slimming.metFilterPaths_cff import allMetFilterPaths
1751-
for filt in allMetFilterPaths:
1752-
self.schedule.append(getattr(self.process,'Flag_'+filt))
1753-
17541747
def prepare_L1HwVal(self, stepSpec = 'L1HwVal'):
17551748
''' Enrich the schedule with L1 HW validation '''
17561749
self.loadDefaultOrSpecifiedCFF(stepSpec,self.L1HwValDefaultCFF)
@@ -1822,18 +1815,20 @@ def prepare_RECOBEFMIX(self, stepSpec = "reconstruction"):
18221815
self.scheduleSequence(_recobefmixSeq,'reconstruction_befmix_step')
18231816
return
18241817

1825-
def prepare_PAT(self, stepSpec = "miniAOD"):
1818+
def prepare_PAT(self, stepSpec = "patTask"):
18261819
''' Enrich the schedule with PAT '''
1827-
self.prepare_PATFILTER(self)
1828-
self.loadDefaultOrSpecifiedCFF(stepSpec,self.PATDefaultCFF)
1829-
self.labelsToAssociate.append('patTask')
1820+
_,pat_sequence,pat_cff = self.loadDefaultOrSpecifiedCFF(stepSpec,self.PATDefaultCFF)
1821+
## handle the noise filters as Flag_* path that were loaded
1822+
for existing_path,path_ in self.process.paths_().items():
1823+
if existing_path.startswith('Flag_'):
1824+
print(f'scheduling {existing_path} as part of PAT configuration')
1825+
self.schedule.append( path_ )
1826+
1827+
self.labelsToAssociate.append(pat_sequence)
18301828
if self._options.isData:
1831-
self._options.customisation_file_unsch.insert(0,"PhysicsTools/PatAlgos/slimming/miniAOD_tools.miniAOD_customizeAllData")
1829+
self._options.customisation_file_unsch.insert(0,f"{pat_cff}.miniAOD_customizeAllData")
18321830
else:
1833-
if self._options.fast:
1834-
self._options.customisation_file_unsch.insert(0,"PhysicsTools/PatAlgos/slimming/miniAOD_tools.miniAOD_customizeAllMCFastSim")
1835-
else:
1836-
self._options.customisation_file_unsch.insert(0,"PhysicsTools/PatAlgos/slimming/miniAOD_tools.miniAOD_customizeAllMC")
1831+
self._options.customisation_file_unsch.insert(0,f"{pat_cff}.miniAOD_customizeAllMC")
18371832

18381833
if self._options.hltProcess:
18391834
self._customise_coms.append( f'process.patTrigger.processName = "{self._options.hltProcess}"')

Configuration/StandardSequences/python/PATMC_cff.py

Lines changed: 0 additions & 15 deletions
This file was deleted.

Configuration/StandardSequences/python/PAT_cff.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,8 @@
1212
bunchSpacingProducer
1313
)
1414

15-
miniAOD=cms.Sequence()
15+
from PhysicsTools.PatAlgos.slimming.miniAOD_tools import miniAOD_customizeAllData
16+
from PhysicsTools.PatAlgos.slimming.miniAOD_tools import miniAOD_customizeAllMC
17+
18+
## include cms.Path defined from event filters
19+
from PhysicsTools.PatAlgos.slimming.metFilterPaths_cff import *

PhysicsTools/PatAlgos/python/slimming/isolatedTracks_cfi.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,5 @@
7676
from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
7777
pp_on_AA.toModify(isolatedTracks, useHighPurity = True)
7878

79-
def miniAOD_customizeIsolatedTracksFastSim(process):
80-
"""Switch off dE/dx hit info on fast sim, as it's not available"""
81-
process.isolatedTracks.saveDeDxHitInfo = False
82-
return process
79+
from Configuration.Eras.Modifier_fastSim_cff import fastSim
80+
fastSim.toModify(isolatedTracks, saveDeDxHitInfo = False)

PhysicsTools/PatAlgos/python/slimming/metFilterPaths_cff.py

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -44,19 +44,35 @@
4444
Flag_trkPOG_logErrorTooManyClusters = cms.Path(~logErrorTooManyClusters)
4545

4646
#add your new path here!!
47-
allMetFilterPaths=['HBHENoiseFilter','HBHENoiseIsoFilter','CSCTightHaloFilter','CSCTightHaloTrkMuUnvetoFilter','CSCTightHalo2015Filter','globalTightHalo2016Filter','globalSuperTightHalo2016Filter','HcalStripHaloFilter','hcalLaserEventFilter','EcalDeadCellTriggerPrimitiveFilter','EcalDeadCellBoundaryEnergyFilter','ecalBadCalibFilter','goodVertices','eeBadScFilter',
48-
'ecalLaserCorrFilter','trkPOGFilters','chargedHadronTrackResolutionFilter','muonBadTrackFilter',
49-
'BadChargedCandidateFilter','BadPFMuonFilter', 'BadPFMuonDzFilter', 'hfNoisyHitsFilter', 'BadChargedCandidateSummer16Filter','BadPFMuonSummer16Filter',
50-
'trkPOG_manystripclus53X','trkPOG_toomanystripclus53X','trkPOG_logErrorTooManyClusters']
47+
#allMetFilterPaths=['HBHENoiseFilter','HBHENoiseIsoFilter','CSCTightHaloFilter','CSCTightHaloTrkMuUnvetoFilter','CSCTightHalo2015Filter','globalTightHalo2016Filter','globalSuperTightHalo2016Filter','HcalStripHaloFilter','hcalLaserEventFilter','EcalDeadCellTriggerPrimitiveFilter','EcalDeadCellBoundaryEnergyFilter','ecalBadCalibFilter','goodVertices','eeBadScFilter',
48+
# 'ecalLaserCorrFilter','trkPOGFilters','chargedHadronTrackResolutionFilter','muonBadTrackFilter',
49+
# 'BadChargedCandidateFilter','BadPFMuonFilter', 'BadPFMuonDzFilter', 'hfNoisyHitsFilter', 'BadChargedCandidateSummer16Filter','BadPFMuonSummer16Filter',
50+
# 'trkPOG_manystripclus53X','trkPOG_toomanystripclus53X','trkPOG_logErrorTooManyClusters']
5151

52+
"""Replace some MET filters that don't work in FastSim with trivial bools"""
53+
_fake_bool = cms.EDFilter("HLTBool", result=cms.bool(True))
54+
from Configuration.Eras.Modifier_fastSim_cff import fastSim
55+
fastSim.toReplaceWith( CSCTightHaloFilter, _fake_bool.clone( result = True))
56+
fastSim.toReplaceWith( CSCTightHaloTrkMuUnvetoFilter, _fake_bool.clone( result = True))
57+
fastSim.toReplaceWith( CSCTightHalo2015Filter, _fake_bool.clone( result = True))
58+
fastSim.toReplaceWith( globalTightHalo2016Filter, _fake_bool.clone( result = True))
59+
fastSim.toReplaceWith( globalSuperTightHalo2016Filter, _fake_bool.clone( result = True))
60+
fastSim.toReplaceWith( HcalStripHaloFilter, _fake_bool.clone( result = True))
61+
fastSim.toReplaceWith( manystripclus53X, _fake_bool.clone( result = False))
62+
fastSim.toReplaceWith( toomanystripclus53X, _fake_bool.clone( result = False))
63+
fastSim.toReplaceWith( logErrorTooManyClusters, _fake_bool.clone( result = False))
64+
#for X in CSCTightHaloFilter, CSCTightHaloTrkMuUnvetoFilter,CSCTightHalo2015Filter,globalTightHalo2016Filter,globalSuperTightHalo2016Filter,HcalStripHaloFilter:
65+
# fastSim.toReplaceWith( X, fake_bool.clone( result = True))
66+
#for X in manystripclus53X, toomanystripclus53X, logErrorTooManyClusters:
67+
# fastSim.toReplaceWith( X, fake_bool.clone( result = False))
5268

53-
def miniAOD_customizeMETFiltersFastSim(process):
54-
"""Replace some MET filters that don't work in FastSim with trivial bools"""
55-
for X in 'CSCTightHaloFilter', 'CSCTightHaloTrkMuUnvetoFilter','CSCTightHalo2015Filter','globalTightHalo2016Filter','globalSuperTightHalo2016Filter','HcalStripHaloFilter':
56-
process.globalReplace(X, cms.EDFilter("HLTBool", result=cms.bool(True)))
57-
for X in 'manystripclus53X', 'toomanystripclus53X', 'logErrorTooManyClusters':
58-
process.globalReplace(X, cms.EDFilter("HLTBool", result=cms.bool(False)))
59-
return process
69+
#def miniAOD_customizeMETFiltersFastSim(process):
70+
# """Replace some MET filters that don't work in FastSim with trivial bools""
71+
# for X in 'CSCTightHaloFilter', 'CSCTightHaloTrkMuUnvetoFilter','CSCTightHalo2015Filter','globalTightHalo2016Filter','globalSuperTightHalo2016Filter','HcalStripHaloFilter':
72+
# process.globalReplace(X, cms.EDFilter("HLTBool", result=cms.bool(True)))
73+
# for X in 'manystripclus53X', 'toomanystripclus53X', 'logErrorTooManyClusters':
74+
# process.globalReplace(X, cms.EDFilter("HLTBool", result=cms.bool(False)))
75+
# return process
6076

6177
from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
6278
phase2_common.toReplaceWith( Flag_trkPOG_manystripclus53X, cms.Path() )

PhysicsTools/PatAlgos/python/slimming/miniAOD_tools.py

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -655,6 +655,12 @@ def miniAOD_customizeMC(process):
655655
pp_on_AA.toModify(process, removeJECsForMC)
656656
pp_on_AA.toReplaceWith(task,task.copyAndExclude([process.slimmedGenJetsFlavourInfos]))
657657

658+
from Configuration.Eras.Modifier_fastSim_cff import fastSim
659+
fastSim.toModify(process.patMuons, addTriggerMatching = False)
660+
fastSim.toModify(process.patJets, addTagInfos = cms.bool(False) )
661+
fastSim.toModify(process.slimmedJetsNoDeepFlavour, dropTagInfos = cms.string('1') )
662+
fastSim.toModify(process.updatedPatJetsSlimmedDeepFlavour, addTagInfos = cms.bool(False) )
663+
fastSim.toModify(process.updatedPatJetsTransientCorrectedSlimmedDeepFlavour, addTagInfos = cms.bool(False) )
658664

659665
def miniAOD_customizeOutput(out):
660666
from PhysicsTools.PatAlgos.slimming.MicroEventContent_cff import MiniAODOverrideBranchesSplitLevel
@@ -704,20 +710,3 @@ def miniAOD_customizeAllMC(process):
704710
miniAOD_customizeCommon(process)
705711
miniAOD_customizeMC(process)
706712
return process
707-
708-
def miniAOD_customizeAllMCFastSim(process):
709-
miniAOD_customizeCommon(process)
710-
miniAOD_customizeMC(process)
711-
from PhysicsTools.PatAlgos.slimming.metFilterPaths_cff import miniAOD_customizeMETFiltersFastSim
712-
process = miniAOD_customizeMETFiltersFastSim(process)
713-
from PhysicsTools.PatAlgos.slimming.isolatedTracks_cfi import miniAOD_customizeIsolatedTracksFastSim
714-
process = miniAOD_customizeIsolatedTracksFastSim(process)
715-
process.patMuons.addTriggerMatching = False
716-
# Disable pixelClusterTagInfos in FastSim (no siPixelCluster available)
717-
from Configuration.Eras.Modifier_fastSim_cff import fastSim
718-
fastSim.toModify(process.patJets, addTagInfos = cms.bool(False) )
719-
fastSim.toModify(process.slimmedJetsNoDeepFlavour, dropTagInfos = cms.string('1') )
720-
fastSim.toModify(process.updatedPatJetsSlimmedDeepFlavour, addTagInfos = cms.bool(False) )
721-
fastSim.toModify(process.updatedPatJetsTransientCorrectedSlimmedDeepFlavour, addTagInfos = cms.bool(False) )
722-
723-
return process

0 commit comments

Comments
 (0)