CMS 3D CMS Logo

hiMultiTrackSelector_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
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),
15  qualityBit = cms.string('loose'),
16  chi2n_par = cms.double(0.3), # version with 1D hits modification
17  chi2n_no1Dmod_par = cms.double(9999.), # normalizedChi2 < nLayers * chi2n_par
18  res_par = cms.vdouble(99999., 99999.), # residual parameterization (re-check in HI)
19  d0_par1 = cms.vdouble(9999., 0.), # parameterized nomd0E
20  dz_par1 = cms.vdouble(9999., 0.),
21  d0_par2 = cms.vdouble(0.4, 4.0), # d0E from tk.d0Error
22  dz_par2 = cms.vdouble(0.4, 4.0),
23  # Boolean indicating if adapted primary vertex compatibility cuts are to be applied.
24  applyAdaptedPVCuts = cms.bool(True),
25 
26  # Impact parameter absolute cuts.
27  max_z0 = cms.double(100),
28  max_d0 = cms.double(100),
29  nSigmaZ = cms.double(9999.),
30 
31  # Cuts on numbers of layers with hits/3D hits/lost hits.
32  minNumberLayers = cms.uint32(0),
33  minNumber3DLayers = cms.uint32(0),
34  maxNumberLostLayers = cms.uint32(999),
35  minHitsToBypassChecks = cms.uint32(999),
36  max_minMissHitOutOrIn = cms.int32(99),
37  max_lostHitFraction = cms.double(1.0),
38  min_eta = cms.double(-9999.),
39  max_eta = cms.double(9999.) ,
40 
41  # Absolute cuts in case of no PV. If yes, please define also max_d0NoPV and max_z0NoPV
42  applyAbsCutsIfNoPV = cms.bool(False),
43  keepAllTracks= cms.bool(False),
44 
45  # parameters for cutting on pterror/pt and number of valid hits
46  max_relpterr = cms.double(0.2),
47  min_nhits = cms.uint32(8),
48 
49  useMVA = cms.bool(False),
50  minMVA = cms.double(-1)
51  )
52 
53 hiTightMTS=hiLooseMTS.clone(
54  preFilterName ='hiTrkLoose',
55  min_nhits = 8,
56  max_relpterr = 0.075,
57  d0_par2 = [5.0, 0.0],
58  dz_par2 = [5.0, 0.0],
59  chi2n_no1Dmod_par = 0.25,
60  name = 'hiTrkTight',
61  qualityBit = 'tight',
62  keepAllTracks = True
63 )
64 
65 hiHighpurityMTS= hiTightMTS.clone(
66  name = 'hiTrkHighPurity',
67  preFilterName ='hiTrkTight',
68  min_nhits = 8,
69  max_relpterr = 0.05,
70  d0_par2 = [3.0, 0.0],
71  dz_par2 = [3.0, 0.0],
72  chi2n_no1Dmod_par = 0.15,
73  qualityBit = 'highPurity'
74 )
75 
76 #typical configuration is six selectors... something like this to
77 #make cloning easier.
78 hiMultiTrackSelector = cms.EDProducer("HIMultiTrackSelector",
79  src = cms.InputTag("hiGeneralTracks"),
80  beamspot = cms.InputTag("offlineBeamSpot"),
81  useVertices = cms.bool(True),
82  useVtxError = cms.bool(True),
83  vertices = cms.InputTag("hiSelectedPixelVertex"),
84  useAnyMVA = cms.bool(False),
85  GBRForestLabel = cms.string(''),
86  GBRForestVars = cms.vstring(),
87  trackSelectors = cms.VPSet( hiLooseMTS,
88  hiTightMTS,
89  hiHighpurityMTS)
90  )