CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DisplacedMuonSeededStep_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 ###### Muon reconstruction module #####
4 from RecoMuon.MuonIdentification.earlyMuons_cfi import earlyDisplacedMuons
6 
7 ###### SEEDER MODELS ######
8 #for displaced global muons
9 muonSeededSeedsOutInDisplaced = RecoTracker.SpecialSeedGenerators.outInSeedsFromStandaloneMuons_cfi.outInSeedsFromStandaloneMuons.clone(
10  src = "earlyDisplacedMuons",
11 )
12 muonSeededSeedsOutInDisplaced.fromVertex = cms.bool(False)
13 ###------------- MeasurementEstimator, defining the searcgh window for pattern recongnition ----------------
14 #for displaced global muons
15 muonSeededMeasurementEstimatorForOutInDisplaced = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
16  ComponentName = cms.string('muonSeededMeasurementEstimatorForOutInDisplaced'),
17  MaxChi2 = cms.double(30.0), ## was 30 ## TO BE TUNED
18  nSigma = cms.double(3.), ## was 3 ## TO BE TUNED
19 )
20 
21 ###------------- TrajectoryFilter, defining selections on the trajectories while building them ----------------
22 #for displaced global muons
23 muonSeededTrajectoryFilterForOutInDisplaced = muonSeededTrajectoryFilterForInOut.clone()
24 muonSeededTrajectoryFilterForOutInDisplaced.constantValueForLostHitsFractionFilter = 10 ## allow more lost hits
25 muonSeededTrajectoryFilterForOutInDisplaced.minimumNumberOfHits = 5 ## allow more lost hits
26 ###------------- TrajectoryBuilders ----------------
27 #for displaced global muons
28 muonSeededTrajectoryBuilderForOutInDisplaced = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
29  foundHitBonus = cms.double(1000.0),
30  lostHitPenalty = cms.double(1.0),
31  maxCand = cms.int32(3),
32  estimator = cms.string('muonSeededMeasurementEstimatorForOutInDisplaced'),
33  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('muonSeededTrajectoryFilterForOutInDisplaced')),
34  inOutTrajectoryFilter = cms.PSet(refToPSet_ = cms.string('muonSeededTrajectoryFilterForOutInDisplaced')), # not sure if it is used
35  minNrOfHitsForRebuild = cms.int32(5),
36  requireSeedHitsInRebuild = cms.bool(True),
37  keepOriginalIfRebuildFails = cms.bool(False),
38 )
39 ######## TRACK CANDIDATE MAKERS
40 #for displaced global muons
41 muonSeededTrackCandidatesOutInDisplaced = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
42  src = cms.InputTag("muonSeededSeedsOutInDisplaced"),
43  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string("muonSeededTrajectoryBuilderForOutInDisplaced")),
44  TrajectoryCleaner = cms.string('muonSeededTrajectoryCleanerBySharedHits'),
45  numHitsForSeedCleaner = cms.int32(50),
46  onlyPixelHitsForSeedCleaner = cms.bool(False),
47 )
48 
49 ######## TRACK PRODUCERS
50 #for displaced global muon
51 muonSeededTracksOutInDisplaced = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
52  src = cms.InputTag("muonSeededTrackCandidatesOutInDisplaced"),
53  AlgorithmName = cms.string('muonSeededStepOutIn'),
54  Fitter = cms.string("muonSeededFittingSmootherWithOutliersRejectionAndRK"),
55 )
56 
57 #for displaced global muons
58 muonSeededTracksOutInDisplacedClassifier = muonSeededTracksOutInClassifier.clone()
59 muonSeededTracksOutInDisplacedClassifier.src='muonSeededTracksOutInDisplaced'
60 
61 
62 #for displaced global muons
63 muonSeededStepCoreDisplaced = cms.Sequence(
64  muonSeededSeedsInOut + muonSeededTrackCandidatesInOut + muonSeededTracksInOut +
65  muonSeededSeedsOutInDisplaced + muonSeededTrackCandidatesOutInDisplaced + muonSeededTracksOutInDisplaced
66 )
67 
68 #for displaced global muons
69 muonSeededStepExtraDisplaced = cms.Sequence(
70  muonSeededTracksInOutClassifier +
71  muonSeededTracksOutInDisplacedClassifier
72 )
73 #for displaced global muons
74 muonSeededStepDisplaced = cms.Sequence(
75  earlyDisplacedMuons +
76  muonSeededStepCoreDisplaced +
77  muonSeededStepExtraDisplaced
78 )
79 
80 ##### MODULES FOR DEBUGGING ###############3
81 #for displaced global muons
82 muonSeededSeedsOutInDisplacedAsTracks = cms.EDProducer("FakeTrackProducerFromSeed", src = cms.InputTag("muonSeededSeedsOutInDisplaced"))
83 #for displaced global muons
84 muonSeededTrackCandidatesOutInDisplacedAsTracks = cms.EDProducer("FakeTrackProducerFromCandidate", src = cms.InputTag("muonSeededTrackCandidatesOutInDisplaced"))
85 #for displaced global muons
86 muonSeededStepDebugDisplaced = cms.Sequence(
87  muonSeededSeedsOutInDisplacedAsTracks + muonSeededTrackCandidatesOutInDisplacedAsTracks +
88  muonSeededSeedsInOutAsTracks + muonSeededTrackCandidatesInOutAsTracks
89 )