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

Phase1 (2015 + Pixel Phase1) Workflow up to Reco #7625

Closed
wants to merge 2 commits into from
Closed
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
6 changes: 3 additions & 3 deletions Configuration/PyReleaseValidation/python/relval_steps.py
Original file line number Diff line number Diff line change
Expand Up @@ -1357,11 +1357,11 @@ def genvalid(fragment,d,suffix='all',fi='',dataSet=''):
}
if cust!=None : upgradeStepDict['DigiTrkTrigFull'][k]['--customise']=cust

upgradeStepDict['RecoFull'][k] = {'-s':'RAW2DIGI,L1Reco,RECO,VALIDATION,DQM',
upgradeStepDict['RecoFull'][k] = {'-s':'RAW2DIGI,L1Reco,RECO',
'--conditions':gt,
'--datatier':'GEN-SIM-RECO,DQMIO',
'--datatier':'GEN-SIM-RECO',
'-n':'10',
'--eventcontent':'FEVTDEBUGHLT,DQM',
'--eventcontent':'FEVTDEBUGHLT',
'--magField' : '38T_PostLS1',
'--geometry' : geom
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
'Extended2023HGCalMuon4Eta' : 'Extended2023HGCalMuon4Eta,Extended2023HGCalMuon4EtaReco',
'Extended2023HGCalV4' : 'Extended2023HGCalV4Muon,Extended2023HGCalV4MuonReco'
}
upgradeGTs={ '2017' : 'auto:upgrade2017',
upgradeGTs={ '2017' : 'DESRUN2_74_V1',
'2019' : 'auto:upgrade2019',
'2019WithGEM' : 'auto:upgrade2019',
'2017Aging' : 'W17_300_62E2::All',
Expand Down
10 changes: 3 additions & 7 deletions Geometry/CMSCommonData/python/cmsExtendedGeometry2017XML_cfi.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
'Geometry/CMSCommonData/data/extend/cmsextent.xml',
'Geometry/CMSCommonData/data/PhaseI/cms.xml',
'Geometry/CMSCommonData/data/cmsMother.xml',
'Geometry/CMSCommonData/data/eta3/etaMax.xml',
'Geometry/CMSCommonData/data/cmsTracker.xml',
'Geometry/CMSCommonData/data/caloBase.xml',
'Geometry/CMSCommonData/data/cmsCalo.xml',
Expand Down Expand Up @@ -207,21 +206,18 @@
'Geometry/EcalCommonData/data/eecon.xml',
'Geometry/EcalCommonData/data/eefixed.xml',
'Geometry/EcalCommonData/data/eehier.xml',
'Geometry/EcalCommonData/data/ectkcable.xml',
'Geometry/EcalCommonData/data/eealgo.xml',
'Geometry/EcalCommonData/data/escon.xml',
'Geometry/EcalCommonData/data/esalgo.xml',
'Geometry/EcalCommonData/data/eeF.xml',
'Geometry/EcalCommonData/data/eeB.xml',
'Geometry/HcalCommonData/data/hcalrotations.xml',
'Geometry/HcalCommonData/data/PhaseI/hcalalgo.xml',
'Geometry/HcalCommonData/data/hcalalgo.xml',
Copy link
Contributor

Choose a reason for hiding this comment

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

@boudoul - I think, it's a wrong HCAL for 2017.

'Geometry/HcalCommonData/data/hcalbarrelalgo.xml',
'Geometry/HcalCommonData/data/PhaseI/hcalendcapalgo.xml',
'Geometry/HcalCommonData/data/hcalendcapalgo.xml',
'Geometry/HcalCommonData/data/hcalouteralgo.xml',
'Geometry/HcalCommonData/data/hcalforwardalgo.xml',
'Geometry/HcalCommonData/data/average/hcalforwardmaterial.xml',
'Geometry/HcalCommonData/data/Phase0/hcalSimNumbering.xml',
'Geometry/HcalCommonData/data/Phase0/hcalRecNumbering.xml',
'Geometry/MuonCommonData/data/v1/mbCommon.xml',
'Geometry/MuonCommonData/data/v1/mb1.xml',
'Geometry/MuonCommonData/data/v1/mb2.xml',
Expand Down Expand Up @@ -254,7 +250,7 @@
'Geometry/TrackerSimData/data/PhaseI/trackersens.xml',
'Geometry/TrackerRecoData/data/PhaseI/trackerRecoMaterial.xml',
'Geometry/EcalSimData/data/ecalsens.xml',
'Geometry/HcalCommonData/data/Phase0/hcalsenspmf.xml',
'Geometry/HcalCommonData/data/hcalsenspmf.xml',
'Geometry/HcalSimData/data/hf.xml',
'Geometry/HcalSimData/data/hfpmt.xml',
'Geometry/HcalSimData/data/hffibrebundle.xml',
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

125 changes: 84 additions & 41 deletions SLHCUpgradeSimulations/Configuration/python/phase1TkCustoms.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ def customise(process):
if hasattr(process,'dqmHarvesting'):
process=customise_harvesting(process)
if hasattr(process,'validation_step'):
process=customise_Validation(process,float(n))
process=customise_Validation(process)
process=customise_condOverRides(process)

return process
Expand Down Expand Up @@ -69,16 +69,8 @@ def customise_Digi(process):
# DQM steps change
def customise_DQM(process,pileup):
# We cut down the number of iterative tracking steps
# process.dqmoffline_step.remove(process.TrackMonStep3)
# process.dqmoffline_step.remove(process.TrackMonStep4)
# process.dqmoffline_step.remove(process.TrackMonStep5)
# process.dqmoffline_step.remove(process.TrackMonStep6)
#
process.dqmoffline_step.remove(process.muonAnalyzer)
process.dqmoffline_step.remove(process.jetMETAnalyzer)
# process.dqmoffline_step.remove(process.TrackMonStep9)
# process.dqmoffline_step.remove(process.TrackMonStep10)
# process.dqmoffline_step.remove(process.PixelTrackingRecHitsValid)
#process.dqmoffline_step.remove(process.jetMETAnalyzer)

#put isUpgrade flag==true
process.SiPixelRawDataErrorSource.isUpgrade = cms.untracked.bool(True)
Expand All @@ -97,43 +89,56 @@ def customise_DQM(process,pileup):
process=customise_trackMon_IterativeTracking_PHASE1PU70(process)
return process

def customise_Validation(process,pileup):
def customise_Validation(process):
process.validation_step.remove(process.PixelTrackingRecHitsValid)
# We don't run the HLT
process.validation_step.remove(process.HLTSusyExoVal)
process.validation_step.remove(process.hltHiggsValidator)
process.validation_step.remove(process.relvalMuonBits)
if pileup>30:
process.trackValidator.label=cms.VInputTag(cms.InputTag("cutsRecoTracksHp"))
process.tracksValidationSelectors = cms.Sequence(process.cutsRecoTracksHp)
process.globalValidation.remove(process.recoMuonValidation)
process.validation.remove(process.recoMuonValidation)
process.validation_preprod.remove(process.recoMuonValidation)
process.validation_step.remove(process.recoMuonValidation)
process.validation.remove(process.globalrechitsanalyze)
process.validation_prod.remove(process.globalrechitsanalyze)
process.validation_step.remove(process.globalrechitsanalyze)
process.validation.remove(process.stripRecHitsValid)
process.validation_step.remove(process.stripRecHitsValid)
process.validation_step.remove(process.StripTrackingRecHitsValid)
process.globalValidation.remove(process.vertexValidation)
process.validation.remove(process.vertexValidation)
process.validation_step.remove(process.vertexValidation)
process.mix.input.nbPileupEvents.averageNumber = cms.double(0.0)
process.mix.minBunch = cms.int32(0)
process.mix.maxBunch = cms.int32(0)
return process

def customise_Validation_Trackingonly(process):

#To allow Tracking to perform special tracking only validation
process.trackValidator.label=cms.VInputTag(cms.InputTag("cutsRecoTracksHp"))
process.tracksValidationSelectors = cms.Sequence(process.cutsRecoTracksHp)
process.globalValidation.remove(process.recoMuonValidation)
process.validation.remove(process.recoMuonValidation)
process.validation_preprod.remove(process.recoMuonValidation)
process.validation_step.remove(process.recoMuonValidation)
process.validation.remove(process.globalrechitsanalyze)
process.validation_prod.remove(process.globalrechitsanalyze)
process.validation_step.remove(process.globalrechitsanalyze)
process.validation.remove(process.stripRecHitsValid)
process.validation_step.remove(process.stripRecHitsValid)
process.validation_step.remove(process.StripTrackingRecHitsValid)
process.globalValidation.remove(process.vertexValidation)
process.validation.remove(process.vertexValidation)
process.validation_step.remove(process.vertexValidation)
process.mix.input.nbPileupEvents.averageNumber = cms.double(0.0)
process.mix.minBunch = cms.int32(0)
process.mix.maxBunch = cms.int32(0)
return process

def customise_harvesting(process):
process.dqmHarvesting.remove(process.jetMETDQMOfflineClient)
process.dqmHarvesting.remove(process.dataCertificationJetMET)
###process.dqmHarvesting.remove(process.sipixelEDAClient)
#######process.dqmHarvesting.remove(process.sipixelEDAClient)
process.sipixelEDAClient.isUpgrade = cms.untracked.bool(True)
process.dqmHarvesting.remove(process.sipixelCertification)
return (process)

def customise_condOverRides(process):
# process.load('SLHCUpgradeSimulations.Geometry.fakeConditions_Phase1_R30F12_cff')
# process.trackerTopologyConstants.pxb_layerStartBit = cms.uint32(20)
# process.trackerTopologyConstants.pxb_ladderStartBit = cms.uint32(12)
# process.trackerTopologyConstants.pxb_moduleStartBit = cms.uint32(2)
# process.trackerTopologyConstants.pxb_layerMask = cms.uint32(15)
# process.trackerTopologyConstants.pxb_ladderMask = cms.uint32(255)
# process.trackerTopologyConstants.pxb_moduleMask = cms.uint32(1023)
# process.trackerTopologyConstants.pxf_diskStartBit = cms.uint32(18)
# process.trackerTopologyConstants.pxf_bladeStartBit = cms.uint32(12)
# process.trackerTopologyConstants.pxf_panelStartBit = cms.uint32(10)
# process.trackerTopologyConstants.pxf_moduleMask = cms.uint32(255)
return process

def add_detailed_pixel_dqm(process):
Expand Down Expand Up @@ -194,6 +199,45 @@ def customise_Reco(process,pileup):
process.globalreco.remove(process.iterTracking)
process.globalreco.remove(process.electronSeedsSeq)
process.reconstruction_fromRECO.remove(process.trackingGlobalReco)
process.reconstruction_fromRECO.remove(process.electronSeedsSeq)
process.reconstruction_fromRECO.remove(process.initialStepSeeds)
process.reconstruction_fromRECO.remove(process.initialStepSelector)
process.reconstruction_fromRECO.remove(initialStepTrackCandidates)
process.reconstruction_fromRECO.remove(initialStepTracks)
process.reconstruction_fromRECO.remove(lowPtTripletStepClusters)
process.reconstruction_fromRECO.remove(lowPtTripletStepSeedLayers)
process.reconstruction_fromRECO.remove(lowPtTripletStepSeeds)
process.reconstruction_fromRECO.remove(lowPtTripletStepSelector)
process.reconstruction_fromRECO.remove(lowPtTripletStepTrackCandidates)
process.reconstruction_fromRECO.remove(lowPtTripletStepTracks)

process.reconstruction_fromRECO.remove(mixedTripletStep)
process.reconstruction_fromRECO.remove(mixedTripletStepClusters)
process.reconstruction_fromRECO.remove(mixedTripletStepSeedLayersA)
process.reconstruction_fromRECO.remove(mixedTripletStepSeedLayersB)
process.reconstruction_fromRECO.remove(mixedTripletStepSeeds)
process.reconstruction_fromRECO.remove(mixedTripletStepSeedsA)
process.reconstruction_fromRECO.remove(mixedTripletStepSeedsB)
process.reconstruction_fromRECO.remove(mixedTripletStepSelector)
process.reconstruction_fromRECO.remove(mixedTripletStepTrackCandidates)
process.reconstruction_fromRECO.remove(mixedTripletStepTracks)

process.reconstruction_fromRECO.remove(pixelPairStepClusters)
process.reconstruction_fromRECO.remove(pixelPairStepSeeds)
process.reconstruction_fromRECO.remove(pixelPairStepSeedLayers)
process.reconstruction_fromRECO.remove(pixelPairStepSelector)
process.reconstruction_fromRECO.remove(pixelPairStepTrackCandidates)
process.reconstruction_fromRECO.remove(pixelPairStepTracks)

process.reconstruction_fromRECO.remove(tobTecStepClusters)
process.reconstruction_fromRECO.remove(tobTecStepSeeds)
#process.reconstruction_fromRECO.remove(tobTecStepSeedLayers)
process.reconstruction_fromRECO.remove(tobTecStepSelector)
process.reconstruction_fromRECO.remove(tobTecStepTrackCandidates)
process.reconstruction_fromRECO.remove(tobTecStepTracks)

process.InitialStepPreSplitting.remove(siPixelClusters)

del process.iterTracking
del process.ckftracks
del process.ckftracks_woBH
Expand Down Expand Up @@ -222,16 +266,15 @@ def customise_Reco(process,pileup):

process.reconstruction.remove(process.castorreco)
process.reconstruction.remove(process.CastorTowerReco)
process.reconstruction.remove(process.ak7CastorJets)
process.reconstruction.remove(process.ak7CastorJetID)
#process.reconstruction.remove(process.ak7BasicJets)
#process.reconstruction.remove(process.ak7CastorJetID)

#the quadruplet merger configuration
# from this PSet the quadruplet merger uses only the layer list so these could probably be removed
from RecoPixelVertexing.PixelTriplets.quadrupletseedmerging_cff import PixelSeedMergerQuadruplets
PixelSeedMergerQuadruplets.BPix.TTRHBuilder = cms.string("PixelTTRHBuilderWithoutAngle" )
PixelSeedMergerQuadruplets.BPix.HitProducer = cms.string("siPixelRecHits" )
PixelSeedMergerQuadruplets.FPix.TTRHBuilder = cms.string("PixelTTRHBuilderWithoutAngle" )
PixelSeedMergerQuadruplets.FPix.HitProducer = cms.string("siPixelRecHits" )
process.load("RecoPixelVertexing.PixelTriplets.quadrupletseedmerging_cff")
process.PixelSeedMergerQuadruplets.BPix.TTRHBuilder = cms.string("PixelTTRHBuilderWithoutAngle" )
process.PixelSeedMergerQuadruplets.BPix.HitProducer = cms.string("siPixelRecHits" )
process.PixelSeedMergerQuadruplets.FPix.TTRHBuilder = cms.string("PixelTTRHBuilderWithoutAngle" )
process.PixelSeedMergerQuadruplets.FPix.HitProducer = cms.string("siPixelRecHits" )
Copy link
Contributor

Choose a reason for hiding this comment

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

@boudoul I think this piece should be left as it was (but see below). The configuration of seeding layers was changed in 71X (#2378), and although at the time I didn't test any upgrade workflows, I'm quite confident that the existing configuration would work (or I would like to see the error message before "fixing" them).

The comment ("# from this PSet...") could actually be removed (being misleading), because the modifications do affect these parameters for e.g. initialStepSeeds (something what I didn't realize back then).

On the other hand, it could be more clear (or consistent) to add the PixelSeedMergerQuadruplets PSet to process, and then access it via the refToPSet_ mechanism (as we already do for e.g. trajectory filter and builder configurations). Then the diff above would be fine, and we should change all layerList = PixelSeedMergerQuadruplets to layerList = cms.PSet(refToPSet_ = cms.string("PixelSeedMergerQuadruplets")).


# Need these until pixel templates are used
process.load("SLHCUpgradeSimulations.Geometry.recoFromSimDigis_cff")
Expand All @@ -257,7 +300,7 @@ def customise_Reco(process,pileup):

# Make pixelTracks use quadruplets
process.pixelTracks.SeedMergerPSet = cms.PSet(
layerList = PixelSeedMergerQuadruplets,
layerListName = cms.string('PixelSeedMergerQuadruplets'),
Copy link
Contributor

Choose a reason for hiding this comment

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

@boudoul (see the comment above) This should be kept as it was, or changed to layerList = cms.PSet(refToPSet_ = cms.string("PixelSeedMergerQuadruplets")).

addRemainingTriplets = cms.bool(False),
mergeTriplets = cms.bool(True),
ttrhBuilderLabel = cms.string('PixelTTRHBuilderWithoutAngle')
Expand Down
Loading