Skip to content

Commit

Permalink
Merge pull request #13988 from makortel/migrateCustomiseForRunIToEra_81x
Browse files Browse the repository at this point in the history
Migrate customiseForRunI to era (81X)
  • Loading branch information
davidlange6 committed Apr 22, 2016
2 parents 7e4bacb + 164d8a1 commit c572228
Show file tree
Hide file tree
Showing 23 changed files with 690 additions and 55 deletions.
6 changes: 5 additions & 1 deletion Configuration/StandardSequences/python/Eras.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ def __init__(self):
# phase1Pixel detector.
self.trackingPhase1 = cms.Modifier()
self.trackingPhase1PU70 = cms.Modifier()
self.trackingLowPU = cms.Modifier()

# This era should not be set by the user with the "--era" command, it's
# activated automatically if the "--fast" command is used.
Expand All @@ -64,6 +65,9 @@ def __init__(self):
# 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 )

# Scenarios with low-PU tracking (for B=0T reconstruction)
self.Run2_2016_trackingLowPU = cms.ModifierChain(self.Run2_2016, self.trackingLowPU)

# 2017 scenarios with customized tracking for expert use
# Will be used as reference points for 2017 tracking development
self.Run2_2017_trackingPhase1PU70 = cms.ModifierChain( self.Run2_2016, self.phase1Pixel, self.trackingPhase1PU70 )
Expand All @@ -82,7 +86,7 @@ def __init__(self):
self.phase2_hgcal, self.phase2_muon,
self.phase2dev_common, self.phase2dev_tracker,
self.phase2dev_hgcal, self.phase2dev_muon,
self.trackingPhase1, self.trackingPhase1PU70,
self.trackingLowPU, self.trackingPhase1, self.trackingPhase1PU70,
]

eras=Eras()
7 changes: 4 additions & 3 deletions Configuration/StandardSequences/python/Reconstruction_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,10 @@
standalonemuontracking*
trackingGlobalReco*
vertexreco)
_globalreco_tracking_Phase1PU70 = globalreco_tracking.copy()
_globalreco_tracking_Phase1PU70.replace(trackingGlobalReco, recopixelvertexing+trackingGlobalReco)
eras.trackingPhase1PU70.toReplaceWith(globalreco_tracking, _globalreco_tracking_Phase1PU70)
_globalreco_tracking_LowPU_Phase1PU70 = globalreco_tracking.copy()
_globalreco_tracking_LowPU_Phase1PU70.replace(trackingGlobalReco, recopixelvertexing+trackingGlobalReco)
eras.trackingLowPU.toReplaceWith(globalreco_tracking, _globalreco_tracking_LowPU_Phase1PU70)
eras.trackingPhase1PU70.toReplaceWith(globalreco_tracking, _globalreco_tracking_LowPU_Phase1PU70)

globalreco = cms.Sequence(globalreco_tracking*
hcalGlobalRecoSequence*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import FWCore.ParameterSet.Config as cms
from Configuration.StandardSequences.Eras import eras

### load which are the tracks collection 2 be monitored
from DQM.TrackingMonitorSource.TrackCollections2monitor_cff import *
Expand Down Expand Up @@ -174,6 +175,7 @@
for step in selectedIterTrackingStep :
label = 'TrackSeedMon'+str(step)
TrackingDQMSourceTier0 += locals()[label]
eras.trackingLowPU.toReplaceWith(TrackingDQMSourceTier0, TrackingDQMSourceTier0.copyAndExclude([TrackSeedMonjetCoreRegionalStep]))
# MessageLog
for module in selectedModules :
label = str(module)+'LogMessageMonCommon'
Expand All @@ -194,6 +196,7 @@
for step in selectedIterTrackingStep :
label = 'TrackSeedMon'+str(step)
TrackingDQMSourceTier0Common += locals()[label]
eras.trackingLowPU.toReplaceWith(TrackingDQMSourceTier0Common, TrackingDQMSourceTier0Common.copyAndExclude([TrackSeedMonjetCoreRegionalStep]))
# MessageLog
for module in selectedModules :
label = str(module)+'LogMessageMonCommon'
Expand All @@ -215,6 +218,7 @@
for step in selectedIterTrackingStep :
label = 'TrackSeedMon'+str(step)
TrackingDQMSourceTier0MinBias += locals()[label]
eras.trackingLowPU.toReplaceWith(TrackingDQMSourceTier0MinBias, TrackingDQMSourceTier0MinBias.copyAndExclude([TrackSeedMonjetCoreRegionalStep]))
# MessageLog
for module in selectedModules :
label = str(module)+'LogMessageMonMB'
Expand Down
3 changes: 3 additions & 0 deletions RecoJets/JetProducers/python/caloJetsForTrk_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
from RecoLocalCalo.CaloTowersCreator.calotowermaker_cfi import calotowermaker
caloTowerForTrk = calotowermaker.clone(hbheInput=cms.InputTag('hbheprereco'))
ak4CaloJetsForTrk = ak4CaloJets.clone(srcPVs = cms.InputTag('firstStepPrimaryVertices'), src= cms.InputTag('caloTowerForTrk'))
eras.trackingLowPU.toModify(ak4CaloJetsForTrk,
srcPVs = "pixelVertices"
)
eras.trackingPhase1PU70.toModify(ak4CaloJetsForTrk,
srcPVs = "pixelVertices"
)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import FWCore.ParameterSet.Config as cms
from Configuration.StandardSequences.Eras import eras

SiStripClusterChargeCutNone = cms.PSet(
value = cms.double(-1.0)
Expand All @@ -16,3 +17,5 @@
value = cms.double(1945.0)
)

eras.trackingLowPU.toReplaceWith(SiStripClusterChargeCutLoose, SiStripClusterChargeCutTiny)
eras.trackingLowPU.toReplaceWith(SiStripClusterChargeCutTight, SiStripClusterChargeCutTiny)
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,12 @@
from RecoVertex.PrimaryVertexProducer.OfflinePixel3DPrimaryVertices_cfi import *
recopixelvertexing = cms.Sequence(PixelLayerTriplets*pixelTracks*pixelVertices)

# For Phase1PU70
# For LowPU and Phase1PU70
PixelLayerTripletsPreSplitting = PixelLayerTriplets.clone(
BPix = dict(HitProducer = "siPixelRecHitsPreSplitting"),
FPix = dict(HitProducer = "siPixelRecHitsPreSplitting"),
)
_recopixelvertexing_Phase1PU70 = recopixelvertexing.copy()
_recopixelvertexing_Phase1PU70.replace(PixelLayerTriplets, PixelLayerTripletsPreSplitting)
eras.trackingPhase1PU70.toReplaceWith(recopixelvertexing, _recopixelvertexing_Phase1PU70)
_recopixelvertexing_LowPU_Phase1PU70 = recopixelvertexing.copy()
_recopixelvertexing_LowPU_Phase1PU70.replace(PixelLayerTriplets, PixelLayerTripletsPreSplitting)
eras.trackingLowPU.toReplaceWith(recopixelvertexing, _recopixelvertexing_LowPU_Phase1PU70)
eras.trackingPhase1PU70.toReplaceWith(recopixelvertexing, _recopixelvertexing_LowPU_Phase1PU70)
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,11 @@
)
)

_OrderedHitsFactoryPSet_LowPU_Phase1PU70 = dict(
SeedingLayers = "PixelLayerTripletsPreSplitting",
GeneratorPSet = dict(SeedComparitorPSet = dict(clusterShapeCacheSrc = "siPixelClusterShapeCachePreSplitting"))
)
eras.trackingLowPU.toModify(PixelTrackReconstructionBlock, OrderedHitsFactoryPSet = _OrderedHitsFactoryPSet_LowPU_Phase1PU70)
eras.trackingPhase1PU70.toModify(PixelTrackReconstructionBlock,
SeedMergerPSet = cms.PSet(
layerList = cms.PSet(refToPSet_ = cms.string('PixelSeedMergerQuadruplets')),
Expand All @@ -48,8 +53,5 @@
tipMax = 0.05
),
RegionFactoryPSet = dict(RegionPSet = dict(originRadius = 0.02)),
OrderedHitsFactoryPSet = dict(
SeedingLayers = "PixelLayerTripletsPreSplitting",
GeneratorPSet = dict(SeedComparitorPSet = dict(clusterShapeCacheSrc = "siPixelClusterShapeCachePreSplitting"))
),
OrderedHitsFactoryPSet = _OrderedHitsFactoryPSet_LowPU_Phase1PU70,
)
Original file line number Diff line number Diff line change
Expand Up @@ -315,6 +315,7 @@
photonConvTrajSeedFromSingleLeg.primaryVerticesTag = cms.InputTag('firstStepPrimaryVertices')
#photonConvTrajSeedFromQuadruplets.TrackRefitter = cms.InputTag('generalTracks')
#photonConvTrajSeedFromQuadruplets.primaryVerticesTag = cms.InputTag('pixelVertices')
eras.trackingLowPU.toModify(photonConvTrajSeedFromSingleLeg, primaryVerticesTag = "pixelVertices")
eras.trackingPhase1PU70.toModify(photonConvTrajSeedFromSingleLeg, primaryVerticesTag = "pixelVertices")

# TRACKER DATA CONTROL
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,14 @@
TTRHBuilder = cms.string('WithTrackAngle')
)
)
eras.trackingLowPU.toModify(photonConvTrajSeedFromSingleLeg,
OrderedHitsFactoryPSet = dict(maxElement = 10000),
ClusterCheckPSet = dict(
MaxNumberOfCosmicClusters = 150000,
MaxNumberOfPixelClusters = 20000,
cut = "strip < 150000 && pixel < 20000 && (strip < 20000 + 7* pixel)"
)
)
eras.trackingPhase1PU70.toModify(photonConvTrajSeedFromSingleLeg,
ClusterCheckPSet = dict(
MaxNumberOfCosmicClusters = 1000000,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
from Configuration.StandardSequences.Eras import eras
from RecoTracker.FinalTrackSelectors.TrackCutClassifier_cfi import *
eras.trackingLowPU.toModify(TrackCutClassifier,
vertices = "pixelVertices"
)
eras.trackingPhase1PU70.toModify(TrackCutClassifier,
vertices = "pixelVertices"
)
20 changes: 20 additions & 0 deletions RecoTracker/FinalTrackSelectors/python/earlyGeneralTracks_cfi.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,26 @@
"pixelLessStep",
"tobTecStep"
]
eras.trackingLowPU.toModify(earlyGeneralTracks,
trackProducers = [
'initialStepTracks',
'lowPtTripletStepTracks',
'pixelPairStepTracks',
'detachedTripletStepTracks',
'mixedTripletStepTracks',
'pixelLessStepTracks',
'tobTecStepTracks'
],
inputClassifiers = [
"initialStepSelector",
"lowPtTripletStepSelector",
"pixelPairStepSelector",
"detachedTripletStep",
"mixedTripletStep",
"pixelLessStepSelector",
"tobTecStep"
]
)
eras.trackingPhase1.toModify(
earlyGeneralTracks,
trackProducers = [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,9 @@
tightMTS,
highpurityMTS)
)
eras.trackingLowPU.toModify(multiTrackSelector,
vertices = "pixelVertices"
)
eras.trackingPhase1PU70.toModify(multiTrackSelector,
vertices = "pixelVertices"
)
127 changes: 122 additions & 5 deletions RecoTracker/IterativeTracking/python/DetachedTripletStep_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,24 @@

# REMOVE HITS ASSIGNED TO GOOD TRACKS FROM PREVIOUS ITERATIONS

from RecoLocalTracker.SubCollectionProducers.trackClusterRemover_cfi import *
detachedTripletStepClusters = trackClusterRemover.clone(
from RecoLocalTracker.SubCollectionProducers.trackClusterRemover_cfi import trackClusterRemover as _trackClusterRemover
_detachedTripletStepClustersBase = _trackClusterRemover.clone(
maxChi2 = cms.double(9.0),
trajectories = cms.InputTag("initialStepTracks"),
pixelClusters = cms.InputTag("siPixelClusters"),
stripClusters = cms.InputTag("siStripClusters"),
oldClusterRemovalInfo = cms.InputTag(""),
trackClassifier = cms.InputTag('initialStep',"QualityMasks"),
TrackQuality = cms.string('highPurity'),
minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
)
detachedTripletStepClusters = _detachedTripletStepClustersBase.clone(
trackClassifier = cms.InputTag('initialStep',"QualityMasks"),
)
eras.trackingLowPU.toReplaceWith(detachedTripletStepClusters, _detachedTripletStepClustersBase.clone(
trajectories = "pixelPairStepTracks",
oldClusterRemovalInfo = "pixelPairStepClusters",
overrideTrkQuals = "pixelPairStepSelector:QualityMasks",
))
eras.trackingPhase1.toModify(detachedTripletStepClusters,
trajectories = "detachedQuadStepTracks",
oldClusterRemovalInfo = "detachedQuadStepClusters",
Expand Down Expand Up @@ -71,14 +78,20 @@

# QUALITY CUTS DURING TRACK BUILDING
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff
detachedTripletStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
_detachedTripletStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
# maxLostHitsFraction = cms.double(1./10.),
# constantValueForLostHitsFractionFilter = cms.double(0.701),
minimumNumberOfHits = 3,
minPt = 0.075,
)
detachedTripletStepTrajectoryFilterBase = _detachedTripletStepTrajectoryFilterBase.clone(
maxCCCLostHits = 2,
minGoodStripCharge = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutLoose'))
)
)
eras.trackingLowPU.toReplaceWith(detachedTripletStepTrajectoryFilterBase, _detachedTripletStepTrajectoryFilterBase.clone(
maxLostHitsFraction = 1./10.,
constantValueForLostHitsFractionFilter = 0.701,
))
import RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi
detachedTripletStepTrajectoryFilterShape = RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi.StripSubClusterShapeTrajectoryFilterTIX12.clone()
detachedTripletStepTrajectoryFilter = cms.PSet(
Expand Down Expand Up @@ -109,6 +122,10 @@
maxDPhiForLooperReconstruction = cms.double(2.0),
maxPtForLooperReconstruction = cms.double(0.7)
)
eras.trackingLowPU.toModify(detachedTripletStepTrajectoryBuilder,
maxCand = 2,
alwaysUseInvalidHits = False,
)

# MAKING OF TRACK CANDIDATES
import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
Expand All @@ -130,6 +147,7 @@
allowSharedFirstHit = cms.bool(True)
)
detachedTripletStepTrackCandidates.TrajectoryCleaner = 'detachedTripletStepTrajectoryCleanerBySharedHits'
eras.trackingLowPU.toModify(detachedTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.19)


# TRACK FITTING
Expand Down Expand Up @@ -158,6 +176,102 @@
detachedTripletStep = ClassifierMerger.clone()
detachedTripletStep.inputClassifiers=['detachedTripletStepClassifier1','detachedTripletStepClassifier2']

# For LowPU
import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
detachedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
src = 'detachedTripletStepTracks',
useAnyMVA = cms.bool(False),
GBRForestLabel = cms.string('MVASelectorIter3'),
trackSelectors = [
RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
name = 'detachedTripletStepVtxLoose',
chi2n_par = 1.6,
res_par = ( 0.003, 0.001 ),
minNumberLayers = 3,
d0_par1 = ( 1.2, 3.0 ),
dz_par1 = ( 1.2, 3.0 ),
d0_par2 = ( 1.3, 3.0 ),
dz_par2 = ( 1.3, 3.0 )
),
RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
name = 'detachedTripletStepTrkLoose',
chi2n_par = 0.7,
res_par = ( 0.003, 0.001 ),
minNumberLayers = 3,
d0_par1 = ( 1.6, 4.0 ),
dz_par1 = ( 1.6, 4.0 ),
d0_par2 = ( 1.6, 4.0 ),
dz_par2 = ( 1.6, 4.0 )
),
RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
name = 'detachedTripletStepVtxTight',
preFilterName = 'detachedTripletStepVtxLoose',
chi2n_par = 0.7,
res_par = ( 0.003, 0.001 ),
minNumberLayers = 3,
maxNumberLostLayers = 1,
minNumber3DLayers = 3,
d0_par1 = ( 0.95, 3.0 ),
dz_par1 = ( 0.9, 3.0 ),
d0_par2 = ( 1.0, 3.0 ),
dz_par2 = ( 1.0, 3.0 )
),
RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
name = 'detachedTripletStepTrkTight',
preFilterName = 'detachedTripletStepTrkLoose',
chi2n_par = 0.5,
res_par = ( 0.003, 0.001 ),
minNumberLayers = 5,
maxNumberLostLayers = 1,
minNumber3DLayers = 3,
d0_par1 = ( 1.1, 4.0 ),
dz_par1 = ( 1.1, 4.0 ),
d0_par2 = ( 1.1, 4.0 ),
dz_par2 = ( 1.1, 4.0 )
),
RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
name = 'detachedTripletStepVtx',
preFilterName = 'detachedTripletStepVtxTight',
chi2n_par = 0.7,
res_par = ( 0.003, 0.001 ),
minNumberLayers = 3,
maxNumberLostLayers = 1,
minNumber3DLayers = 3,
d0_par1 = ( 0.85, 3.0 ),
dz_par1 = ( 0.8, 3.0 ),
d0_par2 = ( 0.9, 3.0 ),
dz_par2 = ( 0.9, 3.0 )
),
RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
name = 'detachedTripletStepTrk',
preFilterName = 'detachedTripletStepTrkTight',
chi2n_par = 0.4,
res_par = ( 0.003, 0.001 ),
minNumberLayers = 5,
maxNumberLostLayers = 1,
minNumber3DLayers = 4,
d0_par1 = ( 1.0, 4.0 ),
dz_par1 = ( 1.0, 4.0 ),
d0_par2 = ( 1.0, 4.0 ),
dz_par2 = ( 1.0, 4.0 )
)
] #end of vpset
) #end of clone

import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
eras.trackingLowPU.toReplaceWith(detachedTripletStep, RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
TrackProducers = [
'detachedTripletStepTracks',
'detachedTripletStepTracks',
],
hasSelector = [1,1],
selectedTrackQuals = [
cms.InputTag("detachedTripletStepSelector","detachedTripletStepVtx"),
cms.InputTag("detachedTripletStepSelector","detachedTripletStepTrk")
],
setsToMerge = [cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(True) )],
writeOnlyTrkQuals =True
))

DetachedTripletStep = cms.Sequence(detachedTripletStepClusters*
detachedTripletStepSeedLayers*
Expand All @@ -166,3 +280,6 @@
detachedTripletStepTracks*
detachedTripletStepClassifier1*detachedTripletStepClassifier2*
detachedTripletStep)
_DetachedTripletStep_LowPU = DetachedTripletStep.copyAndExclude([detachedTripletStepClassifier2])
_DetachedTripletStep_LowPU.replace(detachedTripletStepClassifier1, detachedTripletStepSelector)
eras.trackingLowPU.toReplaceWith(DetachedTripletStep, _DetachedTripletStep_LowPU)
Loading

0 comments on commit c572228

Please sign in to comment.