Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:45:24

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                        clonePackedCands   = False, # should only be set to True for MiniAOD
0040                        algos          = { 
0041                         0: dict( 
0042                          puppiAlgos = puppiCentral
0043                         )
0044                         } #only one PSet is defined in reference
0045 )
0046 puppi.algos.append(cms.PSet( 
0047                          etaMin              = cms.vdouble( 2.5,  3.0),
0048                          etaMax              = cms.vdouble( 3.0, 10.0),
0049                          ptMin               = cms.vdouble( 0.0,  0.0),
0050                          MinNeutralPt        = cms.vdouble( 1.7,  2.0),
0051                          MinNeutralPtSlope   = cms.vdouble(0.08, 0.08),
0052                          RMSEtaSF            = cms.vdouble(1.20, 0.95),
0053                          MedEtaSF            = cms.vdouble(0.90, 0.75),
0054                          EtaMaxExtrap        = cms.double( 2.0),
0055                          puppiAlgos = puppiForward
0056                        )
0057 )
0058                        #  cms.PSet( 
0059                        #   etaMin = cms.double(3.0),
0060                        #   etaMax = cms.double(10.0),
0061                        #   ptMin  = cms.double(0.0),
0062                        #   MinNeutralPt        = cms.double(2.0),
0063                        #   MinNeutralPtSlope   = cms.double(0.07),
0064                        #   # RMSEtaSF = cms.double(1.18),
0065                        #   # MedEtaSF = cms.double(0.4397),                         
0066                        #   RMSEtaSF = cms.double(1.10),
0067                        #   MedEtaSF = cms.double(0.90),
0068                        #   EtaMaxExtrap = cms.double(2.0),
0069                        #   puppiAlgos = puppiForward
0070                        # )
0071 
0072 from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
0073 phase2_common.toModify(
0074     puppi,
0075     EtaMinUseDeltaZ = 4.0,
0076     DeltaZCut = 0.1,
0077     algos = cms.VPSet( 
0078         cms.PSet( 
0079              etaMin = cms.vdouble(0.,  2.5),
0080              etaMax = cms.vdouble(2.5, 3.5),
0081              ptMin  = cms.vdouble(0.,  0.), #Normally 0
0082              MinNeutralPt   = cms.vdouble(0.2, 0.2),
0083              MinNeutralPtSlope   = cms.vdouble(0.015, 0.030),
0084              RMSEtaSF = cms.vdouble(1.0, 1.0),
0085              MedEtaSF = cms.vdouble(1.0, 1.0),
0086              EtaMaxExtrap = cms.double(2.0),
0087              puppiAlgos = puppiCentral
0088         ), cms.PSet( 
0089              etaMin              = cms.vdouble( 3.5),
0090              etaMax              = cms.vdouble(10.0),
0091              ptMin               = cms.vdouble( 0.), #Normally 0
0092              MinNeutralPt        = cms.vdouble( 2.0),
0093              MinNeutralPtSlope   = cms.vdouble(0.08),
0094              RMSEtaSF            = cms.vdouble(1.0 ),
0095              MedEtaSF            = cms.vdouble(0.75),
0096              EtaMaxExtrap        = cms.double( 2.0),
0097              puppiAlgos = puppiForward
0098        )
0099     )
0100 )
0101 
0102 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
0103 pp_on_AA.toModify(puppi, algos = [])
0104 
0105 puppiNoLep = puppi.clone(
0106     puppiNoLep = True
0107     )