Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-11-25 02:29:51

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 from CommonTools.ParticleFlow.Isolation.pfElectronIsolation_cff import *
0004 
0005 elPFIsoDepositChargedForBoostedElectrons = elPFIsoDepositCharged.clone(
0006    src = cms.InputTag('gedGsfElectrons'),    
0007 )
0008 elPFIsoDepositChargedAllForBoostedElectrons = elPFIsoDepositChargedAll.clone(
0009    src = cms.InputTag('gedGsfElectrons'),   
0010 )
0011 elPFIsoDepositNeutralForBoostedElectrons = elPFIsoDepositNeutral.clone(
0012    src = cms.InputTag('gedGsfElectrons'),
0013 )
0014 elPFIsoDepositGammaForBoostedElectrons = elPFIsoDepositGamma.clone(
0015    src = cms.InputTag('gedGsfElectrons'),
0016 )
0017 elPFIsoDepositPUForBoostedElectrons = elPFIsoDepositPU.clone(
0018    src = cms.InputTag('gedGsfElectrons'),
0019 )
0020 boostedElectronPFIsolationSequence = cms.Sequence(
0021     elPFIsoDepositChargedForBoostedElectrons
0022   + elPFIsoDepositChargedAllForBoostedElectrons
0023   + elPFIsoDepositNeutralForBoostedElectrons
0024   + elPFIsoDepositGammaForBoostedElectrons
0025   + elPFIsoDepositPUForBoostedElectrons
0026 )
0027 
0028 from PhysicsTools.PatAlgos.producersLayer1.electronProducer_cfi import patElectrons
0029 patBoostedElectrons = patElectrons.clone(
0030     isoDeposits = cms.PSet(
0031         # CV: strings for IsoDeposits defined in PhysicsTools/PatAlgos/plugins/PATElectronProducer.cc
0032         pfChargedHadrons = cms.InputTag("elPFIsoDepositChargedForBoostedElectrons"),
0033         pfNeutralHadrons = cms.InputTag("elPFIsoDepositNeutralForBoostedElectrons"),
0034         pfPhotons = cms.InputTag("elPFIsoDepositGammaForBoostedElectrons"),
0035         user = cms.VInputTag(
0036             cms.InputTag("elPFIsoDepositChargedAllForBoostedElectrons"),
0037             cms.InputTag("elPFIsoDepositPUForBoostedElectrons")
0038         )
0039     ),
0040     addGenMatch = cms.bool(False),
0041     embedHighLevelSelection = cms.bool(True),
0042     usePV = cms.bool(False) # compute transverse impact parameter wrt. beamspot (not event vertex)      
0043 )
0044 
0045 otherSubJetVeto = 'OtherJetConstituentsDeltaRVeto(boostedTauSeeds,0.3,boostedTauSeeds:pfCandAssocMapForIsoDepositVetos,0.01)'
0046 
0047 #pfChargedHadronVetos = elPFIsoValueCharged04NoPFId.deposits[0].vetos.value()
0048 pfChargedHadronVetos = elPFIsoValueCharged03NoPFId.deposits[0].vetos.value()
0049 pfChargedHadronVetos.append(otherSubJetVeto)
0050 print("pfChargedHadronVetos = %s" % pfChargedHadronVetos)
0051 
0052 #pfNeutralHadronVetos = elPFIsoValueNeutral04NoPFId.deposits[0].vetos.value()
0053 pfNeutralHadronVetos = elPFIsoValueNeutral03NoPFId.deposits[0].vetos.value()
0054 pfNeutralHadronVetos.append(otherSubJetVeto)
0055 print("pfNeutralHadronVetos = %s" % pfNeutralHadronVetos)
0056 
0057 #pfGammaVetos = elPFIsoValueGamma04NoPFId.deposits[0].vetos.value()
0058 pfGammaVetos = elPFIsoValueGamma03NoPFId.deposits[0].vetos.value()
0059 pfGammaVetos.append(otherSubJetVeto)
0060 print("pfGammaVetos = %s" % pfGammaVetos)
0061 
0062 #userVetos1 = elPFIsoValueChargedAll04NoPFId.deposits[0].vetos.value()
0063 userVetos1 = elPFIsoValueChargedAll03NoPFId.deposits[0].vetos.value()
0064 userVetos1.append(otherSubJetVeto)
0065 print("userVetos1 = %s" % userVetos1)
0066 
0067 #userVetos2 = elPFIsoValuePU04NoPFId.deposits[0].vetos.value()
0068 userVetos2 = elPFIsoValuePU03NoPFId.deposits[0].vetos.value()
0069 userVetos2.append(otherSubJetVeto)
0070 print("userVetos2 = %s" % userVetos2)
0071 
0072 patBoostedElectrons.userIsolation = cms.PSet(
0073    # CV: strings for Isolation values defined in PhysicsTools/PatAlgos/src/MultiIsolator.cc
0074    pfChargedHadron = cms.PSet(
0075       #  deltaR = cms.double(0.4),
0076         deltaR = cms.double(0.3),
0077         src = patBoostedElectrons.isoDeposits.pfChargedHadrons,
0078         vetos = cms.vstring(pfChargedHadronVetos),
0079       #  skipDefaultVeto = elPFIsoValueCharged04NoPFId.deposits[0].skipDefaultVeto
0080         skipDefaultVeto = elPFIsoValueCharged03NoPFId.deposits[0].skipDefaultVeto
0081    ),
0082    pfNeutralHadron = cms.PSet(
0083       #  deltaR = cms.double(0.4),
0084         deltaR = cms.double(0.3),
0085         src = patBoostedElectrons.isoDeposits.pfNeutralHadrons,
0086         vetos = cms.vstring(pfNeutralHadronVetos),
0087       #  skipDefaultVeto = elPFIsoValueNeutral04NoPFId.deposits[0].skipDefaultVeto
0088         skipDefaultVeto = elPFIsoValueNeutral03NoPFId.deposits[0].skipDefaultVeto
0089    ), 
0090    pfGamma = cms.PSet(
0091       #  deltaR = cms.double(0.4),
0092         deltaR = cms.double(0.3),
0093         src = patBoostedElectrons.isoDeposits.pfPhotons,
0094         vetos = cms.vstring(pfGammaVetos),
0095       #  skipDefaultVeto = elPFIsoValueGamma04NoPFId.deposits[0].skipDefaultVeto
0096         skipDefaultVeto = elPFIsoValueGamma03NoPFId.deposits[0].skipDefaultVeto 
0097    ),
0098    user = cms.VPSet(
0099         cms.PSet(
0100       #      deltaR = cms.double(0.4),
0101             deltaR = cms.double(0.3),
0102             src = patBoostedElectrons.isoDeposits.user[0],
0103             vetos = cms.vstring(userVetos1),
0104       #      skipDefaultVeto = elPFIsoValueChargedAll04NoPFId.deposits[0].skipDefaultVeto
0105             skipDefaultVeto = elPFIsoValueChargedAll03NoPFId.deposits[0].skipDefaultVeto
0106         ),
0107         cms.PSet(
0108       #      deltaR = cms.double(0.4),
0109             deltaR = cms.double(0.3),
0110             src = patBoostedElectrons.isoDeposits.user[1],
0111             vetos = cms.vstring(userVetos2),
0112       #      skipDefaultVeto = elPFIsoValuePU04NoPFId.deposits[0].skipDefaultVeto
0113             skipDefaultVeto = elPFIsoValuePU03NoPFId.deposits[0].skipDefaultVeto
0114         )
0115    ) 
0116 
0117 )
0118 
0119 makePatBoostedElectrons = cms.Sequence(
0120     boostedElectronPFIsolationSequence
0121    + patBoostedElectrons
0122 )
0123 
0124