CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
hiMultiTrackSelector_cfi.py
Go to the documentation of this file.
2 
3 #loose
4 hiLooseMTS = cms.PSet(
5  preFilterName=cms.string(''),
6  name= cms.string('hiTrkLoose'),
7 
8  # vertex selection
9  vtxNumber = cms.int32(-1),
10  vertexCut = cms.string(''),
11 
12  #untracked bool copyTrajectories = true // when doing retracking before
13  copyTrajectories = cms.untracked.bool(True),
14  copyExtras = cms.untracked.bool(True), ## set to false on AOD
15  qualityBit = cms.string('loose'), ## set to '' or comment out if you dont want to set the
16 
17  chi2n_par = cms.double(9999), # version with 1D hits modification
18  chi2n_no1Dmod_par = cms.double(0.3), # normalizedChi2 < nLayers * chi2n_par
19  res_par = cms.vdouble(99999., 99999.), # residual parameterization (re-check in HI)
20  d0_par1 = cms.vdouble(9999., 0.), # parameterized nomd0E
21  dz_par1 = cms.vdouble(9999., 0.),
22  d0_par2 = cms.vdouble(8.0, 0.0), # d0E from tk.d0Error
23  dz_par2 = cms.vdouble(8.0, 0.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_z0 = cms.double(1000),
29  max_d0 = cms.double(1000),
30  nSigmaZ = cms.double(9999.),
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(0.1),
44  min_nhits = cms.uint32(10)
45  )
46 
47 hiTightMTS=hiLooseMTS.clone(
48  preFilterName='hiTrkLoose',
49  min_nhits = cms.uint32(12),
50  max_relpterr = cms.double(0.075),
51  d0_par2 = cms.vdouble(5.0, 0.0),
52  dz_par2 = cms.vdouble(5.0, 0.0),
53  chi2n_no1Dmod_par = cms.double(0.25),
54  name= cms.string('hiTrkTight'),
55  qualityBit = cms.string('tight'), ## set to '' or comment out if you dont want to set the bit
56  keepAllTracks= cms.bool(True)
57  )
58 
59 hiHighpurityMTS= hiTightMTS.clone(
60  name= cms.string('hiTrkHighPurity'),
61  preFilterName='hiTrkTight',
62  min_nhits = cms.uint32(13),
63  max_relpterr = cms.double(0.05),
64  d0_par2 = [3.0, 0.0],
65  dz_par2 = [3.0, 0.0],
66  chi2n_no1Dmod_par = cms.double(0.15),
67  qualityBit = cms.string('highPurity') ## set to '' or comment out if you dont want to set the bit
68  )
69 
70 #typical configuration is six selectors... something like this to
71 #make cloning easier.
72 hiMultiTrackSelector = cms.EDProducer("MultiTrackSelector",
73  src = cms.InputTag("hiGeneralTracks"),
74  beamspot = cms.InputTag("offlineBeamSpot"),
75  useVertices = cms.bool(True),
76  useVtxError = cms.bool(True),
77  vertices = cms.InputTag("hiSelectedVertex"),
78  trackSelectors = cms.VPSet( hiLooseMTS,
79  hiTightMTS,
80  hiHighpurityMTS)
81  )