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  'tev firstHit',
39  'tev picky',
40  'tev dyt'),
41  addExtraSoftMuons = cms.bool(False),
42  fillGlobalTrackRefits = cms.bool(True),
43 
44  # internal
45  debugWithTruthMatching = cms.bool(False),
46  # input tracks
47  inputCollectionLabels = cms.VInputTag(cms.InputTag("generalTracks"), cms.InputTag("globalMuons"), cms.InputTag("standAloneMuons","UpdatedAtVtx"),
48  cms.InputTag("tevMuons","firstHit"),cms.InputTag("tevMuons","picky"),cms.InputTag("tevMuons","dyt")),
49  fillCaloCompatibility = cms.bool(True),
50  # OR
51  maxAbsPullY = cms.double(9999.0),
52  # AND
53  maxAbsDy = cms.double(9999.0),
54  minP = cms.double(2.5),
55  minPCaloMuon = cms.double(1e9),
56 
57  # Match parameters
58  maxAbsDx = cms.double(3.0),
59  fillIsolation = cms.bool(True),
60  writeIsoDeposits = cms.bool(True),
61  minNumberOfMatches = cms.int32(1),
62  fillMatching = cms.bool(True),
63  fillShowerDigis = cms.bool(True),
64 
65  # global fit for candidate p4 requirements
66  ptThresholdToFillCandidateP4WithGlobalFit = cms.double(200.0),
67  sigmaThresholdToFillCandidateP4WithGlobalFit = cms.double(2.0),
68 
69  # global quality
70  fillGlobalTrackQuality = cms.bool(False), #input depends on external module output --> set to True where the sequence is defined
71  globalTrackQualityInputTag = cms.InputTag('glbTrackQual'),
72  selectHighPurity = cms.bool(False),
73  pvInputTag = cms.InputTag('offlinePrimaryVertices'),
74 
75  # tracker kink finding
76  fillTrackerKink = cms.bool(True),
77 
78  # calo muons
79  minCaloCompatibility = cms.double(0.6),
80 
81  # arbitration cleaning
82  runArbitrationCleaner = cms.bool(True),
83  arbitrationCleanerOptions = cms.PSet( ME1a = cms.bool(True),
84  Overlap = cms.bool(True),
85  Clustering = cms.bool(True),
86  OverlapDPhi = cms.double(0.0786), # 4.5 degrees
87  OverlapDTheta = cms.double(0.02), # 1.14 degrees
88  ClusterDPhi = cms.double(0.6), # 34 degrees
89  ClusterDTheta = cms.double(0.02) # 1.14
90  ),
91 
92  # tracker muon arbitration
93  arbitrateTrackerMuons = cms.bool(True)
94 )
95 
96 from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
97 run3_GEM.toModify( muons1stStep, TrackAssociatorParameters = dict(useGEM = True ) )
98 from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon
99 phase2_muon.toModify( muons1stStep, TrackAssociatorParameters = dict(useME0 = True ) )
100 from Configuration.Eras.Modifier_phase2_GE0_cff import phase2_GE0
101 phase2_GE0.toModify( muons1stStep, TrackAssociatorParameters = dict(useME0 = False ) )
102 
103 muonEcalDetIds = cms.EDProducer("InterestingEcalDetIdProducer",
104  inputCollection = cms.InputTag("muons1stStep")
105 )
106 
107 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
108 pp_on_AA.toModify(muons1stStep, minPt = 0.8, selectHighPurity = True)
109 
110 from Configuration.ProcessModifiers.recoFromReco_cff import recoFromReco
111 recoFromReco.toModify(muons1stStep,fillShowerDigis = False)