Skip to content

Commit

Permalink
Merge pull request #14865 from kpedro88/Phase2-WF9val_rebase
Browse files Browse the repository at this point in the history
Phase2 full reco workflow
  • Loading branch information
davidlange6 committed Jun 24, 2016
2 parents fc7d588 + c14db63 commit ac7b913
Show file tree
Hide file tree
Showing 54 changed files with 888 additions and 108 deletions.
Expand Up @@ -93,7 +93,7 @@
es_prefer_hcalHardcode = cms.ESPrefer("HcalHardcodeCalibrations", "es_hardcode")

from Configuration.StandardSequences.Eras import eras
eras.phase2_common.toModify( es_hardcode,
eras.phase2_hcal.toModify( es_hardcode,
toGet = cms.untracked.vstring(
'GainWidths',
'MCParams',
Expand Down
50 changes: 50 additions & 0 deletions Configuration/Geometry/python/GeometryExtended2023GRecoReco_cff.py
@@ -0,0 +1,50 @@
import FWCore.ParameterSet.Config as cms

# Ideal geometry, needed for transient ECAL alignement
from Configuration.Geometry.GeometryExtended2023GReco_cff import *
# Reconstruction geometry services
# Tracking Geometry
from Geometry.CommonDetUnit.globalTrackingGeometry_cfi import *

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

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

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

# Calorimeters
from Geometry.CaloEventSetup.CaloTopology_cfi import *
from Geometry.CaloEventSetup.CaloGeometryBuilder_cfi import *

CaloGeometryBuilder = cms.ESProducer("CaloGeometryBuilder",
SelectedCalos = cms.vstring('HCAL' ,
'ZDC' ,
'CASTOR' ,
'EcalBarrel' ,
'EcalEndcap' ,
'TOWER' )
)

from Geometry.EcalAlgo.EcalBarrelGeometry_cfi import *
from Geometry.EcalAlgo.EcalEndcapGeometry_cfi import *
from Geometry.HcalEventSetup.HcalGeometry_cfi import *
from Geometry.HcalEventSetup.CaloTowerGeometry_cfi import *
from Geometry.HcalEventSetup.CaloTowerTopology_cfi import *
from Geometry.HcalCommonData.hcalDDDRecConstants_cfi import *
from Geometry.HcalEventSetup.hcalTopologyIdeal_cfi import *
from Geometry.ForwardGeometry.ForwardGeometry_cfi import *

from Geometry.CaloEventSetup.EcalTrigTowerConstituents_cfi import *
from Geometry.EcalMapping.EcalMapping_cfi import *
from Geometry.EcalMapping.EcalMappingRecord_cfi import *
10 changes: 10 additions & 0 deletions Configuration/Geometry/python/GeometryExtended2023GReco_cff.py
@@ -0,0 +1,10 @@
import FWCore.ParameterSet.Config as cms

#
# Geometry master configuration
#
# Ideal geometry, needed for simulation
from Geometry.CMSCommonData.cmsExtendedGeometry2023GRecoXML_cfi import *
from Geometry.TrackerNumberingBuilder.trackerNumberingGeometry_cfi import *
from Geometry.HcalCommonData.hcalParameters_cfi import *
from Geometry.HcalCommonData.hcalDDDSimConstants_cfi import *
Expand Up @@ -24,20 +24,20 @@
trackerGeometry.applyAlignment = cms.bool(False)

# Calorimeters
from Geometry.CaloEventSetup.HGCalV6Topology_cfi import *
from Geometry.HGCalGeometry.HGCalV6GeometryESProducer_cfi import *
from Geometry.CaloEventSetup.CaloTopology_cfi import *
from Geometry.CaloEventSetup.CaloGeometryBuilder_cfi import *

CaloGeometryBuilder = cms.ESProducer("CaloGeometryBuilder",
SelectedCalos = cms.vstring('HCAL' ,
SelectedCalos = cms.vstring('HCAL' ,
'ZDC' ,
'CASTOR' ,
'EcalBarrel' ,
'EcalBarrel' ,
'EcalEndcap' ,
'TOWER' )
)

from Geometry.EcalAlgo.EcalBarrelGeometry_cfi import *
from Geometry.EcalAlgo.EcalEndcapGeometry_cfi import *
from Geometry.HcalEventSetup.HcalGeometry_cfi import *
from Geometry.HcalEventSetup.CaloTowerGeometry_cfi import *
from Geometry.HcalEventSetup.CaloTowerTopology_cfi import *
Expand Down
Expand Up @@ -8,5 +8,3 @@
from Geometry.TrackerNumberingBuilder.trackerNumberingGeometry_cfi import *
from Geometry.HcalCommonData.hcalParameters_cfi import *
from Geometry.HcalCommonData.hcalDDDSimConstants_cfi import *
from Geometry.HGCalCommonData.hgcalV6ParametersInitialization_cfi import *
from Geometry.HGCalCommonData.hgcalV6NumberingInitialization_cfi import *
26 changes: 24 additions & 2 deletions Configuration/PyReleaseValidation/python/relval_steps.py
Expand Up @@ -1576,8 +1576,9 @@ def lhegensim(fragment,howMuch):

defaultDataSets={}
defaultDataSets['2017']='CMSSW_8_1_0_pre5-80X_upgrade2017_realistic_v4_resubUPG17-v'
defaultDataSets['2023GReco']='CMSSW_8_1_0_pre4-80X_mcRun2_asymptotic_v13_2023LReco-v'
defaultDataSets['2023tilted']='CMSSW_8_1_0_pre4-80X_mcRun2_asymptotic_v13_2023tilted-v'
defaultDataSets['2023GReco']=''
defaultDataSets['2023LReco']=''
defaultDataSets['2023tilted']=''

keys=defaultDataSets.keys()
for key in keys:
Expand Down Expand Up @@ -1691,11 +1692,27 @@ def lhegensim(fragment,howMuch):
if k2 in PUDataSets:
upgradeStepDict['RecoFullPU'][k]=merge([PUDataSets[k2],upgradeStepDict['RecoFull'][k]])


upgradeStepDict['RecoFull_trackingOnly'][k] = merge([step3_trackingOnly, upgradeStepDict['RecoFull'][k]])

if k2 in PUDataSets:
upgradeStepDict['RecoFull_trackingOnlyPU'][k]=merge([PUDataSets[k2],upgradeStepDict['RecoFull_trackingOnly'][k]])


upgradeStepDict['RecoFullGlobal'][k] = {'-s':'RAW2DIGI,L1Reco,RECO,VALIDATION:@trackingOnlyValidation,DQM:@trackingOnlyDQM',
'--conditions':gt,
'--datatier':'GEN-SIM-RECO,DQMIO',
'-n':'10',
'--runUnscheduled':'',
'--eventcontent':'FEVTDEBUGHLT,DQM',
'--geometry' : geom
}
if cust!=None : upgradeStepDict['RecoFullGlobal'][k]['--customise']=cust
if era is not None: upgradeStepDict['RecoFullGlobal'][k]['--era']=era

if k2 in PUDataSets:
upgradeStepDict['RecoFullGlobalPU'][k]=merge([PUDataSets[k2],upgradeStepDict['RecoFullGlobal'][k]])

upgradeStepDict['RecoFullLocal'][k] = {'-s':'RAW2DIGI,L1Reco,RECO:localreco',
'--conditions':gt,
'--datatier':'GEN-SIM-RECO',
Expand All @@ -1706,6 +1723,9 @@ def lhegensim(fragment,howMuch):
if cust!=None : upgradeStepDict['RecoFullLocal'][k]['--customise']=cust
if era is not None: upgradeStepDict['RecoFullLocal'][k]['--era']=era

if k2 in PUDataSets:
upgradeStepDict['RecoFullLocalPU'][k]=merge([PUDataSets[k2],upgradeStepDict['RecoFullLocal'][k]])


upgradeStepDict['RecoFullHGCAL'][k] = {'-s':'RAW2DIGI,L1Reco,RECO',
'--conditions':gt,
Expand Down Expand Up @@ -1735,9 +1755,11 @@ def lhegensim(fragment,howMuch):
upgradeStepDict['HARVESTFullPU'][k]=merge([PUDataSets[k2],upgradeStepDict['HARVESTFull'][k]])

upgradeStepDict['HARVESTFull_trackingOnly'][k] = merge([{'-s': 'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM'}, upgradeStepDict['HARVESTFull'][k]])
upgradeStepDict['HARVESTFullGlobal'][k] = merge([{'-s': 'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM'}, upgradeStepDict['HARVESTFull'][k]])

if k2 in PUDataSets:
upgradeStepDict['HARVESTFull_trackingOnlyPU'][k]=merge([PUDataSets[k2],upgradeStepDict['HARVESTFull_trackingOnly'][k]])
upgradeStepDict['HARVESTFullGlobalPU'][k]=merge([PUDataSets[k2],upgradeStepDict['HARVESTFullGlobal'][k]])

upgradeStepDict['FastSim'][k]={'-s':'GEN,SIM,RECO,VALIDATION',
'--eventcontent':'FEVTDEBUGHLT,DQM',
Expand Down
20 changes: 20 additions & 0 deletions Configuration/PyReleaseValidation/python/relval_upgrade.py
Expand Up @@ -27,4 +27,24 @@
else:
stepList.append(step+'_'+key)
workflows[numWF] = [ upgradeDatasetFromFragment[frag], stepList]

# special workflows for tracker
if upgradeDatasetFromFragment[frag]=="TTbar_13" and not 'PU' in key:
stepListTk=[]
hasHarvest = False
for step in upgradeScenToRun[key]:
if 'Reco' in step:
step = 'RecoFull_trackingOnly'
if 'HARVEST' in step:
step = 'HARVESTFull_trackingOnly'
hasHarvest = True

if 'Sim' in step:
stepListTk.append(k+'_'+step)
else:
stepListTk.append(step+'_'+key)

if hasHarvest:
workflows[numWF+0.1] = [ upgradeDatasetFromFragment[frag], stepListTk]

numWF+=1
Expand Up @@ -8,7 +8,8 @@
'2023LReco',
'2023GReco',
'2023tiltedPU',
'2023GRecoPU'
'2023GRecoPU',
'2023LRecoPU'
]


Expand All @@ -35,10 +36,10 @@

}
upgradeEras={ '2017' : 'Run2_2017',
'2023sim' : 'Phase2',
'2023tilted' : 'Phase2',
'2023LReco' : 'Phase2',
'2023GReco' : 'Phase2'
'2023sim' : 'Phase2LReco',
'2023tilted' : 'Phase2GReco',
'2023LReco' : 'Phase2LReco',
'2023GReco' : 'Phase2GReco'
}

upgradeFragments=['FourMuPt_1_200_pythia8_cfi',
Expand Down Expand Up @@ -102,18 +103,19 @@
# step6 is fastsim
# step7 is fastsim harvesting

upgradeSteps=['GenSimFull','GenSimHLBeamSpotFull','DigiFull','RecoFullLocal','RecoFull','RecoFullHGCAL','HARVESTFull','DigiTrkTrigFull','FastSim','HARVESTFast','DigiFullPU','RecoFullPU','RecoFullPUHGCAL','RecoFullPUTracking','HARVESTFullPU','DigiFullTrigger','RecoFull_trackingOnly','RecoFull_trackingOnlyPU','HARVESTFull_trackingOnly', 'HARVESTFull_trackingOnlyPU']
upgradeSteps=['GenSimFull','GenSimHLBeamSpotFull','DigiFull','RecoFullLocal','RecoFullLocalPU','RecoFull','RecoFullGlobal','RecoFullGlobalPU','RecoFullHGCAL','HARVESTFull','DigiTrkTrigFull','FastSim','HARVESTFast','DigiFullPU','RecoFullPU','RecoFullPUHGCAL','RecoFullPUTracking','HARVESTFullPU','DigiFullTrigger','RecoFull_trackingOnly','RecoFull_trackingOnlyPU','HARVESTFull_trackingOnly','HARVESTFull_trackingOnlyPU','HARVESTFullGlobal','HARVESTFullGlobalPU']

upgradeScenToRun={ '2017':['GenSimFull','DigiFull','RecoFull','HARVESTFull'],
#'2017':['GenSimFull'],
'2017PU':['GenSimFull','DigiFullPU','RecoFullPU','HARVESTFullPU'],#full sequence
'2023':['GenSimFull','DigiFull','RecoFull'],#full sequence
'2023tilted':['GenSimFull','DigiFull','RecoFull_trackingOnly','HARVESTFull_trackingOnly'],#full (or almost..) reco tilted scenario + tracking valdqm
'2023tilted':['GenSimFull','DigiFull','RecoFullGlobal','HARVESTFullGlobal'],#full (or almost..) reco tilted scenario
'2023sim':['GenSimFull'],#sim scenario
'2023LReco':['GenSimFull','DigiFull','RecoFullLocal'],#local reco scenario
'2023GReco':['GenSimFull','DigiFull','RecoFull_trackingOnly', 'HARVESTFull_trackingOnly'],#full (or almost..) reco scenario
'2023GRecoPU':['GenSimFull','DigiFullPU','RecoFull_trackingOnlyPU', 'HARVESTFull_trackingOnlyPU'],#full (or almost..) reco scenario with PU
'2023tiltedPU':['GenSimFull','DigiFullPU','RecoFull_trackingOnlyPU', 'HARVESTFull_trackingOnlyPU']#full (or almost..) reco tilted scenario with PU
'2023GReco':['GenSimFull','DigiFull','RecoFullGlobal','HARVESTFullGlobal'],#full (or almost..) reco scenario
'2023GRecoPU':['GenSimFull','DigiFullPU','RecoFullGlobalPU', 'HARVESTFullGlobalPU'],#full (or almost..) reco scenario with PU
'2023tiltedPU':['GenSimFull','DigiFullPU','RecoFullGlobalPU', 'HARVESTFullGlobalPU'],#full (or almost..) reco tilted scenario with PU
'2023LRecoPU':['GenSimFull','DigiFullPU','RecoFullLocalPU'],#local reco scenario with PU
}

from Configuration.PyReleaseValidation.relval_steps import Kby
Expand Down
2 changes: 1 addition & 1 deletion Configuration/StandardSequences/python/DigiToRaw_cff.py
Expand Up @@ -27,7 +27,7 @@


#until we have hcal raw data for phase 2....
eras.phase2_common.toReplaceWith(DigiToRaw, DigiToRaw.copyAndExclude([hcalRawData]))
eras.phase2_hcal.toReplaceWith(DigiToRaw, DigiToRaw.copyAndExclude([hcalRawData]))

# Remove siPixelRawData until we have phase1 pixel digis
eras.phase1Pixel.toReplaceWith(DigiToRaw, DigiToRaw.copyAndExclude([siPixelRawData])) # FIXME
Expand Down
4 changes: 2 additions & 2 deletions Configuration/StandardSequences/python/Digi_cff.py
Expand Up @@ -44,13 +44,13 @@
from FastSimulation.Configuration.DigiAliases_cff import generalTracks,ecalPreshowerDigis,ecalDigis,hcalDigis,muonDTDigis,muonCSCDigis,muonRPCDigis

#phase 2 common mods
def _modifyDigitizerPhase2Common( theProcess ):
def _modifyDigitizerPhase2Hcal( theProcess ):
from CalibCalorimetry.HcalPlugins.Hcal_Conditions_forGlobalTag_cff import hcal_db_producer as _hcal_db_producer, es_hardcode as _es_hardcode, es_prefer_hcalHardcode as _es_prefer_hcalHardcode
theProcess.hcal_db_producer = _hcal_db_producer
theProcess.es_hardcode = _es_hardcode
theProcess.es_prefer_hcalHardcode = _es_prefer_hcalHardcode

from Configuration.StandardSequences.Eras import eras
modifyDigitizerPhase2Common_ = eras.phase2_common.makeProcessModifier( _modifyDigitizerPhase2Common )
modifyDigitizerPhase2Hcal_ = eras.phase2_hcal.makeProcessModifier( _modifyDigitizerPhase2Hcal )


15 changes: 4 additions & 11 deletions Configuration/StandardSequences/python/Eras.py
Expand Up @@ -25,14 +25,10 @@ def __init__(self):

# Phase 2 sub-eras for stable features
self.phase2_common = cms.Modifier()
self.phase2_hcal = cms.Modifier()
self.phase2_tracker = cms.Modifier()
self.phase2_hgcal = cms.Modifier()
self.phase2_muon = cms.Modifier()
# Phase 2 sub-eras for in-development features
self.phase2dev_common = cms.Modifier()
self.phase2dev_tracker = cms.Modifier()
self.phase2dev_hgcal = cms.Modifier()
self.phase2dev_muon = cms.Modifier()

# These eras are used to specify the tracking configuration
# when it should differ from the default (which is Run2). This
Expand Down Expand Up @@ -65,10 +61,8 @@ def __init__(self):
# Run3 includes the GE1/1 upgrade
self.Run3 = cms.ModifierChain( self.Run2_2017,self.run3_GEM )
# Phase2 is everything for the 2023 (2026?) detector that works so far in this release.
# include phase 1 stuff until phase 2 tracking is fully defined....
self.Phase2 = cms.ModifierChain( self.phase2_common, self.phase2_tracker, self.trackingPhase2PU140, self.phase2_hgcal, self.phase2_muon, self.run3_GEM )
# Phase2dev is everything for the 2023 (2026?) detector that is still in development.
self.Phase2dev = cms.ModifierChain( self.Phase2, self.phase2dev_common, self.phase2dev_tracker, self.phase2dev_hgcal, self.phase2dev_muon )
self.Phase2LReco = cms.ModifierChain( self.phase2_common, self.phase2_hcal, self.phase2_tracker, self.trackingPhase2PU140, self.phase2_hgcal, self.phase2_muon, self.run3_GEM )
self.Phase2GReco = cms.ModifierChain( self.phase2_common, self.phase2_tracker, self.trackingPhase2PU140, self.phase2_muon, self.run3_GEM ) # run 2 calorimeters

# Scenarios with low-PU tracking (for B=0T reconstruction)
self.Run2_2016_trackingLowPU = cms.ModifierChain(self.Run2_2016, self.trackingLowPU)
Expand All @@ -89,8 +83,7 @@ def __init__(self):
self.phase1Pixel, self.run3_GEM,
self.phase2_common, self.phase2_tracker,
self.phase2_hgcal, self.phase2_muon,
self.phase2dev_common, self.phase2dev_tracker,
self.phase2dev_hgcal, self.phase2dev_muon,
self.phase2_hcal,
self.trackingLowPU, self.trackingPhase1, self.trackingPhase1PU70,
]

Expand Down
2 changes: 1 addition & 1 deletion Configuration/StandardSequences/python/GeometryConf.py
Expand Up @@ -31,5 +31,5 @@
'Extended2023sim' : 'Extended2023sim,Extended2023simReco',
'Extended2023tilted' : 'Extended2023tilted,Extended2023tiltedReco',
'Extended2023LReco' : 'Extended2023sim,Extended2023simReco',
'Extended2023GReco' : 'Extended2023sim,Extended2023simReco'
'Extended2023GReco' : 'Extended2023GReco,Extended2023GRecoReco'
}
2 changes: 1 addition & 1 deletion Configuration/StandardSequences/python/RawToDigi_cff.py
Expand Up @@ -80,7 +80,7 @@
totemRPRawToDigi.rawDataTag = cms.InputTag("rawDataCollector")

# until we have hcal raw data for phase 2...
eras.phase2_common.toReplaceWith(RawToDigi, RawToDigi.copyAndExclude([hcalDigis]))
eras.phase2_hcal.toReplaceWith(RawToDigi, RawToDigi.copyAndExclude([hcalDigis]))


# Remove siPixelDigis until we have phase1 pixel digis
Expand Down

0 comments on commit ac7b913

Please sign in to comment.