diff --git a/Configuration/PyReleaseValidation/README.md b/Configuration/PyReleaseValidation/README.md index 4098491d9779c..011398cf8499a 100644 --- a/Configuration/PyReleaseValidation/README.md +++ b/Configuration/PyReleaseValidation/README.md @@ -76,7 +76,6 @@ The offsets currently in use are: * 0.103: Phase-2 aging, 3000fb-1 * 0.201: HGCAL special TICL Pattern recognition Workflows: clue3D * 0.202: HGCAL special TICL Pattern recognition Workflows: FastJet -* 0.301: FastSim Run-3 * 0.302: FastSim Run-3 trackingOnly validation * 0.303: FastSim Run-3 MB for mixing * 0.9001: Sonic Triton diff --git a/Configuration/PyReleaseValidation/python/relval_2017.py b/Configuration/PyReleaseValidation/python/relval_2017.py index 69c39e5979668..a0454b6474732 100644 --- a/Configuration/PyReleaseValidation/python/relval_2017.py +++ b/Configuration/PyReleaseValidation/python/relval_2017.py @@ -39,7 +39,7 @@ # (Patatrack ECAL-only: TTbar - on CPU) # (Patatrack HCAL-only: TTbar - on CPU) # (TTbar 0T, TTbar PU 0T) -# (TTbar FastSim) +# (TTbar FastSim, TTbar FastSim PU, MinBiasFS for mixing) # (TTbar PU MLPF) # (TTbar PU prod-like) # (QCD 1.8TeV DeepCore) @@ -72,7 +72,7 @@ 11634.511, 11634.521, 11634.24,11834.24, - 11634.301, + 13234.0,13434.0,13240.303, 11834.13, 11834.21, 11723.17, diff --git a/Configuration/PyReleaseValidation/python/relval_steps.py b/Configuration/PyReleaseValidation/python/relval_steps.py index 843a6d6ac502b..251718acb92b3 100644 --- a/Configuration/PyReleaseValidation/python/relval_steps.py +++ b/Configuration/PyReleaseValidation/python/relval_steps.py @@ -3620,6 +3620,7 @@ def gen2021HiMix(fragment,howMuch): defaultDataSets['2018Design']='CMSSW_12_0_0_pre4-113X_upgrade2018_design_v5-v' defaultDataSets['2021']='CMSSW_12_4_9_patch1-124X_mcRun3_2022_realistic_v10_BS2022-v' defaultDataSets['2021Design']='CMSSW_12_4_9_patch1-124X_mcRun3_2022_design_v7_BS2022-v' +defaultDataSets['2021FS']='CMSSW_12_4_0_pre4-124X_mcRun3_2021_realistic_v1_Run3FastSim_FastSim-v' defaultDataSets['2023']='CMSSW_12_0_0_pre4-120X_mcRun3_2023_realistic_v2-v' defaultDataSets['2024']='CMSSW_12_0_0_pre4-120X_mcRun3_2024_realistic_v2-v' defaultDataSets['2026D49']='CMSSW_12_0_0_pre4-113X_mcRun4_realistic_v7_2026D49noPU-v' @@ -3652,7 +3653,10 @@ def gen2021HiMix(fragment,howMuch): elif '2018' in ds: PUDataSets[ds]={'-n':10,'--pileup':'AVE_50_BX_25ns','--pileup_input':'das:/RelValMinBias_13/%s/GEN-SIM'%(name,)} elif '2021' in ds: - PUDataSets[ds]={'-n':10,'--pileup':'Run3_Flat55To75_PoissonOOTPU','--pileup_input':'das:/RelValMinBias_14TeV/%s/GEN-SIM'%(name,)} + if 'FS' not in ds: + PUDataSets[ds]={'-n':10,'--pileup':'Run3_Flat55To75_PoissonOOTPU','--pileup_input':'das:/RelValMinBias_14TeV/%s/GEN-SIM'%(name,)} + else: + PUDataSets[ds]={'-n':10,'--pileup':'Run3_Flat55To75_PoissonOOTPU','--pileup_input':'das:/RelValMinBias_14TeV/%s/GEN-SIM-RECO'%(name,)} elif 'postLS2' in ds: PUDataSets[ds]={'-n':10,'--pileup':'AVE_50_BX_25ns','--pileup_input':'das:/RelValMinBias_13/%s/GEN-SIM'%(name,)} elif '2026' in ds: @@ -3680,6 +3684,16 @@ def gen2021HiMix(fragment,howMuch): beamspot=upgradeProperties[year][k].get('BeamSpot', None) # setup baseline steps + upgradeStepDict['Gen'][k]= {'-s' : 'GEN', + '-n' : 10, + '--conditions' : gt, + '--beamspot' : 'Realistic25ns13TeVEarly2017Collision', + '--datatier' : 'GEN', + '--eventcontent': 'FEVTDEBUG', + '--geometry' : geom + } + if beamspot is not None: upgradeStepDict['Gen'][k]['--beamspot']=beamspot + upgradeStepDict['GenSim'][k]= {'-s' : 'GEN,SIM', '-n' : 10, '--conditions' : gt, @@ -3841,6 +3855,25 @@ def gen2021HiMix(fragment,howMuch): '--geometry' : geom, '--scenario' : 'pp' } + + upgradeStepDict['FastSimRun3'][k]={'-s':'SIM,RECOBEFMIX,DIGI:pdigi_valid,L1,DIGI2RAW,L1Reco,RECO,PAT,NANO,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQMFS+@miniAODDQM+@nanoAODDQM', + '--fast':'', + '--era':'Run3_FastSim', + '--beamspot':beamspot, + '--conditions':gt, + '--geometry':geom, + '--eventcontent':'FEVTDEBUGHLT,MINIAODSIM,NANOEDMAODSIM,DQM', + '--datatier':'GEN-SIM-DIGI-RECO,MINIAODSIM,NANOAODSIM,DQMIO', + } + + upgradeStepDict['HARVESTFastRun3'][k]={'-s':'HARVESTING:validationHarvesting+@miniAODValidation+@miniAODDQM+@nanoAODDQM', + '--conditions':gt, + '--mc':'', + '--fast':'', + '--geometry':geom, + '--scenario':'pp', + '--filetype':'DQM', + '--filein':'file:step2_inDQM.root'} upgradeStepDict['Nano'][k] = {'-s':'NANO,DQM:@nanoAODDQM', '--conditions':gt, @@ -3879,7 +3912,7 @@ def gen2021HiMix(fragment,howMuch): for step in upgradeStepDict.keys(): # we need to do this for each fragment - if 'Sim' in step or 'Premix' in step: + if ('Sim' in step and 'Fast' not in step) or ('Premix' in step) or ('Sim' not in step and 'Gen' in step): for frag,info in upgradeFragments.items(): howMuch=info.howMuch for key in [key for year in upgradeKeys for key in upgradeKeys[year]]: @@ -3902,10 +3935,13 @@ def gen2021HiMix(fragment,howMuch): s=frag[:-4]+'_'+key # exclude upgradeKeys without input dataset, and special WFs that disable reuse istep = step+preventReuseKeyword - if 'FastSim' not in k and 'Run3FS' not in k and s+'INPUT' not in steps and s in baseDataSetReleaseBetter and defaultDataSets[key] != '' and \ + if 'FastSim' not in k and s+'INPUT' not in steps and s in baseDataSetReleaseBetter and defaultDataSets[key] != '' and \ (istep not in upgradeStepDict or key not in upgradeStepDict[istep] or upgradeStepDict[istep][key] is not None): - steps[k+'INPUT']={'INPUT':InputInfo(dataSet='/RelVal'+info.dataset+'/%s/GEN-SIM'%(baseDataSetReleaseBetter[s],),location='STD')} - else: + if 'FS' not in key: #For FullSim + steps[k+'INPUT']={'INPUT':InputInfo(dataSet='/RelVal'+info.dataset+'/%s/GEN-SIM'%(baseDataSetReleaseBetter[s],),location='STD')} + #else: #For FastSim to recycle GEN (to enable when datasets are available) + # steps[k+'INPUT']={'INPUT':InputInfo(dataSet='/RelVal'+info.dataset+'/%s/GEN'%(baseDataSetReleaseBetter[s],),location='STD')} + else: for key in [key for year in upgradeKeys for key in upgradeKeys[year]]: k=step+'_'+key if step in upgradeStepDict and key in upgradeStepDict[step]: diff --git a/Configuration/PyReleaseValidation/python/relval_upgrade.py b/Configuration/PyReleaseValidation/python/relval_upgrade.py index b6f68ccb95916..af03b86dca74d 100644 --- a/Configuration/PyReleaseValidation/python/relval_upgrade.py +++ b/Configuration/PyReleaseValidation/python/relval_upgrade.py @@ -30,14 +30,16 @@ def makeStepName(key,frag,step,suffix): hasHarvest = False for step in upgradeProperties[year][key]['ScenToRun']: stepMaker = makeStepName - if 'Sim' in step: + if 'Sim' in step and 'Fast' not in step: if 'HLBeamSpot' in step: if '14TeV' in frag: step = 'GenSimHLBeamSpot14' if 'CloseByParticle' in frag or 'CE_E' in frag or 'CE_H' in frag: step = 'GenSimHLBeamSpotHGCALCloseBy' stepMaker = makeStepNameSim - + elif 'Gen' in step: + stepMaker = makeStepNameSim + if 'HARVEST' in step: hasHarvest = True for specialType,specialWF in upgradeWFs.items(): diff --git a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py index 6fe15fb7bcdb7..8766d6611d1ce 100644 --- a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py +++ b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py @@ -24,8 +24,10 @@ '2023PU', '2024', '2024PU', + '2021FS', + '2021FSPU', '2021postEE', - '2021postEEPU', + '2021postEEPU', ] upgradeKeys[2026] = [ @@ -78,7 +80,7 @@ } numWFSkip=200 # temporary measure to keep other WF numbers the same -numWFConflict = [[13200,13600],[20000,23200],[23600,28200],[28600,31400],[31800,32200],[32600,34600],[50000,51000]] +numWFConflict = [[20000,23200],[23600,28200],[28600,31400],[31800,32200],[32600,34600],[50000,51000]] numWFAll={ 2017: [], 2026: [] @@ -152,6 +154,8 @@ def condition(self, fragment, stepList, key, hasHarvest): def preventReuse(self, stepName, stepDict, k): if "Sim" in stepName: stepDict[stepName][k] = None + if "Gen" in stepName: + stepDict[stepName][k] = None upgradeWFs = OrderedDict() class UpgradeWorkflow_baseline(UpgradeWorkflow): @@ -167,6 +171,7 @@ def condition(self, fragment, stepList, key, hasHarvest): return True upgradeWFs['baseline'] = UpgradeWorkflow_baseline( steps = [ + 'Gen', 'GenSim', 'GenSimHLBeamSpot', 'GenSimHLBeamSpot14', @@ -189,6 +194,8 @@ def condition(self, fragment, stepList, key, hasHarvest): 'Nano', 'MiniAOD', 'HLT75e33', + 'FastSimRun3', + 'HARVESTFastRun3', ], PU = [ 'DigiTrigger', @@ -205,6 +212,8 @@ def condition(self, fragment, stepList, key, hasHarvest): 'MiniAOD', 'Nano', 'HLT75e33', + 'FastSimRun3', + 'HARVESTFastRun3', ], suffix = '', offset = 0.0, @@ -335,7 +344,7 @@ def setup__(self, step, stepName, stepDict, k, properties): if 'Reco' in step: stepDict[stepName][k] = merge([self.step3, stepDict[step][k]]) elif 'HARVEST' in step: stepDict[stepName][k] = merge([{'-s': 'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM'}, stepDict[step][k]]) def condition_(self, fragment, stepList, key, hasHarvest): - return '2017' in key or '2018' in key or '2021' in key or '2026' in key + return ('2017' in key or '2018' in key or '2021' in key or '2026' in key) and ('FS' not in key) upgradeWFs['pixelTrackingOnly'] = UpgradeWorkflow_pixelTrackingOnly( steps = [ 'Reco', @@ -583,9 +592,9 @@ def condition(self, fragment, stepList, key, hasHarvest): # select only a subset of the workflows selected = [ ('2018' in key and fragment == "TTbar_13"), - ('2021' in key and fragment == "TTbar_14TeV"), + ('2021' in key and fragment == "TTbar_14TeV" and 'FS' not in key), ('2018' in key and fragment == "ZMM_13"), - ('2021' in key and fragment == "ZMM_14"), + ('2021' in key and fragment == "ZMM_14" and 'FS' not in key), ('2026D88' in key and fragment == "TTbar_14TeV" and "PixelOnly" in self.suffix) ] result = any(selected) and hasHarvest @@ -1372,7 +1381,7 @@ def setupPU_(self, step, stepName, stepDict, k, properties): # override '-n' setting from PUDataSets in relval_steps.py stepDict[stepName][k] = merge([{'-n':'1'}, stepDict[step][k]]) def condition(self, fragment, stepList, key, hasHarvest): - return (fragment=="TTbar_13" or fragment=="TTbar_14TeV") and ('2017' in key or '2018' in key or '2021' in key) + return (fragment=="TTbar_13" or fragment=="TTbar_14TeV") and ('2017' in key or '2018' in key or '2021' in key) and ('FS' not in key) upgradeWFs['0T'] = UpgradeWorkflow_0T( steps = [ 'GenSim', @@ -1724,88 +1733,49 @@ def condition(self, fragment, stepList, key, hasHarvest): offset = 0.9921, ) -class UpgradeWorkflow_Run3FS(UpgradeWorkflow): - def setup_(self, step, stepName, stepDict, k, properties): - if 'GenSim' in step: - stepDict[stepName][k] = merge([{'-s':'GEN,SIM,RECOBEFMIX,DIGI:pdigi_valid,L1,DIGI2RAW,L1Reco,RECO,PAT,VALIDATION:@standardValidation,DQM:@standardDQMFS', - '--fast':'', - '--era':'Run3_FastSim', - '--eventcontent':'FEVTDEBUGHLT,MINIAODSIM,DQM', - '--datatier':'GEN-SIM-DIGI-RECO,MINIAODSIM,DQMIO', - '--relval':'27000,3000'}, stepDict[step][k]]) - if 'Digi' in step or 'RecoNano' in step or 'ALCA' in step: - stepDict[stepName][k] = None - if 'HARVESTNano' in step: - stepDict[stepName][k] = merge([{'-s':'HARVESTING:validationHarvesting', - '--fast':'', - '--era':'Run3_FastSim', - '--filein':'file:step1_inDQM.root'}, stepDict[step][k]]) - def condition(self, fragment, stepList, key, hasHarvest): - return '2021' in key -upgradeWFs['Run3FS'] = UpgradeWorkflow_Run3FS( - steps = [ - 'GenSim', - 'Digi', - 'RecoNano', - 'HARVESTNano', - 'ALCA' - ], - PU = [], - suffix = '_Run3FS', - offset = 0.301, -) - class UpgradeWorkflow_Run3FStrackingOnly(UpgradeWorkflow): def setup_(self, step, stepName, stepDict, k, properties): - if 'GenSim' in step: - stepDict[stepName][k] = merge([{'-s':'GEN,SIM,RECOBEFMIX,DIGI:pdigi_valid,L1,DIGI2RAW,L1Reco,RECO,PAT,VALIDATION:@trackingOnlyValidation', - '--fast':'', - '--era':'Run3_FastSim', - '--eventcontent':'FEVTDEBUGHLT,MINIAODSIM,DQM', - '--datatier':'GEN-SIM-DIGI-RECO,MINIAODSIM,DQMIO', - '--relval':'27000,3000'}, stepDict[step][k]]) - if 'Digi' in step or 'RecoNano' in step or 'ALCA' in step: - stepDict[stepName][k] = None - if 'HARVESTNano' in step: + if 'HARVESTFastRun3' in step: stepDict[stepName][k] = merge([{'-s':'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM', '--fast':'', '--era':'Run3_FastSim', '--filein':'file:step1_inDQM.root'}, stepDict[step][k]]) + else: + stepDict[stepName][k] = merge([stepDict[step][k]]) def condition(self, fragment, stepList, key, hasHarvest): - return '2021' in key + return '2021FS' in key upgradeWFs['Run3FStrackingOnly'] = UpgradeWorkflow_Run3FStrackingOnly( steps = [ - 'GenSim', - 'Digi', - 'RecoNano', - 'HARVESTNano', - 'ALCA' + 'Gen', + 'FastSimRun3', + 'HARVESTFastRun3' + ], + PU = [ + 'FastSimRun3', + 'HARVESTFastRun3' ], - PU = [], suffix = '_Run3FSTrackingOnly', offset = 0.302, ) class UpgradeWorkflow_Run3FSMBMixing(UpgradeWorkflow): def setup_(self, step, stepName, stepDict, k, properties): - if 'GenSim' in step: + if 'Gen' in step: stepDict[stepName][k] = merge([{'-s':'GEN,SIM,RECOBEFMIX', '--fast':'', '--era':'Run3_FastSim', '--eventcontent':'FASTPU', '--datatier':'GEN-SIM-RECO', '--relval':'27000,3000'}, stepDict[step][k]]) - if 'Digi' in step or 'RecoNano' in step or 'ALCA' in step or 'HARVESTNano' in step: + else: stepDict[stepName][k] = None def condition(self, fragment, stepList, key, hasHarvest): - return '2021' in key and fragment=="MinBias_14TeV" + return '2021FS' in key and fragment=="MinBias_14TeV" upgradeWFs['Run3FSMBMixing'] = UpgradeWorkflow_Run3FSMBMixing( steps = [ - 'GenSim', - 'Digi', - 'RecoNano', - 'HARVESTNano', - 'ALCA' + 'Gen', + 'FastSimRun3', + 'HARVESTFastRun3' ], PU = [], suffix = '_Run3FSMBMixing', @@ -1814,14 +1784,14 @@ def condition(self, fragment, stepList, key, hasHarvest): class UpgradeWorkflow_DD4hep(UpgradeWorkflow): def setup_(self, step, stepName, stepDict, k, properties): - if 'Run3' in stepDict[step][k]['--era']: + if 'Run3' in stepDict[step][k]['--era'] and 'Fast' not in stepDict[step][k]['--era']: stepDict[stepName][k] = merge([{'--geometry': 'DD4hepExtended2021'}, stepDict[step][k]]) elif 'Phase2' in stepDict[step][k]['--era']: dd4hepGeom="DD4hep" dd4hepGeom+=stepDict[step][k]['--geometry'] stepDict[stepName][k] = merge([{'--geometry' : dd4hepGeom, '--procModifiers': 'dd4hep'}, stepDict[step][k]]) def condition(self, fragment, stepList, key, hasHarvest): - return '2021' in key or '2026' in key + return ('2021' in key or '2026' in key) and ('FS' not in key) upgradeWFs['DD4hep'] = UpgradeWorkflow_DD4hep( steps = [ 'GenSim', @@ -1847,10 +1817,10 @@ def condition(self, fragment, stepList, key, hasHarvest): #Keep it for future use in Phase-2, then delete class UpgradeWorkflow_DD4hepDB(UpgradeWorkflow): def setup_(self, step, stepName, stepDict, k, properties): - if 'Run3' in stepDict[step][k]['--era']: + if 'Run3' in stepDict[step][k]['--era'] and 'Fast' not in stepDict[step][k]['--era']: stepDict[stepName][k] = merge([{'--conditions': 'auto:phase1_2022_realistic', '--geometry': 'DB:Extended'}, stepDict[step][k]]) def condition(self, fragment, stepList, key, hasHarvest): - return '2021' in key + return '2021' in key and 'FS' not in key upgradeWFs['DD4hepDB'] = UpgradeWorkflow_DD4hepDB( steps = [ 'GenSim', @@ -1874,14 +1844,14 @@ def condition(self, fragment, stepList, key, hasHarvest): class UpgradeWorkflow_DDDDB(UpgradeWorkflow): def setup_(self, step, stepName, stepDict, k, properties): - if 'Run3' in stepDict[step][k]['--era']: + if 'Run3' in stepDict[step][k]['--era'] and 'Fast' not in stepDict[step][k]['--era']: # retain any other eras tmp_eras = stepDict[step][k]['--era'].split(',') tmp_eras[tmp_eras.index("Run3")] = 'Run3_DDD' tmp_eras = ','.join(tmp_eras) stepDict[stepName][k] = merge([{'--conditions': 'auto:phase1_2022_realistic_ddd', '--geometry': 'DB:Extended', '--era': tmp_eras}, stepDict[step][k]]) def condition(self, fragment, stepList, key, hasHarvest): - return '2021' in key + return '2021' in key and 'FS' not in key upgradeWFs['DDDDB'] = UpgradeWorkflow_DDDDB( steps = [ 'GenSim', @@ -2015,6 +1985,14 @@ def condition(self, fragment, stepList, key, hasHarvest): 'BeamSpot': 'Run3RoundOptics25ns13TeVLowSigmaZ', 'ScenToRun' : ['GenSim','Digi','RecoNano','HARVESTNano','ALCA'], }, + '2021FS' : { + 'Geom' : 'DB:Extended', + 'GT' : 'auto:phase1_2022_realistic', + 'HLTmenu': '@relval2022', + 'Era' : 'Run3_FastSim', + 'BeamSpot': 'Realistic25ns13p6TeVEarly2022Collision', + 'ScenToRun' : ['Gen','FastSimRun3','HARVESTFastRun3'], + }, '2021postEE' : { 'Geom' : 'DB:Extended', 'GT' : 'auto:phase1_2022_realistic_postEE', @@ -2028,9 +2006,12 @@ def condition(self, fragment, stepList, key, hasHarvest): # standard PU sequences for key in list(upgradeProperties[2017].keys()): upgradeProperties[2017][key+'PU'] = deepcopy(upgradeProperties[2017][key]) - upgradeProperties[2017][key+'PU']['ScenToRun'] = ['GenSim','DigiPU'] + \ - (['RecoNanoPU','HARVESTNanoPU'] if '202' in key else ['RecoFakeHLTPU','HARVESTFakeHLTPU']) + \ - (['Nano'] if 'Nano' in upgradeProperties[2017][key]['ScenToRun'] else []) + if "FS" not in key: + upgradeProperties[2017][key+'PU']['ScenToRun'] = ['GenSim','DigiPU'] + \ + (['RecoNanoPU','HARVESTNanoPU'] if '202' in key else ['RecoFakeHLTPU','HARVESTFakeHLTPU']) + \ + (['Nano'] if 'Nano' in upgradeProperties[2017][key]['ScenToRun'] else []) + else: + upgradeProperties[2017][key+'PU']['ScenToRun'] = ['Gen','FastSimRun3PU','HARVESTFastRun3PU'] upgradeProperties[2026] = { '2026D49' : { diff --git a/Configuration/PyReleaseValidation/scripts/runTheMatrix.py b/Configuration/PyReleaseValidation/scripts/runTheMatrix.py index ad2bf1c2de466..6f32f6e814c90 100755 --- a/Configuration/PyReleaseValidation/scripts/runTheMatrix.py +++ b/Configuration/PyReleaseValidation/scripts/runTheMatrix.py @@ -93,9 +93,10 @@ def runSelected(opt): 11634.911, #2021 DD4hep ttbar reading geometry from XML 11634.914, #2021 DDD ttbar reading geometry from the DB 11634.0, #2021 ttbar (switching to DD4hep by default) - 11634.301, #2021 ttbar fastsim 11634.7, #2021 ttbar mkFit 11834.0, #2021 ttbar PU + 13234.0, #2021 ttbar fastsim + 13434.0, #2021 ttbar PU fastsim 12434.0, #2023 ttbar 23234.0, #2026D49 ttbar (HLT TDR baseline w/ HGCal v11) 28234.0, #2026D60 (exercise HF nose) diff --git a/Configuration/StandardSequences/python/Harvesting_cff.py b/Configuration/StandardSequences/python/Harvesting_cff.py index 3d23b8c52feb7..a2e1f4a25a8bc 100644 --- a/Configuration/StandardSequences/python/Harvesting_cff.py +++ b/Configuration/StandardSequences/python/Harvesting_cff.py @@ -33,6 +33,9 @@ for _entry in [hltpostvalidation]: _validationHarvesting_fastsim.remove(_entry) _validationHarvesting_fastsim.remove(hltpostvalidation) +_validationHarvesting_fastsim.remove(efficienciesTauValidationMiniAODRealData) +_validationHarvesting_fastsim.remove(efficienciesTauValidationMiniAODRealElectronsData) +_validationHarvesting_fastsim.remove(efficienciesTauValidationMiniAODRealMuonsData) from Configuration.Eras.Modifier_fastSim_cff import fastSim fastSim.toReplaceWith(validationHarvesting,_validationHarvesting_fastsim) diff --git a/DQMOffline/Configuration/python/DQMOfflineFS_cff.py b/DQMOffline/Configuration/python/DQMOfflineFS_cff.py index 4499267a2ddc6..ca3c0b0ade521 100644 --- a/DQMOffline/Configuration/python/DQMOfflineFS_cff.py +++ b/DQMOffline/Configuration/python/DQMOfflineFS_cff.py @@ -1,6 +1,7 @@ import FWCore.ParameterSet.Config as cms # FastSim version of DQMOffline/Configuration/python/DQMOfflineMC_cff.py . +# MiniAOD part is a clone from DQMOffline/Configuration/python/DQMOffline_cff.py from DQMOffline.RecoB.PrimaryVertexMonitor_cff import * from DQM.Physics.DQMPhysics_cff import * @@ -22,4 +23,32 @@ singleTopElectronMediumDQM.setup.jetExtras.jetCorrector = cms.InputTag("ak4PFCHSL1FastL2L3Corrector") DQMOfflineFS = cms.Sequence(DQMOfflinePrePOG) + +# miniAOD DQM validation +from DQMOffline.JetMET.jetMETDQMOfflineSource_cff import * +from DQMOffline.Muon.muonMonitors_cff import * +from Validation.RecoParticleFlow.miniAODDQM_cff import * # On MiniAOD vs RECO +from Validation.RecoParticleFlow.DQMForPF_MiniAOD_cff import * # MiniAOD PF variables +from DQM.TrackingMonitor.tracksDQMMiniAOD_cff import * +from DQMOffline.RecoB.bTagMiniDQM_cff import * +from DQMOffline.Muon.miniAOD_cff import * +from DQM.Physics.DQMTopMiniAOD_cff import * + +DQMOfflineMiniAOD = cms.Sequence(jetMETDQMOfflineRedoProductsMiniAOD*bTagMiniDQMSource*muonMonitors_miniAOD*MuonMiniAOD*DQMOfflinePF) + +#Post sequences are automatically placed in the EndPath by ConfigBuilder if PAT is run. +#miniAOD DQM sequences need to access the filter results. + +PostDQMOfflineMiniAOD = cms.Sequence(miniAODDQMSequence*jetMETDQMOfflineSourceMiniAOD*tracksDQMMiniAOD*topPhysicsminiAOD) PostDQMOffline = cms.Sequence() + +from Configuration.Eras.Modifier_run3_HB_cff import run3_HB +run3_HB.toReplaceWith( PostDQMOfflineMiniAOD, PostDQMOfflineMiniAOD.copyAndExclude([ + pfMetDQMAnalyzerMiniAOD, pfPuppiMetDQMAnalyzerMiniAOD # No hcalnoise (yet) +])) + +from PhysicsTools.NanoAOD.nanoDQM_cff import nanoDQM +DQMOfflineNanoAOD = cms.Sequence(nanoDQM) +#PostDQMOfflineNanoAOD = cms.Sequence(nanoDQM) +from PhysicsTools.NanoAOD.nanogenDQM_cff import nanogenDQM +DQMOfflineNanoGen = cms.Sequence(nanogenDQM) diff --git a/DQMOffline/Muon/python/muonAnalyzer_cff.py b/DQMOffline/Muon/python/muonAnalyzer_cff.py index bbf0cdfb5e1f7..eac7aaf81c895 100644 --- a/DQMOffline/Muon/python/muonAnalyzer_cff.py +++ b/DQMOffline/Muon/python/muonAnalyzer_cff.py @@ -22,14 +22,6 @@ muonPFsequence* muonRecoOneHLT) - - -muonAnalyzer_miniAOD = cms.Sequence(muonRecoAnalyzer_miniAOD* - muonKinVsEtaAnalyzer_miniAOD* - diMuonHistos_miniAOD* - EfficiencyAnalyzer_miniAOD* - triggerMatchMonitor_miniAOD) - muonAnalyzer_noHLT = cms.Sequence(muonEnergyDepositAnalyzer* muonSeedsAnalyzer* muonRecoAnalyzer* @@ -39,3 +31,12 @@ diMuonHistos* EfficiencyAnalyzer* muonPFsequence) + +muonAnalyzer_miniAOD = cms.Sequence(muonRecoAnalyzer_miniAOD* + muonKinVsEtaAnalyzer_miniAOD* + diMuonHistos_miniAOD* + EfficiencyAnalyzer_miniAOD* + triggerMatchMonitor_miniAOD) + +from Configuration.Eras.Modifier_fastSim_cff import fastSim +fastSim.toReplaceWith(muonAnalyzer_miniAOD, muonAnalyzer_miniAOD.copyAndExclude([triggerMatchMonitor_miniAOD])) diff --git a/Validation/RecoTau/python/DQMMCValidation_cfi.py b/Validation/RecoTau/python/DQMMCValidation_cfi.py index 4d85fe187bfb8..230e564dae3b8 100644 --- a/Validation/RecoTau/python/DQMMCValidation_cfi.py +++ b/Validation/RecoTau/python/DQMMCValidation_cfi.py @@ -30,6 +30,8 @@ produceDenominatorZMM+ produceDenominatorZTT ) +from Configuration.Eras.Modifier_fastSim_cff import fastSim +fastSim.toReplaceWith(produceDenoms,produceDenoms.copyAndExclude([produceDenominatorRealData,produceDenominatorRealElectronsData,produceDenominatorRealMuonsData])) runTauEff = cms.Sequence( efficienciesQCD+ diff --git a/Validation/RecoTau/python/RecoTauValidation_cff.py b/Validation/RecoTau/python/RecoTauValidation_cff.py index 9ed8558541fd4..632c9540f09cd 100644 --- a/Validation/RecoTau/python/RecoTauValidation_cff.py +++ b/Validation/RecoTau/python/RecoTauValidation_cff.py @@ -111,3 +111,6 @@ ) tauValidationSequenceMiniAOD = cms.Sequence(tauValidationMiniAODZTT*tauValidationMiniAODZEE*tauValidationMiniAODZMM*tauValidationMiniAODQCD*tauValidationMiniAODRealData*tauValidationMiniAODRealElectronsData*tauValidationMiniAODRealMuonsData) + +from Configuration.Eras.Modifier_fastSim_cff import fastSim +fastSim.toReplaceWith(tauValidationSequenceMiniAOD,tauValidationSequenceMiniAOD.copyAndExclude([tauValidationMiniAODRealData,tauValidationMiniAODRealElectronsData,tauValidationMiniAODRealMuonsData]))