Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:01:08

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 puppiCentral = cms.VPSet(
0004                  cms.PSet(
0005                   algoId           = cms.int32(5),  #0 is default Puppi
0006                   useCharged       = cms.bool(True),
0007                   applyLowPUCorr   = cms.bool(True),
0008                   combOpt          = cms.int32(0),
0009                   cone             = cms.double(0.4),
0010                   rmsPtMin         = cms.double(0.1),
0011                   rmsScaleFactor   = cms.double(1.0)
0012                  )
0013                 )
0014 
0015 puppiForward = cms.VPSet(
0016                 cms.PSet(
0017                  algoId         = cms.int32(5),  #0 is default Puppi
0018                  useCharged     = cms.bool(False),
0019                  applyLowPUCorr = cms.bool(True),
0020                  combOpt        = cms.int32(0),
0021                  cone           = cms.double(0.4),
0022                  rmsPtMin       = cms.double(0.5),
0023                  rmsScaleFactor = cms.double(1.0)
0024                  )
0025                 )
0026 
0027 # from cfipython/, generated by PuppiProducer::fillDescriptions
0028 from CommonTools.ParticleFlow.pfNoPileUpJME_cff import primaryVertexAssociationJME
0029 import CommonTools.PileupAlgos.PuppiProducer_cfi as _mod
0030 puppi = _mod.PuppiProducer.clone(
0031                        UseDeltaZCutForPileup = False,
0032                        DeltaZCut = primaryVertexAssociationJME.assignment.maxDzForPrimaryAssignment,
0033                        EtaMinUseDeltaZ = primaryVertexAssociationJME.assignment.EtaMinUseDz,
0034                        PtMaxCharged = primaryVertexAssociationJME.assignment.PtMaxCharged,
0035                        NumOfPUVtxsForCharged = primaryVertexAssociationJME.assignment.NumOfPUVtxsForCharged,
0036                        DeltaZCutForChargedFromPUVtxs = primaryVertexAssociationJME.assignment.DzCutForChargedFromPUVtxs,
0037                        PtMaxNeutralsStartSlope = 20.,
0038                        PtMaxPhotons = 20.,
0039                        UseFromPV2Recovery = True,
0040                        PtMinForFromPV2Recovery = 4.,
0041                        clonePackedCands   = False, # should only be set to True for MiniAOD
0042                        algos          = { 
0043                         0: dict( 
0044                          puppiAlgos = puppiCentral
0045                         )
0046                         } #only one PSet is defined in reference
0047 )
0048 puppi.algos.append(cms.PSet( 
0049                          etaMin              = cms.vdouble( 2.5,  3.0),
0050                          etaMax              = cms.vdouble( 3.0, 10.0),
0051                          ptMin               = cms.vdouble( 0.0,  0.0),
0052                          MinNeutralPt        = cms.vdouble( 1.7,  2.0),
0053                          MinNeutralPtSlope   = cms.vdouble(0.08, 0.08),
0054                          RMSEtaSF            = cms.vdouble(1.20, 0.95),
0055                          MedEtaSF            = cms.vdouble(0.90, 0.75),
0056                          EtaMaxExtrap        = cms.double( 2.0),
0057                          puppiAlgos = puppiForward
0058                        )
0059 )
0060                        #  cms.PSet( 
0061                        #   etaMin = cms.double(3.0),
0062                        #   etaMax = cms.double(10.0),
0063                        #   ptMin  = cms.double(0.0),
0064                        #   MinNeutralPt        = cms.double(2.0),
0065                        #   MinNeutralPtSlope   = cms.double(0.07),
0066                        #   # RMSEtaSF = cms.double(1.18),
0067                        #   # MedEtaSF = cms.double(0.4397),                         
0068                        #   RMSEtaSF = cms.double(1.10),
0069                        #   MedEtaSF = cms.double(0.90),
0070                        #   EtaMaxExtrap = cms.double(2.0),
0071                        #   puppiAlgos = puppiForward
0072                        # )
0073 
0074 from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
0075 phase2_common.toModify(
0076     puppi,
0077     EtaMinUseDeltaZ = 4.0,
0078     DeltaZCut = 0.1,
0079     algos = cms.VPSet( 
0080         cms.PSet( 
0081              etaMin = cms.vdouble(0.,  2.5),
0082              etaMax = cms.vdouble(2.5, 3.5),
0083              ptMin  = cms.vdouble(0.,  0.), #Normally 0
0084              MinNeutralPt   = cms.vdouble(0.2, 0.2),
0085              MinNeutralPtSlope   = cms.vdouble(0.015, 0.030),
0086              RMSEtaSF = cms.vdouble(1.0, 1.0),
0087              MedEtaSF = cms.vdouble(1.0, 1.0),
0088              EtaMaxExtrap = cms.double(2.0),
0089              puppiAlgos = puppiCentral
0090         ), cms.PSet( 
0091              etaMin              = cms.vdouble( 3.5),
0092              etaMax              = cms.vdouble(10.0),
0093              ptMin               = cms.vdouble( 0.), #Normally 0
0094              MinNeutralPt        = cms.vdouble( 2.0),
0095              MinNeutralPtSlope   = cms.vdouble(0.08),
0096              RMSEtaSF            = cms.vdouble(1.0 ),
0097              MedEtaSF            = cms.vdouble(0.75),
0098              EtaMaxExtrap        = cms.double( 2.0),
0099              puppiAlgos = puppiForward
0100        )
0101     )
0102 )
0103 
0104 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
0105 pp_on_AA.toModify(puppi, algos = [])
0106 
0107 puppiNoLep = puppi.clone(
0108     puppiNoLep = True
0109     )