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  isRecoveryIteration = cms.bool(False),
46  recoveryVtxCollection = cms.InputTag("")
47 
48 
49 )
50 
51 # This customization is needed in the trackingLowPU era to be able to
52 # produce vertices also in the cases in which the pixel detector is
53 # not included in data-taking, like it was the case for "Quiet Beam"
54 # collisions on 2016 with run 269207.
55 
56 from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
57 trackingLowPU.toModify(offlinePrimaryVertices,
58  TkFilterParameters = dict(minPixelLayersWithHits = 0))
59 
60 
61 # higher eta cut for the phase 2 tracker
62 from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
63 phase2_tracker.toModify(offlinePrimaryVertices,
64  TkFilterParameters = dict(maxEta = 4.0))
65 
66 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
67 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
68 (pp_on_XeXe_2017 | pp_on_AA).toModify(offlinePrimaryVertices,
69  TkFilterParameters = dict(
70  algorithm="filterWithThreshold",
71  maxD0Significance = 2.0,
72  maxD0Error = 10.0,
73  maxDzError = 10.0,
74  minPixelLayersWithHits=3,
75  minPt = 0.7,
76  trackQuality = "highPurity",
77  numTracksThreshold = cms.int32(10),
78  maxNumTracksThreshold = cms.int32(1000),
79  minPtTight = cms.double(1.0)
80  ),
81  TkClusParameters = cms.PSet(
82  algorithm = cms.string("gap"),
83  TkGapClusParameters = cms.PSet(
84  zSeparation = cms.double(1.0)
85  )
86  )
87 )
88 
89 from Configuration.Eras.Modifier_highBetaStar_2018_cff import highBetaStar_2018
90 highBetaStar_2018.toModify(offlinePrimaryVertices,
91  TkFilterParameters = dict(
92  maxNormalizedChi2 = 80.0,
93  minPixelLayersWithHits = 1,
94  minSiliconLayersWithHits = 3,
95  maxD0Significance = 7.0,
96  maxD0Error = 10.0,
97  maxDzError = 10.0,
98  maxEta = 2.5
99  ),
100  vertexCollections = {
101  0: dict(chi2cutoff = 4.0, minNdof = -1.1),
102  1: dict(chi2cutoff = 4.0, minNdof = -2.0),
103  }
104 )
105