Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NanoAOD updates to use MiniAODV2 information #22728

Merged
merged 27 commits into from Mar 26, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
f04ccd1
added comment that L2L3Residual JEC are safe to use for MC
veelken Feb 7, 2018
6761ec1
Whitelist gen-level W,Z from >10 GeV mass cut
ktht Feb 19, 2018
e5daf9d
Merge pull request #116 from ktht/genWZmassFix
gpetruc Feb 22, 2018
fb8502c
Merge pull request #104 from veelken/nanoAOD
gpetruc Feb 23, 2018
2aa9689
Merge pull request #111 from HEP-KBFI/fixSIGSEGV
arizzi Mar 14, 2018
741aa3c
added photon sc eta EB/EE classification
Mar 17, 2018
fe61d1c
correct eta boundary
Mar 17, 2018
aaff8b6
add new variables to DQM plots
Mar 18, 2018
9b36db1
Merge pull request #123 from AndrewLevin/add_photon_sc_eta_to_nanoaod
gpetruc Mar 19, 2018
dad13dc
Add eras run2_nanoAOD_94XMiniAODv1 and run2_nanoAOD_94XMiniAODv2
gpetruc Mar 20, 2018
cf1b841
Merge pull request #128 from gpetruc/nanoAOD_94X_eras
gpetruc Mar 20, 2018
4a9085a
Merged master from repository cms-nanoAOD with cms-merge-topic
gpetruc Mar 20, 2018
db4a5a7
Merge pull request #131 from cms-nanoAOD/master_to_945cand1
gpetruc Mar 21, 2018
7e3f7a2
Sort GenVisTau collection by their pT in GenVisTauProducer
ktht Mar 20, 2018
6988eb5
Add pfRelIso dR=0.4 calculation with EA to EleIsoValueMapProducer
peruzzim Mar 20, 2018
4b8feac
Switch electrons and muons to Fall17 ID and effective areas
peruzzim Mar 20, 2018
cfe6645
Updated lepton MVA training for 94X Fall17 samples
peruzzim Mar 20, 2018
687419d
Correctly initialize lepton-jet variables for lepton MVA when no jet …
peruzzim Mar 20, 2018
e9617fd
Update DQM content
peruzzim Mar 21, 2018
aebced2
Fix mistake in effective area migration for muons
peruzzim Mar 21, 2018
39d096f
Fix input variables for 80X muon lepton MVA
peruzzim Mar 21, 2018
4e50220
94X backport
knash Mar 19, 2018
38be773
merge with PR 22294
knash Mar 20, 2018
1f0decd
switch 2017 data to 2017 jet ID
gpetruc Mar 21, 2018
bdb186d
move jet era-dependent customizations to jets_cff
gpetruc Mar 21, 2018
6318be0
update DQM
gpetruc Mar 21, 2018
9071477
Merge remote-tracking branch 'official-cmssw/CMSSW_9_4_AN_X' into his…
arizzi Mar 23, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
@@ -0,0 +1,3 @@
import FWCore.ParameterSet.Config as cms

run2_nanoAOD_94XMiniAODv1 = cms.Modifier()
@@ -0,0 +1,3 @@
import FWCore.ParameterSet.Config as cms

run2_nanoAOD_94XMiniAODv2 = cms.Modifier()
2 changes: 1 addition & 1 deletion Configuration/StandardSequences/python/Eras.py
Expand Up @@ -43,7 +43,7 @@ def __init__(self):
'phase2_hgcal', 'phase2_muon', 'phase2_timing',
'phase2_timing_layer','phase2_hcal',
'trackingLowPU', 'trackingPhase1', 'trackingPhase1QuadProp', 'ctpps_2016', 'trackingPhase2PU140',
'tracker_apv_vfp30_2016', 'run2_miniAOD_80XLegacy', 'run2_miniAOD_94XFall17', 'run2_nanoAOD_92X',
'tracker_apv_vfp30_2016', 'run2_miniAOD_80XLegacy', 'run2_miniAOD_94XFall17', 'run2_nanoAOD_92X', 'run2_nanoAOD_94XMiniAODv1', 'run2_nanoAOD_94XMiniAODv2',
'hcalHardcodeConditions', 'hcalSkipPacker']
internalUseModChains = ['run2_2017_noTrackingModifier']

Expand Down
4 changes: 4 additions & 0 deletions PhysicsTools/HepMCCandAlgos/plugins/GenVisTauProducer.cc
Expand Up @@ -11,6 +11,7 @@
#include "PhysicsTools/JetMCUtils/interface/JetMCTag.h"
#include "DataFormats/TauReco/interface/PFTau.h"
#include "DataFormats/Math/interface/deltaR.h"
#include "CommonTools/Utils/interface/PtComparator.h"

#include <vector>
#include <iostream>
Expand All @@ -21,6 +22,7 @@ class GenVisTauProducer : public edm::global::EDProducer<>
GenVisTauProducer(const edm::ParameterSet& params)
: src_(consumes<reco::GenJetCollection>(params.getParameter<edm::InputTag>("src")))
, srcGenParticles_(consumes<reco::GenParticleCollection>(params.getParameter<edm::InputTag>("srcGenParticles")))
, pTComparator_()
{
produces<reco::GenParticleCollection>();
}
Expand Down Expand Up @@ -77,6 +79,7 @@ class GenVisTauProducer : public edm::global::EDProducer<>
genVisTaus->push_back(genVisTau);
}

std::sort(genVisTaus->begin(), genVisTaus->end(), pTComparator_);
evt.put(std::move(genVisTaus));
}

Expand All @@ -91,6 +94,7 @@ class GenVisTauProducer : public edm::global::EDProducer<>
private:
const edm::EDGetTokenT<reco::GenJetCollection> src_;
const edm::EDGetTokenT<reco::GenParticleCollection> srcGenParticles_;
const GreaterByPt<reco::GenParticle> pTComparator_;
};

#include "FWCore/Framework/interface/MakerMacros.h"
Expand Down
10 changes: 9 additions & 1 deletion PhysicsTools/NanoAOD/plugins/IsoValueMapProducer.cc
Expand Up @@ -57,6 +57,7 @@ class IsoValueMapProducer : public edm::global::EDProducer<> {
if ((typeid(T) == typeid(pat::Electron))) {
produces<edm::ValueMap<float>>("PFIsoChg");
produces<edm::ValueMap<float>>("PFIsoAll");
produces<edm::ValueMap<float>>("PFIsoAll04");
ea_pfiso_.reset(new EffectiveAreas((iConfig.getParameter<edm::FileInPath>("EAFile_PFIso")).fullPath()));
rho_pfiso_ = consumes<double>(iConfig.getParameter<edm::InputTag>("rho_PFIso"));
}
Expand Down Expand Up @@ -192,9 +193,10 @@ IsoValueMapProducer<pat::Electron>::doPFIsoEle(edm::Event& iEvent) const{

unsigned int nInput = src->size();

std::vector<float> PFIsoChg, PFIsoAll;
std::vector<float> PFIsoChg, PFIsoAll, PFIsoAll04;
PFIsoChg.reserve(nInput);
PFIsoAll.reserve(nInput);
PFIsoAll04.reserve(nInput);

for (const auto & obj : *src) {
auto iso = obj.pfIsolationVariables();
Expand All @@ -205,6 +207,7 @@ IsoValueMapProducer<pat::Electron>::doPFIsoEle(edm::Event& iEvent) const{
float scale = relative_ ? 1.0/obj.pt() : 1;
PFIsoChg.push_back(scale*chg);
PFIsoAll.push_back(scale*(chg+std::max(0.0,neu+pho-(*rho)*ea)));
PFIsoAll04.push_back(scale*(obj.chargedHadronIso()+std::max(0.0,obj.neutralHadronIso()+obj.photonIso()-(*rho)*ea*16./9.)));
}

std::unique_ptr<edm::ValueMap<float>> PFIsoChgV(new edm::ValueMap<float>());
Expand All @@ -215,9 +218,14 @@ IsoValueMapProducer<pat::Electron>::doPFIsoEle(edm::Event& iEvent) const{
edm::ValueMap<float>::Filler fillerAll(*PFIsoAllV);
fillerAll.insert(src,PFIsoAll.begin(),PFIsoAll.end());
fillerAll.fill();
std::unique_ptr<edm::ValueMap<float>> PFIsoAll04V(new edm::ValueMap<float>());
edm::ValueMap<float>::Filler fillerAll04(*PFIsoAll04V);
fillerAll04.insert(src,PFIsoAll04.begin(),PFIsoAll04.end());
fillerAll04.fill();

iEvent.put(std::move(PFIsoChgV),"PFIsoChg");
iEvent.put(std::move(PFIsoAllV),"PFIsoAll");
iEvent.put(std::move(PFIsoAll04V),"PFIsoAll04");

}

Expand Down
148 changes: 107 additions & 41 deletions PhysicsTools/NanoAOD/python/electrons_cff.py

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion PhysicsTools/NanoAOD/python/genparticles_cff.py
Expand Up @@ -41,7 +41,7 @@
pt = Var("pt", float,precision=8),
phi = Var("phi", float,precision=8),
eta = Var("eta", float,precision=8),
mass = Var("?mass>10 || (pdgId==22 && mass > 1)?mass:0", float,precision=8,doc="Mass stored for all particles with mass > 10 GeV and photons with mass > 1 GeV. For other particles you can lookup from PDGID"),
mass = Var("?mass>10 || (pdgId==22 && mass > 1) || abs(pdgId)==24 || pdgId==23?mass:0", float,precision=8,doc="Mass stored for all particles with mass > 10 GeV and photons with mass > 1 GeV. For other particles you can lookup from PDGID"),
pdgId = Var("pdgId", int, doc="PDG id"),
status = Var("status", int, doc="Particle status. 1=stable"),
genPartIdxMother = Var("?numberOfMothers>0?motherRef(0).key():-1", int, doc="index of the mother particle"),
Expand Down
63 changes: 54 additions & 9 deletions PhysicsTools/NanoAOD/python/jets_cff.py
Expand Up @@ -24,11 +24,21 @@
)
tightJetId = cms.EDProducer("PatJetIDValueMapProducer",
filterParams=cms.PSet(
version = cms.string('WINTER16'),
version = cms.string('WINTER17'),
quality = cms.string('TIGHT'),
),
src = cms.InputTag("slimmedJets")
)
run2_miniAOD_80XLegacy.toModify( tightJetId.filterParams, version = "WINTER16" )

tightJetIdLepVeto = cms.EDProducer("PatJetIDValueMapProducer",
filterParams=cms.PSet(
version = cms.string('WINTER17'),
quality = cms.string('TIGHTLEPVETO'),
),
src = cms.InputTag("slimmedJets")
)

looseJetIdAK8 = cms.EDProducer("PatJetIDValueMapProducer",
filterParams=cms.PSet(
version = cms.string('WINTER16'),
Expand All @@ -38,33 +48,50 @@
)
tightJetIdAK8 = cms.EDProducer("PatJetIDValueMapProducer",
filterParams=cms.PSet(
version = cms.string('WINTER16'),
version = cms.string('WINTER17'),
quality = cms.string('TIGHT'),
),
src = cms.InputTag("slimmedJetsAK8")
)
run2_miniAOD_80XLegacy.toModify( tightJetIdAK8.filterParams, version = "WINTER16" )

tightJetIdLepVetoAK8 = cms.EDProducer("PatJetIDValueMapProducer",
filterParams=cms.PSet(
version = cms.string('WINTER17'),
quality = cms.string('TIGHTLEPVETO'),
),
src = cms.InputTag("slimmedJetsAK8")
)

slimmedJetsWithUserData = cms.EDProducer("PATJetUserDataEmbedder",
src = cms.InputTag("slimmedJets"),
userFloats = cms.PSet(),
userInts = cms.PSet(
tightId = cms.InputTag("tightJetId"),
looseId = cms.InputTag("looseJetId"),
tightIdLepVeto = cms.InputTag("tightJetIdLepVeto"),
),
)
run2_miniAOD_80XLegacy.toModify( slimmedJetsWithUserData.userInts,
looseId = cms.InputTag("looseJetId"),
tightIdLepVeto = None,
)

slimmedJetsAK8WithUserData = cms.EDProducer("PATJetUserDataEmbedder",
src = cms.InputTag("slimmedJetsAK8"),
userFloats = cms.PSet(),
userInts = cms.PSet(
tightId = cms.InputTag("tightJetIdAK8"),
looseId = cms.InputTag("looseJetIdAK8"),
tightIdLepVeto = cms.InputTag("tightJetIdLepVetoAK8"),
),
)

run2_miniAOD_80XLegacy.toModify( slimmedJetsAK8WithUserData.userInts,
looseId = cms.InputTag("looseJetIdAK8"),
tightIdLepVeto = None,
)

from PhysicsTools.PatAlgos.recoLayer0.jetCorrFactors_cfi import *
# Note: Safe to always add 'L2L3Residual' as MC contains dummy L2L3Residual corrections (always set to 1)
# (cf. https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookJetEnergyCorrections#CMSSW_7_6_4_and_above )
jetCorrFactors = patJetCorrFactors.clone(src='slimmedJetsWithUserData',
levels = cms.vstring('L1FastJet',
'L2Relative',
Expand Down Expand Up @@ -133,7 +160,7 @@
btagDeepC = Var("bDiscriminator('pfDeepCSVJetTags:probc')",float,doc="DeepCSV charm btag discriminator",precision=10),
#puIdDisc = Var("userFloat('pileupJetId:fullDiscriminant')",float,doc="Pilup ID discriminant",precision=10),
puId = Var("userInt('pileupJetId:fullId')",int,doc="Pilup ID flags"),
jetId = Var("userInt('tightId')*2+userInt('looseId')",int,doc="Jet ID flags bit1 is loose, bit2 is tight"),
jetId = Var("userInt('tightId')*2+4*userInt('tightIdLepVeto')",int,doc="Jet ID flags bit1 is loose (always false in 2017 since it does not exist), bit2 is tight, bit3 is tightLepVeto"),
qgl = Var("userFloat('QGTagger:qgLikelihood')",float,doc="Quark vs Gluon likelihood discriminator",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),
Expand All @@ -143,12 +170,14 @@
neEmEF = Var("neutralEmEnergyFraction()", float, doc="neutral Electromagnetic Energy Fraction", precision= 6)
)
)

#jets are not as precise as muons
jetTable.variables.pt.precision=10

### Era dependent customization
run2_miniAOD_80XLegacy.toModify( slimmedJetsWithUserData, userFloats=cms.PSet(qgl=cms.InputTag('qgtagger80x:qgLikelihood')))
run2_miniAOD_80XLegacy.toModify( jetTable.variables.qgl, expr="userFloat('qgl')" )
run2_miniAOD_80XLegacy.toModify( jetTable.variables, jetId = Var("userInt('tightId')*2+userInt('looseId')",int,doc="Jet ID flags bit1 is loose, bit2 is tight"))

bjetMVA= cms.EDProducer("BJetEnergyRegressionMVA",
src = cms.InputTag("linkedObjects","jets"),
Expand Down Expand Up @@ -213,7 +242,7 @@
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,
jetId = Var("userInt('tightId')*2+userInt('looseId')",int,doc="Jet ID flags bit1 is loose, bit2 is tight"),
jetId = Var("userInt('tightId')*2+4*userInt('tightIdLepVeto')",int,doc="Jet ID flags bit1 is loose (always false in 2017 since it does not exist), bit2 is tight, bit3 is tightLepVeto"),
area = Var("jetArea()", float, doc="jet catchment area, for JECs",precision=10),
tau1 = Var("userFloat('NjettinessAK8Puppi:tau1')",float, doc="Nsubjettiness (1 axis)",precision=10),
tau2 = Var("userFloat('NjettinessAK8Puppi:tau2')",float, doc="Nsubjettiness (2 axis)",precision=10),
Expand Down Expand Up @@ -245,6 +274,7 @@
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_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"),)
Expand Down Expand Up @@ -382,14 +412,29 @@
)
### Era dependent customization
run2_miniAOD_80XLegacy.toModify( genJetFlavourTable, jetFlavourInfos = cms.InputTag("genJetFlavourAssociation"),)

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

#before cross linking
jetSequence = cms.Sequence(looseJetId+tightJetId+slimmedJetsWithUserData+jetCorrFactors+updatedJets+looseJetIdAK8+tightJetIdAK8+slimmedJetsAK8WithUserData+jetCorrFactorsAK8+updatedJetsAK8+chsForSATkJets+softActivityJets+softActivityJets2+softActivityJets5+softActivityJets10+finalJets+finalJetsAK8)
jetSequence = cms.Sequence(tightJetId+tightJetIdLepVeto+slimmedJetsWithUserData+jetCorrFactors+updatedJets+tightJetIdAK8+tightJetIdLepVetoAK8+slimmedJetsAK8WithUserData+jetCorrFactorsAK8+updatedJetsAK8+chsForSATkJets+softActivityJets+softActivityJets2+softActivityJets5+softActivityJets10+finalJets+finalJetsAK8)

from RecoJets.JetProducers.QGTagger_cfi import QGTagger
qgtagger80x=QGTagger.clone(srcJets="slimmedJets",srcVertexCollection="offlineSlimmedPrimaryVertices")

_jetSequence_80X = jetSequence.copy()
_jetSequence_80X.replace(tightJetIdLepVeto, looseJetId)
_jetSequence_80X.replace(tightJetIdLepVetoAK8, looseJetIdAK8)
_jetSequence_80X.insert(1,qgtagger80x)
run2_miniAOD_80XLegacy.toReplaceWith(jetSequence, _jetSequence_80X)

#after cross linkining
jetTables = cms.Sequence(bjetMVA+ jetTable+fatJetTable+subJetTable+saJetTable+saTable)

#MC only producers and tables
jetMC = cms.Sequence(jetMCTable+genJetTable+patJetPartons+genJetFlavourTable+genJetAK8Table+genJetAK8FlavourAssociation+genJetAK8FlavourTable+genSubJetAK8Table)
_jetMC_pre94X = jetMC.copy()
_jetMC_pre94X.insert(_jetMC_pre94X.index(genJetFlavourTable),genJetFlavourAssociation)
_jetMC_pre94X.remove(genSubJetAK8Table)
run2_miniAOD_80XLegacy.toReplaceWith(jetMC, _jetMC_pre94X)
run2_nanoAOD_92X.toReplaceWith(jetMC, _jetMC_pre94X)


23 changes: 15 additions & 8 deletions PhysicsTools/NanoAOD/python/muons_cff.py
Expand Up @@ -20,9 +20,9 @@
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"),
EAFile_MiniIso = cms.FileInPath("PhysicsTools/NanoAOD/data/effAreaMuons_cone03_pfNeuHadronsAndPhotons_94X.txt"),
)
run2_miniAOD_80XLegacy.toModify(isoForMu, src = "slimmedMuonsUpdated")
run2_miniAOD_80XLegacy.toModify(isoForMu, src = "slimmedMuonsUpdated", EAFile_MiniIso = "PhysicsTools/NanoAOD/data/effAreaMuons_cone03_pfNeuHadronsAndPhotons_80X.txt")
run2_nanoAOD_92X.toModify(isoForMu, src = "slimmedMuonsUpdated")

ptRatioRelForMu = cms.EDProducer("MuonJetVarProducer",
Expand Down Expand Up @@ -56,25 +56,32 @@

muonMVATTH= cms.EDProducer("MuonBaseMVAValueMapProducer",
src = cms.InputTag("linkedObjects","muons"),
weightFile = cms.FileInPath("PhysicsTools/NanoAOD/data/mu_BDTG.weights.xml"),
weightFile = cms.FileInPath("PhysicsTools/NanoAOD/data/mu_BDTG_94X.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"]),
variablesOrder = cms.vstring(["LepGood_pt","LepGood_eta","LepGood_jetNDauChargedMVASel","LepGood_miniRelIsoCharged","LepGood_miniRelIsoNeutral","LepGood_jetPtRelv2","LepGood_jetBTagCSV","LepGood_jetPtRatio","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_jetNDauChargedMVASel = cms.string("?userCand('jetForLepJetVar').isNonnull()?userFloat('jetNDauChargedMVASel'):0"),
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)"),
LepGood_jetBTagCSV = cms.string("?userCand('jetForLepJetVar').isNonnull()?max(userCand('jetForLepJetVar').bDiscriminator('pfCombinedInclusiveSecondaryVertexV2BJetTags'),0.0):-99.0"),
LepGood_jetPtRelv2 = cms.string("?userCand('jetForLepJetVar').isNonnull()?userFloat('ptRel'):0"),
LepGood_jetPtRatio = cms.string("?userCand('jetForLepJetVar').isNonnull()?min(userFloat('ptRatio'),1.5):1.0/(1.0+(pfIsolationR04().sumChargedHadronPt + max(pfIsolationR04().sumNeutralHadronEt + pfIsolationR04().sumPhotonEt - pfIsolationR04().sumPUPt/2,0.0))/pt)"),
LepGood_jetBTagCSV = cms.string("?userCand('jetForLepJetVar').isNonnull()?max(userCand('jetForLepJetVar').bDiscriminator('pfCombinedInclusiveSecondaryVertexV2BJetTags'),0.0):0.0"),
LepGood_sip3d = cms.string("abs(dB('PV3D')/edB('PV3D'))"),
LepGood_dxy = cms.string("log(abs(dB('PV2D')))"),
LepGood_dz = cms.string("log(abs(dB('PVDZ')))"),
LepGood_segmentCompatibility = cms.string("segmentCompatibility"),
)
)
run2_miniAOD_80XLegacy.toModify(muonMVATTH.variables,
LepGood_jetPtRatio = cms.string("?userCand('jetForLepJetVar').isNonnull()?min(userFloat('ptRatio'),1.5):1"),
)
run2_miniAOD_80XLegacy.toModify(muonMVATTH,
weightFile = "PhysicsTools/NanoAOD/data/mu_BDTG.weights.xml",
variablesOrder = ["LepGood_pt","LepGood_eta","LepGood_jetNDauChargedMVASel","LepGood_miniRelIsoCharged","LepGood_miniRelIsoNeutral","LepGood_jetPtRelv2","LepGood_jetPtRatio","LepGood_jetBTagCSV","LepGood_sip3d","LepGood_dxy","LepGood_dz","LepGood_segmentCompatibility"],
)

muonTable = cms.EDProducer("SimpleCandidateFlatTableProducer",
src = cms.InputTag("linkedObjects","muons"),
Expand Down