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

HCAL 2017 Phase1 Workflows #15889

Merged
merged 18 commits into from
Sep 23, 2016
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/Era_Run2_2017_HCALdev_cff.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import FWCore.ParameterSet.Config as cms

from Configuration.Eras.Era_Run2_2017_cff import Run2_2017
from Configuration.Eras.Modifier_run2_HF_2017_cff import run2_HF_2017
from Configuration.Eras.Modifier_run2_HCAL_2017_cff import run2_HCAL_2017

Run2_2017_HCALdev = cms.ModifierChain(Run2_2017, run2_HF_2017, run2_HCAL_2017)

9 changes: 9 additions & 0 deletions Configuration/Eras/python/Era_Run2_2017_new_cff.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import FWCore.ParameterSet.Config as cms

from Configuration.Eras.Era_Run2_2017_cff import Run2_2017
from Configuration.Eras.Modifier_phase1PixelNewFPix_cff import phase1PixelNewFPix
from Configuration.Eras.Modifier_run2_HF_2017_cff import run2_HF_2017
from Configuration.Eras.Modifier_run2_HCAL_2017_cff import run2_HCAL_2017

Run2_2017_new = cms.ModifierChain(Run2_2017, phase1PixelNewFPix, run2_HF_2017, run2_HCAL_2017)

8 changes: 8 additions & 0 deletions Configuration/Eras/python/Modifier_run2_HCAL_2017_cff.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import FWCore.ParameterSet.Config as cms

# This modifier should be used for "common" HCAL 2017 customizations
# Initially, this means the packer and DQM
# subdetector-specific changes for sim, reco, etc. should go in run2_HE_2017 or run2_HF_2017

run2_HCAL_2017 = cms.Modifier()
Copy link
Contributor

Choose a reason for hiding this comment

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

some comments may be useful to clarify what's supposed to go in with this era,
as well as what other era has to be enabled at the same time.


2 changes: 2 additions & 0 deletions Configuration/Eras/python/Modifier_run2_HE_2017_cff.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import FWCore.ParameterSet.Config as cms

# This modifier is for HE-specific changes for sim, reco, etc.

run2_HE_2017 = cms.Modifier()

6 changes: 6 additions & 0 deletions Configuration/Eras/python/Modifier_run2_HF_2017_cff.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import FWCore.ParameterSet.Config as cms

# This modifier is for HF-specific changes for sim, reco, etc.

run2_HF_2017 = cms.Modifier()

33 changes: 33 additions & 0 deletions Configuration/Geometry/python/GeometryExtended2017newReco_cff.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import FWCore.ParameterSet.Config as cms

# Ideal geometry, needed for transient ECAL alignement
from Configuration.Geometry.GeometryExtended2017new_cff import *


# Reconstruction geometry services
# Tracking Geometry
#bah - well, this is not a cfi!
from Geometry.CommonDetUnit.globalTrackingGeometry_cfi import *

#Tracker
from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import *
from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import *

#Muon
from Geometry.MuonNumbering.muonNumberingInitialization_cfi import *
from RecoMuon.DetLayers.muonDetLayerGeometry_cfi import *

# Alignment
from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import *
from Geometry.CSCGeometryBuilder.idealForDigiCscGeometry_cff import *
from Geometry.DTGeometryBuilder.idealForDigiDtGeometry_cff import *
trackerGeometry.applyAlignment = False

# Calorimeters
from Geometry.CaloEventSetup.CaloTopology_cfi import *
from Geometry.CaloEventSetup.CaloGeometry_cff import *
from Geometry.CaloEventSetup.EcalTrigTowerConstituents_cfi import *
from Geometry.EcalMapping.EcalMapping_cfi import *
from Geometry.EcalMapping.EcalMappingRecord_cfi import *
from Geometry.HcalCommonData.hcalDDDRecConstants_cfi import *
from Geometry.HcalEventSetup.hcalTopologyIdeal_cfi import *
11 changes: 11 additions & 0 deletions Configuration/Geometry/python/GeometryExtended2017new_cff.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import FWCore.ParameterSet.Config as cms

#
# Geometry master configuration
#
# Ideal geometry, needed for simulation
from Geometry.CMSCommonData.cmsExtendedGeometry2017newXML_cfi import *
from Geometry.TrackerNumberingBuilder.trackerNumberingGeometry_cfi import *
from Geometry.HcalCommonData.hcalParameters_cfi import *
from Geometry.HcalCommonData.hcalDDDSimConstants_cfi import *

4 changes: 2 additions & 2 deletions Configuration/PyReleaseValidation/python/relval_2017.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@

numWFStart=10000
numWFSkip=200
#2017 WFs to run in IB (TenMuE_0_200, TTbar, ZEE, MinBias, TTbar PU, ZEE PU,TTbar NewPIX)
numWFIB = [10021.0,10024.0,10025.0,10026.0,10023.0,10224.0,10225.0,10424.0]
#2017 WFs to run in IB (TenMuE_0_200, TTbar, ZEE, MinBias, TTbar PU, ZEE PU,TTbar NewPIX,TTbar HCALdev,TTbar 2017new)
numWFIB = [10021.0,10024.0,10025.0,10026.0,10023.0,10224.0,10225.0,10424.0,10624.0,10824.0]
for i,key in enumerate(upgradeKeys[2017]):
numWF=numWFStart+i*numWFSkip
for frag in upgradeFragments:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
upgradeKeys[2017] = [
'2017',
'2017PU',
'2017NewFPix'
'2017NewFPix',
'2017HCALdev',
'2017AllNew',
]

upgradeKeys[2023] = [
Expand Down Expand Up @@ -66,7 +68,19 @@
'GT' : 'auto:phase1_2017_realistic',
'Era' : 'Run2_2017_NewFPix',
'ScenToRun' : ['GenSimFull','DigiFull','RecoFull','HARVESTFull'],
},
},
'2017HCALdev' : {
'Geom' : 'Extended2017dev',
Copy link
Contributor

Choose a reason for hiding this comment

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

@kpedro88 - no need to change it from DB:Extended if taken with #15924

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'll change it back when #15924 is merged

'GT' : 'auto:phase1_2017_hcaldev',
Copy link
Contributor

Choose a reason for hiding this comment

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

I presume this will switch pixel geometry (well, everything) to be read from XML. In which pre-release is this PR planned to be integrated? (pre12, pre13; or will the geometry be included in a GT before the pre-release?)

I'm wondering a possible interference with #15883 and #15805 (or actually with their validation).

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes, this sounds like it could cause great chaos if it gets into pre12. And for pre13/the release, I have the feeling that nothing called 'dev' should be in the then-production workflows.

It seems to me that Extended2017dev should be merged into the standard 2017 geometry for the release, and ideally after pre12 to make the tracker validation not more complicated than it is already. Does this dev geometry still need validation? It seems last significant changes were in May.

Copy link
Contributor

Choose a reason for hiding this comment

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

Note that #15674 changed Extended2017 but not the dev version, so merging might be nontrivial.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The 2017dev geometry itself does not need validation, but it can only be used (for DIGI-RECO) with an appropriate global tag having HCAL conditions for all the new channels. As we just got one, it could not have been used in the workflow until now. @ianna doesn't have the latest version of it in the database yet, so I assigned the xml version for now.

This shouldn't "interfere" with the new pixel geometry PRs, as those are creating a separate workflow for validation. @davidlange6 requested that I not make yet another separate workflow for HCAL 2017.

At some point, all of these geometry changes need to be reconciled into one final 2017 geometry, but I think that should be done after or otherwise outside of this PR.

Copy link
Contributor

Choose a reason for hiding this comment

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

I had the impression that the goal of pre13 was to "merge" the "2017_NewFPix" workflow introduced in #15805 back to the "2017" workflow. Personally I don't have a problem in keeping it around if needed for other reasons, just all cleanup needs to be done in there (although maybe not much can be done before the "2017" and "2017_NewFPix" get really merged?).

For my education, are the additions in Run2_2017 era deeply coupled with this geometry? I mean, does the Run2_2017 work/make any sense with the DB:Extended geometry?

FYI @rovere @VinInn @boudoul @veszpv

Copy link
Contributor

Choose a reason for hiding this comment

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

This shouldn't "interfere" with the new pixel geometry PRs, as those are creating a separate workflow for validation.

This is not strictly correct, the new WFs exist to evaluate the new FPIX individually. There are aso BPIX changes that need validation in the normal 2017 geometry. However, these are not as drastic as the FPIX changes and might be fine to coexist with the HCAL changes.

Copy link
Contributor

Choose a reason for hiding this comment

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

There are aso BPIX changes that need validation in the normal 2017 geometry.

It is not just the BPix changes we need to validate with pre12, but also all non-geometry changes between pre11 and pre12 (e.g. turning off VPF30 mitigation), and that is best done with exactly the same geometry as in pre11.

Now, trying to be practical (probably along what @slava77 already wrote), as these two parameters are passed to cmsDriver they can be changed at the time of RelVal submission (to be coordinated with PdmV; by the way, if this PR goes in pre12, do you want RelVals with the Extended2017dev geometry?).

So my only concern is the effect of the run2_HF_2017 and run2_HCAL_2017 sub-eras when run on 2016 HCAL geometry (both when re-using pre11 GEN-SIM and generating new). If the effect is statistically insignificant (within the usual 9k events) on high-pT jets (i.e. jetCore tracking iteration and pixel cluster splitting), then I'm personally fine with changing the "2017" workflow geometry to Extended2017dev for pre12.

Copy link
Contributor

Choose a reason for hiding this comment

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

nominally, undoing a change implemented with an era, should be another era,
but we are told to not use it and now discuss how to turn things off instead with a cmsDriver command.

If I understand correctly, changes made by HCAL eras in this PR will not work on the old 2016 HCAL geometry.

Copy link
Contributor

Choose a reason for hiding this comment

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

@slava77 - yes, HCal and CaloTower reco geometries produced from a 2017dev scenario differ from the ones produced from a 2017 scenario.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@makortel the changes from the new HCAL geometry, tag, and customizations definitely are not statistically insignificant. You cannot use the new HCAL tag with pre11 GEN-SIM.

I first suggested making a separate testing workflow and Era for the HCAL changes, but @davidlange6 did not want me to do this. At this point, he should comment if he would accept this PR with such a (temporary) new workflow and Era before I make those changes.

'Era' : 'Run2_2017_HCALdev',
'ScenToRun' : ['GenSimFull','DigiFull','RecoFull','HARVESTFull'],
},
'2017AllNew' : {
'Geom' : 'Extended2017new',
'GT' : 'auto:phase1_2017_hcaldev',
'Era' : 'Run2_2017_new',
'ScenToRun' : ['GenSimFull','DigiFull','RecoFull','HARVESTFull'],
},
}

upgradeProperties[2017]['2017PU'] = deepcopy(upgradeProperties[2017]['2017'])
Expand Down
2 changes: 2 additions & 0 deletions Configuration/PyReleaseValidation/scripts/runTheMatrix.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ def runSelected(opt):
10021.0, #2017 tenmu
10024.0, #2017 ttbar
10424.0, #2017 NewPix ttbar
10624.0, #2017 HCALdev ttbar
10824.0, #2017 all new ttbar
20024.0, #2023D1 ttbar (Run2 calo)
20824.0, #2023D3 ttbar (HGCal)
],
Expand Down
19 changes: 15 additions & 4 deletions Configuration/StandardSequences/python/DigiToRawDM_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@
ecalPacker.labelTT = cms.InputTag('DMEcalTriggerPrimitiveDigis')
esDigiToRaw.Label = cms.string('DMEcalPreshowerDigis')
#
hcalRawData.HBHE = cms.untracked.InputTag("DMHcalDigis")
hcalRawData.HF = cms.untracked.InputTag("DMHcalDigis")
hcalRawData.HO = cms.untracked.InputTag("DMHcalDigis")
hcalRawData.ZDC = cms.untracked.InputTag("mixData")
hcalRawDataVME.HBHE = cms.untracked.InputTag("DMHcalDigis")
hcalRawDataVME.HF = cms.untracked.InputTag("DMHcalDigis")
hcalRawDataVME.HO = cms.untracked.InputTag("DMHcalDigis")
hcalRawDataVME.ZDC = cms.untracked.InputTag("mixData")
#
cscpacker.wireDigiTag = cms.InputTag("mixData","MuonCSCWireDigisDM")
cscpacker.stripDigiTag = cms.InputTag("mixData","MuonCSCStripDigisDM")
Expand All @@ -32,3 +32,14 @@

#castorRawData.CASTOR = cms.untracked.InputTag("castorDigis")
#

from Configuration.StandardSequences.Eras import eras
eras.run2_HCAL_2017.toModify( hcalRawDataVME,
HBHE = cms.untracked.InputTag(""),
HF = cms.untracked.InputTag(""),
)
eras.run2_HCAL_2017.toModify( hcalRawDatauHTR,
HBHE = cms.untracked.InputTag("DMHcalDigis"),
HF = cms.untracked.InputTag("DMHcalDigis")
)

3 changes: 3 additions & 0 deletions Configuration/StandardSequences/python/Eras.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ def __init__(self):
'Run2_2016_trackingLowPU',
'Run2_2017',
'Run2_2017_NewFPix',
'Run2_2017_HCALdev',
'Run2_2017_new',
'Run2_2017_trackingRun2',
'Run2_2017_trackingPhase1PU70',
'Run3',
Expand All @@ -29,6 +31,7 @@ def __init__(self):
'run2_50ns_specific', 'run2_HI_specific',
'stage1L1Trigger', 'fastSim',
'run2_HE_2017', 'stage2L1Trigger',
'run2_HF_2017', 'run2_HCAL_2017',
'phase1Pixel', 'phase1PixelNewFPix', 'run3_GEM',
'phase2_common', 'phase2_tracker',
'phase2_hgcal', 'phase2_muon', 'phase2_timing',
Expand Down
2 changes: 2 additions & 0 deletions Configuration/StandardSequences/python/GeometryConf.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
'Extended2015dev': 'Extended2015dev,Extended2015devReco',
'Extended2016' : 'Extended2016,Extended2016Reco',
'Extended2017' : 'Extended2017,Extended2017Reco',
'Extended2017dev': 'Extended2017dev,Extended2017devReco',
'Extended2017new': 'Extended2017new,Extended2017newReco',
'Extended2019' : 'Extended2019,Extended2019Reco',
'ExtendedGFlash' : 'ExtendedGFlash,ExtendedGFlashReco',
'All' : 'Configuration.Geometry.GeometrySimAll_cff,Reco',
Expand Down
8 changes: 8 additions & 0 deletions DQM/HcalTasks/python/OfflineSourceSequence_cosmic.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,14 @@

# import the tasks
from DQM.HcalTasks.DigiTask import digiTask
from DQM.HcalTasks.DigiPhase1Task import digiPhase1Task
from DQM.HcalTasks.RawTask import rawTask
from DQM.HcalTasks.TPTask import tpTask
from DQM.HcalTasks.RecHitTask import recHitTask

# set processing type to Offine
digiTask.ptype = cms.untracked.int32(1)
digiPhase1Task.ptype = cms.untracked.int32(1)
tpTask.ptype = cms.untracked.int32(1)
recHitTask.ptype = cms.untracked.int32(1)
rawTask.ptype = cms.untracked.int32(1)
Expand All @@ -36,3 +38,9 @@
+recHitTask
+rawTask)

_phase1_hcalOfflineSourceSequence = hcalOfflineSourceSequence.copy()
_phase1_hcalOfflineSourceSequence.insert(0,digiPhase1Task)

from Configuration.StandardSequences.Eras import eras
eras.run2_HCAL_2017.toReplaceWith( hcalOfflineSourceSequence, _phase1_hcalOfflineSourceSequence )

8 changes: 8 additions & 0 deletions DQM/HcalTasks/python/OfflineSourceSequence_hi.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,14 @@

# import the tasks
from DQM.HcalTasks.DigiTask import digiTask
from DQM.HcalTasks.DigiPhase1Task import digiPhase1Task
from DQM.HcalTasks.RawTask import rawTask
from DQM.HcalTasks.TPTask import tpTask
from DQM.HcalTasks.RecHitTask import recHitTask

# set processing type to Offine
digiTask.ptype = cms.untracked.int32(1)
from DQM.HcalTasks.DigiPhase1Task import digiPhase1Task
tpTask.ptype = cms.untracked.int32(1)
recHitTask.ptype = cms.untracked.int32(1)
rawTask.ptype = cms.untracked.int32(1)
Expand All @@ -37,3 +39,9 @@
+recHitTask
+rawTask)

_phase1_hcalOfflineSourceSequence = hcalOfflineSourceSequence.copy()
_phase1_hcalOfflineSourceSequence.insert(0,digiPhase1Task)

from Configuration.StandardSequences.Eras import eras
eras.run2_HCAL_2017.toReplaceWith( hcalOfflineSourceSequence, _phase1_hcalOfflineSourceSequence )

7 changes: 7 additions & 0 deletions DQM/HcalTasks/python/OfflineSourceSequence_pp.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,14 @@

# import the tasks
from DQM.HcalTasks.DigiTask import digiTask
from DQM.HcalTasks.DigiPhase1Task import digiPhase1Task
from DQM.HcalTasks.RawTask import rawTask
from DQM.HcalTasks.TPTask import tpTask
from DQM.HcalTasks.RecHitTask import recHitTask

# set processing type to Offine
digiTask.ptype = cms.untracked.int32(1)
digiPhase1Task.ptype = cms.untracked.int32(1)
tpTask.ptype = cms.untracked.int32(1)
recHitTask.ptype = cms.untracked.int32(1)
rawTask.ptype = cms.untracked.int32(1)
Expand All @@ -26,3 +28,8 @@
+recHitTask
+rawTask)

_phase1_hcalOfflineSourceSequence = hcalOfflineSourceSequence.copy()
_phase1_hcalOfflineSourceSequence.insert(0,digiPhase1Task)

from Configuration.StandardSequences.Eras import eras
eras.run2_HCAL_2017.toReplaceWith( hcalOfflineSourceSequence, _phase1_hcalOfflineSourceSequence )
15 changes: 14 additions & 1 deletion EventFilter/HcalRawToDigi/python/HcalDigiToRaw_cfi.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,25 @@
import FWCore.ParameterSet.Config as cms

hcalRawData = cms.EDProducer("HcalDigiToRaw",

hcalRawDataVME = cms.EDProducer("HcalDigiToRaw",
HBHE = cms.untracked.InputTag("simHcalDigis"),
HF = cms.untracked.InputTag("simHcalDigis"),
HO = cms.untracked.InputTag("simHcalDigis"),
ZDC = cms.untracked.InputTag("simHcalUnsuppressedDigis"),
TRIG = cms.untracked.InputTag("simHcalTriggerPrimitiveDigis")
)

hcalRawData = cms.Sequence(hcalRawDataVME)

from EventFilter.HcalRawToDigi.hcalDigiToRawuHTR_cfi import hcalDigiToRawuHTR as hcalRawDatauHTR

_phase1_hcalRawData = hcalRawData.copy()
_phase1_hcalRawData += hcalRawDatauHTR

from Configuration.StandardSequences.Eras import eras
eras.run2_HCAL_2017.toModify( hcalRawDataVME,
HBHE = cms.untracked.InputTag(""),
HF = cms.untracked.InputTag(""),
TRIG = cms.untracked.InputTag("")
)
eras.run2_HCAL_2017.toReplaceWith(hcalRawData,_phase1_hcalRawData)
3 changes: 2 additions & 1 deletion EventFilter/RawDataCollector/python/rawDataCollector_cfi.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
cms.InputTag('ecalPacker'),
cms.InputTag('esDigiToRaw'),
cms.InputTag('gctDigiToRaw'),
cms.InputTag('hcalRawData'),
cms.InputTag('hcalRawDataVME'),
cms.InputTag('l1GtEvmPack'),
cms.InputTag('l1GtPack'),
cms.InputTag('rpcpacker'),
Expand All @@ -24,3 +24,4 @@
#
from Configuration.StandardSequences.Eras import eras
eras.stage1L1Trigger.toModify( rawDataCollector.RawCollectionList, func = lambda list: list.append(cms.InputTag("l1tDigiToRaw")) )
eras.run2_HCAL_2017.toModify( rawDataCollector.RawCollectionList, func = lambda list: list.append(cms.InputTag("hcalRawDatauHTR")) )
Loading