Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-01-26 04:08:59

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