コード例 #1
0
ファイル: electrons_cff.py プロジェクト: dntaylor/cmssw
        jetForLepJetVar = cms.InputTag("ptRatioRelForEle:jetForLepJetVar") # warning: Ptr is null if no match is found
    ),
)

# this below is used only in some eras
slimmedElectronsWithDZ = cms.EDProducer("PATElectronUpdater",
    src = cms.InputTag("slimmedElectronsWithUserData"),
    vertices = cms.InputTag("offlineSlimmedPrimaryVertices")
)

finalElectrons = cms.EDFilter("PATElectronRefSelector",
    src = cms.InputTag("slimmedElectronsWithUserData"),
    cut = cms.string("pt > 5 ")
)
run2_miniAOD_80XLegacy.toModify(finalElectrons, src = "slimmedElectronsWithDZ")
run2_nanoAOD_92X.toModify(finalElectrons, src = "slimmedElectronsWithDZ")

electronMVATTH= cms.EDProducer("EleBaseMVAValueMapProducer",
    src = cms.InputTag("linkedObjects","electrons"),
    weightFile =  cms.FileInPath("PhysicsTools/NanoAOD/data/el_BDTG.weights.xml"),
    name = cms.string("electronMVATTH"),
    isClassifier = cms.bool(True),
    variablesOrder = cms.vstring(["LepGood_pt","LepGood_eta","LepGood_jetNDauChargedMVASel","LepGood_miniRelIsoCharged","LepGood_miniRelIsoNeutral","LepGood_jetPtRelv2","LepGood_jetPtRatio","LepGood_jetBTagCSV","LepGood_sip3d","LepGood_dxy","LepGood_dz","LepGood_mvaIdSpring16HZZ"]),
    variables = cms.PSet(
        LepGood_pt = cms.string("pt"),
        LepGood_eta = cms.string("eta"),
        LepGood_jetNDauChargedMVASel = cms.string("userFloat('jetNDauChargedMVASel')"),
        LepGood_miniRelIsoCharged = cms.string("userFloat('miniIsoChg')/pt"),
        LepGood_miniRelIsoNeutral = cms.string("(userFloat('miniIsoAll')-userFloat('miniIsoChg'))/pt"),
        LepGood_jetPtRelv2 = cms.string("userFloat('ptRel')"),
        LepGood_jetPtRatio = cms.string("min(userFloat('ptRatio'),1.5)"),
コード例 #2
0
    pfCandsForMiniIso=cms.InputTag("packedPFCandidates"),
    miniIsoParamsB=PhysicsTools.PatAlgos.producersLayer1.electronProducer_cfi.
    patElectrons.miniIsoParamsB,  # so they're in sync
    miniIsoParamsE=PhysicsTools.PatAlgos.producersLayer1.electronProducer_cfi.
    patElectrons.miniIsoParamsE,  # so they're in sync
)
run2_miniAOD_80XLegacy.toModify(slimmedElectronsUpdated, computeMiniIso=True)

from PhysicsTools.SelectorUtils.tools.vid_id_tools import setupVIDSelection
from RecoEgamma.ElectronIdentification.egmGsfElectronIDs_cff import *
from RecoEgamma.ElectronIdentification.heepIdVarValueMapProducer_cfi import *

electronMVAValueMapProducer.srcMiniAOD = cms.InputTag("slimmedElectrons")
run2_miniAOD_80XLegacy.toModify(electronMVAValueMapProducer,
                                srcMiniAOD="slimmedElectronsUpdated")
run2_nanoAOD_92X.toModify(electronMVAValueMapProducer,
                          srcMiniAOD="slimmedElectronsUpdated")

egmGsfElectronIDs.physicsObjectIDs = cms.VPSet()
egmGsfElectronIDs.physicsObjectSrc = cms.InputTag('slimmedElectrons')
run2_miniAOD_80XLegacy.toModify(egmGsfElectronIDs,
                                physicsObjectSrc="slimmedElectronsUpdated")
run2_nanoAOD_92X.toModify(egmGsfElectronIDs,
                          physicsObjectSrc="slimmedElectronsUpdated")

heepIDVarValueMaps.elesMiniAOD = cms.InputTag('slimmedElectrons')
run2_miniAOD_80XLegacy.toModify(heepIDVarValueMaps,
                                elesMiniAOD="slimmedElectronsUpdated")
run2_nanoAOD_92X.toModify(heepIDVarValueMaps,
                          elesMiniAOD="slimmedElectronsUpdated")

_electron_id_modules_WorkingPoints = cms.PSet(
コード例 #3
0
run2_miniAOD_80XLegacy.toModify(
    isoForEle,
    src="slimmedElectronsUpdated",
    EAFile_MiniIso=
    "RecoEgamma/ElectronIdentification/data/Spring15/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_25ns.txt",
    EAFile_PFIso=
    "RecoEgamma/ElectronIdentification/data/Summer16/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_80X.txt"
)
run2_nanoAOD_94X2016.toModify(
    isoForEle,
    EAFile_MiniIso=
    "RecoEgamma/ElectronIdentification/data/Spring15/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_25ns.txt",
    EAFile_PFIso=
    "RecoEgamma/ElectronIdentification/data/Summer16/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_80X.txt"
)
run2_nanoAOD_92X.toModify(isoForEle, src="slimmedElectronsUpdated")

ptRatioRelForEle = cms.EDProducer(
    "ElectronJetVarProducer",
    srcJet=cms.InputTag("updatedJets"),
    srcLep=cms.InputTag("slimmedElectrons"),
    srcVtx=cms.InputTag("offlineSlimmedPrimaryVertices"),
)
run2_miniAOD_80XLegacy.toModify(ptRatioRelForEle,
                                srcLep="slimmedElectronsUpdated")
run2_nanoAOD_92X.toModify(ptRatioRelForEle, srcLep="slimmedElectronsUpdated")

import EgammaAnalysis.ElectronTools.calibratedElectronsRun2_cfi

calibratedPatElectrons80X = EgammaAnalysis.ElectronTools.calibratedElectronsRun2_cfi.calibratedPatElectrons.clone(
    electrons=cms.InputTag("slimmedElectronsUpdated"),
コード例 #4
0
ファイル: electrons_cff.py プロジェクト: BetterWang/cmssw
    src = cms.InputTag("slimmedElectrons"),
    vertices = cms.InputTag("offlineSlimmedPrimaryVertices"),
    computeMiniIso = cms.bool(False),
    pfCandsForMiniIso = cms.InputTag("packedPFCandidates"),
    miniIsoParamsB = PhysicsTools.PatAlgos.producersLayer1.electronProducer_cfi.patElectrons.miniIsoParamsB, # so they're in sync
    miniIsoParamsE = PhysicsTools.PatAlgos.producersLayer1.electronProducer_cfi.patElectrons.miniIsoParamsE, # so they're in sync
)
run2_miniAOD_80XLegacy.toModify( slimmedElectronsUpdated, computeMiniIso = True )

from PhysicsTools.SelectorUtils.tools.vid_id_tools import setupVIDSelection
from RecoEgamma.ElectronIdentification.egmGsfElectronIDs_cff import *
from RecoEgamma.ElectronIdentification.heepIdVarValueMapProducer_cfi import *

electronMVAValueMapProducer.srcMiniAOD = cms.InputTag("slimmedElectrons")
run2_miniAOD_80XLegacy.toModify(electronMVAValueMapProducer, srcMiniAOD = "slimmedElectronsUpdated")
run2_nanoAOD_92X.toModify(electronMVAValueMapProducer, srcMiniAOD = "slimmedElectronsUpdated")

egmGsfElectronIDs.physicsObjectIDs = cms.VPSet()
egmGsfElectronIDs.physicsObjectSrc = cms.InputTag('slimmedElectrons')
run2_miniAOD_80XLegacy.toModify(egmGsfElectronIDs, physicsObjectSrc = "slimmedElectronsUpdated")
run2_nanoAOD_92X.toModify(egmGsfElectronIDs, physicsObjectSrc = "slimmedElectronsUpdated")

heepIDVarValueMaps.elesMiniAOD = cms.InputTag('slimmedElectrons')
run2_miniAOD_80XLegacy.toModify(heepIDVarValueMaps, elesMiniAOD = "slimmedElectronsUpdated")
run2_nanoAOD_92X.toModify(heepIDVarValueMaps, elesMiniAOD = "slimmedElectronsUpdated")

_electron_id_vid_modules=[
'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Summer16_80X_V1_cff',
'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronHLTPreselecition_Summer16_V1_cff',
'RecoEgamma.ElectronIdentification.Identification.heepElectronID_HEEPV70_cff',
'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring16_GeneralPurpose_V1_cff',
コード例 #5
0
ファイル: jets_cff.py プロジェクト: BetterWang/cmssw
#        btagDeepC = Var("bDiscriminator('pfDeepCSVJetTags:probc')",float,doc="CMVA V2 btag discriminator",precision=10),
#puIdDisc = Var("userFloat('pileupJetId:fullDiscriminant')",float,doc="Pilup ID discriminant",precision=10),
#        nConstituents = Var("numberOfDaughters()",int,doc="Number of particles in the jet"),
#        rawFactor = Var("1.-jecFactor('Uncorrected')",float,doc="1 - Factor to get back to raw pT",precision=6),
    )
)
### Era dependent customization
run2_miniAOD_80XLegacy.toModify( fatJetTable.variables.msoftdrop, expr = cms.string("userFloat(\'ak8PFJetsCHSSoftDropMass\')"),)
run2_miniAOD_80XLegacy.toModify( fatJetTable.variables.tau1, expr = cms.string("userFloat(\'ak8PFJetsPuppiValueMap:NjettinessAK8PuppiTau1\')"),)
run2_miniAOD_80XLegacy.toModify( fatJetTable.variables.tau2, expr = cms.string("userFloat(\'ak8PFJetsPuppiValueMap:NjettinessAK8PuppiTau2\')"),)
run2_miniAOD_80XLegacy.toModify( fatJetTable.variables.tau3, expr = cms.string("userFloat(\'ak8PFJetsPuppiValueMap:NjettinessAK8PuppiTau3\')"),)
run2_miniAOD_80XLegacy.toModify( fatJetTable.variables.tau4, expr = cms.string("-1"),)
run2_miniAOD_80XLegacy.toModify( fatJetTable.variables.n2b1, expr = cms.string("-1"),)
run2_miniAOD_80XLegacy.toModify( fatJetTable.variables.n3b1, expr = cms.string("-1"),)

run2_nanoAOD_92X.toModify( fatJetTable.variables.tau4, expr = cms.string("-1"),)
run2_nanoAOD_92X.toModify( fatJetTable.variables.n2b1, expr = cms.string("-1"),)
run2_nanoAOD_92X.toModify( fatJetTable.variables.n3b1, expr = cms.string("-1"),)



subJetTable = cms.EDProducer("SimpleCandidateFlatTableProducer",
    src = cms.InputTag("slimmedJetsAK8PFPuppiSoftDropPacked","SubJets"),
    cut = cms.string(""), #probably already applied in miniaod
    name = cms.string("SubJet"),
    doc  = cms.string("slimmedJetsAK8, i.e. ak8 fat jets for boosted analysis"),
    singleton = cms.bool(False), # the number of entries is variable
    extension = cms.bool(False), # this is the main table for the jets
    variables = cms.PSet(P4Vars,
        btagCMVA = Var("bDiscriminator('pfCombinedMVAV2BJetTags')",float,doc="CMVA V2 btag discriminator",precision=10),
        btagDeepB = Var("bDiscriminator('pfDeepCSVJetTags:probb')+bDiscriminator('pfDeepCSVJetTags:probbb')",float,doc="DeepCSV b+bb tag discriminator",precision=10),
コード例 #6
0
from Configuration.Eras.Modifier_run2_nanoAOD_92X_cff import run2_nanoAOD_92X
from PhysicsTools.NanoAOD.common_cff import *
import PhysicsTools.PatAlgos.producersLayer1.muonProducer_cfi

# this below is used only in some eras
slimmedMuonsUpdated = cms.EDProducer(
    "PATMuonUpdater",
    src=cms.InputTag("slimmedMuons"),
    vertices=cms.InputTag("offlineSlimmedPrimaryVertices"),
    computeMiniIso=cms.bool(False),
    pfCandsForMiniIso=cms.InputTag("packedPFCandidates"),
    miniIsoParams=PhysicsTools.PatAlgos.producersLayer1.muonProducer_cfi.
    patMuons.miniIsoParams,  # so they're in sync
    recomputeMuonBasicSelectors=cms.bool(False),
)
run2_nanoAOD_92X.toModify(slimmedMuonsUpdated,
                          recomputeMuonBasicSelectors=True)
run2_miniAOD_80XLegacy.toModify(slimmedMuonsUpdated,
                                computeMiniIso=True,
                                recomputeMuonBasicSelectors=True)

isoForMu = cms.EDProducer(
    "MuonIsoValueMapProducer",
    src=cms.InputTag("slimmedMuons"),
    relative=cms.bool(False),
    rho_MiniIso=cms.InputTag("fixedGridRhoFastjetAll"),
    EAFile_MiniIso=cms.FileInPath(
        "PhysicsTools/NanoAOD/data/effAreaMuons_cone03_pfNeuHadronsAndPhotons_94X.txt"
    ),
)
run2_miniAOD_80XLegacy.toModify(
    isoForMu,
コード例 #7
0
ファイル: muons_cff.py プロジェクト: siddhesh86/cmssw
        "ptRatioRelForMu:jetForLepJetVar"
    )  # warning: Ptr is null if no match is found
                       ),
)
# this below is used only in some eras
slimmedMuonsWithDZ = cms.EDProducer(
    "PATMuonUpdater",
    src=cms.InputTag("slimmedMuonsWithUserData"),
    vertices=cms.InputTag("offlineSlimmedPrimaryVertices"))

finalMuons = cms.EDFilter(
    "PATMuonRefSelector",
    src=cms.InputTag("slimmedMuonsWithUserData"),
    cut=cms.string("pt > 3 && track.isNonnull && isLooseMuon"))
run2_miniAOD_80XLegacy.toModify(finalMuons, src="slimmedMuonsWithDZ")
run2_nanoAOD_92X.toModify(finalMuons, src="slimmedMuonsWithDZ")

muonMVATTH = cms.EDProducer(
    "MuonBaseMVAValueMapProducer",
    src=cms.InputTag("linkedObjects", "muons"),
    weightFile=cms.FileInPath("PhysicsTools/NanoAOD/data/mu_BDTG.weights.xml"),
    name=cms.string("muonMVATTH"),
    isClassifier=cms.bool(True),
    variablesOrder=cms.vstring([
        "LepGood_pt", "LepGood_eta", "LepGood_jetNDauChargedMVASel",
        "LepGood_miniRelIsoCharged", "LepGood_miniRelIsoNeutral",
        "LepGood_jetPtRelv2", "LepGood_jetPtRatio", "LepGood_jetBTagCSV",
        "LepGood_sip3d", "LepGood_dxy", "LepGood_dz",
        "LepGood_segmentCompatibility"
    ]),
    variables=cms.PSet(
コード例 #8
0
        hoe = Var("hadronicOverEm()",float,doc="H over E",precision=8),
        isScEtaEB = Var("abs(superCluster().eta()) < 1.4442",bool,doc="is supercluster eta within barrel acceptance"),
        isScEtaEE = Var("abs(superCluster().eta()) > 1.566 && abs(superCluster().eta()) < 2.5",bool,doc="is supercluster eta within endcap acceptance"),
    )
)
photonTable.variables.pt = Var("pt*userFloat('ecalEnergyPostCorr')/userFloat('ecalEnergyPreCorr')",  float, precision=-1)
run2_miniAOD_80XLegacy.toModify(photonTable.variables,
    cutBasedBitmap = None,
    cutBased = Var("userInt('cutbasedID_loose')+userInt('cutbasedID_medium')+userInt('cutbasedID_tight')",int,doc="cut-based ID (0:fail, 1::loose, 2:medium, 3:tight)"),
    pt = Var("pt*userFloat('eCorr')",  float, precision=-1, doc="p_{T} (no energy correction & smearing)"),
    energyErr = Var("getCorrectedEnergyError('regression2')*userFloat('eCorr')",float,doc="energy error of the cluster from regression",precision=6),
    eCorr = Var("userFloat('eCorr')",float,doc="ratio of the calibrated energy/miniaod energy"),
)
run2_nanoAOD_92X.toModify(photonTable.variables,
    pt = Var("pt",  float, precision=-1, doc="p_{T} (no energy correction & smearing)"),
    energyErr = Var("getCorrectedEnergyError('regression2')",float,doc="energy error of the cluster from regression",precision=6),
    eCorr = None,
)


photonsMCMatchForTable = cms.EDProducer("MCMatcher",  # cut on deltaR, deltaPt/Pt; pick best by deltaR
    src         = photonTable.src,                 # final reco collection
    matched     = cms.InputTag("finalGenParticles"), # final mc-truth particle collection
    mcPdgId     = cms.vint32(11,22),                 # one or more PDG ID (11 = el, 22 = pho); absolute values (see below)
    checkCharge = cms.bool(False),              # True = require RECO and MC objects to have the same charge
    mcStatus    = cms.vint32(1),                # PYTHIA status code (1 = stable, 2 = shower, 3 = hard scattering)
    maxDeltaR   = cms.double(0.3),              # Minimum deltaR for the match
    maxDPtRel   = cms.double(0.5),              # Minimum deltaPt/Pt for the match
    resolveAmbiguities    = cms.bool(True),     # Forbid two RECO objects to match to the same GEN object
    resolveByMatchQuality = cms.bool(True),    # False = just match input in order; True = pick lowest deltaR pair first
)
コード例 #9
0
    src = cms.InputTag("slimmedElectrons"),
    vertices = cms.InputTag("offlineSlimmedPrimaryVertices"),
    computeMiniIso = cms.bool(False),
    pfCandsForMiniIso = cms.InputTag("packedPFCandidates"),
    miniIsoParamsB = PhysicsTools.PatAlgos.producersLayer1.electronProducer_cfi.patElectrons.miniIsoParamsB, # so they're in sync
    miniIsoParamsE = PhysicsTools.PatAlgos.producersLayer1.electronProducer_cfi.patElectrons.miniIsoParamsE, # so they're in sync
)
run2_miniAOD_80XLegacy.toModify( slimmedElectronsUpdated, computeMiniIso = True )

from PhysicsTools.SelectorUtils.tools.vid_id_tools import setupVIDSelection
from RecoEgamma.ElectronIdentification.egmGsfElectronIDs_cff import *
from RecoEgamma.ElectronIdentification.heepIdVarValueMapProducer_cfi import *

electronMVAValueMapProducer.srcMiniAOD = cms.InputTag("slimmedElectrons")
run2_miniAOD_80XLegacy.toModify(electronMVAValueMapProducer, srcMiniAOD = "slimmedElectronsUpdated")
run2_nanoAOD_92X.toModify(electronMVAValueMapProducer, srcMiniAOD = "slimmedElectronsUpdated")

egmGsfElectronIDs.physicsObjectIDs = cms.VPSet()
egmGsfElectronIDs.physicsObjectSrc = cms.InputTag('slimmedElectrons')
run2_miniAOD_80XLegacy.toModify(egmGsfElectronIDs, physicsObjectSrc = "slimmedElectronsUpdated")
run2_nanoAOD_92X.toModify(egmGsfElectronIDs, physicsObjectSrc = "slimmedElectronsUpdated")

heepIDVarValueMaps.elesMiniAOD = cms.InputTag('slimmedElectrons')
run2_miniAOD_80XLegacy.toModify(heepIDVarValueMaps, elesMiniAOD = "slimmedElectronsUpdated")
run2_nanoAOD_92X.toModify(heepIDVarValueMaps, elesMiniAOD = "slimmedElectronsUpdated")

_electron_id_modules_WorkingPoints = cms.PSet(
    modules = cms.vstring(
        'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Fall17_94X_V1_cff',
        'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Fall17_94X_V2_cff',
        'RecoEgamma.ElectronIdentification.Identification.heepElectronID_HEEPV70_cff',
コード例 #10
0
)

for modifier in run2_miniAOD_80XLegacy, run2_nanoAOD_94X2016: # to be updated when SF for Summer16MiniAODv3 MC will be available
    modifier.toModify(btagWeightTable,                
        cut = cms.string("pt > 25. && abs(eta) < 2.4"),             #80X corresponds to 2016, |eta| < 2.4
        weightFiles = cms.vstring(                                  #80X corresponds to 2016 SFs
            btagSFdir+"CSVv2_Moriond17_B_H.csv",            
            "unavailable",                    
            btagSFdir+"cMVAv2_Moriond17_B_H.csv"                                            
        )
    )

run2_nanoAOD_92X.toModify(btagWeightTable,                      #92X corresponds to MCv1, for which SFs are unavailable
    weightFiles = cms.vstring(
        "unavailable",
        "unavailable",                    
        "unavailable"                                            
    )
)                    

genWeightsTable = cms.EDProducer("GenWeightsTableProducer",
    genEvent = cms.InputTag("generator"),
    lheInfo = cms.InputTag("externalLHEProducer"),
    preferredPDFs = cms.VPSet( # see https://lhapdf.hepforge.org/pdfsets.html
        cms.PSet( name = cms.string("PDF4LHC15_nnlo_30_pdfas"), lhaid = cms.uint32(91400) ),
        cms.PSet( name = cms.string("NNPDF31_nnlo_hessian_pdfas"), lhaid = cms.uint32(306000) ),
        cms.PSet( name = cms.string("NNPDF30_nlo_as_0118"), lhaid = cms.uint32(260000) ), # for some 92X samples. Note that the nominal weight, 260000, is not included in the LHE ...
        cms.PSet( name = cms.string("NNPDF30_lo_as_0130"), lhaid = cms.uint32(262000) ), # some MLM 80X samples have only this (e.g. /store/mc/RunIISummer16MiniAODv2/DYJetsToLL_M-50_TuneCUETP8M1_13TeV-madgraphMLM-pythia8/MINIAODSIM/PUMoriond17_80X_mcRun2_asymptotic_2016_TrancheIV_v6_ext1-v2/120000/02A210D6-F5C3-E611-B570-008CFA197BD4.root )
        cms.PSet( name = cms.string("NNPDF30_nlo_nf_4_pdfas"), lhaid = cms.uint32(292000) ), # some FXFX 80X samples have only this (e.g. WWTo1L1Nu2Q, WWTo4Q)
        cms.PSet( name = cms.string("NNPDF30_nlo_nf_5_pdfas"), lhaid = cms.uint32(292200) ), # some FXFX 80X samples have only this (e.g. DYJetsToLL_Pt, WJetsToLNu_Pt, DYJetsToNuNu_Pt)
    ),
コード例 #11
0
ファイル: muons_cff.py プロジェクト: dntaylor/cmssw
     userCands = cms.PSet(
        jetForLepJetVar = cms.InputTag("ptRatioRelForMu:jetForLepJetVar") # warning: Ptr is null if no match is found
     ),
)
# this below is used only in some eras
slimmedMuonsWithDZ = cms.EDProducer("PATMuonUpdater",
    src = cms.InputTag("slimmedMuonsWithUserData"),
    vertices = cms.InputTag("offlineSlimmedPrimaryVertices")
)

finalMuons = cms.EDFilter("PATMuonRefSelector",
    src = cms.InputTag("slimmedMuonsWithUserData"),
    cut = cms.string("pt > 3 && track.isNonnull && isLooseMuon")
)
run2_miniAOD_80XLegacy.toModify(finalMuons, src = "slimmedMuonsWithDZ")
run2_nanoAOD_92X.toModify(finalMuons, src = "slimmedMuonsWithDZ")

muonMVATTH= cms.EDProducer("MuonBaseMVAValueMapProducer",
    src = cms.InputTag("linkedObjects","muons"),
    weightFile =  cms.FileInPath("PhysicsTools/NanoAOD/data/mu_BDTG.weights.xml"),
    name = cms.string("muonMVATTH"),
    isClassifier = cms.bool(True),
    variablesOrder = cms.vstring(["LepGood_pt","LepGood_eta","LepGood_jetNDauChargedMVASel","LepGood_miniRelIsoCharged","LepGood_miniRelIsoNeutral","LepGood_jetPtRelv2","LepGood_jetPtRatio","LepGood_jetBTagCSV","LepGood_sip3d","LepGood_dxy","LepGood_dz","LepGood_segmentCompatibility"]),
    variables = cms.PSet(
        LepGood_pt = cms.string("pt"),
        LepGood_eta = cms.string("eta"),
        LepGood_jetNDauChargedMVASel = cms.string("userFloat('jetNDauChargedMVASel')"),
        LepGood_miniRelIsoCharged = cms.string("userFloat('miniIsoChg')/pt"),
        LepGood_miniRelIsoNeutral = cms.string("(userFloat('miniIsoAll')-userFloat('miniIsoChg'))/pt"),
        LepGood_jetPtRelv2 = cms.string("userFloat('ptRel')"),
        LepGood_jetPtRatio = cms.string("min(userFloat('ptRatio'),1.5)"),
コード例 #12
0
## Producer for ttbar categorisation ID
from TopQuarkAnalysis.TopTools.GenTtbarCategorizer_cfi import categorizeGenTtbar

categorizeGenTtbar = categorizeGenTtbar.clone(
    genJetPtMin=20.,
    genJetAbsEtaMax=2.4,
    genJets=cms.InputTag("slimmedGenJets"),
)

### Era dependent customization
run2_miniAOD_80XLegacy.toModify(
    matchGenBHadron,
    jetFlavourInfos=cms.InputTag("genJetFlavourAssociation"),
)
run2_nanoAOD_92X.toModify(
    matchGenBHadron,
    jetFlavourInfos=cms.InputTag("genJetFlavourAssociation"),
)

run2_miniAOD_80XLegacy.toModify(
    matchGenCHadron,
    jetFlavourInfos=cms.InputTag("genJetFlavourAssociation"),
)
run2_nanoAOD_92X.toModify(
    matchGenCHadron,
    jetFlavourInfos=cms.InputTag("genJetFlavourAssociation"),
)

##################### Tables for final output and docs ##########################
ttbarCategoryTable = cms.EDProducer(
    "GlobalVariablesTableProducer",
    variables=cms.PSet(
コード例 #13
0
matchGenCHadron = matchGenCHadron.clone(
    genParticles = cms.InputTag("prunedGenParticles"),
    jetFlavourInfos = cms.InputTag("slimmedGenJetsFlavourInfos"),
)

## Producer for ttbar categorisation ID
from TopQuarkAnalysis.TopTools.GenTtbarCategorizer_cfi import categorizeGenTtbar
categorizeGenTtbar = categorizeGenTtbar.clone(
    genJetPtMin = 20.,
    genJetAbsEtaMax = 2.4,
    genJets = cms.InputTag("slimmedGenJets"),
)


### Era dependent customization
run2_miniAOD_80XLegacy.toModify( matchGenBHadron, jetFlavourInfos = cms.InputTag("genJetFlavourAssociation"),)
run2_nanoAOD_92X.toModify( matchGenBHadron, jetFlavourInfos = cms.InputTag("genJetFlavourAssociation"),)

run2_miniAOD_80XLegacy.toModify( matchGenCHadron, jetFlavourInfos = cms.InputTag("genJetFlavourAssociation"),)
run2_nanoAOD_92X.toModify( matchGenCHadron, jetFlavourInfos = cms.InputTag("genJetFlavourAssociation"),)


##################### Tables for final output and docs ##########################
ttbarCategoryTable = cms.EDProducer("GlobalVariablesTableProducer",
                                    variables = cms.PSet(
                                        genTtbarId = ExtVar( cms.InputTag("categorizeGenTtbar:genTtbarId"), "int", doc = "ttbar categorization")
                                    )
)

ttbarCatMCProducers = cms.Sequence(matchGenBHadron + matchGenCHadron + categorizeGenTtbar)
コード例 #14
0
ファイル: muons_cff.py プロジェクト: BetterWang/cmssw
import FWCore.ParameterSet.Config as cms
from Configuration.Eras.Modifier_run2_miniAOD_80XLegacy_cff import run2_miniAOD_80XLegacy
from Configuration.Eras.Modifier_run2_nanoAOD_92X_cff import run2_nanoAOD_92X
from PhysicsTools.NanoAOD.common_cff import *
import PhysicsTools.PatAlgos.producersLayer1.muonProducer_cfi

# this below is used only in some eras
slimmedMuonsUpdated = cms.EDProducer("PATMuonUpdater",
    src = cms.InputTag("slimmedMuons"),
    vertices = cms.InputTag("offlineSlimmedPrimaryVertices"),
    computeMiniIso = cms.bool(False),
    pfCandsForMiniIso = cms.InputTag("packedPFCandidates"),
    miniIsoParams = PhysicsTools.PatAlgos.producersLayer1.muonProducer_cfi.patMuons.miniIsoParams, # so they're in sync
    recomputeMuonBasicSelectors = cms.bool(False),
)
run2_nanoAOD_92X.toModify( slimmedMuonsUpdated, recomputeMuonBasicSelectors = True )
run2_miniAOD_80XLegacy.toModify( slimmedMuonsUpdated, computeMiniIso = True, recomputeMuonBasicSelectors = True )

isoForMu = cms.EDProducer("MuonIsoValueMapProducer",
    src = cms.InputTag("slimmedMuons"),
    relative = cms.bool(False),
    rho_MiniIso = cms.InputTag("fixedGridRhoFastjetAll"),
    EAFile_MiniIso = cms.FileInPath("PhysicsTools/NanoAOD/data/effAreaMuons_cone03_pfNeuHadronsAndPhotons_80X.txt"),
)
run2_miniAOD_80XLegacy.toModify(isoForMu, src = "slimmedMuonsUpdated")
run2_nanoAOD_92X.toModify(isoForMu, src = "slimmedMuonsUpdated")

ptRatioRelForMu = cms.EDProducer("MuonJetVarProducer",
    srcJet = cms.InputTag("slimmedJets"),
    srcLep = cms.InputTag("slimmedMuons"),
    srcVtx = cms.InputTag("offlineSlimmedPrimaryVertices"),
コード例 #15
0
run2_miniAOD_80XLegacy.toModify(
    fatJetTable.variables.n2b1,
    expr=cms.string("-1"),
)
run2_miniAOD_80XLegacy.toModify(
    fatJetTable.variables.n3b1,
    expr=cms.string("-1"),
)
run2_miniAOD_80XLegacy.toModify(
    fatJetTable.variables,
    jetId=Var("userInt('tightId')*2+userInt('looseId')",
              int,
              doc="Jet ID flags bit1 is loose, bit2 is tight"))

run2_nanoAOD_92X.toModify(
    fatJetTable.variables.tau4,
    expr=cms.string("-1"),
)
run2_nanoAOD_92X.toModify(
    fatJetTable.variables.n2b1,
    expr=cms.string("-1"),
)
run2_nanoAOD_92X.toModify(
    fatJetTable.variables.n3b1,
    expr=cms.string("-1"),
)

subJetTable = cms.EDProducer(
    "SimpleCandidateFlatTableProducer",
    src=cms.InputTag("slimmedJetsAK8PFPuppiSoftDropPacked", "SubJets"),
    cut=cms.string(""),  #probably already applied in miniaod
    name=cms.string("SubJet"),
コード例 #16
0
run2_miniAOD_80XLegacy.toModify(
    fatJetTable.variables.tau3,
    expr=cms.string(
        "userFloat(\'ak8PFJetsPuppiValueMap:NjettinessAK8PuppiTau3\')"),
)
run2_miniAOD_80XLegacy.toModify(fatJetTable.variables, tau4=None)
run2_miniAOD_80XLegacy.toModify(fatJetTable.variables, n2b1=None)
run2_miniAOD_80XLegacy.toModify(fatJetTable.variables, n3b1=None)
for modifier in run2_miniAOD_80XLegacy, run2_nanoAOD_94X2016:
    modifier.toModify(fatJetTable.variables,
                      jetId=Var(
                          "userInt('tightId')*2+userInt('looseId')",
                          int,
                          doc="Jet ID flags bit1 is loose, bit2 is tight"))

run2_nanoAOD_92X.toModify(fatJetTable.variables, tau4=None)
run2_nanoAOD_92X.toModify(fatJetTable.variables, n2b1=None)
run2_nanoAOD_92X.toModify(fatJetTable.variables, n3b1=None)

subJetTable = cms.EDProducer(
    "SimpleCandidateFlatTableProducer",
    src=cms.InputTag("slimmedJetsAK8PFPuppiSoftDropPacked", "SubJets"),
    cut=cms.string(""),  #probably already applied in miniaod
    name=cms.string("SubJet"),
    doc=cms.string("slimmedJetsAK8, i.e. ak8 fat jets for boosted analysis"),
    singleton=cms.bool(False),  # the number of entries is variable
    extension=cms.bool(False),  # this is the main table for the jets
    variables=cms.PSet(
        P4Vars,
        btagCMVA=Var("bDiscriminator('pfCombinedMVAV2BJetTags')",
                     float,
コード例 #17
0
    pfCandsForMiniIso=cms.InputTag("packedPFCandidates"),
    miniIsoParamsB=PhysicsTools.PatAlgos.producersLayer1.electronProducer_cfi.
    patElectrons.miniIsoParamsB,  # so they're in sync
    miniIsoParamsE=PhysicsTools.PatAlgos.producersLayer1.electronProducer_cfi.
    patElectrons.miniIsoParamsE,  # so they're in sync
)
run2_miniAOD_80XLegacy.toModify(slimmedElectronsUpdated, computeMiniIso=True)

from PhysicsTools.SelectorUtils.tools.vid_id_tools import setupVIDSelection
from RecoEgamma.ElectronIdentification.egmGsfElectronIDs_cff import *
from RecoEgamma.ElectronIdentification.heepIdVarValueMapProducer_cfi import *

electronMVAValueMapProducer.srcMiniAOD = cms.InputTag("slimmedElectrons")
run2_miniAOD_80XLegacy.toModify(electronMVAValueMapProducer,
                                srcMiniAOD="slimmedElectronsUpdated")
run2_nanoAOD_92X.toModify(electronMVAValueMapProducer,
                          srcMiniAOD="slimmedElectronsUpdated")

egmGsfElectronIDs.physicsObjectIDs = cms.VPSet()
egmGsfElectronIDs.physicsObjectSrc = cms.InputTag('slimmedElectrons')
run2_miniAOD_80XLegacy.toModify(egmGsfElectronIDs,
                                physicsObjectSrc="slimmedElectronsUpdated")
run2_nanoAOD_92X.toModify(egmGsfElectronIDs,
                          physicsObjectSrc="slimmedElectronsUpdated")

heepIDVarValueMaps.elesMiniAOD = cms.InputTag('slimmedElectrons')
run2_miniAOD_80XLegacy.toModify(heepIDVarValueMaps,
                                elesMiniAOD="slimmedElectronsUpdated")
run2_nanoAOD_92X.toModify(heepIDVarValueMaps,
                          elesMiniAOD="slimmedElectronsUpdated")

_electron_id_modules_WorkingPoints = cms.PSet(
コード例 #18
0
ファイル: electrons_cff.py プロジェクト: Moanwar/cmssw
isoForEle = cms.EDProducer("EleIsoValueMapProducer",
    src = cms.InputTag("slimmedElectrons"),
    relative = cms.bool(False),
    rho_MiniIso = cms.InputTag("fixedGridRhoFastjetAll"),
    rho_PFIso = cms.InputTag("fixedGridRhoFastjetAll"),
    EAFile_MiniIso = cms.FileInPath("RecoEgamma/ElectronIdentification/data/Fall17/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_94X.txt"),
    EAFile_PFIso = cms.FileInPath("RecoEgamma/ElectronIdentification/data/Fall17/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_94X.txt"),
)
run2_miniAOD_80XLegacy.toModify(isoForEle, src = "slimmedElectronsUpdated",
                                EAFile_MiniIso = "RecoEgamma/ElectronIdentification/data/Spring15/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_25ns.txt",
                                EAFile_PFIso = "RecoEgamma/ElectronIdentification/data/Summer16/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_80X.txt")
run2_nanoAOD_94X2016.toModify(isoForEle,
                                EAFile_MiniIso = "RecoEgamma/ElectronIdentification/data/Spring15/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_25ns.txt",
                                EAFile_PFIso = "RecoEgamma/ElectronIdentification/data/Summer16/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_80X.txt")
run2_nanoAOD_92X.toModify(isoForEle, src = "slimmedElectronsUpdated")

ptRatioRelForEle = cms.EDProducer("ElectronJetVarProducer",
    srcJet = cms.InputTag("updatedJets"),
    srcLep = cms.InputTag("slimmedElectrons"),
    srcVtx = cms.InputTag("offlineSlimmedPrimaryVertices"),
)
run2_miniAOD_80XLegacy.toModify(ptRatioRelForEle, srcLep = "slimmedElectronsUpdated")
run2_nanoAOD_92X.toModify(ptRatioRelForEle, srcLep = "slimmedElectronsUpdated")

import EgammaAnalysis.ElectronTools.calibratedElectronsRun2_cfi

import RecoEgamma.EgammaTools.calibratedEgammas_cff

calibratedPatElectrons80XLegacy = RecoEgamma.EgammaTools.calibratedEgammas_cff.calibratedPatElectrons.clone(
    produceCalibratedObjs = False,
コード例 #19
0
ファイル: nano_cff.py プロジェクト: tj710/cmssw
    measurementTypesC=cms.vstring("iterativefit", "iterativefit",
                                  "iterativefit"),
    measurementTypesUDSG=cms.vstring("iterativefit", "iterativefit",
                                     "iterativefit"),
    sysTypes=cms.vstring("central", "central", "central"))

run2_miniAOD_80XLegacy.toModify(
    btagWeightTable,
    cut=cms.string(
        "pt > 25. && abs(eta) < 2.4"),  #80X corresponds to 2016, |eta| < 2.4
    weightFiles=cms.vstring(  #80X corresponds to 2016 SFs
        btagSFdir + "CSVv2_Moriond17_B_H.csv", "unavailable",
        btagSFdir + "cMVAv2_Moriond17_B_H.csv"))

run2_nanoAOD_92X.toModify(
    btagWeightTable,  #92X corresponds to MCv1, for which SFs are unavailable
    weightFiles=cms.vstring("unavailable", "unavailable", "unavailable"))

genWeightsTable = cms.EDProducer(
    "GenWeightsTableProducer",
    genEvent=cms.InputTag("generator"),
    lheInfo=cms.InputTag("externalLHEProducer"),
    preferredPDFs=cms.VPSet(  # see https://lhapdf.hepforge.org/pdfsets.html
        cms.PSet(name=cms.string("PDF4LHC15_nnlo_30_pdfas"),
                 lhaid=cms.uint32(91400)),
        cms.PSet(name=cms.string("NNPDF31_nnlo_hessian_pdfas"),
                 lhaid=cms.uint32(306000)),
        cms.PSet(
            name=cms.string("NNPDF30_nlo_as_0118"), lhaid=cms.uint32(260000)
        ),  # for some 92X samples. Note that the nominal weight, 260000, is not included in the LHE ...
        cms.PSet(
コード例 #20
0
ファイル: jets_cff.py プロジェクト: rkarnam/cmssw
#        btagDeepC = Var("bDiscriminator('pfDeepCSVJetTags:probc')",float,doc="CMVA V2 btag discriminator",precision=10),
#puIdDisc = Var("userFloat('pileupJetId:fullDiscriminant')",float,doc="Pilup ID discriminant",precision=10),
#        nConstituents = Var("numberOfDaughters()",int,doc="Number of particles in the jet"),
#        rawFactor = Var("1.-jecFactor('Uncorrected')",float,doc="1 - Factor to get back to raw pT",precision=6),
    )
)
### Era dependent customization
run2_miniAOD_80XLegacy.toModify( fatJetTable.variables.msoftdrop, expr = cms.string("userFloat(\'ak8PFJetsCHSSoftDropMass\')"),)
run2_miniAOD_80XLegacy.toModify( fatJetTable.variables.tau1, expr = cms.string("userFloat(\'ak8PFJetsPuppiValueMap:NjettinessAK8PuppiTau1\')"),)
run2_miniAOD_80XLegacy.toModify( fatJetTable.variables.tau2, expr = cms.string("userFloat(\'ak8PFJetsPuppiValueMap:NjettinessAK8PuppiTau2\')"),)
run2_miniAOD_80XLegacy.toModify( fatJetTable.variables.tau3, expr = cms.string("userFloat(\'ak8PFJetsPuppiValueMap:NjettinessAK8PuppiTau3\')"),)
run2_miniAOD_80XLegacy.toModify( fatJetTable.variables.tau4, expr = cms.string("-1"),)
run2_miniAOD_80XLegacy.toModify( fatJetTable.variables.n2b1, expr = cms.string("-1"),)
run2_miniAOD_80XLegacy.toModify( fatJetTable.variables.n3b1, expr = cms.string("-1"),)

run2_nanoAOD_92X.toModify( fatJetTable.variables.tau4, expr = cms.string("-1"),)
run2_nanoAOD_92X.toModify( fatJetTable.variables.n2b1, expr = cms.string("-1"),)
run2_nanoAOD_92X.toModify( fatJetTable.variables.n3b1, expr = cms.string("-1"),)

subJetTable = cms.EDProducer("SimpleCandidateFlatTableProducer",
    src = cms.InputTag("slimmedJetsAK8PFPuppiSoftDropPacked","SubJets"),
    cut = cms.string(""), #probably already applied in miniaod
    name = cms.string("SubJet"),
    doc  = cms.string("slimmedJetsAK8, i.e. ak8 fat jets for boosted analysis"),
    singleton = cms.bool(False), # the number of entries is variable
    extension = cms.bool(False), # this is the main table for the jets
    variables = cms.PSet(P4Vars,
        btagCMVA = Var("bDiscriminator('pfCombinedMVAV2BJetTags')",float,doc="CMVA V2 btag discriminator",precision=10),
        btagDeepB = Var("bDiscriminator('pfDeepCSVJetTags:probb')",float,doc="CMVA V2 btag discriminator",precision=10),
        btagDeepBB = Var("bDiscriminator('pfDeepCSVJetTags:probbb')",float,doc="CMVA V2 btag discriminator",precision=10),
    )