CMS 3D CMS Logo

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