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 = map(_seedProdToTrackCands, _seedProducers)
83 trackingPhase1.toModify(trackingNtuple, trackCandidates=map(_seedProdToTrackCands, _seedProducers_trackingPhase1))
84 trackingPhase2PU140.toModify(trackingNtuple, trackCandidates=map(_seedProdToTrackCands, _seedProducers_trackingPhase2PU140))
85 
86 trackingNtupleSequence = cms.Sequence()
87 # reproduce hits because they're not stored in RECO
88 if _includeHits:
89  trackingNtupleSequence += (
90  siPixelRecHits +
91  siStripMatchedRecHits
92  )
93  _phase2_trackingNtupleSequence = trackingNtupleSequence.copy()
94  _phase2_trackingNtupleSequence.remove(siStripMatchedRecHits)
95  _phase2_trackingNtupleSequence += (siPhase2RecHits)
96  trackingPhase2PU140.toReplaceWith(trackingNtupleSequence, _phase2_trackingNtupleSequence)
97 
98 if _includeSeeds:
99  trackingNtupleSequence += trackingNtupleSeedSelectors
100 
101 trackingNtupleSequence += (
102  # sim information
103  trackingParticlesIntime +
104  simHitTPAssocProducer +
105  tpClusterProducer +
106  quickTrackAssociatorByHits +
107  trackingParticleNumberOfLayersProducer +
108  # ntuplizer
109  trackingNtuple
110 )
111 
112 trackingPhase2PU140.toModify(trackingNtuple, # FIXME
113  pixelDigiSimLink = cms.untracked.InputTag('simSiPixelDigis', "Pixel"),
114  stripDigiSimLink = cms.untracked.InputTag(''),
115  phase2OTSimLink = cms.untracked.InputTag('simSiPixelDigis', "Tracker")
116 )
def _seedProdToTrackCands(name)
def replace(string, replacements)
Expects test.root in current directory.