Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 10:01:18

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 from RecoMuon.MuonIdentification.isolation_cff import *
0004 from RecoMuon.MuonIdentification.caloCompatibility_cff import *
0005 from RecoMuon.MuonIdentification.MuonTimingFiller_cfi import *
0006 from RecoMuon.MuonIdentification.MuonShowerDigiFiller_cfi import *
0007 from RecoMuon.MuonIdentification.TrackerKinkFinder_cfi import *
0008 from TrackingTools.TrackAssociator.default_cfi import *
0009 
0010 TrackAssociatorParameterBlock.TrackAssociatorParameters.preselectMuonTracks = True
0011 
0012 muons1stStep = cms.EDProducer("MuonIdProducer",
0013     # MuonCaloCompatibility
0014     MuonCaloCompatibilityBlock,
0015     # TrackDetectorAssociator
0016     TrackAssociatorParameterBlock,
0017     # MuonIsolation
0018     MIdIsoExtractorPSetBlock,
0019     # MuonTiming
0020     TimingFillerBlock,
0021     # MuonShowerDigi
0022     MuonShowerDigiFillerBlock,
0023     # Kink finder
0024     TrackerKinkFinderParametersBlock,
0025 
0026     fillEnergy = cms.bool(True),
0027     storeCrossedHcalRecHits = cms.bool(True),
0028 
0029     # OR
0030     maxAbsPullX = cms.double(3.0),
0031     maxAbsEta = cms.double(3.0),
0032 
0033     # Selection parameters
0034     minPt = cms.double(0.5),
0035     inputCollectionTypes = cms.vstring('inner tracks', 
0036                                        'links', 
0037                                        'outer tracks',
0038                                        'outer tracks',
0039                                        'tev firstHit',
0040                                        'tev picky',
0041                                        'tev dyt'),
0042     addExtraSoftMuons = cms.bool(False),
0043     fillGlobalTrackRefits = cms.bool(True),
0044 
0045     # internal
0046     debugWithTruthMatching = cms.bool(False),
0047     # input tracks
0048     inputCollectionLabels = cms.VInputTag(cms.InputTag("generalTracks"), cms.InputTag("globalMuons"), cms.InputTag("standAloneMuons","UpdatedAtVtx"), cms.InputTag("standAloneMuons"),
0049                                           cms.InputTag("tevMuons","firstHit"),cms.InputTag("tevMuons","picky"),cms.InputTag("tevMuons","dyt")),
0050     fillCaloCompatibility = cms.bool(True),
0051     # OR
0052     maxAbsPullY = cms.double(9999.0),
0053     # AND
0054     maxAbsDy = cms.double(9999.0),
0055     minP = cms.double(2.5),
0056     minPCaloMuon = cms.double(1e9),
0057 
0058     # Match parameters
0059     maxAbsDx = cms.double(3.0),
0060     fillIsolation = cms.bool(True),
0061     writeIsoDeposits = cms.bool(True),
0062     minNumberOfMatches = cms.int32(1),
0063     fillMatching = cms.bool(True),
0064     fillShowerDigis = cms.bool(True),
0065 
0066     # global fit for candidate p4 requirements
0067     ptThresholdToFillCandidateP4WithGlobalFit = cms.double(200.0),
0068     sigmaThresholdToFillCandidateP4WithGlobalFit = cms.double(2.0),
0069 
0070     # global quality
0071     fillGlobalTrackQuality = cms.bool(False), #input depends on external module output --> set to True where the sequence is defined
0072     globalTrackQualityInputTag = cms.InputTag('glbTrackQual'),
0073     selectHighPurity = cms.bool(False),
0074     pvInputTag = cms.InputTag('offlinePrimaryVertices'),
0075 
0076     # tracker kink finding
0077     fillTrackerKink = cms.bool(True),
0078     
0079     # calo muons
0080     minCaloCompatibility = cms.double(0.6),
0081 
0082     # arbitration cleaning                       
0083     runArbitrationCleaner = cms.bool(True),
0084     arbitrationCleanerOptions = cms.PSet( ME1a = cms.bool(True),
0085                                           Overlap = cms.bool(True),
0086                                           Clustering = cms.bool(True),
0087                                           OverlapDPhi   = cms.double(0.0786), # 4.5 degrees
0088                                           OverlapDTheta = cms.double(0.02), # 1.14 degrees
0089                                           ClusterDPhi   = cms.double(0.6), # 34 degrees
0090                                           ClusterDTheta = cms.double(0.02) # 1.14
0091     ),
0092 
0093     # tracker muon arbitration
0094     arbitrateTrackerMuons = cms.bool(True)
0095 )
0096 
0097 from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
0098 run3_GEM.toModify( muons1stStep, TrackAssociatorParameters = dict(useGEM = True ) )
0099 from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon
0100 phase2_muon.toModify( muons1stStep, TrackAssociatorParameters = dict(useME0 = True ) )
0101 from Configuration.Eras.Modifier_phase2_GE0_cff import phase2_GE0
0102 phase2_GE0.toModify( muons1stStep, TrackAssociatorParameters = dict(useME0 = False ) )
0103 
0104 muonEcalDetIds = cms.EDProducer("InterestingEcalDetIdProducer",
0105                                 inputCollection = cms.InputTag("muons1stStep")
0106 )
0107 
0108 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
0109 pp_on_AA.toModify(muons1stStep, minPt = 0.8, selectHighPurity = True)
0110 
0111 from Configuration.ProcessModifiers.recoFromReco_cff import recoFromReco
0112 recoFromReco.toModify(muons1stStep,fillShowerDigis = False)