Skip to content

Commit

Permalink
Remove dependece on Eras.py from tracking
Browse files Browse the repository at this point in the history
  • Loading branch information
makortel committed Oct 4, 2016
1 parent 2c4e9d6 commit 6ed0fa9
Show file tree
Hide file tree
Showing 15 changed files with 99 additions and 117 deletions.
3 changes: 2 additions & 1 deletion Configuration/StandardSequences/python/Validation_cff.py
Expand Up @@ -48,7 +48,8 @@
_validation_fastsim = validation.copy()
for _entry in [globaldigisanalyze,globalhitsanalyze,globalrechitsanalyze]:
_validation_fastsim.remove(_entry)
eras.fastSim.toReplaceWith(validation,_validation_fastsim)
from Configuration.Eras.Modifier_fastSim_cff import fastSim
fastSim.toReplaceWith(validation,_validation_fastsim)

validationLiteTracking = cms.Sequence( validation )
validationLiteTracking.replace(globalValidation,globalValidationLiteTracking)
Expand Down
Expand Up @@ -136,8 +136,7 @@
clusterBin ['jetCoreRegionalStep'] = cms.int32(500)
clusterMax ['jetCoreRegionalStep'] = cms.double(100000)

for era in _cfg.allEras():
pf = _cfg.postfix(era)
locals()["selectedIterTrackingStep"+pf] = _cfg.iterationAlgos(era)
for _eraName, _postfix, _era in _cfg.allEras():
locals()["selectedIterTrackingStep"+_postfix] = _cfg.iterationAlgos(_postfix)
#selectedIterTrackingStep.append('muonSeededStepOutInDisplaced')

Expand Up @@ -313,15 +313,14 @@
label = 'TrackerCollisionSelectedTrackMonCommon' + str(tracks)
TrackingDQMSourceTier0 += locals()[label]
# seeding monitoring
for era in _cfg.allEras():
postfix = _cfg.postfix(era)
for _eraName, _postfix, _era in _cfg.allEras():
_seq = cms.Sequence()
for step in locals()["selectedIterTrackingStep"+postfix]:
for step in locals()["selectedIterTrackingStep"+_postfix]:
_seq += locals()["TrackSeedMon"+step]
if era == "":
if _eraName == "":
locals()["TrackSeedMonSequence"] = _seq
else:
getattr(eras, era).toReplaceWith(TrackSeedMonSequence, _seq)
_era.toReplaceWith(TrackSeedMonSequence, _seq)
TrackingDQMSourceTier0 += TrackSeedMonSequence
# MessageLog
for module in selectedModules :
Expand Down
5 changes: 2 additions & 3 deletions RecoTracker/IterativeTracking/python/DetachedQuadStep_cff.py
@@ -1,5 +1,4 @@
import FWCore.ParameterSet.Config as cms
from Configuration.StandardSequences.Eras import eras
import RecoTracker.IterativeTracking.iterativeTkConfig as _cfg

###############################################
Expand All @@ -8,8 +7,8 @@

# REMOVE HITS ASSIGNED TO GOOD TRACKS FROM PREVIOUS ITERATIONS
detachedQuadStepClusters = _cfg.clusterRemoverForIter("DetachedQuadStep")
for era in _cfg.nonDefaultEras():
getattr(eras, era).toReplaceWith(detachedQuadStepClusters, _cfg.clusterRemoverForIter("DetachedQuadStep", era))
for _eraName, _postfix, _era in _cfg.nonDefaultEras():
_era.toReplaceWith(detachedQuadStepClusters, _cfg.clusterRemoverForIter("DetachedQuadStep", _eraName, _postfix))

# SEEDING LAYERS
import RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi
Expand Down
@@ -1,5 +1,4 @@
import FWCore.ParameterSet.Config as cms
from Configuration.StandardSequences.Eras import eras
from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff import tracker_apv_vfp30_2016 as _tracker_apv_vfp30_2016
import RecoTracker.IterativeTracking.iterativeTkConfig as _cfg

Expand All @@ -9,8 +8,8 @@

# REMOVE HITS ASSIGNED TO GOOD TRACKS FROM PREVIOUS ITERATIONS
detachedTripletStepClusters = _cfg.clusterRemoverForIter("DetachedTripletStep")
for era in _cfg.nonDefaultEras():
getattr(eras, era).toReplaceWith(detachedTripletStepClusters, _cfg.clusterRemoverForIter("DetachedTripletStep", era))
for _eraName, _postfix, _era in _cfg.nonDefaultEras():
_era.toReplaceWith(detachedTripletStepClusters, _cfg.clusterRemoverForIter("DetachedTripletStep", _eraName, _postfix))

# SEEDING LAYERS
import RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi
Expand Down
5 changes: 2 additions & 3 deletions RecoTracker/IterativeTracking/python/HighPtTripletStep_cff.py
@@ -1,13 +1,12 @@
import FWCore.ParameterSet.Config as cms
from Configuration.StandardSequences.Eras import eras
import RecoTracker.IterativeTracking.iterativeTkConfig as _cfg

### high-pT triplets ###

# NEW CLUSTERS (remove previously used clusters)
highPtTripletStepClusters = _cfg.clusterRemoverForIter("HighPtTripletStep")
for era in _cfg.nonDefaultEras():
getattr(eras, era).toReplaceWith(highPtTripletStepClusters, _cfg.clusterRemoverForIter("HighPtTripletStep", era))
for _eraName, _postfix, _era in _cfg.nonDefaultEras():
_era.toReplaceWith(highPtTripletStepClusters, _cfg.clusterRemoverForIter("HighPtTripletStep", _eraName, _postfix))


# SEEDING LAYERS
Expand Down
5 changes: 2 additions & 3 deletions RecoTracker/IterativeTracking/python/LowPtQuadStep_cff.py
@@ -1,11 +1,10 @@
import FWCore.ParameterSet.Config as cms
from Configuration.StandardSequences.Eras import eras
import RecoTracker.IterativeTracking.iterativeTkConfig as _cfg

# NEW CLUSTERS (remove previously used clusters)
lowPtQuadStepClusters = _cfg.clusterRemoverForIter("LowPtQuadStep")
for era in _cfg.nonDefaultEras():
getattr(eras, era).toReplaceWith(lowPtQuadStepClusters, _cfg.clusterRemoverForIter("LowPtQuadStep", era))
for _eraName, _postfix, _era in _cfg.nonDefaultEras():
_era.toReplaceWith(lowPtQuadStepClusters, _cfg.clusterRemoverForIter("LowPtQuadStep", _eraName, _postfix))


# SEEDING LAYERS
Expand Down
5 changes: 2 additions & 3 deletions RecoTracker/IterativeTracking/python/LowPtTripletStep_cff.py
@@ -1,12 +1,11 @@
import FWCore.ParameterSet.Config as cms
from Configuration.StandardSequences.Eras import eras
from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff import tracker_apv_vfp30_2016 as _tracker_apv_vfp30_2016
import RecoTracker.IterativeTracking.iterativeTkConfig as _cfg

# NEW CLUSTERS (remove previously used clusters)
lowPtTripletStepClusters = _cfg.clusterRemoverForIter("LowPtTripletStep")
for era in _cfg.nonDefaultEras():
getattr(eras, era).toReplaceWith(lowPtTripletStepClusters, _cfg.clusterRemoverForIter("LowPtTripletStep", era))
for _eraName, _postfix, _era in _cfg.nonDefaultEras():
_era.toReplaceWith(lowPtTripletStepClusters, _cfg.clusterRemoverForIter("LowPtTripletStep", _eraName, _postfix))

# SEEDING LAYERS
import RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi
Expand Down
5 changes: 2 additions & 3 deletions RecoTracker/IterativeTracking/python/MixedTripletStep_cff.py
@@ -1,5 +1,4 @@
import FWCore.ParameterSet.Config as cms
from Configuration.StandardSequences.Eras import eras
import RecoTracker.IterativeTracking.iterativeTkConfig as _cfg

###############################################################
Expand All @@ -17,8 +16,8 @@
mixedTripletStepClusters = _cfg.clusterRemoverForIter("MixedTripletStep")
chargeCut2069Clusters.oldClusterRemovalInfo = mixedTripletStepClusters.oldClusterRemovalInfo.value()
mixedTripletStepClusters.oldClusterRemovalInfo = "chargeCut2069Clusters"
for era in _cfg.nonDefaultEras():
getattr(eras, era).toReplaceWith(mixedTripletStepClusters, _cfg.clusterRemoverForIter("MixedTripletStep", era))
for _eraName, _postfix, _era in _cfg.nonDefaultEras():
_era.toReplaceWith(mixedTripletStepClusters, _cfg.clusterRemoverForIter("MixedTripletStep", _eraName, _postfix))
from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
trackingPhase1.toModify(chargeCut2069Clusters, oldClusterRemovalInfo = mixedTripletStepClusters.oldClusterRemovalInfo.value())
trackingPhase1.toModify(mixedTripletStepClusters, oldClusterRemovalInfo="chargeCut2069Clusters")
Expand Down
5 changes: 2 additions & 3 deletions RecoTracker/IterativeTracking/python/PixelLessStep_cff.py
@@ -1,14 +1,13 @@
import FWCore.ParameterSet.Config as cms
from Configuration.StandardSequences.Eras import eras
import RecoTracker.IterativeTracking.iterativeTkConfig as _cfg

##########################################################################
# Large impact parameter tracking using TIB/TID/TEC stereo layer seeding #
##########################################################################

pixelLessStepClusters = _cfg.clusterRemoverForIter("PixelLessStep")
for era in _cfg.nonDefaultEras():
getattr(eras, era).toReplaceWith(pixelLessStepClusters, _cfg.clusterRemoverForIter("PixelLessStep", era))
for _eraName, _postfix, _era in _cfg.nonDefaultEras():
_era.toReplaceWith(pixelLessStepClusters, _cfg.clusterRemoverForIter("PixelLessStep", _eraName, _postfix))

# SEEDING LAYERS
from RecoLocalTracker.SiStripClusterizer.SiStripClusterChargeCut_cfi import *
Expand Down
4 changes: 2 additions & 2 deletions RecoTracker/IterativeTracking/python/PixelPairStep_cff.py
Expand Up @@ -5,8 +5,8 @@

# NEW CLUSTERS (remove previously used clusters)
pixelPairStepClusters = _cfg.clusterRemoverForIter("PixelPairStep")
for era in _cfg.nonDefaultEras():
getattr(eras, era).toReplaceWith(pixelPairStepClusters, _cfg.clusterRemoverForIter("PixelPairStep", era))
for _eraName, _postfix, _era in _cfg.nonDefaultEras():
_era.toReplaceWith(pixelPairStepClusters, _cfg.clusterRemoverForIter("PixelPairStep", _eraName, _postfix))


# SEEDING LAYERS
Expand Down
5 changes: 2 additions & 3 deletions RecoTracker/IterativeTracking/python/TobTecStep_cff.py
@@ -1,14 +1,13 @@
import FWCore.ParameterSet.Config as cms
from Configuration.StandardSequences.Eras import eras
import RecoTracker.IterativeTracking.iterativeTkConfig as _cfg

#######################################################################
# Very large impact parameter tracking using TOB + TEC ring 5 seeding #
#######################################################################

tobTecStepClusters = _cfg.clusterRemoverForIter("TobTecStep")
for era in _cfg.nonDefaultEras():
getattr(eras, era).toReplaceWith(tobTecStepClusters, _cfg.clusterRemoverForIter("TobTecStep", era))
for _eraName, _postfix, _era in _cfg.nonDefaultEras():
_era.toReplaceWith(tobTecStepClusters, _cfg.clusterRemoverForIter("TobTecStep", _eraName, _postfix))

# TRIPLET SEEDING LAYERS
from RecoLocalTracker.SiStripClusterizer.SiStripClusterChargeCut_cfi import *
Expand Down
59 changes: 31 additions & 28 deletions RecoTracker/IterativeTracking/python/iterativeTkConfig.py
Expand Up @@ -3,10 +3,19 @@
# InitialStepPreSplitting is not counted as an iteration.
import FWCore.ParameterSet.Config as cms

_defaultEra = ""
_nonDefaultEras = ["trackingLowPU", "trackingPhase1", "trackingPhase1PU70", "trackingPhase2PU140"]
_defaultEraName = ""
_nonDefaultEraNames = ["trackingLowPU", "trackingPhase1", "trackingPhase1PU70", "trackingPhase2PU140"]

# name, postfix, era
_defaultEra = (_defaultEraName, "", None)
_nonDefaultEras = [
(_name, "_"+_name, getattr(__import__('Configuration.Eras.Modifier_'+_name+'_cff',globals(),locals(),[_name],0),_name)) \
for _name in _nonDefaultEraNames
]

_allEras = [_defaultEra] + _nonDefaultEras


_iterations = [
"InitialStep",
"DetachedTripletStep",
Expand Down Expand Up @@ -103,9 +112,6 @@
minNumberOfLayersWithMeasBeforeFiltering = 0,
)

def postfix(era):
return "_"+era if era != _defaultEra else era

def _modulePrefix(iteration):
return iteration[0].lower()+iteration[1:]

Expand All @@ -131,23 +137,21 @@ def allEras():
def nonDefaultEras():
return _nonDefaultEras

def createEarlySequence(era, modDict):
pf = postfix(era)
def createEarlySequence(eraName, postfix, modDict):
seq = cms.Sequence()
for it in globals()["_iterations"+pf]:
for it in globals()["_iterations"+postfix]:
seq += modDict[it]
return seq

def iterationAlgos(era):
muonVariable = "_iterations_muonSeeded"+postfix(era)
return [_modulePrefix(i) for i in globals()["_iterations"+postfix(era)] + globals().get(muonVariable, _iterations_muonSeeded)]
def iterationAlgos(postfix):
muonVariable = "_iterations_muonSeeded"+postfix
return [_modulePrefix(i) for i in globals()["_iterations"+postfix] + globals().get(muonVariable, _iterations_muonSeeded)]

def _seedOrTrackProducers(era, typ):
def _seedOrTrackProducers(postfix, typ):
ret = []
pf = postfix(era)
iters = globals()["_iterations"+pf]
iters = globals()["_iterations"+postfix]
if typ == "Seeds":
multipleSeedProducers = globals()["_multipleSeedProducers"+pf]
multipleSeedProducers = globals()["_multipleSeedProducers"+postfix]
else:
multipleSeedProducers = None
for i in iters:
Expand All @@ -157,42 +161,41 @@ def _seedOrTrackProducers(era, typ):
else:
ret.append(seeder)

for i in globals().get("_iterations_muonSeeded"+postfix(era), _iterations_muonSeeded):
for i in globals().get("_iterations_muonSeeded"+postfix, _iterations_muonSeeded):
ret.append(_modulePrefix(i).replace("Step", typ))

return ret

def seedProducers(era):
return _seedOrTrackProducers(era, "Seeds")
def seedProducers(postfix):
return _seedOrTrackProducers(postfix, "Seeds")

def trackProducers(era):
return _seedOrTrackProducers(era, "Tracks")
def trackProducers(postfix):
return _seedOrTrackProducers(postfix, "Tracks")

def clusterRemoverForIter(iteration, era="", module=None):
def clusterRemoverForIter(iteration, eraName="", postfix="", module=None):
if module is None:
module = _trackClusterRemoverBase.clone()
if era == "trackingPhase2PU140":
module = globals().get("_trackClusterRemoverBase"+postfix(era), _trackClusterRemoverBase)
if eraName == "trackingPhase2PU140":
module = globals().get("_trackClusterRemoverBase"+postfix, _trackClusterRemoverBase)

pf = postfix(era)
iters = globals()["_iterations"+pf]
iters = globals()["_iterations"+postfix]
try:
ind = iters.index(iteration)
except ValueError:
# if the iteration is not active in era, just return the same
return module

if ind == 0:
raise Exception("Iteration %s is the first iteration in era %s, asking cluster remover configuration does not make sense" % (iteration, era))
raise Exception("Iteration %s is the first iteration in era %s, asking cluster remover configuration does not make sense" % (iteration, eraName))
prevIter = iters[ind-1]

customize = dict(
trajectories = _tracks(prevIter),
oldClusterRemovalInfo = _clusterRemover(prevIter) if ind >= 2 else "", # 1st iteration does not have cluster remover
)
if era in ["trackingPhase1PU70", "trackingPhase2PU140"]:
if eraName in ["trackingPhase1PU70", "trackingPhase2PU140"]:
customize["overrideTrkQuals"] = _classifier(prevIter, oldStyle=True) # old-style selector
elif era == "trackingLowPU":
elif eraName == "trackingLowPU":
customize["overrideTrkQuals"] = _classifier(prevIter, oldStyle=True, oldStyleQualityMasks=True) # old-style selector with 'QualityMasks' instance label
else:
customize["trackClassifier"] = _classifier(prevIter)
Expand Down
6 changes: 3 additions & 3 deletions RecoTracker/IterativeTracking/python/iterativeTk_cff.py
Expand Up @@ -25,9 +25,9 @@

import RecoTracker.IterativeTracking.iterativeTkConfig as _cfg

iterTrackingEarly = _cfg.createEarlySequence("", globals())
for _era in _cfg.nonDefaultEras():
getattr(eras, _era).toReplaceWith(iterTrackingEarly, _cfg.createEarlySequence(_era, globals()))
iterTrackingEarly = _cfg.createEarlySequence("", "", globals())
for _eraName, _postfix, _era in _cfg.nonDefaultEras():
_era.toReplaceWith(iterTrackingEarly, _cfg.createEarlySequence(_eraName, _postfix, globals()))

iterTracking = cms.Sequence(InitialStepPreSplitting*
iterTrackingEarly*
Expand Down

0 comments on commit 6ed0fa9

Please sign in to comment.