CMS 3D CMS Logo

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