Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-11-29 00:56:56

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 from RecoVertex.PrimaryVertexProducer.TkClusParameters_cff import DA_vectParameters
0004 
0005 offlinePrimaryVertices = cms.EDProducer(
0006     "PrimaryVertexProducer",
0007 
0008     verbose = cms.untracked.bool(False),
0009     TrackLabel = cms.InputTag("generalTracks"),
0010     beamSpotLabel = cms.InputTag("offlineBeamSpot"),
0011     
0012     TkFilterParameters = cms.PSet(
0013         algorithm=cms.string('filter'),
0014         maxNormalizedChi2 = cms.double(10.0),
0015         minPixelLayersWithHits=cms.int32(2),
0016         minSiliconLayersWithHits = cms.int32(5),
0017         maxD0Significance = cms.double(4.0), 
0018         maxD0Error = cms.double(1.0), 
0019         maxDzError = cms.double(1.0), 
0020         minPt = cms.double(0.0),
0021         maxEta = cms.double(2.4),
0022         trackQuality = cms.string("any")
0023     ),
0024 
0025     TkClusParameters = DA_vectParameters,
0026 
0027     vertexCollections = cms.VPSet(
0028      [cms.PSet(label=cms.string(""),
0029                algorithm=cms.string("AdaptiveVertexFitter"),
0030                chi2cutoff = cms.double(2.5),
0031                minNdof=cms.double(0.0),
0032                useBeamConstraint = cms.bool(False),
0033                maxDistanceToBeam = cms.double(1.0)
0034                ),
0035       cms.PSet(label=cms.string("WithBS"),
0036                algorithm = cms.string('AdaptiveVertexFitter'),
0037                chi2cutoff = cms.double(2.5),
0038                minNdof=cms.double(2.0),
0039                useBeamConstraint = cms.bool(True),
0040                maxDistanceToBeam = cms.double(1.0),
0041                )
0042       ]
0043     ),
0044     
0045     isRecoveryIteration = cms.bool(False),
0046     recoveryVtxCollection = cms.InputTag("")
0047 
0048                                         
0049 )
0050 
0051 from Configuration.ProcessModifiers.weightedVertexing_cff import weightedVertexing
0052 weightedVertexing.toModify(offlinePrimaryVertices,
0053                            vertexCollections = cms.VPSet(
0054                            [cms.PSet(label=cms.string(""),
0055                                      algorithm=cms.string("WeightedMeanFitter"),
0056                                      chi2cutoff = cms.double(2.5),
0057                                      minNdof=cms.double(0.0),
0058                                      useBeamConstraint = cms.bool(False),
0059                                      maxDistanceToBeam = cms.double(1.0)
0060                            ),
0061                            cms.PSet(label=cms.string("WithBS"),
0062                                      algorithm = cms.string('WeightedMeanFitter'),
0063                                      minNdof=cms.double(0.0),
0064                                      chi2cutoff = cms.double(2.5),
0065                                      useBeamConstraint = cms.bool(True),
0066                                      maxDistanceToBeam = cms.double(1.0)
0067                                      )
0068                            ]
0069                            ))
0070 # This customization is needed in the trackingLowPU era to be able to
0071 # produce vertices also in the cases in which the pixel detector is
0072 # not included in data-taking, like it was the case for "Quiet Beam"
0073 # collisions on 2016 with run 269207.
0074 
0075 from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
0076 trackingLowPU.toModify(offlinePrimaryVertices,
0077                             TkFilterParameters = dict(minPixelLayersWithHits = 0))
0078 
0079 
0080 # higher eta cut for the phase 2 tracker
0081 from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker 
0082 phase2_tracker.toModify(offlinePrimaryVertices, 
0083                         TkFilterParameters = dict(maxEta = 4.0))
0084 
0085 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
0086 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
0087 (pp_on_XeXe_2017 | pp_on_AA).toModify(offlinePrimaryVertices,
0088                TkFilterParameters = dict(
0089                    algorithm="filterWithThreshold",
0090                    maxD0Significance = 2.0,
0091                    maxD0Error = 10.0, 
0092                    maxDzError = 10.0, 
0093                    minPixelLayersWithHits=3,
0094                    minPt = 0.7,
0095                    trackQuality = "highPurity",
0096                    numTracksThreshold = cms.int32(10),
0097                    maxNumTracksThreshold = cms.int32(1000),
0098                    minPtTight = cms.double(1.0)
0099                ),
0100                TkClusParameters = cms.PSet(
0101                  algorithm = cms.string("gap"),
0102                  TkGapClusParameters = cms.PSet(
0103                    zSeparation = cms.double(1.0)        
0104                  )
0105                )
0106 )
0107     
0108 from Configuration.Eras.Modifier_highBetaStar_2018_cff import highBetaStar_2018
0109 highBetaStar_2018.toModify(offlinePrimaryVertices,
0110      TkFilterParameters = dict(
0111          maxNormalizedChi2 = 80.0,
0112          minPixelLayersWithHits = 1,
0113          minSiliconLayersWithHits = 3,
0114          maxD0Significance = 7.0,
0115          maxD0Error = 10.0, 
0116          maxDzError = 10.0, 
0117          maxEta = 2.5
0118      ),
0119      vertexCollections = {
0120          0: dict(chi2cutoff = 4.0, minNdof = -1.1),
0121          1: dict(chi2cutoff = 4.0, minNdof = -2.0),
0122      }
0123 )
0124