1 import FWCore.ParameterSet.Config
as cms
7 from Validation.RecoTrack.trajectorySeedTracks_cfi
import trajectorySeedTracks
as _trajectorySeedTracks
11 import cutsRecoTracks_cfi
15 from CommonTools.RecoAlgos.trackingParticleRefSelector_cfi
import trackingParticleRefSelector
as _trackingParticleRefSelector
16 from CommonTools.RecoAlgos.trackingParticleConversionRefSelector_cfi
import trackingParticleConversionRefSelector
as _trackingParticleConversionRefSelector
17 from SimTracker.TrackHistory.trackingParticleBHadronRefSelector_cfi
import trackingParticleBHadronRefSelector
as _trackingParticleBHadronRefSelector
19 from CommonTools.RecoAlgos.recoChargedRefCandidateToTrackRefProducer_cfi
import recoChargedRefCandidateToTrackRefProducer
as _recoChargedRefCandidateToTrackRefProducer
21 import RecoTracker.IterativeTracking.iterativeTkConfig
as _cfg
22 import RecoTracker.IterativeTracking.iterativeTkUtils
as _utils
23 from Configuration.Eras.Modifier_fastSim_cff
import fastSim
27 for _eraName, _postfix, _era
in _cfg.allEras():
28 _seedProd = [
"initialStepSeedsPreSplitting"]
29 _trackProd = [
"initialStepTracksPreSplitting"]
30 if _eraName
in [
"trackingLowPU",
"trackingPhase2PU140"]:
34 locals()[
"_algos"+_postfix] = [
"generalTracks"] + _cfg.iterationAlgos(_postfix) + [
"duplicateMerge"]
35 locals()[
"_seedProducers"+_postfix] = _seedProd + _cfg.seedProducers(_postfix)
36 locals()[
"_trackProducers"+_postfix] = _trackProd + _cfg.trackProducers(_postfix)
38 _removeForFastSimSeedProducers =[
"initialStepSeedsPreSplitting",
39 "jetCoreRegionalStepSeeds",
40 "muonSeededSeedsInOut",
41 "muonSeededSeedsOutIn"]
42 _seedProducers_fastSim = [ x
for x
in _seedProducers
if x
not in _removeForFastSimSeedProducers]
44 _removeForFastTrackProducers = [
"initialStepTracksPreSplitting",
45 "jetCoreRegionalStepTracks",
46 "muonSeededTracksInOut",
47 "muonSeededTracksOutIn"]
48 _trackProducers_fastSim = [ x
for x
in _trackProducers
if x
not in _removeForFastTrackProducers]
52 if algo !=
"generalTracks":
53 sel = algo[0].
upper()+algo[1:]
54 return "cutsRecoTracks"+sel
60 if algo ==
"generalTracks":
63 if modName
not in modDict:
64 mod = cutsRecoTracks_cfi.cutsRecoTracks.clone(algorithm=[algo])
65 modDict[modName] = mod
67 mod = modDict[modName]
76 modNameHp = modName+
"Hp" 77 if modNameHp
not in modDict:
78 if algo ==
"generalTracks":
79 mod = cutsRecoTracks_cfi.cutsRecoTracks.clone(quality=[
"highPurity"])
81 mod = modDict[modName].
clone(quality=[
"highPurity"])
82 modDict[modNameHp] = mod
84 mod = modDict[modNameHp]
85 names.append(modNameHp)
91 for modName
in modules:
92 modNameNew = modName.replace(
"cutsRecoTracks",
"cutsRecoTracks"+midfix)
93 if modNameNew
not in modDict:
94 mod = modDict[modName].
clone(src=src)
95 modDict[modNameNew] = mod
97 mod = modDict[modNameNew]
98 names.append(modNameNew)
104 for modName
in modules:
105 if modName[-2:] ==
"Hp":
106 modNameNew = modName[:-2] + midfix +
"Hp" 108 modNameNew = modName + midfix
109 if modNameNew
not in modDict:
110 mod = modDict[modName].
clone()
111 setattr(mod, algoParam, mod.algorithm.value())
113 modDict[modNameNew] = mod
115 mod = modDict[modNameNew]
116 names.append(modNameNew)
122 for seed
in seedProducers:
123 modName =
"seedTracks"+seed
124 if modName
not in modDict:
125 mod = _trajectorySeedTracks.clone(src=seed)
126 modDict[modName] = mod
128 mod = modDict[modName]
129 names.append(modName)
133 _relevantEras = _cfg.allEras()
134 _relevantErasAndFastSim = _relevantEras + [(
"fastSim",
"_fastSim", fastSim)]
138 if isinstance(arg, list):
141 ret.append(modDict[arg+postfix])
143 def _sequenceForEachEra(function, args, names, sequence, modDict, plainArgs=[], modifySequence=None, includeFastSim=False):
144 if sequence[0] !=
"_":
145 raise Exception(
"Sequence name is expected to begin with _")
147 _eras = _relevantErasAndFastSim
if includeFastSim
else _relevantEras
148 for eraName, postfix, _era
in _eras:
150 _args.extend(plainArgs)
151 ret =
function(*_args, modDict=modDict)
153 raise Exception(
"_sequenceForEachEra is expected to return 2 values, but function returned %d" % len(ret))
154 modDict[names+postfix] = ret[0]
155 modDict[sequence+postfix] = ret[1]
158 defaultSequenceName = sequence+_eras[0][0]
159 defaultSequence = modDict[defaultSequenceName]
160 modDict[defaultSequenceName[1:]] = defaultSequence
163 if modifySequence
is not None:
164 for eraName, postfix, _era
in _eras:
168 for _eraName, _postfix, _era
in _eras[1:]:
169 _era.toReplaceWith(defaultSequence, modDict[sequence+_postfix])
172 for key, value
in kwargs.iteritems():
173 setattr(module, key, value)
175 era.toModify(module, **kwargs)
181 def _findSeedingLayers(name):
182 prod = getattr(_iterativeTk_cff, name)
183 if hasattr(prod,
"triplets"):
184 if hasattr(prod,
"layerList"):
185 return prod.layerList.refToPSet_.value()
186 return _findSeedingLayers(prod.triplets.getModuleLabel())
187 elif hasattr(prod,
"doublets"):
188 return _findSeedingLayers(prod.doublets.getModuleLabel())
189 return prod.seedingLayers.getModuleLabel()
191 seedingLayersMerged = []
192 for seedName
in seedProducers:
193 seedProd = getattr(_iterativeTk_cff, seedName)
194 if hasattr(seedProd,
"OrderedHitsFactoryPSet"):
195 if hasattr(seedProd,
"SeedMergerPSet"):
196 seedingLayersName = seedProd.SeedMergerPSet.layerList.refToPSet_.value()
198 seedingLayersName = seedProd.OrderedHitsFactoryPSet.SeedingLayers.getModuleLabel()
199 elif hasattr(seedProd,
"seedingHitSets"):
200 seedingLayersName = _findSeedingLayers(seedProd.seedingHitSets.getModuleLabel())
204 seedingLayers = getattr(_iterativeTk_cff, seedingLayersName).layerList.value()
205 for layerSet
in seedingLayers:
206 if layerSet
not in seedingLayersMerged:
207 seedingLayersMerged.append(layerSet)
208 return seedingLayersMerged
209 for _eraName, _postfix, _era
in _relevantEras:
210 locals()[
"_seedingLayerSets"+_postfix] =
_getSeedingLayers(locals()[
"_seedProducers"+_postfix])
214 mvaSel = _utils.getMVASelectors(postfix)
216 pset = cms.untracked.PSet()
217 for iteration, (trackProducer, classifiers)
in mvaSel.iteritems():
218 setattr(pset, trackProducer, cms.untracked.vstring(classifiers))
220 for _eraName, _postfix, _era
in _relevantEras:
224 _sequenceForEachEra(_addSelectorsByAlgo, args=[
"_algos"], names=
"_selectorsByAlgo", sequence=
"_tracksValidationSelectorsByAlgo", modDict=globals())
227 _sequenceForEachEra(_addSelectorsByHp, args=[
"_algos"], names=
"_selectorsByAlgoHp", sequence=
"_tracksValidationSelectorsByAlgoHp", modDict=globals())
229 for _eraName, _postfix, _era
in _relevantEras:
230 selectors = locals()[
"_selectorsByAlgoHp"+_postfix]
231 locals()[
"_generalTracksHp"+_postfix] = selectors[0]
232 locals()[
"_selectorsByAlgoHp"+_postfix] = selectors[1:]
235 import PhysicsTools.RecoAlgos.btvTracks_cfi
as btvTracks_cfi
236 cutsRecoTracksBtvLike = btvTracks_cfi.btvTrackRefs.clone()
240 ak4JetTracksAssociatorExplicitAll = ak4JTA_cff.ak4JetTracksAssociatorExplicit.clone(
244 import CommonTools.RecoAlgos.jetTracksAssociationToTrackRefs_cfi
as jetTracksAssociationToTrackRefs_cfi
245 cutsRecoTracksAK4PFJets = jetTracksAssociationToTrackRefs_cfi.jetTracksAssociationToTrackRefs.clone(
246 association =
"ak4JetTracksAssociatorExplicitAll",
253 trackingParticlesSignal = _trackingParticleRefSelector.clone(
264 generalTracksPt09 = cutsRecoTracks_cfi.cutsRecoTracks.clone(ptMin=0.9)
267 args=[[
"_generalTracksHp"]],
268 plainArgs=[
"Pt09",
"generalTracksPt09"],
269 names=
"_selectorsPt09", sequence=
"_tracksValidationSelectorsPt09",
270 modifySequence=
lambda seq:seq.insert(0, generalTracksPt09))
274 generalTracksFromPV = _trackWithVertexRefSelector.clone(
275 src =
"generalTracks",
280 vertexTag =
"offlinePrimaryVertices",
288 args=[[
"_generalTracksHp"]],
289 plainArgs=[
"FromPV",
"generalTracksFromPV"],
290 names=
"_selectorsFromPV", sequence=
"_tracksValidationSelectorsFromPV",
291 modifySequence=
lambda seq: seq.insert(0, generalTracksFromPV))
294 generalTracksFromPVPt09 = generalTracksPt09.clone(src=
"generalTracksFromPV")
297 args=[[
"_generalTracksHp"]],
298 plainArgs=[
"FromPVPt09",
"generalTracksFromPVPt09"],
299 names=
"_selectorsFromPVPt09", sequence=
"_tracksValidationSelectorsFromPVPt09",
300 modifySequence=
lambda seq: seq.insert(0, generalTracksFromPVPt09))
303 trackingParticlesConversion = _trackingParticleConversionRefSelector.clone()
306 trackingParticlesElectron = _trackingParticleRefSelector.clone(
317 trackingParticlesBHadron = _trackingParticleBHadronRefSelector.clone()
320 trackValidator = Validation.RecoTrack.MultiTrackValidator_cfi.multiTrackValidator.clone(
321 useLogPt = cms.untracked.bool(
True),
323 doPVAssociationPlots =
True 328 fastSim.toModify(trackValidator,
331 for _eraName, _postfix, _era
in _relevantEras:
333 label = [
"generalTracks", locals()[
"_generalTracksHp"+_postfix]] +
334 locals()[
"_selectorsByAlgo"+_postfix] + locals()[
"_selectorsByAlgoHp"+_postfix] +
335 [
"generalTracksPt09"] + locals()[
"_selectorsPt09"+_postfix] +
337 "cutsRecoTracksBtvLike",
338 "cutsRecoTracksAK4PFJets" 341 _setForEra(trackValidator.histoProducerAlgoBlock, _eraName, _era, seedingLayerSets=locals()[
"_seedingLayerSets"+_postfix])
345 trackValidatorFromPV = trackValidator.clone(
346 dirName =
"Tracking/TrackFromPV/",
347 label_tp_effic =
"trackingParticlesSignal",
348 label_tp_fake =
"trackingParticlesSignal",
349 label_tp_effic_refvector =
True,
350 label_tp_fake_refvector =
True,
351 trackCollectionForDrCalculation =
"generalTracksFromPV",
352 doPlotsOnlyForTruePV =
True,
353 doPVAssociationPlots =
False,
355 for _eraName, _postfix, _era
in _relevantEras:
356 _setForEra(trackValidatorFromPV, _eraName, _era, label = [
"generalTracksFromPV"] + locals()[
"_selectorsFromPV"+_postfix] + [
"generalTracksFromPVPt09"] + locals()[
"_selectorsFromPVPt09"+_postfix])
360 trackValidatorFromPVAllTP = trackValidatorFromPV.clone(
361 dirName =
"Tracking/TrackFromPVAllTP/",
362 label_tp_effic = trackValidator.label_tp_effic.value(),
363 label_tp_fake = trackValidator.label_tp_fake.value(),
364 label_tp_effic_refvector =
False,
365 label_tp_fake_refvector =
False,
367 doSimTrackPlots =
False,
371 trackValidatorAllTPEffic = trackValidator.clone(
372 dirName =
"Tracking/TrackAllTPEffic/",
373 label = [x
for x
in trackValidator.label.value()
if "Pt09" not in x],
375 doRecoTrackPlots =
True,
376 doPVAssociationPlots =
False,
378 trackValidatorAllTPEffic.histoProducerAlgoBlock.generalTpSelector.signalOnly =
False 379 trackValidatorAllTPEffic.histoProducerAlgoBlock.TpSelectorForEfficiencyVsEta.signalOnly =
False 380 trackValidatorAllTPEffic.histoProducerAlgoBlock.TpSelectorForEfficiencyVsPhi.signalOnly =
False 381 trackValidatorAllTPEffic.histoProducerAlgoBlock.TpSelectorForEfficiencyVsPt.signalOnly =
False 382 trackValidatorAllTPEffic.histoProducerAlgoBlock.TpSelectorForEfficiencyVsVTXR.signalOnly =
False 383 trackValidatorAllTPEffic.histoProducerAlgoBlock.TpSelectorForEfficiencyVsVTXZ.signalOnly =
False 384 for _eraName, _postfix, _era
in _relevantEras:
385 _setForEra(trackValidatorAllTPEffic, _eraName, _era, label = [
"generalTracks", locals()[
"_generalTracksHp"+_postfix]])
388 trackValidatorConversion = trackValidator.clone(
389 dirName =
"Tracking/TrackConversion/",
392 "conversionStepTracks",
393 "ckfInOutTracksFromConversions",
394 "ckfOutInTracksFromConversions",
396 label_tp_effic =
"trackingParticlesConversion",
397 label_tp_effic_refvector =
True,
398 associators = [
"quickTrackAssociatorByHits"],
399 UseAssociators =
True,
402 doPVAssociationPlots =
False,
403 calculateDrSingleCollection =
False,
406 for n
in [
"Eta",
"Phi",
"Pt",
"VTXR",
"VTXZ"]:
407 pset = getattr(trackValidatorConversion.histoProducerAlgoBlock,
"TpSelectorForEfficiencyVs"+n)
408 pset.lip = trackValidatorConversion.lipTP.value()
409 pset.tip = trackValidatorConversion.tipTP.value()
412 trackValidatorGsfTracks = trackValidatorConversion.clone(
413 dirName =
"Tracking/TrackGsf/",
414 label = [
"electronGsfTracks"],
415 label_tp_effic =
"trackingParticlesElectron",
419 trackValidatorBHadron = trackValidator.clone(
420 dirName =
"Tracking/TrackBHadron/",
421 label_tp_effic =
"trackingParticlesBHadron",
422 label_tp_effic_refvector =
True,
424 doRecoTrackPlots =
False,
427 for _eraName, _postfix, _era
in _relevantEras:
428 _setForEra(trackValidatorBHadron, _eraName, _era,
429 label = [
"generalTracks", locals()[
"_generalTracksHp"+_postfix],
"cutsRecoTracksBtvLike"]
434 tracksValidationSelectors = cms.Sequence(
435 tracksValidationSelectorsByAlgo +
436 tracksValidationSelectorsByAlgoHp +
437 cutsRecoTracksBtvLike +
438 ak4JetTracksAssociatorExplicitAll +
439 cutsRecoTracksAK4PFJets
441 tracksValidationTruth = cms.Sequence(
443 quickTrackAssociatorByHits +
444 trackingParticleRecoTrackAsssociation +
445 VertexAssociatorByPositionAndTracks +
446 trackingParticleNumberOfLayersProducer
448 fastSim.toModify(tracksValidationTruth,
lambda x: x.remove(tpClusterProducer))
450 tracksPreValidation = cms.Sequence(
451 tracksValidationSelectors +
452 tracksValidationSelectorsPt09 +
453 tracksValidationSelectorsFromPV +
454 tracksValidationSelectorsFromPVPt09 +
455 tracksValidationTruth +
456 cms.ignore(trackingParticlesSignal) +
457 cms.ignore(trackingParticlesElectron) +
458 trackingParticlesConversion
460 fastSim.toReplaceWith(tracksPreValidation, tracksPreValidation.copyAndExclude([
461 trackingParticlesElectron,
462 trackingParticlesConversion,
465 tracksValidation = cms.Sequence(
466 tracksPreValidation +
468 trackValidatorFromPV +
469 trackValidatorFromPVAllTP +
470 trackValidatorAllTPEffic +
471 trackValidatorConversion +
472 trackValidatorGsfTracks
474 fastSim.toReplaceWith(tracksValidation, tracksValidation.copyAndExclude([
475 trackValidatorConversion,
476 trackValidatorGsfTracks,
482 for _eraName, _postfix, _era
in _relevantEras:
483 locals()[
"_selectorsByAlgoAndHp"+_postfix] = locals()[
"_selectorsByAlgo"+_postfix] + locals()[
"_selectorsByAlgoHp"+_postfix]
485 args = [
"_selectorsByAlgoAndHp"], plainArgs = [
"ByOriginalAlgo",
"originalAlgorithm"],
486 names =
"_selectorsByOriginalAlgo", sequence =
"_tracksValidationSelectorsByOriginalAlgoStandalone")
488 args = [
"_selectorsByAlgoAndHp"], plainArgs = [
"ByAlgoMask",
"algorithmMaskContains"],
489 names =
"_selectorsByAlgoMask", sequence =
"_tracksValidationSelectorsByAlgoMaskStandalone")
493 args = [
"_selectorsByAlgoAndHp"], plainArgs = [
"Pt09",
"generalTracksPt09"],
494 names =
"_selectorsPt09Standalone", sequence =
"_tracksValidationSelectorsPt09Standalone")
498 args = [
"_selectorsByAlgoAndHp"], plainArgs = [
"FromPV",
"generalTracksFromPV"],
499 names =
"_selectorsFromPVStandalone", sequence =
"_tracksValidationSelectorsFromPVStandalone")
503 args = [
"_selectorsByAlgoAndHp"], plainArgs = [
"FromPVPt09",
"generalTracksFromPVPt09"],
504 names =
"_selectorsFromPVPt09Standalone", sequence =
"_tracksValidationSelectorsFromPVPt09Standalone")
507 trackValidatorStandalone = trackValidator.clone()
508 for _eraName, _postfix, _era
in _relevantEras:
509 _setForEra(trackValidatorStandalone, _eraName, _era, label = trackValidator.label + locals()[
"_selectorsByOriginalAlgo"+_postfix] + locals()[
"_selectorsByAlgoMask"+_postfix] + locals()[
"_selectorsPt09Standalone"+_postfix])
511 trackValidatorFromPVStandalone = trackValidatorFromPV.clone()
512 for _eraName, _postfix, _era
in _relevantEras:
513 _setForEra(trackValidatorFromPVStandalone, _eraName, _era, label = trackValidatorFromPV.label + locals()[
"_selectorsFromPVStandalone"+_postfix] + locals()[
"_selectorsFromPVPt09Standalone"+_postfix])
515 trackValidatorFromPVAllTPStandalone = trackValidatorFromPVAllTP.clone(
516 label = trackValidatorFromPVStandalone.label.value()
518 trackValidatorAllTPEfficStandalone = trackValidatorAllTPEffic.clone(
519 label = [ x
for x
in trackValidator.label.value()
if x
not in [
"cutsRecoTracksBtvLike",
"cutsRecoTracksAK4PFJets"]
and "Pt09" not in x]
522 trackValidatorConversionStandalone = trackValidatorConversion.clone( label = [x
for x
in trackValidatorConversion.label
if x !=
"convStepTracks"])
524 trackValidatorBHadronStandalone = trackValidatorBHadron.clone(label = [x
for x
in trackValidatorStandalone.label
if "Pt09" not in x])
527 tracksPreValidationStandalone = tracksPreValidation.copy()
528 tracksPreValidationStandalone += trackingParticlesBHadron
529 fastSim.toReplaceWith(tracksPreValidationStandalone, tracksPreValidation)
531 tracksValidationSelectorsStandalone = cms.Sequence(
532 tracksValidationSelectorsByOriginalAlgoStandalone +
533 tracksValidationSelectorsByAlgoMaskStandalone +
534 tracksValidationSelectorsPt09Standalone +
535 tracksValidationSelectorsFromPVStandalone +
536 tracksValidationSelectorsFromPVPt09Standalone
541 _trackValidatorsBase = cms.Sequence(
542 trackValidatorStandalone +
543 trackValidatorFromPVStandalone +
544 trackValidatorFromPVAllTPStandalone +
545 trackValidatorAllTPEfficStandalone +
546 trackValidatorConversionStandalone +
547 trackValidatorGsfTracks +
548 trackValidatorBHadronStandalone
550 trackValidatorsStandalone = _trackValidatorsBase.copy()
551 fastSim.toModify(trackValidatorsStandalone,
lambda x: x.remove(trackValidatorConversionStandalone) )
553 tracksValidationStandalone = cms.Sequence(
554 ak4PFL1FastL2L3CorrectorChain +
555 tracksPreValidationStandalone +
556 tracksValidationSelectorsStandalone +
557 trackValidatorsStandalone
563 tracksValidationSelectorsTrackingOnly = tracksValidationSelectors.copyAndExclude([ak4JetTracksAssociatorExplicitAll,cutsRecoTracksAK4PFJets])
564 _sequenceForEachEra(_addSeedToTrackProducers, args=[
"_seedProducers"], names=
"_seedSelectors", sequence=
"_tracksValidationSeedSelectorsTrackingOnly", includeFastSim=
True, modDict=globals())
567 trackValidatorTrackingOnly = trackValidatorStandalone.clone(label = [ x
for x
in trackValidatorStandalone.label
if x !=
"cutsRecoTracksAK4PFJets"] )
569 _trackValidatorSeedingBuildingTrackingOnly = trackValidatorTrackingOnly.clone(
570 associators = [
"quickTrackAssociatorByHits"],
571 UseAssociators =
True,
573 doPVAssociationPlots =
False,
576 trackValidatorBuildingTrackingOnly = _trackValidatorSeedingBuildingTrackingOnly.clone(
577 dirName =
"Tracking/TrackBuilding/",
580 for _eraName, _postfix, _era
in _relevantErasAndFastSim:
581 _setForEra(trackValidatorBuildingTrackingOnly, _eraName, _era, label = locals()[
"_trackProducers"+_postfix])
582 fastSim.toModify(trackValidatorBuildingTrackingOnly, doMVAPlots=
False)
583 for _eraName, _postfix, _era
in _relevantEras:
584 _setForEra(trackValidatorBuildingTrackingOnly, _eraName, _era, mvaLabels = locals()[
"_mvaSelectors"+_postfix])
586 trackValidatorSeedingTrackingOnly = _trackValidatorSeedingBuildingTrackingOnly.clone(
587 dirName =
"Tracking/TrackSeeding/",
588 label = _seedSelectors,
591 for _eraName, _postfix, _era
in _relevantErasAndFastSim:
592 _setForEra(trackValidatorSeedingTrackingOnly, _eraName, _era, label = locals()[
"_seedSelectors"+_postfix])
595 trackValidatorConversionTrackingOnly = trackValidatorConversion.clone(label = [x
for x
in trackValidatorConversion.label
if x
not in [
"ckfInOutTracksFromConversions",
"ckfOutInTracksFromConversions"]])
597 trackValidatorBHadronTrackingOnly = trackValidatorBHadron.clone(label = [x
for x
in trackValidatorTrackingOnly.label
if "Pt09" not in x])
600 tracksPreValidationTrackingOnly = tracksPreValidationStandalone.copy()
601 tracksPreValidationTrackingOnly.replace(tracksValidationSelectors, tracksValidationSelectorsTrackingOnly)
603 trackValidatorsTrackingOnly = _trackValidatorsBase.copy()
604 trackValidatorsTrackingOnly.replace(trackValidatorStandalone, trackValidatorTrackingOnly)
605 trackValidatorsTrackingOnly += (
606 trackValidatorSeedingTrackingOnly +
607 trackValidatorBuildingTrackingOnly
609 trackValidatorsTrackingOnly.replace(trackValidatorConversionStandalone, trackValidatorConversionTrackingOnly)
610 trackValidatorsTrackingOnly.remove(trackValidatorGsfTracks)
611 trackValidatorsTrackingOnly.replace(trackValidatorBHadronStandalone, trackValidatorBHadronTrackingOnly)
612 fastSim.toModify(trackValidatorsTrackingOnly,
lambda x: x.remove(trackValidatorConversionTrackingOnly))
613 fastSim.toModify(trackValidatorsTrackingOnly,
lambda x: x.remove(trackValidatorBHadronTrackingOnly))
616 tracksValidationTrackingOnly = cms.Sequence(
617 tracksPreValidationTrackingOnly +
618 tracksValidationSelectorsStandalone +
619 tracksValidationSeedSelectorsTrackingOnly +
620 trackValidatorsTrackingOnly
626 trackValidatorLite = trackValidator.clone(
627 label = [
"generalTracks",
"cutsRecoTracksHp"]
629 tracksValidationLite = cms.Sequence(
631 tracksValidationTruth +
def _getMVASelectors(postfix)
def _sequenceForEachEra(function, args, names, sequence, modDict, plainArgs=[], modifySequence=None, includeFastSim=False)
def _setForEra(module, eraName, era, kwargs)
def _translateArgs(args, postfix, modDict)
_addSelectorsByOriginalAlgoMask
Then define stuff for standalone mode (i.e.
def _getSeedingLayers(seedProducers)
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
def _algoToSelector(algo)