CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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  maxD0Significance = 2.0,
71  maxD0Error = 10.0,
72  maxDzError = 10.0,
73  minPixelLayersWithHits=3,
74  minPt = 0.7,
75  trackQuality = "highPurity"
76  ),
77  TkClusParameters = cms.PSet(
78  algorithm = cms.string("gap"),
79  TkGapClusParameters = cms.PSet(
80  zSeparation = cms.double(1.0)
81  )
82  )
83  )
84 
85 from Configuration.Eras.Modifier_highBetaStar_2018_cff import highBetaStar_2018
86 highBetaStar_2018.toModify(offlinePrimaryVertices,
87  TkFilterParameters = dict(
88  maxNormalizedChi2 = 80.0,
89  minPixelLayersWithHits = 1,
90  minSiliconLayersWithHits = 3,
91  maxD0Significance = 7.0,
92  maxD0Error = 10.0,
93  maxDzError = 10.0,
94  maxEta = 2.5
95  ),
96  vertexCollections = {
97  0: dict(chi2cutoff = 4.0, minNdof = -1.1),
98  1: dict(chi2cutoff = 4.0, minNdof = -2.0),
99  }
100 )
101