CMS 3D CMS Logo

OfflinePrimaryVertices_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 from RecoVertex.PrimaryVertexProducer.primaryVertexProducer_cfi import primaryVertexProducer
4 
5 offlinePrimaryVertices = primaryVertexProducer.clone()
6 
7 DA_vectParameters = cms.PSet(primaryVertexProducer.TkClusParameters.clone())
8 
9 from Configuration.ProcessModifiers.vertexInBlocks_cff import vertexInBlocks
10 vertexInBlocks.toModify(offlinePrimaryVertices,
11  TkClusParameters = dict(
12  TkDAClusParameters = dict(
13  runInBlocks = True,
14  block_size = 128,
15  overlap_frac = 0.5
16  )
17  )
18 )
19 
20 from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
21 (phase2_tracker & vertexInBlocks).toModify(offlinePrimaryVertices,
22  TkClusParameters = dict(
23  TkDAClusParameters = dict(
24  block_size = 512,
25  overlap_frac = 0.5)
26  )
27 )
28 
29 from Configuration.Eras.Modifier_highBetaStar_2018_cff import highBetaStar_2018
30 highBetaStar_2018.toModify(offlinePrimaryVertices,
31  TkClusParameters = dict(
32  TkDAClusParameters = dict(
33  Tmin = 4.0,
34  Tpurge = 1.0,
35  Tstop = 1.0,
36  vertexSize = 0.01,
37  d0CutOff = 4.,
38  dzCutOff = 5.,
39  zmerge = 2.e-2,
40  uniquetrkweight = 0.9
41  )
42  )
43 )
44 
45 from Configuration.ProcessModifiers.weightedVertexing_cff import weightedVertexing
46 weightedVertexing.toModify(offlinePrimaryVertices,
47  vertexCollections = cms.VPSet(
48  [cms.PSet(label=cms.string(""),
49  algorithm=cms.string("WeightedMeanFitter"),
50  chi2cutoff = cms.double(2.5),
51  minNdof=cms.double(0.0),
52  useBeamConstraint = cms.bool(False),
53  maxDistanceToBeam = cms.double(1.0)
54  ),
55  cms.PSet(label=cms.string("WithBS"),
56  algorithm = cms.string('WeightedMeanFitter'),
57  minNdof=cms.double(0.0),
58  chi2cutoff = cms.double(2.5),
59  useBeamConstraint = cms.bool(True),
60  maxDistanceToBeam = cms.double(1.0)
61  )
62  ]
63  ))
64 # This customization is needed in the trackingLowPU era to be able to
65 # produce vertices also in the cases in which the pixel detector is
66 # not included in data-taking, like it was the case for "Quiet Beam"
67 # collisions on 2016 with run 269207.
68 
69 from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
70 trackingLowPU.toModify(offlinePrimaryVertices,
71  TkFilterParameters = dict(minPixelLayersWithHits = 0))
72 
73 
74 # higher eta cut for the phase 2 tracker
75 from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
76 phase2_tracker.toModify(offlinePrimaryVertices,
77  TkFilterParameters = dict(maxEta = 4.0))
78 
79 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
80 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
81 (pp_on_XeXe_2017 | pp_on_AA).toModify(offlinePrimaryVertices,
82  TkFilterParameters = dict(
83  algorithm="filterWithThreshold",
84  maxD0Significance = 2.0,
85  maxD0Error = 10.0,
86  maxDzError = 10.0,
87  minPixelLayersWithHits=3,
88  minPt = 0.7,
89  trackQuality = "highPurity",
90  numTracksThreshold = cms.int32(10),
91  maxNumTracksThreshold = cms.int32(1000),
92  minPtTight = cms.double(1.0)
93  ),
94  TkClusParameters = dict(
95  algorithm = "gap"
96  )
97 )
98 
99 from Configuration.Eras.Modifier_highBetaStar_2018_cff import highBetaStar_2018
100 highBetaStar_2018.toModify(offlinePrimaryVertices,
101  TkFilterParameters = dict(
102  maxNormalizedChi2 = 80.0,
103  minPixelLayersWithHits = 1,
104  minSiliconLayersWithHits = 3,
105  maxD0Significance = 7.0,
106  maxD0Error = 10.0,
107  maxDzError = 10.0,
108  maxEta = 2.5
109  ),
110  vertexCollections = {
111  0: dict(chi2cutoff = 4.0, minNdof = -1.1),
112  1: dict(chi2cutoff = 4.0, minNdof = -2.0),
113  }
114 )