CMS 3D CMS Logo

muons1stStep_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
9 
10 TrackAssociatorParameterBlock.TrackAssociatorParameters.preselectMuonTracks = True
11 
12 muons1stStep = cms.EDProducer("MuonIdProducer",
13  # MuonCaloCompatibility
14  MuonCaloCompatibilityBlock,
15  # TrackDetectorAssociator
16  TrackAssociatorParameterBlock,
17  # MuonIsolation
18  MIdIsoExtractorPSetBlock,
19  # MuonTiming
20  TimingFillerBlock,
21  # MuonShowerDigi
22  MuonShowerDigiFillerBlock,
23  # Kink finder
24  TrackerKinkFinderParametersBlock,
25 
26  fillEnergy = cms.bool(True),
27  storeCrossedHcalRecHits = cms.bool(True),
28 
29  # OR
30  maxAbsPullX = cms.double(3.0),
31  maxAbsEta = cms.double(3.0),
32 
33  # Selection parameters
34  minPt = cms.double(0.5),
35  inputCollectionTypes = cms.vstring('inner tracks',
36  'links',
37  'outer tracks',
38  'outer tracks',
39  'tev firstHit',
40  'tev picky',
41  'tev dyt'),
42  addExtraSoftMuons = cms.bool(False),
43  fillGlobalTrackRefits = cms.bool(True),
44 
45  # internal
46  debugWithTruthMatching = cms.bool(False),
47  # input tracks
48  inputCollectionLabels = cms.VInputTag(cms.InputTag("generalTracks"), cms.InputTag("globalMuons"), cms.InputTag("standAloneMuons","UpdatedAtVtx"), cms.InputTag("standAloneMuons"),
49  cms.InputTag("tevMuons","firstHit"),cms.InputTag("tevMuons","picky"),cms.InputTag("tevMuons","dyt")),
50  fillCaloCompatibility = cms.bool(True),
51  # OR
52  maxAbsPullY = cms.double(9999.0),
53  # AND
54  maxAbsDy = cms.double(9999.0),
55  minP = cms.double(2.5),
56  minPCaloMuon = cms.double(1e9),
57 
58  # Match parameters
59  maxAbsDx = cms.double(3.0),
60  fillIsolation = cms.bool(True),
61  writeIsoDeposits = cms.bool(True),
62  minNumberOfMatches = cms.int32(1),
63  fillMatching = cms.bool(True),
64  fillShowerDigis = cms.bool(True),
65 
66  # global fit for candidate p4 requirements
67  ptThresholdToFillCandidateP4WithGlobalFit = cms.double(200.0),
68  sigmaThresholdToFillCandidateP4WithGlobalFit = cms.double(2.0),
69 
70  # global quality
71  fillGlobalTrackQuality = cms.bool(False), #input depends on external module output --> set to True where the sequence is defined
72  globalTrackQualityInputTag = cms.InputTag('glbTrackQual'),
73  selectHighPurity = cms.bool(False),
74  pvInputTag = cms.InputTag('offlinePrimaryVertices'),
75 
76  # tracker kink finding
77  fillTrackerKink = cms.bool(True),
78 
79  # calo muons
80  minCaloCompatibility = cms.double(0.6),
81 
82  # arbitration cleaning
83  runArbitrationCleaner = cms.bool(True),
84  arbitrationCleanerOptions = cms.PSet( ME1a = cms.bool(True),
85  Overlap = cms.bool(True),
86  Clustering = cms.bool(True),
87  OverlapDPhi = cms.double(0.0786), # 4.5 degrees
88  OverlapDTheta = cms.double(0.02), # 1.14 degrees
89  ClusterDPhi = cms.double(0.6), # 34 degrees
90  ClusterDTheta = cms.double(0.02) # 1.14
91  ),
92 
93  # tracker muon arbitration
94  arbitrateTrackerMuons = cms.bool(True)
95 )
96 
97 from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
98 run3_GEM.toModify( muons1stStep, TrackAssociatorParameters = dict(useGEM = True ) )
99 from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon
100 phase2_muon.toModify( muons1stStep, TrackAssociatorParameters = dict(useME0 = True ) )
101 from Configuration.Eras.Modifier_phase2_GE0_cff import phase2_GE0
102 phase2_GE0.toModify( muons1stStep, TrackAssociatorParameters = dict(useME0 = False ) )
103 
104 muonEcalDetIds = cms.EDProducer("InterestingEcalDetIdProducer",
105  inputCollection = cms.InputTag("muons1stStep")
106 )
107 
108 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
109 pp_on_AA.toModify(muons1stStep, minPt = 0.8, selectHighPurity = True)
110 
111 from Configuration.ProcessModifiers.recoFromReco_cff import recoFromReco
112 recoFromReco.toModify(muons1stStep,fillShowerDigis = False)