Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-09-09 02:19:02

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 from Configuration.StandardSequences.MagneticField_AutoFromDBCurrent_cff import *
0004 from Configuration.StandardSequences.GeometryRecoDB_cff import *
0005 from Configuration.StandardSequences.Reconstruction_cff import *
0006 
0007 #from RecoVertex.PrimaryVertexProducer.OfflinePrimaryVertices_cfi import *
0008 
0009 # 2010-like PV reconstruction 
0010 import RecoVertex.PrimaryVertexProducer.primaryVertexProducer_cfi as _mod
0011 offlinePrimaryVerticesGAP = _mod.primaryVertexProducer.clone(
0012        TrackLabel = "generalTracks",             # label of tracks to be used
0013        TkFilterParameters = dict(
0014                     maxNormalizedChi2 = 20.0,    #
0015                     minSiliconLayersWithHits = 5,# >= 5
0016                     minPixelLayersWithHits = 2,  # >= 2
0017                     maxD0Significance = 100.0,   # keep most primary tracks
0018                     minPt = 0.0,                 # better for softish events
0019                     maxEta = 5.0
0020                 ),
0021        # clustering
0022        TkClusParameters = dict(
0023                    algorithm   = 'gap',
0024                    TkGapClusParameters = dict(
0025                          zSeparation = 0.2
0026                    )
0027        ),
0028        vertexCollections = cms.VPSet(
0029               [cms.PSet(label=cms.string(""),
0030                         chi2cutoff = cms.double(3.0),
0031                         algorithm = cms.string('AdaptiveVertexFitter'),
0032                         minNdof=cms.double(0.0),
0033                         useBeamConstraint = cms.bool(False),
0034                         maxDistanceToBeam = cms.double(2.0)
0035                        )
0036               ]
0037        )
0038 )
0039 
0040 offlinePrimaryVerticesD0s5 = offlinePrimaryVerticesGAP.clone(
0041     TkFilterParameters = dict( 
0042            maxD0Significance = 5 
0043     )
0044 )
0045 offlinePrimaryVerticesD0s51mm = offlinePrimaryVerticesGAP.clone(
0046     TkFilterParameters = dict(
0047            maxD0Significance = 5
0048     ),
0049     TkClusParameters = dict(
0050            TkGapClusParameters = dict(
0051                   zSeparation = 0.1
0052            )
0053     )
0054 )
0055 
0056 offlinePrimaryVerticesDA100um = _mod.primaryVertexProducer.clone(
0057     TrackLabel = "generalTracks",
0058     TkFilterParameters = dict(
0059         maxNormalizedChi2 = 20.0,
0060         maxD0Significance = 5.0,
0061         maxEta = 5.0
0062     ),
0063 
0064     TkClusParameters = dict(
0065         algorithm   = "DA",
0066         TkDAClusParameters = dict(
0067             coolingFactor = 0.6,  #  moderate annealing speed
0068             Tmin = 4.0,           #  end of annealing
0069             vertexSize = 0.01,    #  
0070             d0CutOff = 3.,        # downweight high IP tracks
0071             dzCutOff = 4.         # outlier rejection after freeze-out (T<Tmin)
0072         )
0073     ),
0074 
0075     vertexCollections = cms.VPSet(
0076      [cms.PSet(label=cms.string(""),
0077                chi2cutoff = cms.double(3.0),
0078                algorithm=cms.string("AdaptiveVertexFitter"),
0079                minNdof=cms.double(0.0),
0080                useBeamConstraint = cms.bool(False),
0081                maxDistanceToBeam = cms.double(1.0)
0082               )
0083      ]
0084     )
0085 )
0086 
0087 offlinePrimaryVerticesDA100umV7 = offlinePrimaryVerticesDA100um.clone(
0088     vertexCollections = {0: dict(maxDistanceToBeam = 2.0)},
0089     TkFilterParameters = dict(
0090            maxNormalizedChi2 = 5.0
0091     ),
0092     TkClusParameters = dict(
0093            TkDAClusParameters = dict(
0094                   coolingFactor = 0.8,
0095                   Tmin = 9.
0096            )
0097     )
0098 )
0099 offlinePrimaryVerticesDA100umV8 = offlinePrimaryVerticesDA100um.clone(
0100     vertexCollections = {0: dict(maxDistanceToBeam = 1.0)},
0101     TkFilterParameters = dict(
0102            maxNormalizedChi2 = 5.0
0103     ),
0104     TkClusParameters = dict(
0105            TkDAClusParameters = dict(
0106                   coolingFactor = 0.6,
0107                   Tmin = 4.
0108            )
0109     )
0110 )
0111 
0112 seqPVReco = cms.Sequence(offlinePrimaryVerticesGAP + offlinePrimaryVerticesD0s5 + offlinePrimaryVerticesD0s51mm +
0113                          offlinePrimaryVerticesDA100um + offlinePrimaryVerticesDA100umV7 + offlinePrimaryVerticesDA100umV8 )