CMS 3D CMS Logo

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