|
7 | 7 | # This step runs over all clusters |
8 | 8 |
|
9 | 9 | # run only if there are high pT jets |
10 | | -jetsForCoreTracking = cms.EDFilter('CandPtrSelector', src = cms.InputTag('ak4CaloJetsForTrk'), cut = cms.string('pt > 100 && abs(eta) < 2.5')) |
| 10 | +jetsForCoreTracking = cms.EDFilter('CandPtrSelector', src = cms.InputTag('ak4CaloJetsForTrk'), cut = cms.string('pt > 100 && abs(eta) < 2.5'), filter = cms.bool(False)) |
| 11 | + |
| 12 | +jetsForCoreTrackingBarrel = jetsForCoreTracking.clone( cut = 'pt > 100 && abs(eta) < 2.5' ) |
| 13 | +jetsForCoreTrackingEndcap = jetsForCoreTracking.clone( cut = 'pt > 100 && abs(eta) > 1.4 && abs(eta) < 2.5' ) |
11 | 14 |
|
12 | 15 | # care only at tracks from main PV |
13 | 16 | firstStepGoodPrimaryVertices = cms.EDFilter('PrimaryVertexObjectFilter', |
|
73 | 76 | vertexSrc = 'firstStepGoodPrimaryVertices', |
74 | 77 | howToUseMeasurementTracker = 'Never' |
75 | 78 | )) |
| 79 | +jetCoreRegionalStepEndcapTrackingRegions = jetCoreRegionalStepTrackingRegions.clone(RegionPSet=dict( |
| 80 | + JetSrc = 'jetsForCoreTrackingEndcap', |
| 81 | +)) |
76 | 82 |
|
77 | 83 | # Seeding |
78 | 84 | from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer |
|
82 | 88 | produceSeedingHitSets = True, |
83 | 89 | maxElementTotal = 12000000, |
84 | 90 | ) |
| 91 | +jetCoreRegionalStepEndcapHitDoublets = jetCoreRegionalStepHitDoublets.clone( |
| 92 | + trackingRegions = 'jetCoreRegionalStepEndcapTrackingRegions', |
| 93 | +) |
| 94 | + |
85 | 95 | from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer |
86 | 96 | jetCoreRegionalStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone( |
87 | 97 | seedingHitSets = 'jetCoreRegionalStepHitDoublets', |
88 | 98 | forceKinematicWithRegionDirection = True |
89 | 99 | ) |
| 100 | +import RecoTracker.TkSeedGenerator.deepCoreSeedGenerator_cfi |
| 101 | +jetCoreRegionalStepSeedsBarrel = RecoTracker.TkSeedGenerator.deepCoreSeedGenerator_cfi.deepCoreSeedGenerator.clone(#to run MCtruthSeedGenerator clone here from Validation.RecoTrack |
| 102 | + vertices = "firstStepPrimaryVertices", |
| 103 | + cores = "jetsForCoreTrackingBarrel" |
| 104 | +) |
| 105 | + |
| 106 | +jetCoreRegionalStepSeedsEndcap = jetCoreRegionalStepSeeds.clone( |
| 107 | + seedingHitSets = 'jetCoreRegionalStepEndcapHitDoublets', |
| 108 | +) |
90 | 109 |
|
91 | 110 | # QUALITY CUTS DURING TRACK BUILDING |
92 | 111 | import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff |
|
95 | 114 | seedPairPenalty = 0, |
96 | 115 | minPt = 0.1 |
97 | 116 | ) |
98 | | - |
99 | | -from Configuration.ProcessModifiers.seedingDeepCore_cff import seedingDeepCore |
100 | | -seedingDeepCore.toModify(jetCoreRegionalStepTrajectoryFilter, |
| 117 | +jetCoreRegionalStepBarrelTrajectoryFilter = jetCoreRegionalStepTrajectoryFilter.clone( |
101 | 118 | minimumNumberOfHits = 2, |
102 | 119 | maxConsecLostHits = 2, |
103 | 120 | maxLostHitsFraction = 1.1, |
104 | | - minPt = 0.9 |
105 | | - ) |
| 121 | + seedPairPenalty = 0, |
| 122 | + minPt = 0.9 ## should it be slightly decrease ? |
| 123 | +) |
| 124 | +jetCoreRegionalStepEndcapTrajectoryFilter = jetCoreRegionalStepTrajectoryFilter.clone() |
| 125 | + |
106 | 126 |
|
107 | 127 | from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017 |
108 | 128 | from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA |
|
127 | 147 | estimator = 'jetCoreRegionalStepChi2Est', |
128 | 148 | maxDPhiForLooperReconstruction = cms.double(2.0), |
129 | 149 | maxPtForLooperReconstruction = cms.double(0.7) |
130 | | - ) |
131 | | - |
132 | | -seedingDeepCore.toModify(jetCoreRegionalStepTrajectoryBuilder, |
133 | | - maxPtForLooperReconstruction = 0., |
| 150 | + ) |
| 151 | +jetCoreRegionalStepBarrelTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( |
| 152 | + MeasurementTrackerName = '', |
| 153 | + trajectoryFilter = cms.PSet(refToPSet_ = cms.string('jetCoreRegionalStepBarrelTrajectoryFilter')), |
| 154 | + #clustersToSkip = cms.InputTag('jetCoreRegionalStepClusters'), |
| 155 | + maxCand = 50, |
| 156 | + estimator = 'jetCoreRegionalStepChi2Est', |
134 | 157 | keepOriginalIfRebuildFails = True, |
135 | 158 | lockHits = False, |
136 | | - requireSeedHitsInRebuild = False, |
| 159 | + requireSeedHitsInRebuild = False |
137 | 160 | ) |
138 | | - |
| 161 | +jetCoreRegionalStepEndcapTrajectoryBuilder = jetCoreRegionalStepTrajectoryBuilder.clone( |
| 162 | + trajectoryFilter = cms.PSet(refToPSet_ = cms.string('jetCoreRegionalStepEndcapTrajectoryFilter')), |
| 163 | + #clustersToSkip = cms.InputTag('jetCoreRegionalStepClusters'), |
| 164 | +) |
| 165 | + |
139 | 166 | #customized cleaner for DeepCore |
140 | 167 | from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits |
141 | 168 | jetCoreRegionalStepDeepCoreTrajectoryCleaner = trajectoryCleanerBySharedHits.clone( |
142 | 169 | ComponentName = 'jetCoreRegionalStepDeepCoreTrajectoryCleaner', |
143 | 170 | fractionShared = 0.45 |
144 | 171 | ) |
145 | 172 |
|
146 | | -import RecoTracker.TkSeedGenerator.deepCoreSeedGenerator_cfi |
147 | | -import Validation.RecoTrack.JetCoreMCtruthSeedGenerator_cfi |
148 | | -seedingDeepCore.toReplaceWith(jetCoreRegionalStepSeeds, |
149 | | - RecoTracker.TkSeedGenerator.deepCoreSeedGenerator_cfi.deepCoreSeedGenerator.clone(#to run MCtruthSeedGenerator clone here from Validation.RecoTrack |
150 | | - vertices="firstStepPrimaryVertices" |
151 | | - ) |
152 | | -) |
| 173 | +############## to run MCtruthSeedGenerator #################### |
| 174 | +#import RecoTracker.TkSeedGenerator.deepCoreSeedGenerator_cfi |
| 175 | +#import Validation.RecoTrack.JetCoreMCtruthSeedGenerator_cfi |
| 176 | +#seedingDeepCore.toReplaceWith(jetCoreRegionalStepSeedsBarrel, |
| 177 | +# RecoTracker.TkSeedGenerator.deepCoreSeedGenerator_cfi.deepCoreSeedGenerator.clone(#to run MCtruthSeedGenerator clone here from Validation.RecoTrack |
| 178 | +# vertices="firstStepPrimaryVertices" |
| 179 | +# ) |
| 180 | +#) |
| 181 | + |
153 | 182 |
|
154 | 183 | # MAKING OF TRACK CANDIDATES |
155 | 184 | import RecoTracker.CkfPattern.CkfTrackCandidates_cfi |
|
162 | 191 | #numHitsForSeedCleaner = cms.int32(50), |
163 | 192 | #onlyPixelHitsForSeedCleaner = cms.bool(True), |
164 | 193 | ) |
165 | | -seedingDeepCore.toModify(jetCoreRegionalStepTrackCandidates, |
| 194 | +jetCoreRegionalStepBarrelTrackCandidates = jetCoreRegionalStepTrackCandidates.clone( |
| 195 | + src = 'jetCoreRegionalStepSeedsBarrel', |
| 196 | + TrajectoryBuilderPSet = cms.PSet( refToPSet_ = cms.string('jetCoreRegionalStepBarrelTrajectoryBuilder')), |
| 197 | + ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput |
| 198 | + #numHitsForSeedCleaner = cms.int32(50), |
| 199 | + #onlyPixelHitsForSeedCleaner = cms.bool(True), |
166 | 200 | TrajectoryCleaner = 'jetCoreRegionalStepDeepCoreTrajectoryCleaner', |
167 | | - doSeedingRegionRebuilding = True, |
| 201 | + doSeedingRegionRebuilding = True, |
| 202 | +) |
| 203 | +jetCoreRegionalStepEndcapTrackCandidates = jetCoreRegionalStepTrackCandidates.clone( |
| 204 | + src = 'jetCoreRegionalStepSeedsEndcap', |
| 205 | + TrajectoryBuilderPSet = cms.PSet( refToPSet_ = cms.string('jetCoreRegionalStepEndcapTrajectoryBuilder')), |
| 206 | + ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput |
| 207 | + #numHitsForSeedCleaner = cms.int32(50), |
| 208 | + #onlyPixelHitsForSeedCleaner = cms.bool(True), |
168 | 209 | ) |
169 | | - |
170 | 210 |
|
171 | 211 | # TRACK FITTING |
172 | 212 | import RecoTracker.TrackProducer.TrackProducer_cfi |
|
175 | 215 | src = 'jetCoreRegionalStepTrackCandidates', |
176 | 216 | Fitter = 'FlexibleKFFittingSmoother' |
177 | 217 | ) |
| 218 | +jetCoreRegionalStepBarrelTracks = jetCoreRegionalStepTracks.clone( |
| 219 | + src = 'jetCoreRegionalStepBarrelTrackCandidates', |
| 220 | +) |
| 221 | +jetCoreRegionalStepEndcapTracks = jetCoreRegionalStepTracks.clone( |
| 222 | + src = 'jetCoreRegionalStepEndcapTrackCandidates', |
| 223 | +) |
| 224 | + |
178 | 225 |
|
179 | 226 | from Configuration.Eras.Modifier_fastSim_cff import fastSim |
180 | 227 | import RecoTracker.FinalTrackSelectors.trackListMerger_cfi |
|
188 | 235 |
|
189 | 236 |
|
190 | 237 | # Final selection |
191 | | -from RecoTracker.IterativeTracking.InitialStep_cff import initialStepClassifier1 |
192 | | -#from RecoTracker.IterativeTracking.DetachedTripletStep_cff import detachedTripletStepClassifier1 |
193 | | - |
194 | | -#jetCoreRegionalStep = initialStepClassifier1.clone() |
195 | | -#jetCoreRegionalStep.src='jetCoreRegionalStepTracks' |
196 | | -#jetCoreRegionalStep.qualityCuts = [-0.3,0.0,0.2] |
197 | | -#jetCoreRegionalStep.vertices = 'firstStepGoodPrimaryVertices' |
198 | | - |
199 | | -#jetCoreRegionalStepClassifier1 = initialStepClassifier1.clone() |
200 | | -#jetCoreRegionalStepClassifier1.src = 'jetCoreRegionalStepTracks' |
201 | | -#jetCoreRegionalStepClassifier1.qualityCuts = [-0.2,0.0,0.4] |
202 | | -#jetCoreRegionalStepClassifier2 = detachedTripletStepClassifier1.clone() |
203 | | -#jetCoreRegionalStepClassifier2.src = 'jetCoreRegionalStepTracks' |
204 | | - |
205 | | - |
206 | | - |
207 | | -#from RecoTracker.FinalTrackSelectors.ClassifierMerger_cfi import * |
208 | | -#jetCoreRegionalStep = ClassifierMerger.clone() |
209 | | -#jetCoreRegionalStep.inputClassifiers=['jetCoreRegionalStepClassifier1','jetCoreRegionalStepClassifier2'] |
210 | | - |
211 | | - |
212 | 238 | from RecoTracker.FinalTrackSelectors.TrackCutClassifier_cff import * |
213 | 239 | jetCoreRegionalStep = TrackCutClassifier.clone( |
214 | 240 | src = 'jetCoreRegionalStepTracks', |
|
221 | 247 | maxLostLayers = [4,3,2], |
222 | 248 | maxDz = [0.5,0.35,0.2], |
223 | 249 | maxDr = [0.3,0.2,0.1] |
224 | | - ), |
| 250 | + ), |
225 | 251 | vertices = 'firstStepGoodPrimaryVertices' |
226 | 252 | ) |
227 | | -from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import * |
| 253 | +jetCoreRegionalStepBarrel = jetCoreRegionalStep.clone( |
| 254 | + src = 'jetCoreRegionalStepBarrelTracks', |
| 255 | + mva = dict( |
| 256 | +# minPixelHits = [1,1,1], # they could be easily increased to at least 2 or 3 ! |
| 257 | + min3DLayers = [1,2,2], |
| 258 | + ), |
| 259 | +) |
228 | 260 |
|
| 261 | +from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import * |
229 | 262 | trackingPhase1.toReplaceWith(jetCoreRegionalStep, TrackMVAClassifierPrompt.clone( |
230 | 263 | mva = dict(GBRForestLabel = 'MVASelectorJetCoreRegionalStep_Phase1'), |
231 | 264 | src = 'jetCoreRegionalStepTracks', |
232 | 265 | qualityCuts = [-0.2,0.0,0.4] |
233 | 266 | )) |
234 | 267 |
|
| 268 | +trackingPhase1.toReplaceWith(jetCoreRegionalStepBarrel, jetCoreRegionalStep.clone( |
| 269 | + src = 'jetCoreRegionalStepBarrelTracks', |
| 270 | +)) |
| 271 | + |
235 | 272 | from RecoTracker.FinalTrackSelectors.TrackTfClassifier_cfi import * |
236 | 273 | from RecoTracker.FinalTrackSelectors.trackSelectionTf_cfi import * |
237 | 274 | trackdnn.toReplaceWith(jetCoreRegionalStep, TrackTfClassifier.clone( |
238 | 275 | src = 'jetCoreRegionalStepTracks', |
239 | 276 | qualityCuts = qualityCutDictionary["JetCoreRegionalStep"], |
240 | 277 | )) |
| 278 | +trackdnn.toReplaceWith(jetCoreRegionalStepBarrel, TrackTfClassifier.clone( |
| 279 | + src = 'jetCoreRegionalStepBarrelTracks', |
| 280 | + qualityCuts = qualityCutDictionary["JetCoreRegionalStep"], |
| 281 | +)) |
241 | 282 |
|
242 | 283 | fastSim.toModify(jetCoreRegionalStep,vertices = 'firstStepPrimaryVerticesBeforeMixing') |
243 | 284 |
|
| 285 | +jetCoreRegionalStepEndcap = jetCoreRegionalStep.clone( |
| 286 | + src = 'jetCoreRegionalStepEndcapTracks', |
| 287 | +) |
| 288 | + |
244 | 289 | # Final sequence |
245 | 290 | JetCoreRegionalStepTask = cms.Task(jetsForCoreTracking, |
246 | 291 | firstStepGoodPrimaryVertices, |
|
251 | 296 | jetCoreRegionalStepSeeds, |
252 | 297 | jetCoreRegionalStepTrackCandidates, |
253 | 298 | jetCoreRegionalStepTracks, |
254 | | -# jetCoreRegionalStepClassifier1,jetCoreRegionalStepClassifier2, |
| 299 | + #jetCoreRegionalStepClassifier1,jetCoreRegionalStepClassifier2, |
255 | 300 | jetCoreRegionalStep) |
256 | 301 | JetCoreRegionalStep = cms.Sequence(JetCoreRegionalStepTask) |
257 | | -seedingDeepCore.toReplaceWith(JetCoreRegionalStep,JetCoreRegionalStep.copyAndExclude([jetCoreRegionalStepHitDoublets])) |
| 302 | + |
| 303 | +JetCoreRegionalStepBarrelTask = cms.Task(jetsForCoreTrackingBarrel, |
| 304 | + firstStepGoodPrimaryVertices, |
| 305 | + #jetCoreRegionalStepClusters, |
| 306 | + jetCoreRegionalStepSeedLayers, |
| 307 | + jetCoreRegionalStepSeedsBarrel, |
| 308 | + jetCoreRegionalStepBarrelTrackCandidates, |
| 309 | + jetCoreRegionalStepBarrelTracks, |
| 310 | + jetCoreRegionalStepBarrel) |
| 311 | + |
| 312 | +JetCoreRegionalStepEndcapTask = cms.Task(jetsForCoreTrackingEndcap, |
| 313 | + firstStepGoodPrimaryVertices, |
| 314 | + #jetCoreRegionalStepClusters, |
| 315 | + jetCoreRegionalStepSeedLayers, |
| 316 | + jetCoreRegionalStepEndcapTrackingRegions, |
| 317 | + jetCoreRegionalStepEndcapHitDoublets, |
| 318 | + jetCoreRegionalStepSeedsEndcap, |
| 319 | + jetCoreRegionalStepEndcapTrackCandidates, |
| 320 | + jetCoreRegionalStepEndcapTracks, |
| 321 | + jetCoreRegionalStepEndcap) |
| 322 | + |
| 323 | + |
| 324 | +from Configuration.ProcessModifiers.seedingDeepCore_cff import seedingDeepCore |
| 325 | + |
| 326 | +from RecoTracker.FinalTrackSelectors.TrackCollectionMerger_cfi import * |
| 327 | +seedingDeepCore.toReplaceWith(jetCoreRegionalStepTracks, TrackCollectionMerger.clone( |
| 328 | + trackProducers = ["jetCoreRegionalStepBarrelTracks", |
| 329 | + "jetCoreRegionalStepEndcapTracks",], |
| 330 | + inputClassifiers = ["jetCoreRegionalStepBarrel", |
| 331 | + "jetCoreRegionalStepEndcap",], |
| 332 | + foundHitBonus = 100.0, |
| 333 | + lostHitPenalty = 1.0 |
| 334 | +)) |
| 335 | + |
| 336 | +seedingDeepCore.toReplaceWith(jetCoreRegionalStep, jetCoreRegionalStepTracks.clone()) #(*) |
| 337 | + |
| 338 | +seedingDeepCore.toReplaceWith(JetCoreRegionalStepTask, cms.Task( |
| 339 | + JetCoreRegionalStepBarrelTask, |
| 340 | + JetCoreRegionalStepEndcapTask, |
| 341 | + cms.Task(jetCoreRegionalStepTracks,jetCoreRegionalStep) |
| 342 | +)) |
| 343 | + |
258 | 344 | fastSim.toReplaceWith(JetCoreRegionalStepTask, |
259 | 345 | cms.Task(jetCoreRegionalStepTracks, |
260 | 346 | jetCoreRegionalStep)) |
0 commit comments