CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/RecoHI/HiMuonAlgos/python/HiRegitMuonDetachedTripletStep_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 ################################### 3rd step: low-pT and displaced tracks from pixel triplets
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.DetachedTripletStep_cff import *
00020 
00021 # NEW CLUSTERS (remove previously used clusters)
00022 hiRegitMuDetachedTripletStepClusters = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepClusters.clone(
00023     oldClusterRemovalInfo = cms.InputTag("hiRegitMuPixelPairStepClusters"),
00024     trajectories          = cms.InputTag("hiRegitMuPixelPairStepTracks"),
00025     overrideTrkQuals      = cms.InputTag('hiRegitMuPixelPairStepSelector','hiRegitMuPixelPairStep'),
00026 )
00027 
00028 
00029 # SEEDING LAYERS
00030 hiRegitMuDetachedTripletStepSeedLayers =  RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepSeedLayers.clone(
00031     ComponentName = 'hiRegitMuDetachedTripletStepSeedLayers'
00032     )
00033 hiRegitMuDetachedTripletStepSeedLayers.BPix.skipClusters = cms.InputTag('hiRegitMuDetachedTripletStepClusters')
00034 hiRegitMuDetachedTripletStepSeedLayers.FPix.skipClusters = cms.InputTag('hiRegitMuDetachedTripletStepClusters')
00035 
00036 # seeding
00037 hiRegitMuDetachedTripletStepSeeds     = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepSeeds.clone()
00038 hiRegitMuDetachedTripletStepSeeds.RegionFactoryPSet                                           = HiTrackingRegionFactoryFromSTAMuonsBlock.clone()
00039 hiRegitMuDetachedTripletStepSeeds.ClusterCheckPSet.doClusterCheck                             = False # do not check for max number of clusters pixel or strips
00040 hiRegitMuDetachedTripletStepSeeds.RegionFactoryPSet.MuonTrackingRegionBuilder.EscapePt        = 1.0
00041 hiRegitMuDetachedTripletStepSeeds.RegionFactoryPSet.MuonTrackingRegionBuilder.DeltaR          = 1.0 # default = 0.2
00042 hiRegitMuDetachedTripletStepSeeds.RegionFactoryPSet.MuonTrackingRegionBuilder.DeltaZ_Region   = 0.0 # this give you the length 
00043 hiRegitMuDetachedTripletStepSeeds.RegionFactoryPSet.MuonTrackingRegionBuilder.Rescale_Dz      = 4. # max(DeltaZ_Region,Rescale_Dz*vtx->zError())
00044 hiRegitMuDetachedTripletStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'hiRegitMuDetachedTripletStepSeedLayers'
00045 from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import *
00046 hiRegitMuDetachedTripletStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.SeedComparitorPSet.ComponentName = 'LowPtClusterShapeSeedComparitor'
00047 
00048 # building: feed the new-named seeds
00049 hiRegitMuDetachedTripletStepTrajectoryFilter = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTrajectoryFilter.clone(
00050     ComponentName    = 'hiRegitMuDetachedTripletStepTrajectoryFilter'
00051     )
00052 hiRegitMuDetachedTripletStepTrajectoryFilter.filterPset.minPt = 1. # after each new hit, apply pT cut for traj w/ at least minHitsMinPt = cms.int32(3),
00053 
00054 hiRegitMuDetachedTripletStepTrajectoryBuilder = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTrajectoryBuilder.clone(
00055     ComponentName        = 'hiRegitMuDetachedTripletStepTrajectoryBuilder',
00056     trajectoryFilterName = 'hiRegitMuDetachedTripletStepTrajectoryFilter',
00057     clustersToSkip       = cms.InputTag('hiRegitMuDetachedTripletStepClusters')
00058 )
00059 
00060 hiRegitMuDetachedTripletStepTrackCandidates        =  RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTrackCandidates.clone(
00061     src               = cms.InputTag('hiRegitMuDetachedTripletStepSeeds'),
00062     TrajectoryBuilder = 'hiRegitMuDetachedTripletStepTrajectoryBuilder'
00063     )
00064 
00065 # fitting: feed new-names
00066 hiRegitMuDetachedTripletStepTracks                 = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTracks.clone(
00067     src                 = 'hiRegitMuDetachedTripletStepTrackCandidates'
00068 )
00069 
00070 
00071 hiRegitMuDetachedTripletStepSelector               = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepSelector.clone( 
00072     src                 ='hiRegitMuDetachedTripletStepTracks',
00073     vertices            = cms.InputTag("hiSelectedVertex"),
00074     trackSelectors= cms.VPSet(
00075         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
00076             name = 'hiRegitMuDetachedTripletStepVtxLoose',
00077             chi2n_par = 1.6,
00078             res_par = ( 0.003, 0.001 ),
00079             minNumberLayers = 3,
00080             d0_par1 = ( 1.2, 3.0 ),
00081             dz_par1 = ( 1.2, 3.0 ),
00082             d0_par2 = ( 1.3, 3.0 ),
00083             dz_par2 = ( 1.3, 3.0 )
00084             ),
00085         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
00086             name = 'hiRegitMuDetachedTripletStepTrkLoose',
00087             chi2n_par = 0.7,
00088             res_par = ( 0.003, 0.001 ),
00089             minNumberLayers = 3,
00090             d0_par1 = ( 1.6, 4.0 ),
00091             dz_par1 = ( 1.6, 4.0 ),
00092             d0_par2 = ( 1.6, 4.0 ),
00093             dz_par2 = ( 1.6, 4.0 )
00094             ),
00095         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
00096             name = 'hiRegitMuDetachedTripletStepVtxTight',
00097             preFilterName = 'hiRegitMuDetachedTripletStepVtxLoose',
00098             chi2n_par = 0.7,
00099             res_par = ( 0.003, 0.001 ),
00100             minNumberLayers = 3,
00101             maxNumberLostLayers = 1,
00102             minNumber3DLayers = 3,
00103             d0_par1 = ( 0.95, 3.0 ),
00104             dz_par1 = ( 0.9, 3.0 ),
00105             d0_par2 = ( 1.0, 3.0 ),
00106             dz_par2 = ( 1.0, 3.0 )
00107             ),
00108         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
00109             name = 'hiRegitMuDetachedTripletStepTrkTight',
00110             preFilterName = 'hiRegitMuDetachedTripletStepTrkLoose',
00111             chi2n_par = 0.5,
00112             res_par = ( 0.003, 0.001 ),
00113             minNumberLayers = 5,
00114             maxNumberLostLayers = 1,
00115             minNumber3DLayers = 3,
00116             d0_par1 = ( 1.1, 4.0 ),
00117             dz_par1 = ( 1.1, 4.0 ),
00118             d0_par2 = ( 1.1, 4.0 ),
00119             dz_par2 = ( 1.1, 4.0 )
00120             ),
00121         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
00122             name = 'hiRegitMuDetachedTripletStepVtx',
00123             preFilterName = 'hiRegitMuDetachedTripletStepVtxTight',
00124             chi2n_par = 0.7,
00125             res_par = ( 0.003, 0.001 ),
00126             minNumberLayers = 3,
00127             maxNumberLostLayers = 1,
00128             minNumber3DLayers = 3,
00129             d0_par1 = ( 0.85, 3.0 ),
00130             dz_par1 = ( 0.8, 3.0 ),
00131             d0_par2 = ( 0.9, 3.0 ),
00132             dz_par2 = ( 0.9, 3.0 )
00133             ),
00134         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
00135             name = 'hiRegitMuDetachedTripletStepTrk',
00136             preFilterName = 'hiRegitMuDetachedTripletStepTrkTight',
00137             chi2n_par = 0.4,
00138             res_par = ( 0.003, 0.001 ),
00139             minNumberLayers = 5,
00140             maxNumberLostLayers = 1,
00141             minNumber3DLayers = 3,
00142             d0_par1 = ( 1.0, 4.0 ),
00143             dz_par1 = ( 1.0, 4.0 ),
00144             d0_par2 = ( 1.0, 4.0 ),
00145             dz_par2 = ( 1.0, 4.0 )
00146             )
00147         ) #end of vpset
00148     )
00149 
00150 hiRegitMuDetachedTripletStep = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStep.clone(
00151     TrackProducers     = cms.VInputTag(cms.InputTag('hiRegitMuDetachedTripletStepTracks'),
00152                                        cms.InputTag('hiRegitMuDetachedTripletStepTracks')),
00153     selectedTrackQuals = cms.VInputTag(cms.InputTag("hiRegitMuDetachedTripletStepSelector","hiRegitMuDetachedTripletStepVtx"),
00154                                        cms.InputTag("hiRegitMuDetachedTripletStepSelector","hiRegitMuDetachedTripletStepTrk"))
00155 )
00156     
00157 
00158 hiRegitMuonDetachedTripletStep = cms.Sequence(hiRegitMuDetachedTripletStepClusters*
00159                                               hiRegitMuDetachedTripletStepSeeds*
00160                                               hiRegitMuDetachedTripletStepTrackCandidates*
00161                                               hiRegitMuDetachedTripletStepTracks*
00162                                               hiRegitMuDetachedTripletStepSelector*
00163                                               hiRegitMuDetachedTripletStep
00164                                             )
00165