CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
CkfElectronCandidateMaker_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 #Chi2 estimator
5 ElectronChi2 = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone(
6  ComponentName = 'ElectronChi2',
7  MaxChi2 = 2000.,
8  nSigma = 3.,
9  MaxDisplacement = 100,
10  MaxSagitta = -1
11 )
12 # Trajectory Filter
14 TrajectoryFilterForElectrons = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
15  chargeSignificance = -1.0,
16  minPt = 2.0,
17  minHitsMinPt = -1,
18  ComponentType = 'CkfBaseTrajectoryFilter',
19  maxLostHits = 1,
20  maxNumberOfHits = -1,
21  maxConsecLostHits = 1,
22  nSigmaMinPt = 5.0,
23  minimumNumberOfHits = 5,
24  highEtaSwitch = 2.5,
25  minHitsAtHighEta = 3,
26  maxCCCLostHits = 9999,
27  minGoodStripCharge = dict(refToPSet_ = 'SiStripClusterChargeCutNone')
28 )
29 
30 # Phase2 has extended outer-tracker coverage
31 # so no need to relax cuts on number of hits at high eta
32 from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
33 phase2_common.toModify(TrajectoryFilterForElectrons,
34  highEtaSwitch = 5.0,
35  minHitsAtHighEta = 5
36 )
37 
38 # Trajectory Builder
40 TrajectoryBuilderForElectrons = RecoTracker.CkfPattern.CkfTrajectoryBuilder_cfi.CkfTrajectoryBuilder.clone(
41  trajectoryFilter = dict(refToPSet_ = 'TrajectoryFilterForElectrons'),
42  maxCand = 5,
43  intermediateCleaning = False,
44  propagatorAlong = 'fwdGsfElectronPropagator',
45  propagatorOpposite = 'bwdGsfElectronPropagator',
46  estimator = 'ElectronChi2',
47  MeasurementTrackerName = '',
48  lostHitPenalty = 90.,
49  alwaysUseInvalidHits = True,
50  TTRHBuilder = 'WithTrackAngle',
51  updator = 'KFUpdator'
52 )
53 
54 from Configuration.ProcessModifiers.seedingDeepCore_cff import seedingDeepCore
55 seedingDeepCore.toModify(TrajectoryBuilderForElectrons, maxPtForLooperReconstruction = cms.double(0.0) )
56 
57 # CKFTrackCandidateMaker
60 electronCkfTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
61  src = 'electronMergedSeeds',
62  TrajectoryBuilderPSet = dict(refToPSet_ = 'TrajectoryBuilderForElectrons'),
63  #TrajectoryCleaner = 'TrajectoryCleanerBySharedHits'
64  NavigationSchool = 'SimpleNavigationSchool',
65  RedundantSeedCleaner = 'CachingSeedCleanerBySharedInput',
66  TrajectoryCleaner = 'electronTrajectoryCleanerBySharedHits'
67 )
68 
69 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
70 electronTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
71  ComponentName = 'electronTrajectoryCleanerBySharedHits',
72  ValidHitBonus = 1000.0,
73  MissingHitPenalty = 0.0
74 )
75 
76 
77 # "backward" propagator for electrons
79 # "forward" propagator for electrons
81 # TrajectoryFilter