CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/RecoTracker/FinalTrackSelectors/python/multiTrackSelector_cfi.py

Go to the documentation of this file.
00001 import FWCore.ParameterSet.Config as cms
00002 
00003 looseMTS = cms.PSet(
00004     preFilterName=cms.string(''),
00005     name= cms.string('TrkLoose'),                           
00006     
00007     # vertex selection 
00008     vtxNumber = cms.int32(-1),
00009     vertexCut = cms.string('ndof>=2&!isFake'),
00010     
00011     #untracked bool copyTrajectories = true // when doing retracking before
00012     copyTrajectories = cms.untracked.bool(False),
00013     copyExtras = cms.untracked.bool(True), ## set to false on AOD
00014     qualityBit = cms.string('loose'), ## set to '' or comment out if you dont want to set the bit
00015     
00016     # parameters for adapted optimal cuts on chi2 and primary vertex compatibility
00017     chi2n_par = cms.double(1.6),
00018     chi2n_no1Dmod_par = cms.double(9999),
00019     res_par = cms.vdouble(0.003, 0.01),
00020     d0_par1 = cms.vdouble(0.55, 4.0),
00021     dz_par1 = cms.vdouble(0.65, 4.0),
00022     d0_par2 = cms.vdouble(0.55, 4.0),
00023     dz_par2 = cms.vdouble(0.45, 4.0),
00024     # Boolean indicating if adapted primary vertex compatibility cuts are to be applied.
00025     applyAdaptedPVCuts = cms.bool(True),
00026     
00027     # Impact parameter absolute cuts.
00028     max_d0 = cms.double(100.),
00029     max_z0 = cms.double(100.),
00030     nSigmaZ = cms.double(4.),
00031     
00032     # Cuts on numbers of layers with hits/3D hits/lost hits. 
00033     minNumberLayers = cms.uint32(0),
00034     minNumber3DLayers = cms.uint32(0),
00035     maxNumberLostLayers = cms.uint32(999),
00036     minHitsToBypassChecks = cms.uint32(20),
00037 
00038     # Absolute cuts in case of no PV. If yes, please define also max_d0NoPV and max_z0NoPV 
00039     applyAbsCutsIfNoPV = cms.bool(False),
00040     keepAllTracks= cms.bool(False),
00041 
00042     # parameters for cutting on pterror/pt and number of valid hits
00043     max_relpterr = cms.double(9999.),
00044     min_nhits = cms.uint32(0)
00045 
00046     ) # end of pset
00047 
00048 tightMTS=looseMTS.clone(
00049     preFilterName='TrkLoose',
00050     d0_par1 = cms.vdouble(0.3, 4.0),
00051     dz_par1 = cms.vdouble(0.35,4.0),
00052     d0_par2 = cms.vdouble(0.4, 4.0),
00053     dz_par2 = cms.vdouble(0.4, 4.0),
00054     chi2n_par = cms.double(0.7),
00055     chi2n_no1Dmod_par = cms.double(9999),
00056     name= cms.string('TrkTight'),
00057     minNumberLayers = cms.uint32(3),
00058     minNumber3DLayers = cms.uint32(3),
00059     maxNumberLostLayers = cms.uint32(2),
00060     qualityBit = cms.string('tight'), ## set to '' or comment out if you dont want to set the bit
00061     keepAllTracks= cms.bool(True)
00062     )
00063 
00064 highpurityMTS= tightMTS.clone(
00065     name= cms.string('TrkHighPurity'),                           
00066     preFilterName='TrkTight',
00067     res_par=cms.vdouble(0.003,0.001),
00068     qualityBit = cms.string('highPurity') ## set to '' or comment out if you dont want to set the bit
00069 )
00070 
00071 #typical configuration is six selectors... something like this to
00072 #make cloning easier.
00073 MultiTrackSelector = cms.EDProducer("MultiTrackSelector",
00074    src = cms.InputTag("generalTracks"),
00075    beamspot = cms.InputTag("offlineBeamSpot"),
00076    useVertices = cms.bool(True),
00077    useVtxError = cms.bool(False),
00078    vertices    = cms.InputTag("pixelVertices"),
00079    trackSelectors = cms.VPSet( looseMTS,
00080                                tightMTS,
00081                                highpurityMTS)
00082  )