CMS 3D CMS Logo

hiMixedTripletStep_cff.py
Go to the documentation of this file.
1 from __future__ import absolute_import
2 import FWCore.ParameterSet.Config as cms
3 from RecoTracker.IterativeTracking.MixedTripletStep_cff import mixedTripletStepSeedLayersA,mixedTripletStepSeedLayersB,mixedTripletStepHitDoubletsA,mixedTripletStepHitDoubletsB,mixedTripletStepPropagator,mixedTripletStepPropagatorOpposite,mixedTripletStepTracks,mixedTripletStepHitTripletsA,mixedTripletStepSeedsA,mixedTripletStepHitTripletsB,mixedTripletStepSeedsB,mixedTripletStepSeeds
4 from .HIPixelTripletSeeds_cff import *
5 from .HIPixel3PrimTracks_cfi import *
6 
7 #cluster remover
8 hiMixedTripletStepClusters = cms.EDProducer("HITrackClusterRemover",
9  clusterLessSolution = cms.bool(True),
10  trajectories = cms.InputTag("hiPixelPairGlobalPrimTracks"),
11  overrideTrkQuals = cms.InputTag('hiPixelPairStepSelector','hiPixelPairStep'),
12  TrackQuality = cms.string('highPurity'),
13  minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
14  pixelClusters = cms.InputTag("siPixelClusters"),
15  stripClusters = cms.InputTag("siStripClusters"),
16  Common = cms.PSet(
17  maxChi2 = cms.double(9.0),
18  ),
19  Strip = cms.PSet(
20  #Yen-Jie's mod to preserve merged clusters
21  maxSize = cms.uint32(2),
22  maxChi2 = cms.double(9.0)
23  )
24 )
25 
26 # SEEDING LAYERS
27 mixedTripletStepSeedLayersA.layerList = ['BPix1+BPix2+BPix3', 'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg',
28  'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg',
29  'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg']
30 mixedTripletStepSeedLayersA.BPix.skipClusters = 'hiMixedTripletStepClusters'
31 mixedTripletStepSeedLayersA.FPix.skipClusters = 'hiMixedTripletStepClusters'
32 mixedTripletStepSeedLayersA.TEC.skipClusters = 'hiMixedTripletStepClusters'
33 
34 # TrackingRegion
35 from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cfi import globalTrackingRegionWithVertices as _globalTrackingRegionWithVertices
36 hiMixedTripletStepTrackingRegionsA = _globalTrackingRegionWithVertices.clone(RegionPSet=dict(
37  VertexCollection = "hiSelectedPixelVertex",
38  fixedError = 3.75,#15.0
39  ptMin = 0.4,
40  originRadius = 1.5,
41  originRScaling4BigEvts = cms.bool(True),
42  halfLengthScaling4BigEvts = cms.bool(False),
43  ptMinScaling4BigEvts = cms.bool(True),
44  minOriginR = 0,
45  minHalfLength = 0,
46  maxPtMin = 0.7,
47  scalingStartNPix = 20000,
48  scalingEndNPix = 35000
49 ))
50 
51 # seeding
52 mixedTripletStepHitDoubletsA.clusterCheck = ""
53 mixedTripletStepHitDoubletsA.trackingRegions = "hiMixedTripletStepTrackingRegionsA"
54 
55 # SEEDING LAYERS
56 mixedTripletStepSeedLayersB.BPix.skipClusters = 'hiMixedTripletStepClusters'
57 mixedTripletStepSeedLayersB.TIB.skipClusters = 'hiMixedTripletStepClusters'
58 
59 hiMixedTripletStepTrackingRegionsB = hiMixedTripletStepTrackingRegionsA.clone(RegionPSet=dict(
60  originRadius = 1.0,
61 ))
62 
63 
64 # seeding
65 mixedTripletStepHitDoubletsB.clusterCheck = ""
66 mixedTripletStepHitDoubletsB.trackingRegions = "hiMixedTripletStepTrackingRegionsB"
67 
68 # QUALITY CUTS DURING TRACK BUILDING
69 from RecoTracker.IterativeTracking.MixedTripletStep_cff import mixedTripletStepTrajectoryFilter
70 mixedTripletStepTrajectoryFilter.minimumNumberOfHits = 5
71 mixedTripletStepTrajectoryFilter.minPt = 0.4
72 mixedTripletStepPropagator.ptMin = 0.4
73 mixedTripletStepPropagatorOpposite.ptMin = 0.4
74 
75 # MAKING OF TRACK CANDIDATES
76 from RecoTracker.IterativeTracking.MixedTripletStep_cff import _mixedTripletStepTrackCandidatesCkf
77 mixedTripletStepTrackCandidates = _mixedTripletStepTrackCandidatesCkf.clone(clustersToSkip = 'hiMixedTripletStepClusters')
78 
79 # TRACK FITTING
80 hiMixedTripletStepTracks = mixedTripletStepTracks.clone()
81 
82 # Final selection
84 hiMixedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
85  src = 'hiMixedTripletStepTracks',
86  useAnyMVA = False,
87  GBRForestLabel = 'HIMVASelectorIter11',
88  GBRForestVars = ['chi2perdofperlayer', 'nhits', 'nlayers', 'eta'],
89  trackSelectors = cms.VPSet(
90  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
91  name = 'hiMixedTripletStepLoose',
92  applyAdaptedPVCuts = False,
93  useMVA = False,
94  ), #end of pset
95  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
96  name = 'hiMixedTripletStepTight',
97  preFilterName = 'hiMixedTripletStepLoose',
98  applyAdaptedPVCuts = False,
99  useMVA = False,
100  minMVA = -0.2
101  ),
102  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
103  name = 'hiMixedTripletStep',
104  preFilterName = 'hiMixedTripletStepTight',
105  applyAdaptedPVCuts = False,
106  useMVA = False,
107  minMVA = -0.09
108  ),
109  ) #end of vpset
110 ) #end of clone
111 
113 hiMixedTripletStepQual = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
114  TrackProducers = ['hiMixedTripletStepTracks'],
115  hasSelector = [1],
116  selectedTrackQuals = ["hiMixedTripletStepSelector:hiMixedTripletStep"],
117  copyExtras = True,
118  makeReKeyedSeeds = cms.untracked.bool(False),
119 )
120 
121 hiMixedTripletStepTask = cms.Task(
122  hiMixedTripletStepClusters,
123  mixedTripletStepSeedLayersA,
124  hiMixedTripletStepTrackingRegionsA,
125  mixedTripletStepHitDoubletsA,
126  mixedTripletStepHitTripletsA,
127  mixedTripletStepSeedsA,
128  mixedTripletStepSeedLayersB,
129  hiMixedTripletStepTrackingRegionsB,
130  mixedTripletStepHitDoubletsB,
131  mixedTripletStepHitTripletsB,
132  mixedTripletStepSeedsB,
133  mixedTripletStepSeeds,
134  mixedTripletStepTrackCandidates,
135  hiMixedTripletStepTracks,
136  hiMixedTripletStepSelector,
137  hiMixedTripletStepQual)
138 hiMixedTripletStep = cms.Sequence(hiMixedTripletStepTask)