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 hiMixedTripletStepTask = cms.Task(
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 hiMixedTripletStep = cms.Sequence(hiMixedTripletStepTask)
hiMultiTrackSelector_cfi
MixedTripletStep_cff
trackListMerger_cfi
globalTrackingRegionWithVertices_cfi