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 from Configuration.Eras.Modifier_fastSim_cff
import fastSim
26 for _eraName, _postfix, _era
in _cfg.allEras():
27 _seedProd = [
"initialStepSeedsPreSplitting"]
28 _trackProd = [
"initialStepTracksPreSplitting"]
29 if _eraName
in [
"trackingLowPU",
"trackingPhase1PU70",
"trackingPhase2PU140"]:
33 locals()[
"_algos"+_postfix] = [
"generalTracks"] + _cfg.iterationAlgos(_postfix) + [
"duplicateMerge"]
34 locals()[
"_seedProducers"+_postfix] = _seedProd + _cfg.seedProducers(_postfix)
35 locals()[
"_trackProducers"+_postfix] = _trackProd + _cfg.trackProducers(_postfix)
37 _removeForFastSimSeedProducers =[
"initialStepSeedsPreSplitting",
38 "jetCoreRegionalStepSeeds",
39 "muonSeededSeedsInOut",
40 "muonSeededSeedsOutIn"]
41 _seedProducers_fastSim = [ x
for x
in _seedProducers
if x
not in _removeForFastSimSeedProducers]
43 _removeForFastTrackProducers = [
"initialStepTracksPreSplitting",
44 "jetCoreRegionalStepTracks",
45 "muonSeededTracksInOut",
46 "muonSeededTracksOutIn"]
47 _trackProducers_fastSim = [ x
for x
in _trackProducers
if x
not in _removeForFastTrackProducers]
51 if algo !=
"generalTracks":
52 sel = algo[0].
upper()+algo[1:]
53 return "cutsRecoTracks"+sel
59 if algo ==
"generalTracks":
62 if modName
not in modDict:
63 mod = cutsRecoTracks_cfi.cutsRecoTracks.clone(algorithm=[algo])
64 modDict[modName] = mod
66 mod = modDict[modName]
75 modNameHp = modName+
"Hp" 76 if modNameHp
not in modDict:
77 if algo ==
"generalTracks":
78 mod = cutsRecoTracks_cfi.cutsRecoTracks.clone(quality=[
"highPurity"])
80 mod = modDict[modName].
clone(quality=[
"highPurity"])
81 modDict[modNameHp] = mod
83 mod = modDict[modNameHp]
84 names.append(modNameHp)
90 for modName
in modules:
91 modNameNew = modName.replace(
"cutsRecoTracks",
"cutsRecoTracks"+midfix)
92 if modNameNew
not in modDict:
93 mod = modDict[modName].
clone(src=src)
94 modDict[modNameNew] = mod
96 mod = modDict[modNameNew]
97 names.append(modNameNew)
103 for modName
in modules:
104 if modName[-2:] ==
"Hp":
105 modNameNew = modName[:-2] + midfix +
"Hp" 107 modNameNew = modName + midfix
108 if modNameNew
not in modDict:
109 mod = modDict[modName].
clone()
110 setattr(mod, algoParam, mod.algorithm.value())
112 modDict[modNameNew] = mod
114 mod = modDict[modNameNew]
115 names.append(modNameNew)
121 for seed
in seedProducers:
122 modName =
"seedTracks"+seed
123 if modName
not in modDict:
124 mod = _trajectorySeedTracks.clone(src=seed)
125 modDict[modName] = mod
127 mod = modDict[modName]
128 names.append(modName)
132 _relevantEras = _cfg.allEras()
133 _relevantErasAndFastSim = _relevantEras + [(
"fastSim",
"_fastSim", fastSim)]
137 if isinstance(arg, list):
140 ret.append(modDict[arg+postfix])
142 def _sequenceForEachEra(function, args, names, sequence, modDict, plainArgs=[], modifySequence=None, includeFastSim=False):
143 if sequence[0] !=
"_":
144 raise Exception(
"Sequence name is expected to begin with _")
146 _eras = _relevantErasAndFastSim
if includeFastSim
else _relevantEras
147 for eraName, postfix, _era
in _eras:
149 _args.extend(plainArgs)
150 ret =
function(*_args, modDict=modDict)
152 raise Exception(
"_sequenceForEachEra is expected to return 2 values, but function returned %d" % len(ret))
153 modDict[names+postfix] = ret[0]
154 modDict[sequence+postfix] = ret[1]
157 defaultSequenceName = sequence+_eras[0][0]
158 defaultSequence = modDict[defaultSequenceName]
159 modDict[defaultSequenceName[1:]] = defaultSequence
162 if modifySequence
is not None:
163 for eraName, postfix, _era
in _eras:
167 for _eraName, _postfix, _era
in _eras[1:]:
168 _era.toReplaceWith(defaultSequence, modDict[sequence+_postfix])
171 for key, value
in kwargs.iteritems():
172 setattr(module, key, value)
174 era.toModify(module, **kwargs)
180 def _findSeedingLayers(name):
181 prod = getattr(_iterativeTk_cff, name)
182 if hasattr(prod,
"triplets"):
183 if hasattr(prod,
"layerList"):
184 return prod.layerList.refToPSet_.value()
185 return _findSeedingLayers(prod.triplets.getModuleLabel())
186 elif hasattr(prod,
"doublets"):
187 return _findSeedingLayers(prod.doublets.getModuleLabel())
188 return prod.seedingLayers.getModuleLabel()
190 seedingLayersMerged = []
191 for seedName
in seedProducers:
192 seedProd = getattr(_iterativeTk_cff, seedName)
193 if hasattr(seedProd,
"OrderedHitsFactoryPSet"):
194 if hasattr(seedProd,
"SeedMergerPSet"):
195 seedingLayersName = seedProd.SeedMergerPSet.layerList.refToPSet_.value()
197 seedingLayersName = seedProd.OrderedHitsFactoryPSet.SeedingLayers.getModuleLabel()
198 elif hasattr(seedProd,
"seedingHitSets"):
199 seedingLayersName = _findSeedingLayers(seedProd.seedingHitSets.getModuleLabel())
203 seedingLayers = getattr(_iterativeTk_cff, seedingLayersName).layerList.value()
204 for layerSet
in seedingLayers:
205 if layerSet
not in seedingLayersMerged:
206 seedingLayersMerged.append(layerSet)
207 return seedingLayersMerged
208 for _eraName, _postfix, _era
in _relevantEras:
209 locals()[
"_seedingLayerSets"+_postfix] =
_getSeedingLayers(locals()[
"_seedProducers"+_postfix])
217 pset = cms.untracked.PSet()
218 for iterName, seqName
in _cfg.iterationAlgos(postfix, includeSequenceName=
True):
219 if hasattr(_iterativeTk_cff, iterName):
220 mod = getattr(_iterativeTk_cff, iterName)
221 seq = getattr(_iterativeTk_cff, seqName)
229 typeName = mod._TypedParameterizable__type
231 if typeName ==
"ClassifierMerger":
232 classifiers = mod.inputClassifiers.value()
233 elif "TrackMVAClassifier" in typeName:
234 classifiers = [iterName]
235 if len(classifiers) > 0:
236 setattr(pset, iterName+
"Tracks", cms.untracked.vstring(classifiers))
239 for _eraName, _postfix, _era
in _relevantEras:
243 _sequenceForEachEra(_addSelectorsByAlgo, args=[
"_algos"], names=
"_selectorsByAlgo", sequence=
"_tracksValidationSelectorsByAlgo", modDict=globals())
246 _sequenceForEachEra(_addSelectorsByHp, args=[
"_algos"], names=
"_selectorsByAlgoHp", sequence=
"_tracksValidationSelectorsByAlgoHp", modDict=globals())
248 for _eraName, _postfix, _era
in _relevantEras:
249 selectors = locals()[
"_selectorsByAlgoHp"+_postfix]
250 locals()[
"_generalTracksHp"+_postfix] = selectors[0]
251 locals()[
"_selectorsByAlgoHp"+_postfix] = selectors[1:]
254 import PhysicsTools.RecoAlgos.btvTracks_cfi
as btvTracks_cfi
255 cutsRecoTracksBtvLike = btvTracks_cfi.btvTrackRefs.clone()
259 ak4JetTracksAssociatorExplicitAll = ak4JTA_cff.ak4JetTracksAssociatorExplicit.clone(
263 import CommonTools.RecoAlgos.jetTracksAssociationToTrackRefs_cfi
as jetTracksAssociationToTrackRefs_cfi
264 cutsRecoTracksAK4PFJets = jetTracksAssociationToTrackRefs_cfi.jetTracksAssociationToTrackRefs.clone(
265 association =
"ak4JetTracksAssociatorExplicitAll",
272 trackingParticlesSignal = _trackingParticleRefSelector.clone(
283 generalTracksPt09 = cutsRecoTracks_cfi.cutsRecoTracks.clone(ptMin=0.9)
286 args=[[
"_generalTracksHp"]],
287 plainArgs=[
"Pt09",
"generalTracksPt09"],
288 names=
"_selectorsPt09", sequence=
"_tracksValidationSelectorsPt09",
289 modifySequence=
lambda seq:seq.insert(0, generalTracksPt09))
293 generalTracksFromPV = _trackWithVertexRefSelector.clone(
294 src =
"generalTracks",
299 vertexTag =
"offlinePrimaryVertices",
307 args=[[
"_generalTracksHp"]],
308 plainArgs=[
"FromPV",
"generalTracksFromPV"],
309 names=
"_selectorsFromPV", sequence=
"_tracksValidationSelectorsFromPV",
310 modifySequence=
lambda seq: seq.insert(0, generalTracksFromPV))
313 generalTracksFromPVPt09 = generalTracksPt09.clone(src=
"generalTracksFromPV")
316 args=[[
"_generalTracksHp"]],
317 plainArgs=[
"FromPVPt09",
"generalTracksFromPVPt09"],
318 names=
"_selectorsFromPVPt09", sequence=
"_tracksValidationSelectorsFromPVPt09",
319 modifySequence=
lambda seq: seq.insert(0, generalTracksFromPVPt09))
322 trackingParticlesConversion = _trackingParticleConversionRefSelector.clone()
325 trackingParticlesElectron = _trackingParticleRefSelector.clone(
336 trackingParticlesBHadron = _trackingParticleBHadronRefSelector.clone()
339 trackValidator = Validation.RecoTrack.MultiTrackValidator_cfi.multiTrackValidator.clone(
340 useLogPt = cms.untracked.bool(
True),
342 doPVAssociationPlots =
True 347 fastSim.toModify(trackValidator,
350 for _eraName, _postfix, _era
in _relevantEras:
352 label = [
"generalTracks", locals()[
"_generalTracksHp"+_postfix]] +
353 locals()[
"_selectorsByAlgo"+_postfix] + locals()[
"_selectorsByAlgoHp"+_postfix] +
354 [
"generalTracksPt09"] + locals()[
"_selectorsPt09"+_postfix] +
356 "cutsRecoTracksBtvLike",
357 "cutsRecoTracksAK4PFJets" 360 _setForEra(trackValidator.histoProducerAlgoBlock, _eraName, _era, seedingLayerSets=locals()[
"_seedingLayerSets"+_postfix])
364 trackValidatorFromPV = trackValidator.clone(
365 dirName =
"Tracking/TrackFromPV/",
366 label_tp_effic =
"trackingParticlesSignal",
367 label_tp_fake =
"trackingParticlesSignal",
368 label_tp_effic_refvector =
True,
369 label_tp_fake_refvector =
True,
370 trackCollectionForDrCalculation =
"generalTracksFromPV",
371 doPlotsOnlyForTruePV =
True,
372 doPVAssociationPlots =
False,
374 for _eraName, _postfix, _era
in _relevantEras:
375 _setForEra(trackValidatorFromPV, _eraName, _era, label = [
"generalTracksFromPV"] + locals()[
"_selectorsFromPV"+_postfix] + [
"generalTracksFromPVPt09"] + locals()[
"_selectorsFromPVPt09"+_postfix])
379 trackValidatorFromPVAllTP = trackValidatorFromPV.clone(
380 dirName =
"Tracking/TrackFromPVAllTP/",
381 label_tp_effic = trackValidator.label_tp_effic.value(),
382 label_tp_fake = trackValidator.label_tp_fake.value(),
383 label_tp_effic_refvector =
False,
384 label_tp_fake_refvector =
False,
385 associators = trackValidator.associators.value(),
387 doSimTrackPlots =
False,
391 trackValidatorAllTPEffic = trackValidator.clone(
392 dirName =
"Tracking/TrackAllTPEffic/",
393 label = [x
for x
in trackValidator.label.value()
if "Pt09" not in x],
395 doRecoTrackPlots =
False,
396 doPVAssociationPlots =
False,
398 trackValidatorAllTPEffic.histoProducerAlgoBlock.generalTpSelector.signalOnly =
False 399 trackValidatorAllTPEffic.histoProducerAlgoBlock.TpSelectorForEfficiencyVsEta.signalOnly =
False 400 trackValidatorAllTPEffic.histoProducerAlgoBlock.TpSelectorForEfficiencyVsPhi.signalOnly =
False 401 trackValidatorAllTPEffic.histoProducerAlgoBlock.TpSelectorForEfficiencyVsPt.signalOnly =
False 402 trackValidatorAllTPEffic.histoProducerAlgoBlock.TpSelectorForEfficiencyVsVTXR.signalOnly =
False 403 trackValidatorAllTPEffic.histoProducerAlgoBlock.TpSelectorForEfficiencyVsVTXZ.signalOnly =
False 404 for _eraName, _postfix, _era
in _relevantEras:
405 _setForEra(trackValidatorAllTPEffic, _eraName, _era, label = [
"generalTracks", locals()[
"_generalTracksHp"+_postfix]])
408 trackValidatorConversion = trackValidator.clone(
409 dirName =
"Tracking/TrackConversion/",
412 "conversionStepTracks",
413 "ckfInOutTracksFromConversions",
414 "ckfOutInTracksFromConversions",
416 label_tp_effic =
"trackingParticlesConversion",
417 label_tp_effic_refvector =
True,
418 associators = [
"quickTrackAssociatorByHits"],
419 UseAssociators =
True,
422 doPVAssociationPlots =
False,
423 calculateDrSingleCollection =
False,
426 for n
in [
"Eta",
"Phi",
"Pt",
"VTXR",
"VTXZ"]:
427 pset = getattr(trackValidatorConversion.histoProducerAlgoBlock,
"TpSelectorForEfficiencyVs"+n)
428 pset.lip = trackValidatorConversion.lipTP.value()
429 pset.tip = trackValidatorConversion.tipTP.value()
432 trackValidatorGsfTracks = trackValidatorConversion.clone(
433 dirName =
"Tracking/TrackGsf/",
434 label = [
"electronGsfTracks"],
435 label_tp_effic =
"trackingParticlesElectron",
439 trackValidatorBHadron = trackValidator.clone(
440 dirName =
"Tracking/TrackBHadron/",
441 label_tp_effic =
"trackingParticlesBHadron",
442 label_tp_effic_refvector =
True,
443 associators = [
"quickTrackAssociatorByHits"],
444 UseAssociators =
True,
446 doRecoTrackPlots =
False,
449 for _eraName, _postfix, _era
in _relevantEras:
450 _setForEra(trackValidatorBHadron, _eraName, _era,
451 label = [
"generalTracks", locals()[
"_generalTracksHp"+_postfix],
"cutsRecoTracksBtvLike"]
456 tracksValidationSelectors = cms.Sequence(
457 tracksValidationSelectorsByAlgo +
458 tracksValidationSelectorsByAlgoHp +
459 cutsRecoTracksBtvLike +
460 ak4JetTracksAssociatorExplicitAll +
461 cutsRecoTracksAK4PFJets
463 tracksValidationTruth = cms.Sequence(
465 quickTrackAssociatorByHits +
466 trackingParticleRecoTrackAsssociation +
467 VertexAssociatorByPositionAndTracks +
468 trackingParticleNumberOfLayersProducer
470 fastSim.toModify(tracksValidationTruth,
lambda x: x.remove(tpClusterProducer))
472 tracksPreValidation = cms.Sequence(
473 tracksValidationSelectors +
474 tracksValidationSelectorsPt09 +
475 tracksValidationSelectorsFromPV +
476 tracksValidationSelectorsFromPVPt09 +
477 tracksValidationTruth +
478 cms.ignore(trackingParticlesSignal) +
479 cms.ignore(trackingParticlesElectron) +
480 trackingParticlesConversion
482 fastSim.toReplaceWith(tracksPreValidation, tracksPreValidation.copyAndExclude([
483 trackingParticlesElectron,
484 trackingParticlesConversion,
487 tracksValidation = cms.Sequence(
488 tracksPreValidation +
490 trackValidatorFromPV +
491 trackValidatorFromPVAllTP +
492 trackValidatorAllTPEffic +
493 trackValidatorConversion +
494 trackValidatorGsfTracks
496 fastSim.toReplaceWith(tracksValidation, tracksValidation.copyAndExclude([
497 trackValidatorConversion,
498 trackValidatorGsfTracks,
504 for _eraName, _postfix, _era
in _relevantEras:
505 locals()[
"_selectorsByAlgoAndHp"+_postfix] = locals()[
"_selectorsByAlgo"+_postfix] + locals()[
"_selectorsByAlgoHp"+_postfix]
507 args = [
"_selectorsByAlgoAndHp"], plainArgs = [
"ByOriginalAlgo",
"originalAlgorithm"],
508 names =
"_selectorsByOriginalAlgo", sequence =
"_tracksValidationSelectorsByOriginalAlgoStandalone")
510 args = [
"_selectorsByAlgoAndHp"], plainArgs = [
"ByAlgoMask",
"algorithmMaskContains"],
511 names =
"_selectorsByAlgoMask", sequence =
"_tracksValidationSelectorsByAlgoMaskStandalone")
515 args = [
"_selectorsByAlgoAndHp"], plainArgs = [
"Pt09",
"generalTracksPt09"],
516 names =
"_selectorsPt09Standalone", sequence =
"_tracksValidationSelectorsPt09Standalone")
520 args = [
"_selectorsByAlgoAndHp"], plainArgs = [
"FromPV",
"generalTracksFromPV"],
521 names =
"_selectorsFromPVStandalone", sequence =
"_tracksValidationSelectorsFromPVStandalone")
525 args = [
"_selectorsByAlgoAndHp"], plainArgs = [
"FromPVPt09",
"generalTracksFromPVPt09"],
526 names =
"_selectorsFromPVPt09Standalone", sequence =
"_tracksValidationSelectorsFromPVPt09Standalone")
529 trackValidatorStandalone = trackValidator.clone()
530 for _eraName, _postfix, _era
in _relevantEras:
531 _setForEra(trackValidatorStandalone, _eraName, _era, label = trackValidator.label + locals()[
"_selectorsByOriginalAlgo"+_postfix] + locals()[
"_selectorsByAlgoMask"+_postfix] + locals()[
"_selectorsPt09Standalone"+_postfix])
533 trackValidatorFromPVStandalone = trackValidatorFromPV.clone()
534 for _eraName, _postfix, _era
in _relevantEras:
535 _setForEra(trackValidatorFromPVStandalone, _eraName, _era, label = trackValidatorFromPV.label + locals()[
"_selectorsFromPVStandalone"+_postfix] + locals()[
"_selectorsFromPVPt09Standalone"+_postfix])
537 trackValidatorFromPVAllTPStandalone = trackValidatorFromPVAllTP.clone(
538 label = trackValidatorFromPVStandalone.label.value()
540 trackValidatorAllTPEfficStandalone = trackValidatorAllTPEffic.clone(
541 label = [ x
for x
in trackValidator.label.value()
if x
not in [
"cutsRecoTracksBtvLike",
"cutsRecoTracksAK4PFJets"]
and "Pt09" not in x]
544 trackValidatorConversionStandalone = trackValidatorConversion.clone( label = [x
for x
in trackValidatorConversion.label
if x !=
"convStepTracks"])
546 trackValidatorBHadronStandalone = trackValidatorBHadron.clone(label = [x
for x
in trackValidatorStandalone.label
if "Pt09" not in x])
549 tracksPreValidationStandalone = tracksPreValidation.copy()
550 tracksPreValidationStandalone += trackingParticlesBHadron
551 fastSim.toReplaceWith(tracksPreValidationStandalone, tracksPreValidation)
553 tracksValidationSelectorsStandalone = cms.Sequence(
554 tracksValidationSelectorsByOriginalAlgoStandalone +
555 tracksValidationSelectorsByAlgoMaskStandalone +
556 tracksValidationSelectorsPt09Standalone +
557 tracksValidationSelectorsFromPVStandalone +
558 tracksValidationSelectorsFromPVPt09Standalone
563 _trackValidatorsBase = cms.Sequence(
564 trackValidatorStandalone +
565 trackValidatorFromPVStandalone +
566 trackValidatorFromPVAllTPStandalone +
567 trackValidatorAllTPEfficStandalone +
568 trackValidatorConversionStandalone +
569 trackValidatorGsfTracks +
570 trackValidatorBHadronStandalone
572 trackValidatorsStandalone = _trackValidatorsBase.copy()
573 fastSim.toModify(trackValidatorsStandalone,
lambda x: x.remove(trackValidatorConversionStandalone) )
575 tracksValidationStandalone = cms.Sequence(
576 ak4PFL1FastL2L3CorrectorChain +
577 tracksPreValidationStandalone +
578 tracksValidationSelectorsStandalone +
579 trackValidatorsStandalone
585 tracksValidationSelectorsTrackingOnly = tracksValidationSelectors.copyAndExclude([ak4JetTracksAssociatorExplicitAll,cutsRecoTracksAK4PFJets])
586 _sequenceForEachEra(_addSeedToTrackProducers, args=[
"_seedProducers"], names=
"_seedSelectors", sequence=
"_tracksValidationSeedSelectorsTrackingOnly", includeFastSim=
True, modDict=globals())
589 trackValidatorTrackingOnly = trackValidatorStandalone.clone(label = [ x
for x
in trackValidatorStandalone.label
if x !=
"cutsRecoTracksAK4PFJets"] )
591 _trackValidatorSeedingBuildingTrackingOnly = trackValidatorTrackingOnly.clone(
592 associators = [
"quickTrackAssociatorByHits"],
593 UseAssociators =
True,
595 doPVAssociationPlots =
False,
598 trackValidatorBuildingTrackingOnly = _trackValidatorSeedingBuildingTrackingOnly.clone(
599 dirName =
"Tracking/TrackBuilding/",
602 for _eraName, _postfix, _era
in _relevantErasAndFastSim:
603 _setForEra(trackValidatorBuildingTrackingOnly, _eraName, _era, label = locals()[
"_trackProducers"+_postfix])
604 fastSim.toModify(trackValidatorBuildingTrackingOnly, doMVAPlots=
False)
605 for _eraName, _postfix, _era
in _relevantEras:
606 _setForEra(trackValidatorBuildingTrackingOnly, _eraName, _era, mvaLabels = locals()[
"_mvaSelectors"+_postfix])
608 trackValidatorSeedingTrackingOnly = _trackValidatorSeedingBuildingTrackingOnly.clone(
609 dirName =
"Tracking/TrackSeeding/",
610 label = _seedSelectors,
613 for _eraName, _postfix, _era
in _relevantErasAndFastSim:
614 _setForEra(trackValidatorSeedingTrackingOnly, _eraName, _era, label = locals()[
"_seedSelectors"+_postfix])
617 trackValidatorConversionTrackingOnly = trackValidatorConversion.clone(label = [x
for x
in trackValidatorConversion.label
if x
not in [
"ckfInOutTracksFromConversions",
"ckfOutInTracksFromConversions"]])
619 trackValidatorBHadronTrackingOnly = trackValidatorBHadron.clone(label = [x
for x
in trackValidatorTrackingOnly.label
if "Pt09" not in x])
622 tracksPreValidationTrackingOnly = tracksPreValidationStandalone.copy()
623 tracksPreValidationTrackingOnly.replace(tracksValidationSelectors, tracksValidationSelectorsTrackingOnly)
625 trackValidatorsTrackingOnly = _trackValidatorsBase.copy()
626 trackValidatorsTrackingOnly.replace(trackValidatorStandalone, trackValidatorTrackingOnly)
627 trackValidatorsTrackingOnly += (
628 trackValidatorSeedingTrackingOnly +
629 trackValidatorBuildingTrackingOnly
631 trackValidatorsTrackingOnly.replace(trackValidatorConversionStandalone, trackValidatorConversionTrackingOnly)
632 trackValidatorsTrackingOnly.remove(trackValidatorGsfTracks)
633 trackValidatorsTrackingOnly.replace(trackValidatorBHadronStandalone, trackValidatorBHadronTrackingOnly)
634 fastSim.toModify(trackValidatorsTrackingOnly,
lambda x: x.remove(trackValidatorConversionTrackingOnly))
635 fastSim.toModify(trackValidatorsTrackingOnly,
lambda x: x.remove(trackValidatorBHadronTrackingOnly))
638 tracksValidationTrackingOnly = cms.Sequence(
639 tracksPreValidationTrackingOnly +
640 tracksValidationSelectorsStandalone +
641 tracksValidationSeedSelectorsTrackingOnly +
642 trackValidatorsTrackingOnly
648 trackValidatorLite = trackValidator.clone(
649 label = [
"generalTracks",
"cutsRecoTracksHp"]
651 tracksValidationLite = cms.Sequence(
653 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)