CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
multiTrackSelector_cfi.py
Go to the documentation of this file.
2 
3 looseMTS = cms.PSet(
4  preFilterName=cms.string(''),
5  name= cms.string('TrkLoose'),
6 
7  # vertex selection
8  vtxNumber = cms.int32(-1),
9  vertexCut = cms.string('ndof>=2&!isFake'),
10 
11  #untracked bool copyTrajectories = true // when doing retracking before
12  copyTrajectories = cms.untracked.bool(False),
13  copyExtras = cms.untracked.bool(True), ## set to false on AOD
14  qualityBit = cms.string('loose'), ## set to '' or comment out if you dont want to set the bit
15 
16  # parameters for adapted optimal cuts on chi2 and primary vertex compatibility
17  chi2n_par = cms.double(1.6),
18  chi2n_no1Dmod_par = cms.double(9999),
19  res_par = cms.vdouble(0.003, 0.01),
20  d0_par1 = cms.vdouble(0.55, 4.0),
21  dz_par1 = cms.vdouble(0.65, 4.0),
22  d0_par2 = cms.vdouble(0.55, 4.0),
23  dz_par2 = cms.vdouble(0.45, 4.0),
24  # Boolean indicating if adapted primary vertex compatibility cuts are to be applied.
25  applyAdaptedPVCuts = cms.bool(True),
26 
27  # Impact parameter absolute cuts.
28  max_d0 = cms.double(100.),
29  max_z0 = cms.double(100.),
30  nSigmaZ = cms.double(4.),
31 
32  # Cuts on numbers of layers with hits/3D hits/lost hits.
33  minNumberLayers = cms.uint32(0),
34  minNumber3DLayers = cms.uint32(0),
35  maxNumberLostLayers = cms.uint32(999),
36  minHitsToBypassChecks = cms.uint32(20),
37 
38  # Absolute cuts in case of no PV. If yes, please define also max_d0NoPV and max_z0NoPV
39  applyAbsCutsIfNoPV = cms.bool(False),
40  keepAllTracks= cms.bool(False),
41 
42  # parameters for cutting on pterror/pt and number of valid hits
43  max_relpterr = cms.double(9999.),
44  min_nhits = cms.uint32(0)
45 
46  ) # end of pset
47 
48 tightMTS=looseMTS.clone(
49  preFilterName='TrkLoose',
50  d0_par1 = cms.vdouble(0.3, 4.0),
51  dz_par1 = cms.vdouble(0.35,4.0),
52  d0_par2 = cms.vdouble(0.4, 4.0),
53  dz_par2 = cms.vdouble(0.4, 4.0),
54  chi2n_par = cms.double(0.7),
55  chi2n_no1Dmod_par = cms.double(9999),
56  name= cms.string('TrkTight'),
57  minNumberLayers = cms.uint32(3),
58  minNumber3DLayers = cms.uint32(3),
59  maxNumberLostLayers = cms.uint32(2),
60  qualityBit = cms.string('tight'), ## set to '' or comment out if you dont want to set the bit
61  keepAllTracks= cms.bool(True)
62  )
63 
64 highpurityMTS= tightMTS.clone(
65  name= cms.string('TrkHighPurity'),
66  preFilterName='TrkTight',
67  res_par=cms.vdouble(0.003,0.001),
68  qualityBit = cms.string('highPurity') ## set to '' or comment out if you dont want to set the bit
69 )
70 
71 #typical configuration is six selectors... something like this to
72 #make cloning easier.
73 multiTrackSelector = cms.EDProducer("MultiTrackSelector",
74  src = cms.InputTag("generalTracks"),
75  beamspot = cms.InputTag("offlineBeamSpot"),
76  useVertices = cms.bool(True),
77  useVtxError = cms.bool(False),
78  vertices = cms.InputTag("pixelVertices"),
79  trackSelectors = cms.VPSet( looseMTS,
80  tightMTS,
81  highpurityMTS)
82  )