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
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 = cms.vstring('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 = cms.InputTag('hiMixedTripletStepClusters')
31 mixedTripletStepSeedLayersA.FPix.skipClusters = cms.InputTag('hiMixedTripletStepClusters')
32 mixedTripletStepSeedLayersA.TEC.skipClusters = cms.InputTag('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 = cms.InputTag('hiMixedTripletStepClusters')
57 mixedTripletStepSeedLayersB.TIB.skipClusters = cms.InputTag('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 mixedTripletStepTrackCandidates.clustersToSkip = cms.InputTag('hiMixedTripletStepClusters')
77 
78 # TRACK FITTING
79 hiMixedTripletStepTracks = mixedTripletStepTracks.clone()
80 
81 # Final selection
83 hiMixedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
84  src='hiMixedTripletStepTracks',
85  useAnyMVA = cms.bool(False),
86  GBRForestLabel = cms.string('HIMVASelectorIter11'),
87  GBRForestVars = cms.vstring(['chi2perdofperlayer', 'nhits', 'nlayers', 'eta']),
88  trackSelectors= cms.VPSet(
89  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
90  name = 'hiMixedTripletStepLoose',
91  applyAdaptedPVCuts = cms.bool(False),
92  useMVA = cms.bool(False),
93  ), #end of pset
94  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
95  name = 'hiMixedTripletStepTight',
96  preFilterName = 'hiMixedTripletStepLoose',
97  applyAdaptedPVCuts = cms.bool(False),
98  useMVA = cms.bool(False),
99  minMVA = cms.double(-0.2)
100  ),
101  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
102  name = 'hiMixedTripletStep',
103  preFilterName = 'hiMixedTripletStepTight',
104  applyAdaptedPVCuts = cms.bool(False),
105  useMVA = cms.bool(False),
106  minMVA = cms.double(-0.09)
107  ),
108  ) #end of vpset
109  ) #end of clone
110 
112 hiMixedTripletStepQual = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
113  TrackProducers=cms.VInputTag(cms.InputTag('hiMixedTripletStepTracks')),
114  hasSelector=cms.vint32(1),
115  selectedTrackQuals = cms.VInputTag(cms.InputTag("hiMixedTripletStepSelector","hiMixedTripletStep")),
116  copyExtras = True,
117  makeReKeyedSeeds = cms.untracked.bool(False),
118  )
119 
120 hiMixedTripletStep = cms.Sequence(
121  hiMixedTripletStepClusters*
122  mixedTripletStepSeedLayersA*
123  hiMixedTripletStepTrackingRegionsA*
124  mixedTripletStepHitDoubletsA*
125  mixedTripletStepHitTripletsA*
126  mixedTripletStepSeedsA*
127  mixedTripletStepSeedLayersB*
128  hiMixedTripletStepTrackingRegionsB*
129  mixedTripletStepHitDoubletsB*
130  mixedTripletStepHitTripletsB*
131  mixedTripletStepSeedsB*
132  mixedTripletStepSeeds*
133  mixedTripletStepTrackCandidates*
134  hiMixedTripletStepTracks*
135  hiMixedTripletStepSelector*
136  hiMixedTripletStepQual)
137