CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PixelPairStep_cff.py
Go to the documentation of this file.
2 
3 
4 # NEW CLUSTERS (remove previously used clusters)
5 pixelPairStepClusters = cms.EDProducer("TrackClusterRemover",
6  clusterLessSolution = cms.bool(True),
7  oldClusterRemovalInfo = cms.InputTag("lowPtTripletStepClusters"),
8  trajectories = cms.InputTag("lowPtTripletStepTracks"),
9  overrideTrkQuals = cms.InputTag('lowPtTripletStepSelector','lowPtTripletStep'),
10  TrackQuality = cms.string('highPurity'),
11  minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
12  pixelClusters = cms.InputTag("siPixelClusters"),
13  stripClusters = cms.InputTag("siStripClusters"),
14  Common = cms.PSet(
15  maxChi2 = cms.double(9.0)
16  )
17 )
18 
19 # SEEDING LAYERS
20 pixelPairStepSeedLayers = cms.EDProducer("SeedingLayersEDProducer",
21  layerList = cms.vstring('BPix1+BPix2', 'BPix1+BPix3', 'BPix2+BPix3',
22  'BPix1+FPix1_pos', 'BPix1+FPix1_neg',
23  'BPix2+FPix1_pos', 'BPix2+FPix1_neg',
24  'FPix1_pos+FPix2_pos', 'FPix1_neg+FPix2_neg'),
25  BPix = cms.PSet(
26  TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelPairs'),
27  HitProducer = cms.string('siPixelRecHits'),
28  skipClusters = cms.InputTag('pixelPairStepClusters')
29  ),
30  FPix = cms.PSet(
31  TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelPairs'),
32  HitProducer = cms.string('siPixelRecHits'),
33  skipClusters = cms.InputTag('pixelPairStepClusters')
34  )
35 )
36 
37 # SEEDS
39 pixelPairStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromPairsWithVertices_cff.globalSeedsFromPairsWithVertices.clone()
40 pixelPairStepSeeds.RegionFactoryPSet.RegionPSet.ptMin = 0.6
41 pixelPairStepSeeds.RegionFactoryPSet.RegionPSet.originRadius = 0.015
42 pixelPairStepSeeds.RegionFactoryPSet.RegionPSet.fixedError = 0.03
43 pixelPairStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = cms.InputTag('pixelPairStepSeedLayers')
44 
45 pixelPairStepSeeds.SeedComparitorPSet = cms.PSet(
46  ComponentName = cms.string('PixelClusterShapeSeedComparitor'),
47  FilterAtHelixStage = cms.bool(True),
48  FilterPixelHits = cms.bool(True),
49  FilterStripHits = cms.bool(False),
50  ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter')
51  )
52 
53 # QUALITY CUTS DURING TRACK BUILDING
54 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
55 pixelPairStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
56  ComponentName = 'pixelPairStepTrajectoryFilter',
57  filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
58  minimumNumberOfHits = 3,
59  minPt = 0.1
60  )
61  )
62 
64 pixelPairStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
65  ComponentName = cms.string('pixelPairStepChi2Est'),
66  nSigma = cms.double(3.0),
67  MaxChi2 = cms.double(9.0)
68 )
69 
70 # TRACK BUILDING
72 pixelPairStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
73  ComponentName = 'pixelPairStepTrajectoryBuilder',
74  MeasurementTrackerName = '',
75  trajectoryFilterName = 'pixelPairStepTrajectoryFilter',
76  maxCand = 3,
77  estimator = cms.string('pixelPairStepChi2Est'),
78  maxDPhiForLooperReconstruction = cms.double(2.0),
79  maxPtForLooperReconstruction = cms.double(0.7)
80  )
81 
82 # MAKING OF TRACK CANDIDATES
84 pixelPairStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
85  src = cms.InputTag('pixelPairStepSeeds'),
86  clustersToSkip = cms.InputTag('pixelPairStepClusters'),
87  TrajectoryBuilder = 'pixelPairStepTrajectoryBuilder',
88  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
89  numHitsForSeedCleaner = cms.int32(50),
90  onlyPixelHitsForSeedCleaner = cms.bool(True),
91 
92 )
93 
94 
95 # TRACK FITTING
97 pixelPairStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
98  AlgorithmName = cms.string('iter2'),
99  src = 'pixelPairStepTrackCandidates',
100  Fitter = cms.string('FlexibleKFFittingSmoother')
101  )
102 
103 # Final selection
105 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
106 pixelPairStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
107  src='pixelPairStepTracks',
108  useAnyMVA = cms.bool(True),
109  GBRForestLabel = cms.string('MVASelectorIter2'),
110  trackSelectors= cms.VPSet(
111  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
112  name = 'pixelPairStepLoose',
113  ), #end of pset
114  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
115  name = 'pixelPairStepTight',
116  preFilterName = 'pixelPairStepLoose',
117  ),
118  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
119  name = 'pixelPairStep',
120  preFilterName = 'pixelPairStepTight',
121  ),
122  ) #end of vpset
123  ) #end of clone
124 
125 # Final sequence
126 PixelPairStep = cms.Sequence(pixelPairStepClusters*
127  pixelPairStepSeedLayers*
128  pixelPairStepSeeds*
129  pixelPairStepTrackCandidates*
130  pixelPairStepTracks*
131  pixelPairStepSelector)