CMS 3D CMS Logo

RecoMuonCosmics_cff.py

Go to the documentation of this file.
00001 import FWCore.ParameterSet.Config as cms
00002 
00003 ######################## Cosmic Reco #############################
00004 
00005 ## Full detector ##
00006 
00007 # Seed generator
00008 from recoMuon.MuonSeedGenerator.CosmicMuonSeedProducer_cfi import *
00009 
00010 # Stand alone muon track producer
00011 from recoMuon.CosmicMuonProducer.cosmicMuons_cff import *
00012 
00013 # Global muon track producer
00014 from recoMuon.CosmicMuonProducer.globalCosmicMuons_cff import *
00015 globalCosmicMuons.TrajectoryBuilderParameters.TkTrackCollectionLabel = 'ctfWithMaterialTracksP5LHCNavigation'
00016 
00017 # Muon Id producer
00018 from recoMuon.MuonIdentification.muonIdProducerSequence_cff import *
00019 
00020 muons.inputCollectionLabels = ['ctfWithMaterialTracksP5LHCNavigation', 'globalCosmicMuons', 'cosmicMuons']
00021 muons.inputCollectionTypes = ['inner tracks', 'links', 'outer tracks']
00022 muons.fillIsolation = False
00023 
00024 from recoMuon.MuonIdentification.calomuons_cfi import *
00025 calomuons.inputTracks = 'ctfWithMaterialTracksP5LHCNavigation'
00026 
00027 ## Sequences
00028 
00029 # Stand Alone Tracking
00030 STAmuontrackingforcosmics = cms.Sequence(CosmicMuonSeed*cosmicMuons)
00031 # Stand Alone Tracking plus muon ID
00032 STAmuonrecoforcosmics = cms.Sequence(STAmuontrackingforcosmics)
00033 
00034 # Stand Alone Tracking plus global tracking
00035 muontrackingforcosmics = cms.Sequence(STAmuontrackingforcosmics*globalCosmicMuons)
00036 
00037 # all muons id
00038 allmuons = cms.Sequence(muons*calomuons)
00039 
00040 # Final sequence
00041 muonrecoforcosmics = cms.Sequence(muontrackingforcosmics*allmuons)
00042 muonRecoAllGR = cms.Sequence(muonrecoforcosmics)
00043 
00044 ##############################################
00045 
00046 ## Barrel only ##
00047 
00048 # Seed generator 
00049 CosmicMuonSeedBarrelOnly = CosmicMuonSeed.clone()
00050 CosmicMuonSeedBarrelOnly.EnableCSCMeasurement = False
00051 
00052 # Stand alone muon track producer
00053 cosmicMuonsBarrelOnly = cosmicMuons.clone()
00054 cosmicMuonsBarrelOnly.TrajectoryBuilderParameters.EnableCSCMeasurement = False
00055 cosmicMuonsBarrelOnly.TrajectoryBuilderParameters.MuonNavigationParameters.Endcap = False
00056 cosmicMuonsBarrelOnly.MuonSeedCollectionLabel = 'CosmicMuonSeedBarrelOnly'
00057 
00058 # Global muon track producer
00059 globalCosmicMuonsBarrelOnly = globalCosmicMuons.clone()
00060 globalCosmicMuonsBarrelOnly.TrajectoryBuilderParameters.TkTrackCollectionLabel = 'ctfWithMaterialTracksP5'
00061 globalCosmicMuonsBarrelOnly.MuonCollectionLabel = 'cosmicMuonsBarrelOnly'
00062 
00063 # Muon Id producer
00064 muonsBarrelOnly = muons.clone()
00065 muonsBarrelOnly.inputCollectionLabels = ['ctfWithMaterialTracksP5', 'globalCosmicMuonsBarrelOnly', 'cosmicMuonsBarrelOnly']
00066 muonsBarrelOnly.inputCollectionTypes = ['inner tracks', 'links', 'outer tracks']
00067 muonsBarrelOnly.fillIsolation = False
00068 
00069 #Sequences
00070 
00071 # Stand Alone Tracking
00072 STAmuontrackingforcosmicsBarrelOnly = cms.Sequence(CosmicMuonSeedBarrelOnly*cosmicMuonsBarrelOnly)
00073 
00074 # Stand Alone Tracking plus global tracking
00075 muontrackingforcosmicsBarrelOnly = cms.Sequence(STAmuontrackingforcosmicsBarrelOnly*globalCosmicMuonsBarrelOnly)
00076 
00077 # Stand Alone Tracking plus muon ID
00078 STAmuonrecoforcosmicsBarrelOnly = cms.Sequence(STAmuontrackingforcosmicsBarrelOnly)
00079 
00080 # all muons id
00081 allmuonsBarrelOnly = cms.Sequence(muonsBarrelOnly)
00082 
00083 # Final sequence
00084 muonrecoforcosmicsBarrelOnly = cms.Sequence(muontrackingforcosmicsBarrelOnly*allmuonsBarrelOnly)
00085 
00086 ########
00087 
00088 # 1 leg mode
00089 
00090 # Stand alone muon track producer
00091 cosmicMuons1Leg = cosmicMuons.clone()
00092 cosmicMuons1Leg.TrajectoryBuilderParameters.BuildTraversingMuon = True
00093 cosmicMuons1Leg.MuonSeedCollectionLabel = 'CosmicMuonSeed'
00094 
00095 # Global muon track producer
00096 globalCosmicMuons1Leg = globalCosmicMuons.clone()
00097 globalCosmicMuons1Leg.TrajectoryBuilderParameters.TkTrackCollectionLabel = 'ctfWithMaterialTracksP5'
00098 globalCosmicMuons1Leg.MuonCollectionLabel = 'cosmicMuons1Leg'
00099 
00100 # Muon Id producer
00101 muons1Leg = muons.clone()
00102 muons1Leg.inputCollectionLabels = ['ctfWithMaterialTracksP5', 'globalCosmicMuons1Leg', 'cosmicMuons1Leg']
00103 muons1Leg.inputCollectionTypes = ['inner tracks', 'links', 'outer tracks']
00104 muons1Leg.fillIsolation = False
00105 
00106 # Sequences
00107 
00108 # Stand Alone Tracking
00109 STAmuontrackingforcosmics1Leg = cms.Sequence(CosmicMuonSeedBarrelOnly*cosmicMuons1Leg)
00110 
00111 # Stand Alone Tracking plus global tracking
00112 muontrackingforcosmics1Leg = cms.Sequence(STAmuontrackingforcosmics1Leg*globalCosmicMuons1Leg)
00113 
00114 # all muons id
00115 allmuons1Leg = cms.Sequence(muons1Leg)
00116 
00117 # Stand Alone Tracking plus muon ID
00118 STAmuonrecoforcosmics1Leg = cms.Sequence(STAmuontrackingforcosmics1Leg)
00119 
00120 # Final sequence
00121 muonrecoforcosmics1Leg = cms.Sequence(muontrackingforcosmics1Leg*allmuons1Leg)
00122 
00123 ########
00124 
00125 # t0 Corrections
00126 
00127 # Seed generator
00128 CosmicMuonSeedWitht0Correction = CosmicMuonSeed.clone()
00129 CosmicMuonSeedWitht0Correction.DTRecSegmentLabel = 'dt4DSegmentsT0Seg'
00130 
00131 # Stand alone muon track producer
00132 cosmicMuonsWitht0Correction = cosmicMuons.clone()
00133 cosmicMuonsWitht0Correction.TrajectoryBuilderParameters.BuildTraversingMuon = True
00134 cosmicMuonsWitht0Correction.MuonSeedCollectionLabel = 'CosmicMuonSeedWitht0Correction'
00135 cosmicMuonsWitht0Correction.TrajectoryBuilderParameters.DTRecSegmentLabel = 'dt4DSegmentsT0Seg'
00136 
00137 # Global muon track producer
00138 globalCosmicMuonsWitht0Correction = globalCosmicMuons.clone()
00139 globalCosmicMuonsWitht0Correction.TrajectoryBuilderParameters.TkTrackCollectionLabel = 'ctfWithMaterialTracksP5'
00140 globalCosmicMuonsWitht0Correction.MuonCollectionLabel = 'cosmicMuonsWitht0Correction'
00141 
00142 # Muon Id producer
00143 muonsWitht0Correction = muons.clone()
00144 muonsWitht0Correction.inputCollectionLabels = ['ctfWithMaterialTracksP5', 'globalCosmicMuonsWitht0Correction', 'cosmicMuonsWitht0Correction']
00145 muonsWitht0Correction.inputCollectionTypes = ['inner tracks', 'links', 'outer tracks']
00146 muonsWitht0Correction.fillIsolation = False
00147 muonsWitht0Correction.timingParameters.UseSegmentT0 = True
00148 muonsWitht0Correction.timingParameters.MatchParameters.DTsegments = 'dt4DSegmentsT0Seg'
00149 
00150 #Sequences
00151 
00152 
00153 # Stand Alone Tracking
00154 STAmuontrackingforcosmicsWitht0Correction = cms.Sequence(CosmicMuonSeedWitht0Correction*cosmicMuonsWitht0Correction)
00155 
00156 # Stand Alone Tracking plus global tracking
00157 muontrackingforcosmicsWitht0Correction = cms.Sequence(STAmuontrackingforcosmicsWitht0Correction*globalCosmicMuonsWitht0Correction)
00158 
00159 # Stand Alone Tracking plus muon ID
00160 STAmuonrecoforcosmicsWitht0Correction = cms.Sequence(STAmuontrackingforcosmicsWitht0Correction)
00161 
00162 # all muons id
00163 allmuonsWitht0Correction = cms.Sequence(muonsWitht0Correction)
00164 
00165 # Final sequence
00166 muonrecoforcosmicsWitht0Correction = cms.Sequence(muontrackingforcosmicsWitht0Correction*allmuonsWitht0Correction)
00167 
00168 ### Final sequence for barrel only ###
00169 muonRecoBarrelGR = cms.Sequence(muonrecoforcosmicsBarrelOnly+muonrecoforcosmics1Leg+muonrecoforcosmicsWitht0Correction)
00170 
00171 ##############################################
00172 
00173 ## Endcaps only ##
00174 
00175 # Seed generator 
00176 CosmicMuonSeedEndCapsOnly = CosmicMuonSeed.clone()
00177 CosmicMuonSeedEndCapsOnly.EnableDTMeasurement = False
00178 
00179 # Stand alone muon track producer
00180 cosmicMuonsEndCapsOnly = cosmicMuons.clone()
00181 cosmicMuonsEndCapsOnly.TrajectoryBuilderParameters.EnableDTMeasurement = False
00182 cosmicMuonsEndCapsOnly.TrajectoryBuilderParameters.MuonNavigationParameters.Barrel = False
00183 cosmicMuonsEndCapsOnly.MuonSeedCollectionLabel = 'CosmicMuonSeedEndCapsOnly'
00184 
00185 # Global muon track producer
00186 globalCosmicMuonsEndCapsOnly = globalCosmicMuons.clone()
00187 globalCosmicMuonsEndCapsOnly.TrajectoryBuilderParameters.TkTrackCollectionLabel = 'ctfWithMaterialTracksP5'
00188 globalCosmicMuonsEndCapsOnly.MuonCollectionLabel = 'cosmicMuonsEndCapsOnly'
00189 
00190 # Muon Id producer
00191 muonsEndCapsOnly = muons.clone()
00192 muonsEndCapsOnly.inputCollectionLabels = ['ctfWithMaterialTracksP5', 'globalCosmicMuonsEndCapsOnly', 'cosmicMuonsEndCapsOnly']
00193 muonsEndCapsOnly.inputCollectionTypes = ['inner tracks', 'links', 'outer tracks']
00194 muonsEndCapsOnly.fillIsolation = False
00195 
00196 # Sequences
00197 
00198 # Stand Alone Tracking
00199 STAmuontrackingforcosmicsEnsCapsOnly = cms.Sequence(CosmicMuonSeedEndCapsOnly*cosmicMuonsEndCapsOnly)
00200 
00201 # Stand Alone Tracking plus global tracking
00202 muontrackingforcosmicsEndCapsOnly = cms.Sequence(STAmuontrackingforcosmicsEnsCapsOnly*globalCosmicMuonsEndCapsOnly)
00203 
00204 # Stand Alone Tracking plus muon ID
00205 STAmuonrecoforcosmicsEndCapsOnly = cms.Sequence(STAmuontrackingforcosmicsEnsCapsOnly)
00206 
00207 # all muons id
00208 allmuonsEndCapsOnly = cms.Sequence(muonsEndCapsOnly)
00209 
00210 # Final sequence
00211 muonrecoforcosmicsEndCapsOnly = cms.Sequence(muontrackingforcosmicsEndCapsOnly*allmuonsEndCapsOnly)
00212 
00213 ########
00214 
00215 # Beam halo in Encaps only. GLB reco only is needed
00216 globalBeamHaloMuonEndCapslOnly = globalCosmicMuonsEndCapsOnly.clone()
00217 globalBeamHaloMuonEndCapslOnly.TrajectoryBuilderParameters.TkTrackCollectionLabel = 'ctfWithMaterialTracksBeamHaloMuon'
00218 
00219 # Muon Id producer
00220 muonsBeamHaloEndCapsOnly = muons.clone()           
00221 muonsBeamHaloEndCapsOnly.inputCollectionLabels = ['ctfWithMaterialTracksBeamHaloMuon', 'globalBeamHaloMuonEndCapslOnly', 'cosmicMuonsEndCapsOnly']
00222 muonsBeamHaloEndCapsOnly.inputCollectionTypes = ['inner tracks', 'links', 'outer tracks']
00223 muonsBeamHaloEndCapsOnly.fillIsolation = False
00224 
00225 # Sequences
00226 muonrecoBeamHaloEndCapsOnly = cms.Sequence(globalBeamHaloMuonEndCapslOnly*muonsBeamHaloEndCapsOnly)
00227 
00228 ### Final sequence for endcaps only ###
00229 muonRecoEndCapsGR = cms.Sequence(muonrecoforcosmicsEndCapsOnly*muonrecoBeamHaloEndCapsOnly)
00230 
00231 ########
00232 
00233 ## Full detector but NO RPC ##
00234 
00235 # Stand alone muon track producer
00236 cosmicMuonsNoRPC = cosmicMuons.clone()
00237 cosmicMuonsNoRPC.TrajectoryBuilderParameters.EnableRPCMeasurement = False
00238 
00239 # Global muon track producer
00240 globalCosmicMuonsNoRPC = globalCosmicMuons.clone()
00241 globalCosmicMuonsNoRPC.TrajectoryBuilderParameters.TkTrackCollectionLabel = 'ctfWithMaterialTracksP5'
00242 globalCosmicMuonsNoRPC.MuonCollectionLabel = 'cosmicMuonsNoRPC'
00243 
00244 # Muon Id producer
00245 muonsNoRPC = muons.clone()
00246 muonsNoRPC.inputCollectionLabels = ['ctfWithMaterialTracksP5', 'globalCosmicMuonsNoRPC', 'cosmicMuonsNoRPC']
00247 muonsNoRPC.inputCollectionTypes = ['inner tracks', 'links', 'outer tracks']
00248 muonsNoRPC.fillIsolation = False
00249 
00250 #Sequences
00251 
00252 # Stand Alone Tracking
00253 STAmuontrackingforcosmicsNoRPC = cms.Sequence(cosmicMuonsNoRPC)
00254 
00255 # Stand Alone Tracking plus global tracking
00256 muontrackingforcosmicsNoRPC = cms.Sequence(STAmuontrackingforcosmicsNoRPC*globalCosmicMuonsNoRPC)
00257 
00258 # all muons id
00259 allmuonsNoRPC = cms.Sequence(muonsNoRPC)
00260 
00261 # Final sequence
00262 muonrecoforcosmicsNoRPC = cms.Sequence(muontrackingforcosmicsNoRPC*allmuonsNoRPC)
00263 
00264 ##############################################
00265 
00266 ## Split Tracks  ##
00267 
00268 # Global muon track producer
00269 globalCosmicSplitMuons = globalCosmicMuons.clone()
00270 globalCosmicSplitMuons.TrajectoryBuilderParameters.TkTrackCollectionLabel = 'splittedTracksP5'
00271 globalCosmicSplitMuons.MuonCollectionLabel = 'cosmicMuons'
00272 
00273 # Muon Id producer
00274 
00275 splitMuons = muons.clone()
00276 splitMuons.inputCollectionLabels = ['splittedTracksP5', 'globalCosmicSplitMuons', 'cosmicMuons']
00277 splitMuons.inputCollectionTypes = ['inner tracks', 'links', 'outer tracks']
00278 splitMuons.fillIsolation = False
00279 
00280 #Sequences
00281 
00282 # Final sequence
00283 muonrecoforsplitcosmics = cms.Sequence(globalCosmicSplitMuons*splitMuons)
00284 
00285 ##############################################
00286 
00287 ######################## LHC like Reco #############################
00288 
00289 # Standard reco
00290 from recoMuon.Configuration.RecoMuon_cff import *
00291 
00292 ## Barrel only ##
00293 
00294 # Seed generator 
00295 lhcMuonSeedBarrelOnly = MuonSeed.clone()
00296 lhcMuonSeedBarrelOnly.EnableCSCMeasurement = False
00297 
00298 # Stand alone muon track producer
00299 lhcStandAloneMuonsBarrelOnly = standAloneMuons.clone()
00300 lhcStandAloneMuonsBarrelOnly.STATrajBuilderParameters.BWFilterParameters.EnableCSCMeasurement = False
00301 lhcStandAloneMuonsBarrelOnly.InputObjects = 'lhcMuonSeedBarrelOnly'
00302 #lhcStandAloneMuonsBarrelOnly.STATrajBuilderParameters.NavigationType = 'Direct'
00303 
00304 # Muon Id producer
00305 lhcSTAMuonsBarrelOnly = muons.clone()
00306 lhcSTAMuonsBarrelOnly.inputCollectionLabels = ['lhcStandAloneMuonsBarrelOnly']
00307 lhcSTAMuonsBarrelOnly.inputCollectionTypes = ['outer tracks']
00308 lhcSTAMuonsBarrelOnly.fillIsolation = False
00309 
00310 # Seqeunces
00311 lhcMuonBarrelOnly = cms.Sequence(lhcMuonSeedBarrelOnly*lhcStandAloneMuonsBarrelOnly)
00312 
00313 # Final sequence
00314 muonrecocosmicLHCBarrelOnly = cms.Sequence(lhcMuonBarrelOnly*lhcSTAMuonsBarrelOnly)
00315 
00316 ##############################################
00317 
00318 ## Endcaps only ##
00319 
00320 # Seed generator
00321 lhcMuonSeedEndCapsOnly = MuonSeed.clone()
00322 lhcMuonSeedEndCapsOnly.EnableDTMeasurement = False
00323 
00324 # Stand alone muon track producer
00325 lhcStandAloneMuonsEndCapsOnly = standAloneMuons.clone()
00326 lhcStandAloneMuonsEndCapsOnly.STATrajBuilderParameters.BWFilterParameters.EnableDTMeasurement = False
00327 lhcStandAloneMuonsEndCapsOnly.InputObjects = 'lhcMuonSeedEndCapsOnly'
00328 #lhcStandAloneMuonsBarrelOnly.STATrajBuilderParameters.NavigationType = 'Direct'
00329 
00330 # Muon Id producer
00331 lhcSTAMuonsEndCapsOnly = muons.clone()
00332 lhcSTAMuonsEndCapsOnly.inputCollectionLabels = ['lhcStandAloneMuonsEndCapsOnly']
00333 lhcSTAMuonsEndCapsOnly.inputCollectionTypes = ['outer tracks']
00334 lhcSTAMuonsEndCapsOnly.fillIsolation = False
00335 
00336 # Seqeunces
00337 lhcMuonEndCapsOnly = cms.Sequence(lhcMuonSeedEndCapsOnly*lhcStandAloneMuonsEndCapsOnly)
00338 
00339 # Final sequence
00340 muonrecocosmicLHCEndCapsOnly = cms.Sequence(lhcMuonEndCapsOnly*lhcSTAMuonsEndCapsOnly)
00341 
00342 ## Fianl sequence for cosmics a la LHC 
00343 muonRecoLHC = cms.Sequence(muonrecocosmicLHCBarrelOnly*muonrecocosmicLHCEndCapsOnly)
00344 
00345 ##############################################
00346 
00347 
00348 ########################### SEQUENCE TO BE ADDED in ReconstructionGR_cff ##############################################
00349 
00350 muonRecoGR = cms.Sequence(muonRecoAllGR*muonRecoBarrelGR*muonRecoEndCapsGR*muonrecoforcosmicsNoRPC*muonrecoforsplitcosmics*muonRecoLHC)
00351 
00352 #######################################################################################################################
00353 
00354 
00355 
00356 
00357 

Generated on Tue Jun 9 17:44:08 2009 for CMSSW by  doxygen 1.5.4