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.
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), ## 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(0.3), # version with 1D hits modification
18  chi2n_no1Dmod_par = cms.double(9999.), # 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(0.4, 4.0), # d0E from tk.d0Error
23  dz_par2 = cms.vdouble(0.4, 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_z0 = cms.double(100),
29  max_d0 = cms.double(100),
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(999),
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.2),
48  min_nhits = cms.uint32(8),
49 
50  useMVA = cms.bool(False),
51  minMVA = cms.double(-1)
52  )
53 
54 hiTightMTS=hiLooseMTS.clone(
55  preFilterName='hiTrkLoose',
56  min_nhits = cms.uint32(8),
57  max_relpterr = cms.double(0.075),
58  d0_par2 = cms.vdouble(5.0, 0.0),
59  dz_par2 = cms.vdouble(5.0, 0.0),
60  chi2n_no1Dmod_par = cms.double(0.25),
61  name= cms.string('hiTrkTight'),
62  qualityBit = cms.string('tight'), ## set to '' or comment out if you dont want to set the bit
63  keepAllTracks= cms.bool(True)
64  )
65 
66 hiHighpurityMTS= hiTightMTS.clone(
67  name= cms.string('hiTrkHighPurity'),
68  preFilterName='hiTrkTight',
69  min_nhits = cms.uint32(8),
70  max_relpterr = cms.double(0.05),
71  d0_par2 = [3.0, 0.0],
72  dz_par2 = [3.0, 0.0],
73  chi2n_no1Dmod_par = cms.double(0.15),
74  qualityBit = cms.string('highPurity') ## set to '' or comment out if you dont want to set the bit
75  )
76 
77 #typical configuration is six selectors... something like this to
78 #make cloning easier.
79 hiMultiTrackSelector = cms.EDProducer("HIMultiTrackSelector",
80  src = cms.InputTag("hiGeneralTracks"),
81  beamspot = cms.InputTag("offlineBeamSpot"),
82  useVertices = cms.bool(True),
83  useVtxError = cms.bool(True),
84  vertices = cms.InputTag("hiSelectedVertex"),
85  useAnyMVA = cms.bool(False),
86  GBRForestLabel = cms.string(''),
87  GBRForestVars = cms.vstring(),
88  trackSelectors = cms.VPSet( hiLooseMTS,
89  hiTightMTS,
90  hiHighpurityMTS)
91  )