CMS 3D CMS Logo

hiJetCoreRegionalStep_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 # This step runs over all clusters
4 
5 # run only if there are high pT jets
6 from RecoJets.JetProducers.TracksForJets_cff import trackRefsForJets
7 hiInitialStepTrackRefsForJets = trackRefsForJets.clone(src = cms.InputTag('hiGlobalPrimTracks'))
8 
9 #change this to import Bkg substracted Heavy Ion jets:
11 
12 hiJetsForCoreTracking = cms.EDFilter("CandPtrSelector", src = cms.InputTag("akPu4CaloJetsSelected"), cut = cms.string("pt > 30 && abs(eta) < 2.5"))
13 
14 # care only at tracks from main PV
15 hiFirstStepGoodPrimaryVertices = cms.EDFilter("PrimaryVertexObjectFilter",
16  filterParams = cms.PSet(
17  minNdof = cms.double(25.0),
18  maxZ = cms.double(15.0),
19  maxRho = cms.double(2.0)
20  ),
21  src=cms.InputTag('hiSelectedPixelVertex')
22 )
23 
24 # SEEDING LAYERS
25 hiJetCoreRegionalStepSeedLayers = cms.EDProducer("SeedingLayersEDProducer",
26  layerList = cms.vstring('BPix1+BPix2+BPix3',
27  'BPix1+BPix2+FPix1_pos',
28  'BPix1+BPix2+FPix1_neg',
29  'BPix1+FPix1_pos+FPix2_pos',
30  'BPix1+FPix1_neg+FPix2_neg',
31  'BPix1+BPix2+TIB1',
32  'BPix1+BPix3+TIB1',
33  'BPix2+BPix3+TIB1',
34 ),
35  TIB = cms.PSet(
36  matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
37  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutNone'))
38  ),
39  BPix = cms.PSet(
40  useErrorsFromParam = cms.bool(True),
41  hitErrorRPhi = cms.double(0.0027),
42  hitErrorRZ = cms.double(0.006),
43  TTRHBuilder = cms.string('WithTrackAngle'),
44  HitProducer = cms.string('siPixelRecHits'),
45  ),
46  FPix = cms.PSet(
47  useErrorsFromParam = cms.bool(True),
48  hitErrorRPhi = cms.double(0.0051),
49  hitErrorRZ = cms.double(0.0036),
50  TTRHBuilder = cms.string('WithTrackAngle'),
51  HitProducer = cms.string('siPixelRecHits'),
52  )
53 )
54 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
55 trackingPhase1.toModify(hiJetCoreRegionalStepSeedLayers, layerList = cms.vstring('BPix1+BPix2+BPix3',
56  'BPix2+BPix3+BPix4',
57  'BPix1+BPix3+BPix4',
58  'BPix1+BPix2+BPix4',
59  'BPix2+BPix3+FPix1_pos',
60  'BPix2+BPix3+FPix1_neg',
61  'BPix1+BPix2+FPix1_pos',
62  'BPix1+BPix2+FPix1_neg',
63  'BPix2+FPix1_pos+FPix2_pos',
64  'BPix2+FPix1_neg+FPix2_neg',
65  'BPix1+FPix1_pos+FPix2_pos',
66  'BPix1+FPix1_neg+FPix2_neg',
67  'FPix1_pos+FPix2_pos+FPix3_pos',
68  'FPix1_neg+FPix2_neg+FPix3_neg',#up to here, same as what is in RecoTracker/TkSeedingLayers/python/PixelLayerTriplets_cfi.py for phase 1
69  'BPix1+BPix2+TIB1',#use TIB1 to try to recover tracks w/ 2 hits missing in pix barrel
70  'BPix1+BPix3+TIB1',
71  'BPix1+BPix4+TIB1',
72  'BPix2+BPix3+TIB1',
73  'BPix2+BPix4+TIB1',
74  'BPix3+BPix4+TIB1',
75  )
76 )
77 
78 # SEEDS
80 hiJetCoreRegionalStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone()
81 hiJetCoreRegionalStepSeeds.RegionFactoryPSet = cms.PSet(
82  ComponentName = cms.string( "TauRegionalPixelSeedGenerator" ),#not so nice to depend on RecoTau...
83  RegionPSet = cms.PSet(
84  precise = cms.bool( True ),
85  useMultipleScattering = cms.bool(False),
86  useFakeVertices = cms.bool(False),
87  originRadius = cms.double( 0.2 ),
88  ptMin = cms.double( 15. ),
89  originHalfLength = cms.double( 0.2 ),
90  deltaPhiRegion = cms.double( 0.30 ),
91  deltaEtaRegion = cms.double( 0.30 ),
92  JetSrc = cms.InputTag( "hiJetsForCoreTracking" ),
93  vertexSrc = cms.InputTag( "hiFirstStepGoodPrimaryVertices" ),
94  measurementTrackerName = cms.InputTag( "MeasurementTrackerEvent" ),
95  howToUseMeasurementTracker = cms.string( "Never" )
96  )
97 )
98 hiJetCoreRegionalStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'hiJetCoreRegionalStepSeedLayers'
99 hiJetCoreRegionalStepSeeds.SeedComparitorPSet = cms.PSet(
100  ComponentName = cms.string('none'),
101  )
102 hiJetCoreRegionalStepSeeds.SeedCreatorPSet.forceKinematicWithRegionDirection = cms.bool( True )
103 hiJetCoreRegionalStepSeeds.ClusterCheckPSet.doClusterCheck = cms.bool( False )
104 
105 # QUALITY CUTS DURING TRACK BUILDING
107 hiJetCoreRegionalStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
108  minimumNumberOfHits = 6,
109  minPt = 10.0
110 )
111 
113 hiJetCoreRegionalStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone(
114  ComponentName = cms.string('hiJetCoreRegionalStepChi2Est'),
115  nSigma = cms.double(3.0),
116  MaxChi2 = cms.double(30.0)
117 )
118 
119 # TRACK BUILDING
121 hiJetCoreRegionalStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
122  MeasurementTrackerName = '',
123  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('hiJetCoreRegionalStepTrajectoryFilter')),
124  maxCand = 50,
125  estimator = cms.string('hiJetCoreRegionalStepChi2Est'),
126  maxDPhiForLooperReconstruction = cms.double(2.0),
127  maxPtForLooperReconstruction = cms.double(0.7)
128  )
129 
130 # MAKING OF TRACK CANDIDATES
132 hiJetCoreRegionalStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
133  src = cms.InputTag('hiJetCoreRegionalStepSeeds'),
134  maxSeedsBeforeCleaning = cms.uint32(10000),
135  TrajectoryBuilderPSet = cms.PSet( refToPSet_ = cms.string('hiJetCoreRegionalStepTrajectoryBuilder')),
136  NavigationSchool = cms.string('SimpleNavigationSchool'),
137 )
138 
139 
140 # TRACK FITTING
142 hiJetCoreRegionalStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
143  AlgorithmName = cms.string('jetCoreRegionalStep'),
144  src = 'hiJetCoreRegionalStepTrackCandidates',
145  Fitter = cms.string('FlexibleKFFittingSmoother')
146  )
147 
148 # Final selection
150 hiJetCoreRegionalStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
151  src='hiJetCoreRegionalStepTracks',
152  vertices = cms.InputTag("hiFirstStepGoodPrimaryVertices"),
153  trackSelectors= cms.VPSet(
154  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
155  name = 'hiJetCoreRegionalStepLoose',
156  ), #end of pset
157  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
158  name = 'hiJetCoreRegionalStepTight',
159  preFilterName = 'hiJetCoreRegionalStepLoose',
160  ),
161  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
162  name = 'hiJetCoreRegionalStep',
163  preFilterName = 'hiJetCoreRegionalStepTight',
164  min_nhits = 14
165  ),
166  ) #end of vpset
167  ) #end of clone
168 
169 # Final sequence
170 hiJetCoreRegionalStep = cms.Sequence(
171  hiCaloJetsForTrk*hiJetsForCoreTracking*
172  hiFirstStepGoodPrimaryVertices*
173  hiJetCoreRegionalStepSeedLayers*
174  hiJetCoreRegionalStepSeeds*
175  hiJetCoreRegionalStepTrackCandidates*
176  hiJetCoreRegionalStepTracks*
177  hiJetCoreRegionalStepSelector)