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  max_minMissHitOutOrIn = cms.int32(99),
38  max_lostHitFraction = cms.double(1.0),
39  min_eta = cms.double(-9999.),
40  max_eta = cms.double(9999.) ,
41 
42  # Absolute cuts in case of no PV. If yes, please define also max_d0NoPV and max_z0NoPV
43  applyAbsCutsIfNoPV = cms.bool(False),
44  keepAllTracks= cms.bool(False),
45 
46  # parameters for cutting on pterror/pt and number of valid hits
47  max_relpterr = cms.double(0.1),
48  min_nhits = cms.uint32(10)
49  )
50 
51 hiTightMTS=hiLooseMTS.clone(
52  preFilterName='hiTrkLoose',
53  min_nhits = cms.uint32(12),
54  max_relpterr = cms.double(0.075),
55  d0_par2 = cms.vdouble(5.0, 0.0),
56  dz_par2 = cms.vdouble(5.0, 0.0),
57  chi2n_no1Dmod_par = cms.double(0.25),
58  name= cms.string('hiTrkTight'),
59  qualityBit = cms.string('tight'), ## set to '' or comment out if you dont want to set the bit
60  keepAllTracks= cms.bool(True)
61  )
62 
63 hiHighpurityMTS= hiTightMTS.clone(
64  name= cms.string('hiTrkHighPurity'),
65  preFilterName='hiTrkTight',
66  min_nhits = cms.uint32(13),
67  max_relpterr = cms.double(0.05),
68  d0_par2 = [3.0, 0.0],
69  dz_par2 = [3.0, 0.0],
70  chi2n_no1Dmod_par = cms.double(0.15),
71  qualityBit = cms.string('highPurity') ## set to '' or comment out if you dont want to set the bit
72  )
73 
74 #typical configuration is six selectors... something like this to
75 #make cloning easier.
76 hiMultiTrackSelector = cms.EDProducer("MultiTrackSelector",
77  src = cms.InputTag("hiGeneralTracks"),
78  beamspot = cms.InputTag("offlineBeamSpot"),
79  useVertices = cms.bool(True),
80  useVtxError = cms.bool(True),
81  vertices = cms.InputTag("hiSelectedVertex"),
82  trackSelectors = cms.VPSet( hiLooseMTS,
83  hiTightMTS,
84  hiHighpurityMTS)
85  )