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.TkClusParameters_cff import DA_vectParameters
4 
5 offlinePrimaryVertices = cms.EDProducer(
6  "PrimaryVertexProducer",
7 
8  verbose = cms.untracked.bool(False),
9  TrackLabel = cms.InputTag("generalTracks"),
10  beamSpotLabel = cms.InputTag("offlineBeamSpot"),
11 
12  TkFilterParameters = cms.PSet(
13  algorithm=cms.string('filter'),
14  maxNormalizedChi2 = cms.double(10.0),
15  minPixelLayersWithHits=cms.int32(2),
16  minSiliconLayersWithHits = cms.int32(5),
17  maxD0Significance = cms.double(4.0),
18  maxD0Error = cms.double(1.0),
19  maxDzError = cms.double(1.0),
20  minPt = cms.double(0.0),
21  maxEta = cms.double(2.4),
22  trackQuality = cms.string("any")
23  ),
24 
25  TkClusParameters = DA_vectParameters,
26 
27  vertexCollections = cms.VPSet(
28  [cms.PSet(label=cms.string(""),
29  algorithm=cms.string("AdaptiveVertexFitter"),
30  chi2cutoff = cms.double(2.5),
31  minNdof=cms.double(0.0),
32  useBeamConstraint = cms.bool(False),
33  maxDistanceToBeam = cms.double(1.0)
34  ),
35  cms.PSet(label=cms.string("WithBS"),
36  algorithm = cms.string('AdaptiveVertexFitter'),
37  chi2cutoff = cms.double(2.5),
38  minNdof=cms.double(2.0),
39  useBeamConstraint = cms.bool(True),
40  maxDistanceToBeam = cms.double(1.0),
41  )
42  ]
43  )
44 
45 
46 
47 )
48 
49 # This customization is needed in the trackingLowPU era to be able to
50 # produce vertices also in the cases in which the pixel detector is
51 # not included in data-taking, like it was the case for "Quiet Beam"
52 # collisions on 2016 with run 269207.
53 
54 from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
55 trackingLowPU.toModify(offlinePrimaryVertices,
56  TkFilterParameters = dict(minPixelLayersWithHits = 0))
57 
58 
59 # higher eta cut for the phase 2 tracker
60 from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
61 phase2_tracker.toModify(offlinePrimaryVertices,
62  TkFilterParameters = dict(maxEta = 4.0))
63 
64 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
65 from Configuration.Eras.Modifier_pp_on_AA_2018_cff import pp_on_AA_2018
66 (pp_on_XeXe_2017 | pp_on_AA_2018).toModify(offlinePrimaryVertices,
67  TkFilterParameters = dict(
68  maxD0Significance = 2.0,
69  maxD0Error = 10.0,
70  maxDzError = 10.0,
71  minPixelLayersWithHits=3,
72  minPt = 0.7,
73  trackQuality = "highPurity"
74  ),
75  TkClusParameters = cms.PSet(
76  algorithm = cms.string("gap"),
77  TkGapClusParameters = cms.PSet(
78  zSeparation = cms.double(1.0)
79  )
80  )
81  )
82 
83 from Configuration.Eras.Modifier_highBetaStar_2018_cff import highBetaStar_2018
84 highBetaStar_2018.toModify(offlinePrimaryVertices,
85  TkFilterParameters = dict(
86  maxNormalizedChi2 = 80.0,
87  minPixelLayersWithHits = 1,
88  minSiliconLayersWithHits = 3,
89  maxD0Significance = 7.0,
90  maxD0Error = 10.0,
91  maxDzError = 10.0,
92  maxEta = 2.5
93  ),
94  vertexCollections = {
95  0: dict(chi2cutoff = 4.0, minNdof = -1.1),
96  1: dict(chi2cutoff = 4.0, minNdof = -2.0),
97  }
98 )
99