CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
pvRecoSequence_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
6 
7 #from RecoVertex.PrimaryVertexProducer.OfflinePrimaryVertices_cfi import *
8 
9 # 2010-like PV reconstruction
10 import RecoVertex.PrimaryVertexProducer.primaryVertexProducer_cfi as _mod
11 offlinePrimaryVerticesGAP = _mod.primaryVertexProducer.clone(
12  TrackLabel = "generalTracks", # label of tracks to be used
13  TkFilterParameters = dict(
14  maxNormalizedChi2 = 20.0, #
15  minSiliconLayersWithHits = 5,# >= 5
16  minPixelLayersWithHits = 2, # >= 2
17  maxD0Significance = 100.0, # keep most primary tracks
18  minPt = 0.0, # better for softish events
19  maxEta = 5.0
20  ),
21  # clustering
22  TkClusParameters = dict(
23  algorithm = 'gap',
24  TkGapClusParameters = dict(
25  zSeparation = 0.2
26  )
27  ),
28  vertexCollections = cms.VPSet(
29  [cms.PSet(label=cms.string(""),
30  chi2cutoff = cms.double(3.0),
31  algorithm = cms.string('AdaptiveVertexFitter'),
32  minNdof=cms.double(0.0),
33  useBeamConstraint = cms.bool(False),
34  maxDistanceToBeam = cms.double(2.0)
35  )
36  ]
37  )
38 )
39 
40 offlinePrimaryVerticesD0s5 = offlinePrimaryVerticesGAP.clone(
41  TkFilterParameters = dict(
42  maxD0Significance = 5
43  )
44 )
45 offlinePrimaryVerticesD0s51mm = offlinePrimaryVerticesGAP.clone(
46  TkFilterParameters = dict(
47  maxD0Significance = 5
48  ),
49  TkClusParameters = dict(
50  TkGapClusParameters = dict(
51  zSeparation = 0.1
52  )
53  )
54 )
55 
56 offlinePrimaryVerticesDA100um = _mod.primaryVertexProducer.clone(
57  TrackLabel = "generalTracks",
58  TkFilterParameters = dict(
59  maxNormalizedChi2 = 20.0,
60  maxD0Significance = 5.0,
61  maxEta = 5.0
62  ),
63 
64  TkClusParameters = dict(
65  algorithm = "DA",
66  TkDAClusParameters = dict(
67  coolingFactor = 0.6, # moderate annealing speed
68  Tmin = 4.0, # end of annealing
69  vertexSize = 0.01, #
70  d0CutOff = 3., # downweight high IP tracks
71  dzCutOff = 4. # outlier rejection after freeze-out (T<Tmin)
72  )
73  ),
74 
75  vertexCollections = cms.VPSet(
76  [cms.PSet(label=cms.string(""),
77  chi2cutoff = cms.double(3.0),
78  algorithm=cms.string("AdaptiveVertexFitter"),
79  minNdof=cms.double(0.0),
80  useBeamConstraint = cms.bool(False),
81  maxDistanceToBeam = cms.double(1.0)
82  )
83  ]
84  )
85 )
86 
87 offlinePrimaryVerticesDA100umV7 = offlinePrimaryVerticesDA100um.clone(
88  vertexCollections = {0: dict(maxDistanceToBeam = 2.0)},
89  TkFilterParameters = dict(
90  maxNormalizedChi2 = 5.0
91  ),
92  TkClusParameters = dict(
93  TkDAClusParameters = dict(
94  coolingFactor = 0.8,
95  Tmin = 9.
96  )
97  )
98 )
99 offlinePrimaryVerticesDA100umV8 = offlinePrimaryVerticesDA100um.clone(
100  vertexCollections = {0: dict(maxDistanceToBeam = 1.0)},
101  TkFilterParameters = dict(
102  maxNormalizedChi2 = 5.0
103  ),
104  TkClusParameters = dict(
105  TkDAClusParameters = dict(
106  coolingFactor = 0.6,
107  Tmin = 4.
108  )
109  )
110 )
111 
112 seqPVReco = cms.Sequence(offlinePrimaryVerticesGAP + offlinePrimaryVerticesD0s5 + offlinePrimaryVerticesD0s51mm +
113  offlinePrimaryVerticesDA100um + offlinePrimaryVerticesDA100umV7 + offlinePrimaryVerticesDA100umV8 )