CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/RecoHI/HiMuonAlgos/python/HiRegitMuonMixedTripletStep_cff.py

Go to the documentation of this file.
00001 import FWCore.ParameterSet.Config as cms
00002 
00003 ################################################################################### 
00004 # pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI)
00005 ################################### 4th step: large impact parameter tracking using mixed-triplet seeding
00006 
00007 from RecoHI.HiTracking.HITrackingRegionProducer_cfi import *
00008 HiTrackingRegionFactoryFromSTAMuonsBlock.MuonTrackingRegionBuilder.vertexCollection = cms.InputTag("hiSelectedVertex")
00009 HiTrackingRegionFactoryFromSTAMuonsBlock.MuonSrc= cms.InputTag("standAloneMuons","UpdatedAtVtx")
00010 
00011 HiTrackingRegionFactoryFromSTAMuonsBlock.MuonTrackingRegionBuilder.UseVertex      = True
00012 
00013 HiTrackingRegionFactoryFromSTAMuonsBlock.MuonTrackingRegionBuilder.UseFixedRegion = True
00014 HiTrackingRegionFactoryFromSTAMuonsBlock.MuonTrackingRegionBuilder.Phi_fixed      = 0.2
00015 HiTrackingRegionFactoryFromSTAMuonsBlock.MuonTrackingRegionBuilder.Eta_fixed      = 0.2
00016 
00017 
00018 ###################################
00019 from RecoTracker.IterativeTracking.MixedTripletStep_cff import *
00020 
00021 # NEW CLUSTERS (remove previously used clusters)
00022 hiRegitMuMixedTripletStepClusters = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepClusters.clone(
00023     oldClusterRemovalInfo = cms.InputTag("hiRegitMuDetachedTripletStepClusters"),
00024     trajectories          = cms.InputTag("hiRegitMuDetachedTripletStepTracks"),
00025     overrideTrkQuals      = cms.InputTag('hiRegitMuDetachedTripletStep'),
00026 )
00027 
00028 
00029 # SEEDING LAYERS A
00030 hiRegitMuMixedTripletStepSeedLayersA =  RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedLayersA.clone(
00031     ComponentName = 'hiRegitMuMixedTripletStepSeedLayersA'
00032     )
00033 hiRegitMuMixedTripletStepSeedLayersA.BPix.skipClusters = cms.InputTag('hiRegitMuMixedTripletStepClusters')
00034 hiRegitMuMixedTripletStepSeedLayersA.FPix.skipClusters = cms.InputTag('hiRegitMuMixedTripletStepClusters')
00035 hiRegitMuMixedTripletStepSeedLayersA.TEC.skipClusters  = cms.InputTag('hiRegitMuMixedTripletStepClusters')
00036 
00037 # SEEDS A
00038 hiRegitMuMixedTripletStepSeedsA = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedsA.clone()
00039 hiRegitMuMixedTripletStepSeedsA.RegionFactoryPSet                                           = HiTrackingRegionFactoryFromSTAMuonsBlock.clone()
00040 hiRegitMuMixedTripletStepSeedsA.ClusterCheckPSet.doClusterCheck                             = False # do not check for max number of clusters pixel or strips
00041 hiRegitMuMixedTripletStepSeedsA.RegionFactoryPSet.MuonTrackingRegionBuilder.EscapePt        = 1.35
00042 hiRegitMuMixedTripletStepSeedsA.RegionFactoryPSet.MuonTrackingRegionBuilder.DeltaR          = 2.0 # default = 0.2
00043 hiRegitMuMixedTripletStepSeedsA.RegionFactoryPSet.MuonTrackingRegionBuilder.DeltaZ_Region   = 10. # this give you the length 
00044 hiRegitMuMixedTripletStepSeedsA.RegionFactoryPSet.MuonTrackingRegionBuilder.Rescale_Dz      = 0.   # max(DeltaZ_Region,Rescale_Dz*vtx->zError())
00045 hiRegitMuMixedTripletStepSeedsA.OrderedHitsFactoryPSet.SeedingLayers = 'hiRegitMuMixedTripletStepSeedLayersA'
00046 
00047 # SEEDING LAYERS B
00048 hiRegitMuMixedTripletStepSeedLayersB =  RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedLayersB.clone(
00049     ComponentName = 'hiRegitMuMixedTripletStepSeedLayersB',
00050     )
00051 hiRegitMuMixedTripletStepSeedLayersB.BPix.skipClusters = cms.InputTag('hiRegitMuMixedTripletStepClusters')
00052 hiRegitMuMixedTripletStepSeedLayersB.TIB.skipClusters  = cms.InputTag('hiRegitMuMixedTripletStepClusters')
00053 
00054 
00055 hiRegitMuMixedTripletStepSeedsB = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedsB.clone()
00056 hiRegitMuMixedTripletStepSeedsB.RegionFactoryPSet                                           = HiTrackingRegionFactoryFromSTAMuonsBlock.clone()
00057 hiRegitMuMixedTripletStepSeedsB.ClusterCheckPSet.doClusterCheck                             = False # do not check for max number of clusters pixel or strips
00058 hiRegitMuMixedTripletStepSeedsB.RegionFactoryPSet.MuonTrackingRegionBuilder.EscapePt        = 1.50
00059 hiRegitMuMixedTripletStepSeedsB.RegionFactoryPSet.MuonTrackingRegionBuilder.DeltaR          = 2.0 # default = 0.2
00060 hiRegitMuMixedTripletStepSeedsB.RegionFactoryPSet.MuonTrackingRegionBuilder.DeltaZ_Region   = 10. # this give you the length 
00061 hiRegitMuMixedTripletStepSeedsB.RegionFactoryPSet.MuonTrackingRegionBuilder.Rescale_Dz      = 0.   # max(DeltaZ_Region,Rescale_Dz*vtx->zError())
00062 hiRegitMuMixedTripletStepSeedsB.OrderedHitsFactoryPSet.SeedingLayers = 'hiRegitMuMixedTripletStepSeedLayersB'
00063 
00064 # combine seeds
00065 hiRegitMuMixedTripletStepSeeds = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeeds.clone(
00066     seedCollections = cms.VInputTag(
00067         cms.InputTag('hiRegitMuMixedTripletStepSeedsA'),
00068         cms.InputTag('hiRegitMuMixedTripletStepSeedsB'),
00069         )
00070     )
00071 
00072 # track building
00073 hiRegitMuMixedTripletStepTrajectoryFilter = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTrajectoryFilter.clone(
00074     ComponentName        = 'hiRegitMuMixedTripletStepTrajectoryFilter'
00075     )
00076 hiRegitMuMixedTripletStepTrajectoryFilter.filterPset.minPt     = 1.15 # after each new hit, apply pT cut for traj w/ at least minHitsMinPt = cms.int32(3),
00077 
00078 hiRegitMuMixedTripletStepTrajectoryBuilder = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTrajectoryBuilder.clone(
00079     ComponentName        = 'hiRegitMuMixedTripletStepTrajectoryBuilder',
00080     trajectoryFilterName = 'hiRegitMuMixedTripletStepTrajectoryFilter',
00081     clustersToSkip       = cms.InputTag('hiRegitMuMixedTripletStepClusters'),
00082 )
00083 
00084 hiRegitMuMixedTripletStepTrackCandidates        =  RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTrackCandidates.clone(
00085     src               = cms.InputTag('hiRegitMuMixedTripletStepSeeds'),
00086     TrajectoryBuilder = 'hiRegitMuMixedTripletStepTrajectoryBuilder'
00087     )
00088 
00089 # fitting: feed new-names
00090 hiRegitMuMixedTripletStepTracks                 = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTracks.clone(
00091     src                 = 'hiRegitMuMixedTripletStepTrackCandidates'
00092 )
00093 
00094 
00095 # TRACK SELECTION AND QUALITY FLAG SETTING.
00096 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
00097 hiRegitMuMixedTripletStepSelector =  RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSelector.clone(
00098     src                 = 'hiRegitMuMixedTripletStepTracks',
00099     vertices            = cms.InputTag("hiSelectedVertex"),
00100     trackSelectors= cms.VPSet(
00101         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
00102             name = 'hiRegitMuMixedTripletStepVtxLoose',
00103             chi2n_par = 1.2,
00104             res_par = ( 0.003, 0.001 ),
00105             minNumberLayers = 3,
00106             maxNumberLostLayers = 1,
00107             minNumber3DLayers = 2,
00108             d0_par1 = ( 1.2, 3.0 ),
00109             dz_par1 = ( 1.2, 3.0 ),
00110             d0_par2 = ( 1.3, 3.0 ),
00111             dz_par2 = ( 1.3, 3.0 )
00112             ),
00113         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
00114             name = 'hiRegitMuMixedTripletStepTrkLoose',
00115             chi2n_par = 0.6,
00116             res_par = ( 0.003, 0.001 ),
00117             minNumberLayers = 4,
00118             maxNumberLostLayers = 1,
00119             minNumber3DLayers = 3,
00120             d0_par1 = ( 1.2, 4.0 ),
00121             dz_par1 = ( 1.2, 4.0 ),
00122             d0_par2 = ( 1.2, 4.0 ),
00123             dz_par2 = ( 1.2, 4.0 )
00124             ),
00125         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
00126             name = 'hiRegitMuMixedTripletStepVtxTight',
00127             preFilterName = 'hiRegitMuMixedTripletStepVtxLoose',
00128             chi2n_par = 0.6,
00129             res_par = ( 0.003, 0.001 ),
00130             minNumberLayers = 3,
00131             maxNumberLostLayers = 1,
00132             minNumber3DLayers = 3,
00133             d0_par1 = ( 1.1, 3.0 ),
00134             dz_par1 = ( 1.1, 3.0 ),
00135             d0_par2 = ( 1.2, 3.0 ),
00136             dz_par2 = ( 1.2, 3.0 )
00137             ),
00138         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
00139             name = 'hiRegitMuMixedTripletStepTrkTight',
00140             preFilterName = 'hiRegitMuMixedTripletStepTrkLoose',
00141             chi2n_par = 0.4,
00142             res_par = ( 0.003, 0.001 ),
00143             minNumberLayers = 5,
00144             maxNumberLostLayers = 1,
00145             minNumber3DLayers = 4,
00146             d0_par1 = ( 1.1, 4.0 ),
00147             dz_par1 = ( 1.1, 4.0 ),
00148             d0_par2 = ( 1.1, 4.0 ),
00149             dz_par2 = ( 1.1, 4.0 )
00150             ),
00151         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
00152             name = 'hiRegitMuMixedTripletStepVtx',
00153             preFilterName = 'hiRegitMuMixedTripletStepVtxTight',
00154             chi2n_par = 0.4,
00155             res_par = ( 0.003, 0.001 ),
00156             minNumberLayers = 3,
00157             maxNumberLostLayers = 1,
00158             minNumber3DLayers = 3,
00159             d0_par1 = ( 1.1, 3.0 ),
00160             dz_par1 = ( 1.1, 3.0 ),
00161             d0_par2 = ( 1.2, 3.0 ),
00162             dz_par2 = ( 1.2, 3.0 )
00163             ),
00164         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
00165             name = 'hiRegitMuMixedTripletStepTrk',
00166             preFilterName = 'hiRegitMuMixedTripletStepTrkTight',
00167             chi2n_par = 0.3,
00168             res_par = ( 0.003, 0.001 ),
00169             minNumberLayers = 5,
00170             maxNumberLostLayers = 0,
00171             minNumber3DLayers = 4,
00172             d0_par1 = ( 0.9, 4.0 ),
00173             dz_par1 = ( 0.9, 4.0 ),
00174             d0_par2 = ( 0.9, 4.0 ),
00175             dz_par2 = ( 0.9, 4.0 )
00176             )
00177         ) #end of vpset
00178     ) #end of clone
00179 
00180 
00181 hiRegitMuMixedTripletStep = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStep.clone(
00182     TrackProducers = cms.VInputTag(cms.InputTag('hiRegitMuMixedTripletStepTracks'),
00183                                    cms.InputTag('hiRegitMuMixedTripletStepTracks')),
00184     selectedTrackQuals = cms.VInputTag(cms.InputTag("hiRegitMuMixedTripletStepSelector","hiRegitMuMixedTripletStepVtx"),
00185                                        cms.InputTag("hiRegitMuMixedTripletStepSelector","hiRegitMuMixedTripletStepTrk"))
00186     )
00187 
00188 hiRegitMuonMixedTripletStep = cms.Sequence(hiRegitMuMixedTripletStepClusters*
00189                                          hiRegitMuMixedTripletStepSeedsA*
00190                                          hiRegitMuMixedTripletStepSeedsB*
00191                                          hiRegitMuMixedTripletStepSeeds*
00192                                          hiRegitMuMixedTripletStepTrackCandidates*
00193                                          hiRegitMuMixedTripletStepTracks*
00194                                          hiRegitMuMixedTripletStepSelector*
00195                                          hiRegitMuMixedTripletStep)