Skip to content

Commit 01baf00

Browse files
authored
Merge pull request #49409 from thomreis/ecal-phase2-dev-wf-upgrade
ECAL Phase 2 - Upgrades for Phase 2 development workflow, validation and DQM
2 parents 829de75 + 2c63104 commit 01baf00

38 files changed

+881
-657
lines changed

Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2387,11 +2387,13 @@ def setup_(self, step, stepName, stepDict, k, properties):
23872387
mods = {'--era': stepDict[step][k]['--era']+',phase2_ecal_devel'}
23882388
if 'Digi' in step:
23892389
mods['-s'] = 'DIGI:pdigi_valid,DIGI2RAW'
2390+
mods['--custom_conditions'] = 'EcalSimPulseShapePhaseII,EcalSimPulseShapeRcd,frontier://FrontierProd/CMS_CONDITIONS'
23902391
mods |= self.__digi
23912392
elif 'Reco' in step:
2392-
mods['-s'] = 'RAW2DIGI,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly'
2393+
mods['-s'] = 'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly'
23932394
mods['--datatier'] = 'GEN-SIM-RECO,DQMIO'
23942395
mods['--eventcontent'] = 'FEVTDEBUGHLT,DQM'
2396+
mods['--custom_conditions'] = 'EcalSimPulseShapePhaseII,EcalSimPulseShapeRcd,frontier://FrontierProd/CMS_CONDITIONS'
23952397
mods |= self.__reco
23962398
elif 'HARVEST' in step:
23972399
mods['-s'] = 'HARVESTING:@ecalOnlyValidation+@ecal'

Configuration/StandardSequences/python/RawToDigi_cff.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,3 +133,8 @@
133133
from Configuration.Eras.Modifier_phase2_hfnose_cff import phase2_hfnose
134134
phase2_hfnose.toReplaceWith(RawToDigiTask,_hfnose_RawToDigiTask)
135135

136+
# No preshower for Phase 2 ECAL
137+
from Configuration.Eras.Modifier_phase2_ecal_devel_cff import phase2_ecal_devel
138+
phase2_ecal_devel.toReplaceWith(RawToDigiTask, RawToDigiTask.copyAndExclude([ecalPreshowerDigis]))
139+
phase2_ecal_devel.toReplaceWith(RawToDigiTask_ecalOnly, RawToDigiTask_ecalOnly.copyAndExclude([ecalPreshowerDigis]))
140+

Configuration/StandardSequences/python/Reconstruction_cff.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,8 +236,13 @@
236236
)
237237
reconstruction_ecalOnly = cms.Sequence(reconstruction_ecalOnlyTask)
238238

239+
reconstruction_ecalOnlyPhase2Task = cms.Task(
240+
bunchSpacingProducer,
241+
ecalOnlyLocalRecoTask,
242+
ecalClustersNoPFBoxTask
243+
)
239244
from Configuration.Eras.Modifier_phase2_ecal_devel_cff import phase2_ecal_devel
240-
phase2_ecal_devel.toReplaceWith(reconstruction_ecalOnlyTask, reconstruction_ecalOnlyTask.copyAndExclude([pfClusteringPSTask, pfClusteringECALTask, particleFlowSuperClusterECALOnly]))
245+
phase2_ecal_devel.toReplaceWith(reconstruction_ecalOnlyTask, reconstruction_ecalOnlyPhase2Task)
241246

242247
reconstruction_hcalOnlyTask = cms.Task(
243248
bunchSpacingProducer,
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import FWCore.ParameterSet.Config as cms
2+
3+
from DQM.EcalMonitorClient.EcalMonitorClient_cfi import *
4+
5+
ecalMonitorClientPhase2 = ecalMonitorClient.clone(
6+
workers = cms.untracked.vstring(
7+
"OccupancyClient",
8+
"TimingClient",
9+
"SummaryClient"
10+
),
11+
# task parameters (included from indivitual cfis)
12+
workerParameters = cms.untracked.PSet(
13+
OccupancyClient = ecalOccupancyClient,
14+
TimingClient = ecalTimingClient,
15+
SummaryClient = ecalSummaryClient
16+
),
17+
commonParameters = ecalCommonParams,
18+
verbosity = cms.untracked.int32(0)
19+
)
20+

DQM/EcalMonitorTasks/python/CollectionTags_cfi.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,3 +58,14 @@
5858
EBGpuRecHit = cms.untracked.InputTag("ecalRecHit", "EcalRecHitsEB"),
5959
EEGpuRecHit = cms.untracked.InputTag("ecalRecHit", "EcalRecHitsEE")
6060
)
61+
62+
ecalDQMCollectionTagsPhase2 = cms.PSet(
63+
EBUncalibRecHit = cms.untracked.InputTag("ecalUncalibRecHitPhase2", "EcalUncalibRecHitsEB"),
64+
EEUncalibRecHit = cms.untracked.InputTag("None"),
65+
EBRecHit = cms.untracked.InputTag("ecalRecHit", "EcalRecHitsEB"),
66+
EERecHit = cms.untracked.InputTag("None"),
67+
EBBasicCluster = cms.untracked.InputTag("hybridSuperClusters", "hybridBarrelBasicClusters"),
68+
EEBasicCluster = cms.untracked.InputTag("None"),
69+
EBSuperCluster = cms.untracked.InputTag("hybridSuperClusters"),
70+
EESuperCluster = cms.untracked.InputTag("None")
71+
)

DQM/EcalMonitorTasks/python/EcalMonitorTaskEcalOnly_cfi.py

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,33 @@
33
from DQM.EcalMonitorTasks.EcalMonitorTask_cfi import ecalMonitorTask as _ecalMonitorTask
44

55
ecalMonitorTaskEcalOnly = _ecalMonitorTask.clone(
6-
collectionTags = dict(
7-
EBSuperCluster = ("particleFlowSuperClusterECALOnly","particleFlowSuperClusterECALBarrel"),
8-
EESuperCluster = ("particleFlowSuperClusterECALOnly","particleFlowSuperClusterECALEndcapWithPreshower")
9-
),
10-
workerParameters = dict(ClusterTask = dict(params = dict(doExtra = False)))
6+
collectionTags = dict(
7+
EBSuperCluster = ("particleFlowSuperClusterECALOnly","particleFlowSuperClusterECALBarrel"),
8+
EESuperCluster = ("particleFlowSuperClusterECALOnly","particleFlowSuperClusterECALEndcapWithPreshower")
9+
),
10+
workerParameters = dict(ClusterTask = dict(params = dict(doExtra = False)))
11+
)
12+
13+
# Changes for Phase 2
14+
from DQM.EcalMonitorTasks.CollectionTags_cfi import ecalDQMCollectionTagsPhase2
15+
from DQM.EcalMonitorTasks.ClusterTask_cfi import ecalClusterTask
16+
from DQM.EcalMonitorTasks.EnergyTask_cfi import ecalEnergyTask
17+
from DQM.EcalMonitorTasks.TimingTask_cfi import ecalTimingTask
18+
from DQM.EcalMonitorTasks.ecalPiZeroTask_cfi import ecalPiZeroTask
19+
20+
ecalMonitorTaskEcalOnlyPhase2 = ecalMonitorTaskEcalOnly.clone(
21+
workers = cms.untracked.vstring(
22+
"ClusterTask",
23+
"EnergyTask",
24+
"TimingTask",
25+
"PiZeroTask"
26+
),
27+
workerParameters = cms.untracked.PSet(
28+
ClusterTask = ecalClusterTask,
29+
EnergyTask = ecalEnergyTask,
30+
TimingTask = ecalTimingTask,
31+
PiZeroTask = ecalPiZeroTask
32+
),
33+
collectionTags = ecalDQMCollectionTagsPhase2,
34+
skipCollections = cms.untracked.vstring('EcalRawData')
1135
)

DQM/EcalMonitorTasks/python/EcalMonitorTask_cff.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,22 @@
2222

2323
from Configuration.ProcessModifiers.alpaka_cff import alpaka
2424
alpaka.toModify(ecalMonitorTask.skipCollections, func = lambda skipCollections: skipCollections.append("EcalRawData"))
25+
26+
# Changes for Phase 2
27+
from DQM.EcalMonitorTasks.CollectionTags_cfi import ecalDQMCollectionTagsPhase2
28+
ecalMonitorTaskPhase2 = ecalMonitorTask.clone(
29+
workers = cms.untracked.vstring(
30+
"ClusterTask",
31+
"EnergyTask",
32+
"TimingTask",
33+
"PiZeroTask"
34+
),
35+
workerParameters = cms.untracked.PSet(
36+
ClusterTask = ecalClusterTask,
37+
EnergyTask = ecalEnergyTask,
38+
TimingTask = ecalTimingTask,
39+
PiZeroTask = ecalPiZeroTask
40+
),
41+
collectionTags = ecalDQMCollectionTagsPhase2,
42+
skipCollections = cms.untracked.vstring('EcalRawData')
43+
)

DQMOffline/Configuration/python/DQMOffline_Certification_cff.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
DQMCertEcal = cms.Sequence(ecalDaqInfoTask * ecalPreshowerDaqInfoTask *
2929
ecalDcsInfoTask * ecalPreshowerDcsInfoTask *
3030
ecalCertification * ecalPreshowerDataCertificationTask)
31+
from Configuration.Eras.Modifier_phase2_ecal_devel_cff import phase2_ecal_devel
32+
phase2_ecal_devel.toReplaceWith(DQMCertEcal, DQMCertEcal.copyAndExclude([ecalPreshowerDaqInfoTask, ecalPreshowerDcsInfoTask, ecalPreshowerDataCertificationTask]))
3133

3234
DQMCertJetMET = cms.Sequence(dataCertificationJetMETSequence)
3335

DQMOffline/Configuration/python/DQMOffline_SecondStep_cff.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323

2424
DQMOffline_SecondStepEcal = cms.Sequence( ecal_dqm_client_offline *
2525
es_dqm_client_offline )
26+
from Configuration.Eras.Modifier_phase2_ecal_devel_cff import phase2_ecal_devel
27+
phase2_ecal_devel.toReplaceWith(DQMOffline_SecondStepEcal, DQMOffline_SecondStepEcal.copyAndExclude([es_dqm_client_offline]))
2628

2729
DQMOffline_SecondStepTrackerStrip = cms.Sequence( SiStripOfflineDQMClient )
2830

@@ -259,6 +261,7 @@
259261
DQMHarvestEcal = cms.Sequence( ecal_dqm_client_offline *
260262
es_dqm_client_offline
261263
)
264+
phase2_ecal_devel.toReplaceWith(DQMHarvestEcal, DQMHarvestEcal.copyAndExclude([es_dqm_client_offline]))
262265

263266
DQMHarvestHcal = cms.Sequence( hcalOfflineHarvesting )
264267

DQMOffline/Configuration/python/DQMOffline_cff.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262

6363
from Configuration.Eras.Modifier_phase2_ecal_devel_cff import phase2_ecal_devel
6464
phase2_ecal_devel.toReplaceWith(DQMOfflineEcalOnly, DQMOfflineEcalOnly.copyAndExclude([es_dqm_source_offline]))
65+
phase2_ecal_devel.toReplaceWith(DQMOfflineEcal, DQMOfflineEcal.copyAndExclude([es_dqm_source_offline]))
6566

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

0 commit comments

Comments
 (0)