CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
hiPixelPairStep_cff.py
Go to the documentation of this file.
2 
3 
4 
5 # NEW CLUSTERS (remove previously used clusters)
6 hiPixelPairClusters = cms.EDProducer("HITrackClusterRemover",
7  clusterLessSolution= cms.bool(True),
8  oldClusterRemovalInfo = cms.InputTag("hiSecondPixelTripletClusters"),
9  trajectories = cms.InputTag("hiSecondPixelTripletGlobalPrimTracks"),
10  overrideTrkQuals = cms.InputTag('hiSecondPixelTripletStepSelector','hiSecondPixelTripletStep'),
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  maxChi2 = cms.double(9.0),
20  #Yen-Jie's mod to preserve merged clusters
21  maxSize = cms.uint32(2)
22  )
23  )
24 
25 
26 # SEEDING LAYERS
28 hiPixelPairSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerPairs_cfi.PixelLayerPairs.clone(
29  layerList = cms.vstring('BPix1+BPix2', 'BPix1+BPix3', 'BPix2+BPix3',
30  'BPix1+FPix1_pos', 'BPix1+FPix1_neg',
31  'BPix2+FPix1_pos', 'BPix2+FPix1_neg',
32  'FPix1_pos+FPix2_pos', 'FPix1_neg+FPix2_neg'),
33  BPix = cms.PSet(
34  TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelPairs'),
35  HitProducer = cms.string('siPixelRecHits'),
36  skipClusters = cms.InputTag('hiPixelPairClusters')
37  ),
38  FPix = cms.PSet(
39  TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelPairs'),
40  HitProducer = cms.string('siPixelRecHits'),
41  skipClusters = cms.InputTag('hiPixelPairClusters')
42  )
43  )
44 
45 # SEEDS
47 hiPixelPairSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromPairsWithVertices_cff.globalSeedsFromPairsWithVertices.clone()
48 hiPixelPairSeeds.RegionFactoryPSet.RegionPSet.VertexCollection=cms.InputTag("hiSelectedVertex")
49 hiPixelPairSeeds.RegionFactoryPSet.RegionPSet.ptMin = 4.0
50 hiPixelPairSeeds.RegionFactoryPSet.RegionPSet.originRadius = 0.005
51 hiPixelPairSeeds.RegionFactoryPSet.RegionPSet.nSigmaZ = 4.0
52 # sigmaZVertex is only used when usedFixedError is True -Matt
53 hiPixelPairSeeds.RegionFactoryPSet.RegionPSet.sigmaZVertex = 4.0
54 hiPixelPairSeeds.RegionFactoryPSet.RegionPSet.useFixedError = cms.bool(False)
55 hiPixelPairSeeds.OrderedHitsFactoryPSet.SeedingLayers = cms.InputTag('hiPixelPairSeedLayers')
56 hiPixelPairSeeds.OrderedHitsFactoryPSet.maxElement = 5000000
57 hiPixelPairSeeds.ClusterCheckPSet.MaxNumberOfPixelClusters = 5000000
58 hiPixelPairSeeds.ClusterCheckPSet.MaxNumberOfCosmicClusters = 50000000
59 hiPixelPairSeeds.ClusterCheckPSet.MaxNumberOfCosmicClusters = 50000000
60 del hiPixelPairSeeds.ClusterCheckPSet.cut
61 
62 hiPixelPairSeeds.SeedComparitorPSet = cms.PSet(
63  ComponentName = cms.string('PixelClusterShapeSeedComparitor'),
64  FilterAtHelixStage = cms.bool(True),
65  FilterPixelHits = cms.bool(True),
66  FilterStripHits = cms.bool(False),
67  ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter'),
68  ClusterShapeCacheSrc = cms.InputTag("siPixelClusterShapeCache")
69  )
70 
71 # QUALITY CUTS DURING TRACK BUILDING
73 hiPixelPairTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
74  #maxLostHits = 0,
75  minimumNumberOfHits = 6,
76  minPt = 1.0
77  )
78 
80 hiPixelPairChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
81  ComponentName = cms.string('hiPixelPairChi2Est'),
82  nSigma = cms.double(3.0),
83  MaxChi2 = cms.double(9.0),
84  minGoodStripCharge = cms.double(2069),
85  pTChargeCutThreshold = cms.double(15.)
86  )
87 
88 # TRACK BUILDING
90 hiPixelPairTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
91  MeasurementTrackerName = '',
92  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('hiPixelPairTrajectoryFilter')),
93  maxCand = 3,
94  estimator = cms.string('hiPixelPairChi2Est'),
95  maxDPhiForLooperReconstruction = cms.double(2.0),
96  maxPtForLooperReconstruction = cms.double(0.7)
97  )
98 
99 # MAKING OF TRACK CANDIDATES
101 hiPixelPairTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
102  src = cms.InputTag('hiPixelPairSeeds'),
103  clustersToSkip = cms.InputTag('hiPixelPairClusters'),
104  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('hiPixelPairTrajectoryBuilder')),
105  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
106  numHitsForSeedCleaner = cms.int32(50),
107  onlyPixelHitsForSeedCleaner = cms.bool(True),
108 
109  )
110 
111 
112 # TRACK FITTING
114 hiPixelPairGlobalPrimTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
115  AlgorithmName = cms.string('pixelPairStep'),
116  src = 'hiPixelPairTrackCandidates',
117  Fitter = cms.string('FlexibleKFFittingSmoother')
118  )
119 
120 
121 
122 # Final selection
123 import RecoHI.HiTracking.hiMultiTrackSelector_cfi
124 hiPixelPairStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
125  src='hiPixelPairGlobalPrimTracks',
126  trackSelectors= cms.VPSet(
127  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
128  name = 'hiPixelPairStepLoose',
129  ), #end of pset
130  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
131  name = 'hiPixelPairStepTight',
132  preFilterName = 'hiPixelPairStepLoose',
133  ),
134  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
135  name = 'hiPixelPairStep',
136  preFilterName = 'hiPixelPairStepTight',
137  min_nhits = 14
138  ),
139  ) #end of vpset
140  ) #end of clone
141 
142 
143 
144 # Final sequence
145 
146 hiPixelPairStep = cms.Sequence(hiPixelPairClusters*
147  hiPixelPairSeedLayers*
148  hiPixelPairSeeds*
149  hiPixelPairTrackCandidates*
150  hiPixelPairGlobalPrimTracks*
151  hiPixelPairStepSelector)