CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RecoMuonPPonly_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 # Seed generator
5 # Stand alone muon track producer
7 
8 # refitted stand-alone muons.
9 refittedStandAloneMuons = standAloneMuons.clone(
10  STATrajBuilderParameters = dict(DoRefit = True)
11 )
12 #refittedStandAloneMuons.STATrajBuilderParameters.DoRefit = True
13 # Displaced SA muons
15 displacedMuonSeeds = CosmicMuonSeed.clone(
16  ForcePointDown = False
17 )
18 
19 displacedStandAloneMuons = standAloneMuons.clone(
20  InputObjects = 'displacedMuonSeeds',
21  MuonTrajectoryBuilder = 'StandAloneMuonTrajectoryBuilder',
22  TrackLoaderParameters = dict(VertexConstraint = False)
23 )
24 
25 # Global muon track producer
28 displacedGlobalMuons = globalMuons.clone(
29  MuonCollectionLabel = 'displacedStandAloneMuons:',
30  TrackerCollectionLabel = 'displacedTracks',
31  selectHighPurity = False
32 )
33 
34 # TeV refinement
36 
37 # SET Muon tracking
39 
40 # Muon Id producer
42 muons1stStep.fillGlobalTrackQuality = True
43 
44 #Muon Id isGood flag ValueMap producer sequence
46 
47 # Muon Isolation sequence
49 
50 # ---------------------------------------------------- #
51 ################## Make the sequences ##################
52 # ---------------------------------------------------- #
53 from Configuration.Eras.Modifier_fastSim_cff import fastSim
54 
55 # Muon Tracking sequence
56 standalonemuontrackingTask = cms.Task(standAloneMuons,
57  refittedStandAloneMuons,
58  displacedMuonSeeds,
59  displacedStandAloneMuons,
60  standAloneMuonSeedsTask)
61 standalonemuontracking = cms.Sequence(standalonemuontrackingTask)
62 # not commisoned and not relevant in FastSim (?):
63 fastSim.toReplaceWith(standalonemuontrackingTask,standalonemuontrackingTask.copyAndExclude([displacedMuonSeeds,displacedStandAloneMuons]))
64 displacedGlobalMuonTrackingTask = cms.Task(iterDisplcedTrackingTask,displacedGlobalMuons)
65 displacedGlobalMuonTracking = cms.Sequence(displacedGlobalMuonTrackingTask)
66 
67 globalmuontrackingTask = cms.Task(globalMuons,tevMuons,displacedGlobalMuonTrackingTask)
68 globalmuontracking = cms.Sequence(globalmuontrackingTask)
69 # not commisoned and not relevant in FastSim (?):
70 fastSim.toReplaceWith(globalmuontrackingTask,globalmuontrackingTask.copyAndExclude([displacedGlobalMuonTrackingTask]))
71 muontrackingTask = cms.Task(standalonemuontrackingTask,globalmuontrackingTask)
72 muontracking = cms.Sequence(muontrackingTask)
73 # Muon Reconstruction
74 muonrecoTask = cms.Task(muontrackingTask,muonIdProducerTask)
75 muonreco = cms.Sequence(muonrecoTask)
76 # Muon Reconstruction plus Isolation
77 muonreco_plus_isolationTask = cms.Task(muonrecoTask,muIsolationTask)
78 muonreco_plus_isolation = cms.Sequence(muonreco_plus_isolationTask)
79 
80 muonrecoComplete = cms.Sequence(muonreco_plus_isolationTask,muonSelectionTypeTask)
81 
82 
83 # _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_- #
84 # -_-_-_- Special Sequences for Iterative tracking -_-_-_- #
85 # -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ #
86 
87 # We need to split the muon sequence above in two, to be able to run the MuonSeeding in the tracker. So muonrecoComplete will
88 # be run no longer...
89 
90 #from RecoMuon.MuonIdentification.earlyMuons_cfi import earlyMuons
91 
92 muonGlobalRecoTask = cms.Task(globalmuontrackingTask,
93  muonIdProducerTask,
94  muonSelectionTypeTask,
95  muIsolationTask)
96 muonGlobalReco = cms.Sequence(muonGlobalRecoTask)
97 
98 # ... instead, the sequences will be run in the following order:
99 # 1st - standalonemuontracking
100 # 2nd - iterative tracking (def in RecoTracker config)
101 # 3rd - MuonIDProducer with 1&2 as input, with special replacements; the earlyMuons above.
102 # 4th - MuonSeeded tracks, inside-out and outside-in
103 # 5th - Merging of the new TK tracks into the generalTracks collection
104 # 6th - Run the remnant part of the muon sequence (muonGlobalReco)
105 
106 ########################################################
107 # not commisoned and not relevant in FastSim (?):
108 fastSim.toReplaceWith(muonGlobalRecoTask, muonGlobalRecoTask.copyAndExclude([muonreco_with_SET_Task,muonSelectionTypeTask]))