1 |
bendavid |
1.1 |
import FWCore.ParameterSet.Config as cms
|
2 |
|
|
|
3 |
|
|
# new hit collection
|
4 |
|
|
secClustersGsf = cms.EDFilter("TrackClusterRemover",
|
5 |
|
|
trajectories = cms.InputTag("preFilterFirstStepTracksGsf"),
|
6 |
|
|
pixelClusters = cms.InputTag("siPixelClusters"),
|
7 |
|
|
Common = cms.PSet(
|
8 |
|
|
maxChi2 = cms.double(30.0)
|
9 |
|
|
),
|
10 |
|
|
stripClusters = cms.InputTag("siStripClusters")
|
11 |
|
|
)
|
12 |
|
|
|
13 |
|
|
import RecoLocalTracker.SiPixelRecHits.SiPixelRecHits_cfi
|
14 |
|
|
secPixelRecHitsGsf = RecoLocalTracker.SiPixelRecHits.SiPixelRecHits_cfi.siPixelRecHits.clone()
|
15 |
|
|
import RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitConverter_cfi
|
16 |
|
|
secStripRecHitsGsf = RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitConverter_cfi.siStripMatchedRecHits.clone()
|
17 |
|
|
|
18 |
|
|
secPixelRecHitsGsf.src = cms.InputTag("secClustersGsf")
|
19 |
|
|
secStripRecHitsGsf.ClusterProducer = 'secClustersGsf'
|
20 |
|
|
|
21 |
|
|
|
22 |
|
|
# seeding
|
23 |
|
|
|
24 |
|
|
import RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi
|
25 |
|
|
seclayertripletsGsf = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.pixellayertriplets.clone()
|
26 |
|
|
import RecoTracker.TkSeedGenerator.GlobalSeedsFromTripletsWithVertices_cfi
|
27 |
|
|
secTripletsGsf = RecoTracker.TkSeedGenerator.GlobalSeedsFromTripletsWithVertices_cfi.globalSeedsFromTripletsWithVertices.clone()
|
28 |
|
|
|
29 |
|
|
seclayertripletsGsf.ComponentName = 'SecLayerTripletsGsf'
|
30 |
|
|
seclayertripletsGsf.BPix.HitProducer = 'secPixelRecHitsGsf'
|
31 |
|
|
seclayertripletsGsf.FPix.HitProducer = 'secPixelRecHitsGsf'
|
32 |
|
|
secTripletsGsf.RegionFactoryPSet.RegionPSet.originHalfLength = 17.5
|
33 |
|
|
secTripletsGsf.OrderedHitsFactoryPSet.SeedingLayers = 'SecLayerTripletsGsf'
|
34 |
|
|
secTripletsGsf.RegionFactoryPSet.RegionPSet.ptMin = 0.3
|
35 |
|
|
|
36 |
|
|
|
37 |
|
|
# building
|
38 |
|
|
import RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cfi
|
39 |
|
|
secMeasurementTrackerGsf = RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cfi.MeasurementTracker.clone()
|
40 |
|
|
import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
|
41 |
|
|
secCkfTrajectoryFilterGsf = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone()
|
42 |
bendavid |
1.2 |
# import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi
|
43 |
|
|
# secCkfTrajectoryBuilderGsf = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone()
|
44 |
|
|
# import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
|
45 |
|
|
# secTrackCandidatesGsf = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone()
|
46 |
|
|
import RecoEgamma.EgammaElectronProducers.gsfElectronCkfTrackCandidateMaker_cff
|
47 |
|
|
secCkfTrajectoryBuilderGsf = RecoEgamma.EgammaElectronProducers.gsfElectronCkfTrackCandidateMaker_cff.TrajectoryBuilderForPixelMatchGsfElectrons.clone()
|
48 |
|
|
secTrackCandidatesGsf = RecoEgamma.EgammaElectronProducers.gsfElectronCkfTrackCandidateMaker_cff.egammaCkfTrackCandidates.clone()
|
49 |
bendavid |
1.1 |
|
50 |
|
|
secMeasurementTrackerGsf.ComponentName = 'secMeasurementTrackerGsf'
|
51 |
|
|
secMeasurementTrackerGsf.pixelClusterProducer = 'secClustersGsf'
|
52 |
|
|
secMeasurementTrackerGsf.stripClusterProducer = 'secClustersGsf'
|
53 |
|
|
|
54 |
|
|
secCkfTrajectoryFilterGsf.ComponentName = 'secCkfTrajectoryFilterGsf'
|
55 |
|
|
secCkfTrajectoryFilterGsf.filterPset.maxLostHits = 1
|
56 |
|
|
secCkfTrajectoryFilterGsf.filterPset.minimumNumberOfHits = 3
|
57 |
|
|
secCkfTrajectoryFilterGsf.filterPset.minPt = 0.3
|
58 |
|
|
secCkfTrajectoryBuilderGsf.ComponentName = 'secCkfTrajectoryBuilderGsf'
|
59 |
|
|
secCkfTrajectoryBuilderGsf.MeasurementTrackerName = 'secMeasurementTrackerGsf'
|
60 |
|
|
secCkfTrajectoryBuilderGsf.trajectoryFilterName = 'secCkfTrajectoryFilterGsf'
|
61 |
|
|
|
62 |
|
|
secTrackCandidatesGsf.SeedProducer = 'secTripletsGsf'
|
63 |
|
|
secTrackCandidatesGsf.TrajectoryBuilder = 'secCkfTrajectoryBuilderGsf'
|
64 |
|
|
secTrackCandidatesGsf.doSeedingRegionRebuilding = True
|
65 |
|
|
secTrackCandidatesGsf.useHitsSplitting = True
|
66 |
|
|
|
67 |
|
|
|
68 |
|
|
# fitting
|
69 |
|
|
import TrackingTools.GsfTracking.GsfElectronFit_cfi
|
70 |
|
|
secWithMaterialTracksGsf = TrackingTools.GsfTracking.GsfElectronFit_cfi.GsfGlobalElectronTest.clone()
|
71 |
|
|
secWithMaterialTracksGsf.src = 'secTrackCandidatesGsf'
|
72 |
|
|
secWithMaterialTracksGsf.clusterRemovalInfo = cms.InputTag('secClustersGsf')
|
73 |
|
|
secWithMaterialTracksGsf.TrajectoryInEvent = True
|
74 |
|
|
|
75 |
|
|
secondStepGsf = cms.Sequence(secClustersGsf*secPixelRecHitsGsf*secStripRecHitsGsf*secTripletsGsf*secTrackCandidatesGsf*secWithMaterialTracksGsf)
|