CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
RecoMuonPPonly_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 # Seed generator
5 
6 # Stand alone muon track producer
8 
9 # refitted stand-alone muons.
10 refittedStandAloneMuons = standAloneMuons.clone()
11 refittedStandAloneMuons.STATrajBuilderParameters.DoRefit = True
12 
13 # Displaced SA muons
15 displacedMuonSeeds = CosmicMuonSeed.clone()
16 displacedMuonSeeds.ForcePointDown = False
17 
18 displacedStandAloneMuons = standAloneMuons.clone()
19 displacedStandAloneMuons.InputObjects = cms.InputTag("displacedMuonSeeds")
20 displacedStandAloneMuons.MuonTrajectoryBuilder = cms.string("StandAloneMuonTrajectoryBuilder")
21 displacedStandAloneMuons.TrackLoaderParameters.VertexConstraint = cms.bool(False)
22 
23 # Global muon track producer
26 displacedGlobalMuons = globalMuons.clone()
27 displacedGlobalMuons.MuonCollectionLabel = cms.InputTag("displacedStandAloneMuons","")
28 displacedGlobalMuons.TrackerCollectionLabel = cms.InputTag("displacedTracks")
29 
30 # TeV refinement
32 
33 # SET Muon tracking
35 
36 # Muon Id producer
38 muons1stStep.fillGlobalTrackQuality = True
39 
40 #Muon Id isGood flag ValueMap producer sequence
42 
43 # Muon Isolation sequence
45 
46 # ---------------------------------------------------- #
47 ################## Make the sequences ##################
48 # ---------------------------------------------------- #
49 
50 # Muon Tracking sequence
51 standalonemuontracking = cms.Sequence(standAloneMuonSeeds*standAloneMuons*refittedStandAloneMuons*displacedMuonSeeds*displacedStandAloneMuons)
52 displacedGlobalMuonTracking = cms.Sequence(iterDisplcedTracking*displacedGlobalMuons)
53 globalmuontracking = cms.Sequence(globalMuons*tevMuons*displacedGlobalMuonTracking)
54 muontracking = cms.Sequence(standalonemuontracking*globalmuontracking)
55 
56 # Muon Reconstruction
57 muonreco = cms.Sequence(muontracking*muonIdProducerSequence)
58 
59 # Muon Reconstruction plus Isolation
60 muonreco_plus_isolation = cms.Sequence(muonreco*muIsolation)
61 muonreco_plus_isolation_plus_SET = cms.Sequence(muonreco_plus_isolation*muonreco_with_SET)
62 
63 muonrecoComplete = cms.Sequence(muonreco_plus_isolation_plus_SET*muonSelectionTypeSequence)
64 
65 
66 # _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_- #
67 # -_-_-_- Special Sequences for Iterative tracking -_-_-_- #
68 # -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ #
69 
70 # We need to split the muon sequence above in two, to be able to run the MuonSeeding in the tracker. So muonrecoComplete will
71 # be run no longer...
72 
73 #from RecoMuon.MuonIdentification.earlyMuons_cfi import earlyMuons
74 
75 muonGlobalReco = cms.Sequence(globalmuontracking*muonIdProducerSequence*muonSelectionTypeSequence*muIsolation*muonreco_with_SET)
76 
77 # ... instead, the sequences will be run in the following order:
78 # 1st - standalonemuontracking
79 # 2nd - iterative tracking (def in RecoTracker config)
80 # 3rd - MuonIDProducer with 1&2 as input, with special replacements; the earlyMuons above.
81 # 4th - MuonSeeded tracks, inside-out and outside-in
82 # 5th - Merging of the new TK tracks into the generalTracks collection
83 # 6th - Run the remnant part of the muon sequence (muonGlobalReco)
84 
85 ########################################################