CMS 3D CMS Logo

trackingNtuple_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
11 
15 import Validation.RecoTrack.TrackValidation_cff as _TrackValidation_cff
16 
17 _includeHits = True
18 #_includeHits = False
19 
20 _includeSeeds = True
21 #_includeSeeds = False
22 
23 _includeMVA = True
24 #_includeMVA = False
25 
26 _includeTrackingParticles = True
27 #_includeTrackingParticles = False
28 
29 from CommonTools.RecoAlgos.trackingParticleRefSelector_cfi import trackingParticleRefSelector as _trackingParticleRefSelector
30 trackingParticlesIntime = _trackingParticleRefSelector.clone(
31  signalOnly = False,
32  intimeOnly = True,
33  chargedOnly = False,
34  tip = 1e5,
35  lip = 1e5,
36  minRapidity = -10,
37  maxRapidity = 10,
38  ptMin = 0,
39 )
40 trackingNtuple.trackingParticles = "trackingParticlesIntime"
41 trackingNtuple.trackingParticlesRef = True
42 trackingNtuple.includeAllHits = _includeHits
43 trackingNtuple.includeSeeds = _includeSeeds
44 trackingNtuple.includeMVA = _includeMVA
45 trackingNtuple.includeTrackingParticles = _includeTrackingParticles
46 
48  ret = []
49  for item in lst:
50  if "PreSplitting" in item:
51  continue
52  if "SeedsA" in item and item.replace("SeedsA", "SeedsB") in lst:
53  ret.append(item.replace("SeedsA", "Seeds"))
54  continue
55  if "SeedsB" in item:
56  continue
57  if "SeedsPair" in item and item.replace("SeedsPair", "SeedsTripl") in lst:
58  ret.append(item.replace("SeedsPair", "Seeds"))
59  continue
60  if "SeedsTripl" in item:
61  continue
62  ret.append(item)
63  return ret
64 _seedProducers = _filterForNtuple(_TrackValidation_cff._seedProducers)
65 _seedProducers_trackingPhase1 = _filterForNtuple(_TrackValidation_cff._seedProducers_trackingPhase1)
66 _seedProducers_trackingPhase2PU140 = _filterForNtuple(_TrackValidation_cff._seedProducers_trackingPhase2PU140)
67 
68 (_seedSelectors, trackingNtupleSeedSelectors) = _TrackValidation_cff._addSeedToTrackProducers(_seedProducers, globals())
69 (_seedSelectors_trackingPhase1, _trackingNtupleSeedSelectors_trackingPhase1) = _TrackValidation_cff._addSeedToTrackProducers(_seedProducers_trackingPhase1, globals())
70 (_seedSelectors_trackingPhase2PU140, _trackingNtupleSeedSelectors_trackingPhase2PU140) = _TrackValidation_cff._addSeedToTrackProducers(_seedProducers_trackingPhase2PU140, globals())
71 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
72 from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
73 trackingPhase1.toReplaceWith(trackingNtupleSeedSelectors, _trackingNtupleSeedSelectors_trackingPhase1)
74 trackingPhase2PU140.toReplaceWith(trackingNtupleSeedSelectors, _trackingNtupleSeedSelectors_trackingPhase2PU140)
75 
76 trackingNtuple.seedTracks = _seedSelectors
77 trackingPhase1.toModify(trackingNtuple, seedTracks = _seedSelectors_trackingPhase1)
78 trackingPhase2PU140.toModify(trackingNtuple, seedTracks = _seedSelectors_trackingPhase2PU140)
79 
81  return name.replace("seedTracks", "").replace("Seeds", "TrackCandidates")
82 trackingNtuple.trackCandidates = [_seedProdToTrackCands(i) for i in _seedProducers]
83 trackingPhase1.toModify(trackingNtuple, trackCandidates=[_seedProdToTrackCands(i) for i in _seedProducers_trackingPhase1])
84 trackingPhase2PU140.toModify(trackingNtuple, trackCandidates=[_seedProdToTrackCands(i) for i in _seedProducers_trackingPhase2PU140])
85 
86 trackingNtupleTask = cms.Task()
87 # reproduce hits because they're not stored in RECO
88 if _includeHits:
89  trackingNtupleTask.add(siPixelRecHits, siStripMatchedRecHits)
90  _phase2_trackingNtupleTask = trackingNtupleTask.copy()
91  _phase2_trackingNtupleTask.remove(siStripMatchedRecHits)
92  _phase2_trackingNtupleTask.add(siPhase2RecHits)
93  trackingPhase2PU140.toReplaceWith(trackingNtupleTask, _phase2_trackingNtupleTask)
94 
95 if _includeSeeds:
96  trackingNtupleTask.add(trackingNtupleSeedSelectors)
97 
98 trackingNtupleTask.add(
99  # sim information
100  trackingParticlesIntime,
101  simHitTPAssocProducer,
102  tpClusterProducer,
103  quickTrackAssociatorByHits,
104  trackingParticleNumberOfLayersProducer
105 )
106 # ntuplizer
107 trackingNtupleSequence = cms.Sequence(trackingNtuple, trackingNtupleTask)
108 
109 trackingPhase2PU140.toModify(trackingNtuple, # FIXME
110  pixelDigiSimLink = cms.untracked.InputTag('simSiPixelDigis', "Pixel"),
111  stripDigiSimLink = cms.untracked.InputTag(''),
112  phase2OTSimLink = cms.untracked.InputTag('simSiPixelDigis', "Tracker")
113 )
def _seedProdToTrackCands(name)
def replace(string, replacements)
Expects test.root in current directory.