Skip to content

Commit

Permalink
Merge pull request #30136 from mariadalfonso/HCALonlyWF
Browse files Browse the repository at this point in the history
HCAL only wf
  • Loading branch information
cmsbuild authored Jun 29, 2020
2 parents 09ab553 + 240308a commit 518b6ef
Show file tree
Hide file tree
Showing 17 changed files with 145 additions and 6 deletions.
4 changes: 2 additions & 2 deletions Configuration/PyReleaseValidation/python/relval_2017.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,13 @@
10842.501,10842.502, # 10842.503,10842.504,
10824.501,10824.502, # 10824.503,10824.504,
10824.511,10824.512, # 10824.513,10824.514,
# 10824.521,10824.522,10824.523,10824.524,
10824.521,10824.522, # 10824.523,10824.524,
11650.0,11634.0,11646.0,11640.0,11834.0,11834.99,11846.0,12024.0,
11634.1,11634.5,11634.7,
11650.501,11650.502, # 11650.503,11650.504,
11634.501,11634.502, # 11634.503,11634.504,
11634.511,11634.512, # 11634.513,11634.514,
# 11634.521,11634.522,11634.523,11634.524,
11634.521,11634.522, # 11634.523,11634.524,
12434.0,12634.0,12634.99,
12834.0,13034.0,13034.99]
for numWF in numWFIB:
Expand Down
6 changes: 6 additions & 0 deletions Configuration/PyReleaseValidation/python/relval_standard.py
Original file line number Diff line number Diff line change
Expand Up @@ -423,6 +423,12 @@
workflows[136.888511] = ['',['RunJetHT2018D','HLTDR2_2018','RECODR2_2018reHLT_ECALOnlyCPU','HARVEST2018_ECALOnly']]
workflows[136.888512] = ['',['RunJetHT2018D','HLTDR2_2018','RECODR2_2018reHLT_ECALOnlyGPU','HARVEST2018_ECALOnly']]

### run 2018D HCAL-only ###
workflows[136.885521] = ['',['RunHLTPhy2018D','HLTDR2_2018','RECODR2_2018reHLT_HCALOnlyCPU','HARVEST2018_HCALOnly']]
workflows[136.885522] = ['',['RunHLTPhy2018D','HLTDR2_2018','RECODR2_2018reHLT_HCALOnlyGPU','HARVEST2018_HCALOnly']]
workflows[136.888521] = ['',['RunJetHT2018D','HLTDR2_2018','RECODR2_2018reHLT_HCALOnlyCPU','HARVEST2018_HCALOnly']]
workflows[136.888522] = ['',['RunJetHT2018D','HLTDR2_2018','RECODR2_2018reHLT_HCALOnlyGPU','HARVEST2018_HCALOnly']]

# multi-run harvesting
workflows[137.8] = ['',['RunEGamma2018C','HLTDR2_2018','RECODR2_2018reHLT_skimEGamma_Offline_L1TEgDQM',
'RunEGamma2018D','HLTDR2_2018','RECODR2_2018reHLT_skimEGamma_Prompt_L1TEgDQM','HARVEST2018_L1TEgDQM_MULTIRUN']]
Expand Down
3 changes: 3 additions & 0 deletions Configuration/PyReleaseValidation/python/relval_steps.py
Original file line number Diff line number Diff line change
Expand Up @@ -2311,6 +2311,8 @@ def gen2021HiMix(fragment,howMuch):
steps['RECODR2_2018reHLT_Patatrack_PixelOnlyGPU']=merge([step3_gpu, steps['RECODR2_2018reHLT_Prompt_pixelTrackingOnly']])
steps['RECODR2_2018reHLT_ECALOnlyCPU']=merge([{'-s': 'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,DQM:@ecalOnly'},steps['RECODR2_2018reHLT_Prompt']])
steps['RECODR2_2018reHLT_ECALOnlyGPU']=merge([step3_gpu, steps['RECODR2_2018reHLT_ECALOnlyCPU']])
steps['RECODR2_2018reHLT_HCALOnlyCPU']=merge([{'-s': 'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,DQM:@hcalOnly+@hcal2Only'},steps['RECODR2_2018reHLT_Prompt']])
steps['RECODR2_2018reHLT_HCALOnlyGPU']=merge([step3_gpu, steps['RECODR2_2018reHLT_HCALOnlyCPU']])
steps['RECODR2_2018reHLT_Offline']=merge([{'--conditions':'auto:run2_data'},steps['RECODR2_2018reHLT']])
steps['RECODR2_2018reHLT_ZBOffline']=merge([{'--conditions':'auto:run2_data','-s':'RAW2DIGI,L1Reco,RECO,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@rerecoZeroBias+@ExtraHLT+@miniAODDQM'},steps['RECODR2_2018reHLT']])
steps['RECODR2_2018reHLT_skimEGamma_Prompt_L1TEgDQM']=merge([{'--conditions':'auto:run2_data'},steps['RECODR2_2018reHLT_skimEGamma_L1TEgDQM']])
Expand Down Expand Up @@ -2667,6 +2669,7 @@ def gen2021HiMix(fragment,howMuch):
steps['HARVEST2018_L1TMuDQM_Prompt'] = merge([ {'-s':'HARVESTING:@standardDQMFakeHLT+@miniAODDQM+@L1TMuon'}, steps['HARVEST2018_Prompt'] ])
steps['HARVEST2018_pixelTrackingOnly'] = merge([ {'-s':'HARVESTING:@pixelTrackingOnlyDQM'}, steps['HARVEST2018'] ])
steps['HARVEST2018_ECALOnly'] = merge([ {'-s':'HARVESTING:@ecal'}, steps['HARVEST2018'] ])
steps['HARVEST2018_HCALOnly'] = merge([ {'-s':'HARVESTING:@hcalOnly'}, steps['HARVEST2018'] ])
steps['HARVEST2018_hBStar'] = merge([ {'--era' : 'Run2_2018_highBetaStar'}, steps['HARVEST2018'] ])
steps['HARVEST2018_HEfail'] = merge([ {'--conditions':'auto:run2_data_HEfail'}, steps['HARVEST2018'] ])
steps['HARVEST2018_BadHcalMitig'] = merge([ {'--era' : 'Run2_2018,pf_badHcalMitigation','--conditions':'auto:run2_data_HEfail'}, steps['HARVEST2018'] ])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -420,6 +420,63 @@ def condition_(self, fragment, stepList, key, hasHarvest):
'--procModifiers': 'gpu'
}

class UpgradeWorkflowPatatrack_HCALOnlyCPU(UpgradeWorkflowPatatrack):
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:@hcalOnlyValidation+@hcalOnly+@hcal2Only'}, stepDict[step][k]])

def condition_(self, fragment, stepList, key, hasHarvest):
return '2018' in key or '2021' in key

upgradeWFs['PatatrackHCALOnlyCPU'] = UpgradeWorkflowPatatrack_HCALOnlyCPU(
steps = [
'RecoFull',
'HARVESTFull',
'RecoFullGlobal',
'HARVESTFullGlobal',
],
PU = [],
suffix = 'Patatrack_HCALOnlyCPU',
offset = 0.521,
)

upgradeWFs['PatatrackHCALOnlyCPU'].step3 = {
'-s': 'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
'--datatier': 'GEN-SIM-RECO,DQMIO',
'--eventcontent': 'RECOSIM,DQM',
}

class UpgradeWorkflowPatatrack_HCALOnlyGPU(UpgradeWorkflowPatatrack):
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:@hcalOnlyValidation+@hcalOnly+@hcal2Only'}, stepDict[step][k]])

def condition_(self, fragment, stepList, key, hasHarvest):
return '2018' in key or '2021' in key

upgradeWFs['PatatrackHCALOnlyGPU'] = UpgradeWorkflowPatatrack_HCALOnlyGPU(
steps = [
'RecoFull',
'HARVESTFull',
'RecoFullGlobal',
'HARVESTFullGlobal',
],
PU = [],
suffix = 'Patatrack_HCALOnlyGPU',
offset = 0.522,
)

upgradeWFs['PatatrackHCALOnlyGPU'].step3 = {
'-s': 'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
'--datatier': 'GEN-SIM-RECO,DQMIO',
'--eventcontent': 'RECOSIM,DQM',
'--procModifiers': 'gpu'
}

# end of Patatrack workflows

class UpgradeWorkflow_ProdLike(UpgradeWorkflow):
Expand Down
3 changes: 3 additions & 0 deletions Configuration/StandardSequences/python/RawToDigi_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,9 @@
RawToDigiTask_ecalOnly = cms.Task(ecalDigisTask, ecalPreshowerDigis, scalersRawToDigi)
RawToDigi_ecalOnly = cms.Sequence(RawToDigiTask_ecalOnly)

RawToDigiTask_hcalOnly = cms.Task(hcalDigis)
RawToDigi_hcalOnly = cms.Sequence(RawToDigiTask_hcalOnly)

scalersRawToDigi.scalersInputTag = 'rawDataCollector'
siPixelDigis.InputLabel = 'rawDataCollector'
ecalDigis.InputLabel = 'rawDataCollector'
Expand Down
9 changes: 9 additions & 0 deletions Configuration/StandardSequences/python/Reconstruction_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,15 @@
)
reconstruction_ecalOnly = cms.Sequence(reconstruction_ecalOnlyTask)

reconstruction_hcalOnlyTask = cms.Task(
bunchSpacingProducer,
offlineBeamSpot,
hcalOnlyLocalRecoTask,
pfClusteringHBHEHFOnlyTask
)

reconstruction_hcalOnly = cms.Sequence(reconstruction_hcalOnlyTask)

#need a fully expanded sequence copy
modulesToRemove = list() # copy does not work well
noTrackingAndDependent = list()
Expand Down
7 changes: 6 additions & 1 deletion DQM/HcalTasks/python/OfflineSourceSequence_pp.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,14 @@
from DQM.HcalTasks.DigiTask import digiTask
from DQM.HcalTasks.RawTask import rawTask
from DQM.HcalTasks.TPTask import tpTask
from DQM.HcalTasks.RecHitTask import recHitTask
from DQM.HcalTasks.RecHitTask import recHitTask, recHitPreRecoTask

# set processing type to Offine
digiTask.ptype = cms.untracked.int32(1)
tpTask.ptype = cms.untracked.int32(1)
recHitTask.ptype = cms.untracked.int32(1)
rawTask.ptype = cms.untracked.int32(1)
recHitPreRecoTask.ptype = cms.untracked.int32(1)

# set the label for Emulator TP Task
tpTask.tagEmul = cms.untracked.InputTag("valHcalTriggerPrimitiveDigis")
Expand All @@ -26,6 +27,10 @@
+recHitTask
+rawTask)

hcalOnlyOfflineSourceSequence = cms.Sequence(
digiTask
+recHitPreRecoTask
+rawTask)

from Configuration.Eras.Modifier_phase2_hcal_cff import phase2_hcal
_phase2_hcalOfflineSourceSequence = hcalOfflineSourceSequence.copyAndExclude([tpTask,rawTask])
Expand Down
4 changes: 3 additions & 1 deletion DQM/HcalTasks/python/RecHitTask.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@
)



recHitPreRecoTask = recHitTask.clone(
tagHBHE = cms.untracked.InputTag("hbheprereco")
)



Expand Down
6 changes: 6 additions & 0 deletions DQMOffline/Configuration/python/DQMOffline_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,16 @@
ecal_dqm_source_offline +
es_dqm_source_offline )

#offline version of the online DQM: used in validation/certification
DQMOfflineHcal = cms.Sequence( hcalOfflineSourceSequence )

# offline DQM: used in Release validation
DQMOfflineHcal2 = cms.Sequence( HcalDQMOfflineSequence )

DQMOfflineHcalOnly = cms.Sequence( hcalOnlyOfflineSourceSequence )

DQMOfflineHcal2Only = cms.Sequence( RecHitsDQMOffline )

DQMOfflineTrackerStrip = cms.Sequence( SiStripDQMTier0 )

DQMOfflineTrackerPixel = cms.Sequence( siPixelOfflineDQM_source )
Expand Down
9 changes: 9 additions & 0 deletions DQMOffline/Configuration/python/autoDQM.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,15 @@
'PostDQMOffline',
'DQMHarvestHcal2'],

'hcalOnly': ['DQMOfflineHcalOnly',
'PostDQMOffline',
'DQMHarvestHcal'],

'hcal2Only': ['DQMOfflineHcal2Only',
'PostDQMOffline',
'DQMHarvestHcal2'],


'jetmet': ['DQMOfflineJetMET',
'PostDQMOffline',
'DQMHarvestJetMET+DQMCertJetMET'],
Expand Down
3 changes: 3 additions & 0 deletions RecoLocalCalo/Configuration/python/hcalLocalReco_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@
from RecoLocalCalo.HcalRecProducers.HFPhase1Reconstructor_cfi import hfreco as _phase1_hfreco
from RecoLocalCalo.HcalRecProducers.hbheplan1_cfi import hbheplan1

#--- for HCALonly wf
hcalOnlyLocalRecoTask = cms.Task(hbheprereco,hfprereco,hfreco,horeco)

# copy for cosmics
_default_hfreco = hfreco.clone()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -141,3 +141,8 @@
allCellsPositionCalc = dict(logWeightDenominatorByDetector = {0 : dict(logWeightDenominator = _thresholdsHBphase1) } ),
),
)

# HCALonly WF
particleFlowClusterHBHEOnly = particleFlowClusterHBHE.clone(
recHitsSource = cms.InputTag("particleFlowRecHitHBHEOnly")
)
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,8 @@
allCellsPositionCalc = dict(logWeightDenominatorByDetector = {0 : dict(logWeightDenominator = _thresholdsHBphase1) } ),
),
)

# HCALonly WF
particleFlowClusterHCALOnly = particleFlowClusterHCAL.clone(
clustersSource = cms.InputTag("particleFlowClusterHBHEOnly")
)
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,12 @@
particleFlowClusterHCAL)
pfClusteringHBHEHF = cms.Sequence(pfClusteringHBHEHFTask)

pfClusteringHBHEHFOnlyTask = cms.Task(particleFlowRecHitHBHEOnly,
particleFlowRecHitHF,
particleFlowClusterHBHEOnly,
particleFlowClusterHF,
particleFlowClusterHCALOnly)

pfClusteringHOTask = cms.Task(particleFlowRecHitHO,particleFlowClusterHO)
pfClusteringHO = cms.Sequence(pfClusteringHOTask)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,8 @@
run3_HB.toModify(particleFlowRecHitHBHE,
producers = {0 : dict(qualityTests = {0 : dict(cuts = {0 : dict(threshold = _thresholdsHBphase1) } ) } ) },
)

# HCALonly WF
particleFlowRecHitHBHEOnly = particleFlowRecHitHBHE.clone(
producers = { 0: dict(src = cms.InputTag("hbheprereco","")) }
)
5 changes: 3 additions & 2 deletions Validation/Configuration/python/autoValidation.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
'photonOnlyValidation' : ['', 'photonValidationSequence', 'photonPostProcessor'],
'tauOnlyValidation' : ['produceDenoms', 'pfTauRunDQMValidation', 'runTauEff'],
'ecalOnlyValidation' : ['globalPrevalidationECALOnly','globalValidationECALOnly','postValidation_ECAL'],
'hcalOnlyValidation' : ['globalPrevalidationHCAL','globalValidationHCAL','postValidation_HCAL'],
'hcalValidation' : ['globalPrevalidationHCAL','globalValidationHCAL','postValidation_HCAL'],
'hcalOnlyValidation' : ['globalPrevalidationHCALOnly','globalValidationHCALOnly','postValidation_HCAL'],
'baseValidation' : ['baseCommonPreValidation','baseCommonValidation','postValidation_common'],
'miniAODValidation' : ['prevalidationMiniAOD','validationMiniAOD','validationHarvestingMiniAOD'],
'standardValidation' : ['prevalidation','validation','validationHarvesting'],
Expand All @@ -21,7 +22,7 @@
'TrackerPhase2Validation' : ['', 'trackerphase2ValidationSource', 'trackerphase2ValidationHarvesting'],
}

_phase2_allowed = ['baseValidation','trackingValidation','muonOnlyValidation','JetMETOnlyValidation', 'electronOnlyValidation', 'photonOnlyValidation','bTagOnlyValidation', 'tauOnlyValidation', 'hcalOnlyValidation', 'HGCalValidation', 'MTDValidation', 'OuterTrackerValidation', 'ecalValidation_phase2', 'TrackerPhase2Validation']
_phase2_allowed = ['baseValidation','trackingValidation','muonOnlyValidation','JetMETOnlyValidation', 'electronOnlyValidation', 'photonOnlyValidation','bTagOnlyValidation', 'tauOnlyValidation', 'hcalValidation', 'HGCalValidation', 'MTDValidation', 'OuterTrackerValidation', 'ecalValidation_phase2', 'TrackerPhase2Validation']
autoValidation['phase2Validation'] = ['','','']
for i in range(0,3):
autoValidation['phase2Validation'][i] = '+'.join([_f for _f in [autoValidation[m][i] for m in _phase2_allowed] if _f])
14 changes: 14 additions & 0 deletions Validation/Configuration/python/globalValidation_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,13 @@
# HCAL local reconstruction
globalPrevalidationHCAL = cms.Sequence()

globalPrevalidationHCALOnly = cms.Sequence(
baseCommonPreValidation
+ globalPrevalidationHCAL
)

hcalRecHitsOnlyValidationSequence = hcalRecHitsValidationSequence.copyAndExclude([NoiseRatesValidation])

globalValidationHCAL = cms.Sequence(
hcalSimHitsValidationSequence
+ hcaldigisValidationSequence
Expand All @@ -181,6 +188,13 @@
+ calotowersValidationSequence
)

globalValidationHCALOnly = cms.Sequence(
hcalSimHitsValidationSequence
+ hcaldigisValidationSequence
+ hcalSimHitStudy
+ hcalRecHitsOnlyValidationSequence
)

globalValidationHGCal = cms.Sequence(hgcalValidation)
globalPrevalidationHGCal = cms.Sequence(hgcalAssociators)

Expand Down

0 comments on commit 518b6ef

Please sign in to comment.