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

add run3_miniAOD_12X era modifier #42740

Merged
merged 3 commits into from
Sep 15, 2023
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.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions Configuration/Eras/python/Modifier_run3_miniAOD_12X_cff.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
"""
The run3_miniAOD_12X modifier has been introduced to allow for PUPPI jet reclustering
while producing MINIAODs in 13_0_X from AODs preodcued in 2022 in 12_6/12_4.
"""

import FWCore.ParameterSet.Config as cms

simonepigazzini marked this conversation as resolved.
Show resolved Hide resolved
run3_miniAOD_12X = cms.Modifier()
4 changes: 4 additions & 0 deletions Configuration/PyReleaseValidation/python/relval_standard.py
Original file line number Diff line number Diff line change
Expand Up @@ -508,6 +508,10 @@
workflows[140.112] = ['',['RunCommissioning2022D','HLTDR3_2022','SKIMCOMMISSIONINGRUN3_reHLT_2022','HARVESTRUN3_2022']]
workflows[140.113] = ['',['RunCosmics2022D','HLTDR3_2022','SKIMCOSMICSRUN3_reHLT_2022','HARVESTRUN3_COS_2022']]

### run3 (2022) reMINIAOD+NANO ###
workflows[140.201] = ['',['RunJetMET2022D_reMINI', 'REMINIAOD_data2022']]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need only MINI workflow, and MINI+Nano+DQM?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MINI + Validation + DQM:@miniAOD fails with an error of missing HGCal collections. I'm really puzzled by the error and do not have time to debug the DQM side at this stage. The MINI and NANO content are anyway as expected, therefore I think the issue with DQM can be dealt with later

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I have that question too on DQM. Since you start from RECO, I am not sure DQM will work as you may miss some transient product which are produced during reconstruction. May I propose to drop the broken workflow for now, for example, you comment it. This will avoid broken in the long matrix test in IB, as workflow in the standard will run. Thx.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as they are right now both tests run ok, or do you mean that the IB expects a DQM output?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, OK. I read it quick and confuse on DQM module.
The DQM of Mini should fail as they need transient output from RECO, but DQM of Nano does not need.

What I don't see the point is why we need both workflows as both produce the same MINI.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There was some concern (I just unjustified) that running MINI or MINI+NANO in the same job could lead to different results / issues. I agree with you that the MINI only workflow is not strictly needed. I will revise that with a follow up PR (we, xpog, want to revise some validation workflows anyway).

workflows[140.202] = ['',['RunJetMET2022D_reMINI', 'REMININANO_data2022']]

### run3 (2023) ###
workflows[141.001] = ['',['RunMuon2023B','HLTDR3_2023B','RECONANORUN3_reHLT_2023B','HARVESTRUN3_2023B']]
workflows[141.002] = ['',['RunZeroBias2023B','HLTDR3_2023B','RECONANORUN3_ZB_reHLT_2023B','HARVESTRUN3_ZB_2023B']]
Expand Down
26 changes: 25 additions & 1 deletion Configuration/PyReleaseValidation/python/relval_steps.py
Original file line number Diff line number Diff line change
Expand Up @@ -548,7 +548,6 @@
steps['RunTau2022D']={'INPUT':InputInfo(dataSet='/Tau/Run2022D-v1/RAW',label='2022D',events=100000,location='STD', ls=Run2022D_LS100)}
steps['RunMuonEG2022D']={'INPUT':InputInfo(dataSet='/MuonEG/Run2022D-v1/RAW',label='2022D',events=100000,location='STD', ls=Run2022D_LS100)}


Run2022E={359694: [[1, 50]]}
Run2022E_LS100={359694: [[1, 100]]}
Run2022E_LS200={359694: [[1, 200]]}
Expand All @@ -567,6 +566,9 @@
steps['RunCosmics2022F']={'INPUT':InputInfo(dataSet='/Cosmics/Run2022F-v1/RAW',label='2022F',events=100000,location='STD', ls=Run2022FCosmics_LS24)}
steps['RunSiPixelCalCosmics2022F']={'INPUT':InputInfo(dataSet='/Cosmics/Run2022F-SiPixelCalCosmics-PromptReco-v1/ALCARECO',label='2022F',events=100000,location='STD', ls=Run2022FCosmics)}

# reMINIAOD for 2022
steps['RunJetMET2022D_reMINI']={'INPUT':InputInfo(dataSet='/JetMET/Run2022D-16Jun2023-v1/AOD',label='rmaod',events=100000,location='STD', ls=Run2022D_LS25)}

#### run3 ####
Run2023B={366727: [[1, 244]]}
steps['RunMuon2023B']={'INPUT':InputInfo(dataSet='/Muon0/Run2023B-v1/RAW',label='2023B',events=100000,location='STD', ls=Run2023B)}
Expand Down Expand Up @@ -3900,6 +3902,28 @@ def gen2023HiMix(fragment,howMuch):
steps['REMINIAOD_data2017UL'] = merge([{'--era' : 'Run2_2017'},steps['REMINIAOD_data2016UL']])
steps['REMINIAOD_data2018UL'] = merge([{'--era' : 'Run2_2018'},steps['REMINIAOD_data2016UL']])

# reMINI 2022
steps['REMINIAOD_data2022']=merge([{'-s':'PAT',
'--process' : 'PAT',
'--datatier':'MINIAOD',
'--eventcontent':'MINIAOD',
'-n':100,
'--data' : '',
'--scenario' : 'pp',
'--conditions' : 'auto:run3_data',
'--era':'Run3,run3_miniAOD_12X'
}])
steps['REMININANO_data2022'] = merge([{'-s' : 'PAT,NANO,DQM:@nanoAODDQM',
'--process' : 'PATnano',
'--era' : 'Run3,run3_miniAOD_12X',
'--conditions' : 'auto:run3_data',
'--data' : '',
'--scenario' : 'pp',
'--eventcontent' : 'MINIAOD,NANOEDMAOD,DQM',
'--datatier' : 'MINIAOD,NANOAOD,DQMIO'
}])


# Not sure whether the customisations are in the dict as "--customise" or "--era" so try to
# remove both. Currently premixing uses "--customise" and everything else uses "--era".
try : stepMiniAODData = remove(stepMiniAODDataUP15,'--era')
Expand Down
1 change: 1 addition & 0 deletions Configuration/StandardSequences/python/Eras.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ def __init__(self):
'trackingPhase2PU140','highBetaStar_2018',
'tracker_apv_vfp30_2016', 'pf_badHcalMitigationOff',
'run2_miniAOD_80XLegacy','run2_miniAOD_94XFall17',
'run3_miniAOD_12X',
'run2_nanoAOD_106Xv2',
'run3_nanoAOD_122', 'run3_nanoAOD_124',
'run3_ecal_devel',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,16 @@ def applySubstructure( process, postfix="" ) :
from Configuration.ProcessModifiers.run2_miniAOD_UL_cff import run2_miniAOD_UL
_run2_miniAOD_ANY = (run2_miniAOD_80XLegacy | run2_miniAOD_94XFall17 | run2_miniAOD_UL)
from Configuration.Eras.Modifier_pA_2016_cff import pA_2016
from Configuration.Eras.Modifier_run3_miniAOD_12X_cff import run3_miniAOD_12X
if postfix=='':
# Avoid recomputing the PUPPI collections that are present in AOD
_rerun_puppijets_task = task.copy()
_rerun_puppijets_task.add(getattr(process,'ak8PFJetsPuppi'),
getattr(process,'ak8PFJetsPuppiConstituents'),
getattr(process,'ak8PFJetsPuppiSoftDrop'),
getattr(process,'ak8PFJetsPuppiSoftDropMass'))
(_run2_miniAOD_ANY | pA_2016 ).toReplaceWith(task, _rerun_puppijets_task)
(_run2_miniAOD_ANY | pA_2016 ).toModify(getattr(process,'ak8PFJetsPuppiConstituents'+postfix),
(_run2_miniAOD_ANY | pA_2016 | run3_miniAOD_12X ).toReplaceWith(task, _rerun_puppijets_task)
(_run2_miniAOD_ANY | pA_2016 | run3_miniAOD_12X ).toModify(getattr(process,'ak8PFJetsPuppiConstituents'+postfix),
simonepigazzini marked this conversation as resolved.
Show resolved Hide resolved
cut = cms.string('pt > 170.0 && abs(rapidity()) < 2.4'))
else:
task.add(getattr(process,'ak8PFJetsPuppi'+postfix),
Expand Down
5 changes: 3 additions & 2 deletions PhysicsTools/PatAlgos/python/slimming/miniAOD_tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -417,9 +417,10 @@ def _add_deepFlavour(process):
process.load('CommonTools.PileupAlgos.Puppi_cff')
process.load('RecoJets.JetProducers.ak4PFJets_cfi')
from Configuration.Eras.Modifier_pA_2016_cff import pA_2016
from Configuration.Eras.Modifier_run3_miniAOD_12X_cff import run3_miniAOD_12X
_rerun_puppijets_task = task.copy()
_rerun_puppijets_task.add(process.puppi, process.ak4PFJetsPuppi)
(_run2_miniAOD_ANY | pA_2016 | pp_on_AA).toReplaceWith(task, _rerun_puppijets_task)
(_run2_miniAOD_ANY | pA_2016 | pp_on_AA | run3_miniAOD_12X).toReplaceWith(task, _rerun_puppijets_task)

from RecoJets.JetAssociationProducers.j2tParametersVX_cfi import j2tParametersVX
process.ak4PFJetsPuppiTracksAssociatorAtVertex = cms.EDProducer("JetTracksAssociatorAtVertex",
Expand Down Expand Up @@ -475,7 +476,7 @@ def _add_metPuppi(process):
process.load('RecoMET.METProducers.pfMetPuppi_cfi')
_rerun_puppimet_task = task.copy()
_rerun_puppimet_task.add(process.puppiNoLep, process.pfMetPuppi)
(_run2_miniAOD_ANY | pA_2016 | pp_on_AA).toReplaceWith(task, _rerun_puppimet_task)
(_run2_miniAOD_ANY | pA_2016 | pp_on_AA | run3_miniAOD_12X).toReplaceWith(task, _rerun_puppimet_task)

runMetCorAndUncForMiniAODProduction(process, metType="Puppi",
jetCollUnskimmed="slimmedJetsPuppi",
Expand Down