diff --git a/PhysicsTools/NanoAOD/python/generalTracks_cff.py b/PhysicsTools/NanoAOD/python/generalTracks_cff.py index 506fbc73fbb6e..b3372788de791 100644 --- a/PhysicsTools/NanoAOD/python/generalTracks_cff.py +++ b/PhysicsTools/NanoAOD/python/generalTracks_cff.py @@ -20,6 +20,9 @@ trackOriginalAlgo = Var('originalAlgo()', 'int', precision=-1, doc='Track original algo enum'), qualityMask = Var('qualityMask()', 'int', precision=-1, doc='Quality mask of the track.'), extraIdx = Var('extra().key()', 'int', precision=-1, doc='Index of the TrackExtra in the original collection'), + vx = Var('vx', 'float', precision=-1, doc='Track X position'), + vy = Var('vy', 'float', precision=-1, doc='Track Y position'), + vz = Var('vz', 'float', precision=-1, doc='Track Z position'), ), ) diff --git a/PhysicsTools/NanoAOD/python/muons_cff.py b/PhysicsTools/NanoAOD/python/muons_cff.py index dfa93683724e3..c1cebc59f1f6f 100644 --- a/PhysicsTools/NanoAOD/python/muons_cff.py +++ b/PhysicsTools/NanoAOD/python/muons_cff.py @@ -199,6 +199,9 @@ miniPFRelIso_all = Var("?hasUserFloat('miniIsoAll') ? userFloat('miniIsoAll')/pt : -1",float,doc="mini PF relative isolation, total (with scaled rho*EA PU corrections)"), pfRelIso03_chg = Var("pfIsolationR03().sumChargedHadronPt/pt",float,doc="PF relative isolation dR=0.3, charged component"), pfRelIso03_all = Var("(pfIsolationR03().sumChargedHadronPt + max(pfIsolationR03().sumNeutralHadronEt + pfIsolationR03().sumPhotonEt - pfIsolationR03().sumPUPt/2,0.0))/pt",float,doc="PF relative isolation dR=0.3, total (deltaBeta corrections)"), + pfRelIso04_chg = Var("pfIsolationR04().sumChargedHadronPt/pt",float,doc="PF relative isolation dR=0.4, charged component"), + pfRelIso04_neu = Var("pfIsolationR04().sumNeutralHadronEt/pt",float,doc="PF relative isolation dR=0.4, charged component"), + pfRelIso04_pho = Var("pfIsolationR04().sumPhotonEt/pt",float,doc="PF relative isolation dR=0.4, charged component"), pfRelIso04_all = Var("(pfIsolationR04().sumChargedHadronPt + max(pfIsolationR04().sumNeutralHadronEt + pfIsolationR04().sumPhotonEt - pfIsolationR04().sumPUPt/2,0.0))/pt",float,doc="PF relative isolation dR=0.4, total (deltaBeta corrections)"), jetRelIso = Var("?userCand('jetForLepJetVar').isNonnull()?(1./userFloat('ptRatio'))-1.:(pfIsolationR04().sumChargedHadronPt + max(pfIsolationR04().sumNeutralHadronEt + pfIsolationR04().sumPhotonEt - pfIsolationR04().sumPUPt/2,0.0))/pt",float,doc="Relative isolation in matched jet (1/ptRatio-1, pfRelIso04_all if no matched jet)",precision=8), jetPtRelv2 = Var("?userCand('jetForLepJetVar').isNonnull()?userFloat('ptRel'):0",float,doc="Relative momentum of the lepton with respect to the closest jet after subtracting the lepton",precision=8), @@ -229,6 +232,7 @@ standaloneEta = Var("? standAloneMuon().isNonnull() ? standAloneMuon().eta() : -99", float, doc = "eta of the standalone muon", precision=14), standalonePhi = Var("? standAloneMuon().isNonnull() ? standAloneMuon().phi() : -99", float, doc = "phi of the standalone muon", precision=14), standaloneCharge = Var("? standAloneMuon().isNonnull() ? standAloneMuon().charge() : -99", float, doc = "phi of the standalone muon", precision=14), + standaloneNumberOfValidHits = Var('? standAloneMuon().isNonnull() ? standAloneMuon().numberOfValidHits() : -1', 'int', precision=-1, doc='Number of valid hits in track (standalone chambers)'), innerTrackAlgo = Var('? innerTrack().isNonnull() ? innerTrack().algo() : -99', 'int', precision=-1, doc='Track algo enum, check DataFormats/TrackReco/interface/TrackBase.h for details.'), innerTrackOriginalAlgo = Var('? innerTrack().isNonnull() ? innerTrack().originalAlgo() : -99', 'int', precision=-1, doc='Track original algo enum'), ), diff --git a/PhysicsTools/NanoAOD/python/nanoTP_cff.py b/PhysicsTools/NanoAOD/python/nanoTP_cff.py index 928d8ac3b747d..0f71b757a5eaf 100644 --- a/PhysicsTools/NanoAOD/python/nanoTP_cff.py +++ b/PhysicsTools/NanoAOD/python/nanoTP_cff.py @@ -66,6 +66,9 @@ def customizeNANOTP(process): muonTable.variables = cms.PSet(muonTable.variables, standaloneExtraIdx = Var('? standAloneMuon().isNonnull() ? standAloneMuon().extra().key() : -99', 'int', precision=-1, doc='Index of the innerTrack TrackExtra in the original collection'), innerTrackExtraIdx = Var('? innerTrack().isNonnull() ? innerTrack().extra().key() : -99', 'int', precision=-1, doc='Index of the innerTrack TrackExtra in the original collection'), + vx = Var('vx', 'float', precision=-1, doc='Muon X position'), + vy = Var('vy', 'float', precision=-1, doc='Muon Y position'), + vz = Var('vz', 'float', precision=-1, doc='Muon Z position'), ) muonTable.externalVariables = cms.PSet( isStandAloneUpdatedAtVtx = ExtVar(cms.InputTag("mergedStandAloneMuons:muonUpdatedAtVtx"),bool, doc="is standalone muon track updated at vertex"), diff --git a/PhysicsTools/NanoAOD/python/nano_cff.py b/PhysicsTools/NanoAOD/python/nano_cff.py index 18b2857f5f4c0..13179d954a7f3 100644 --- a/PhysicsTools/NanoAOD/python/nano_cff.py +++ b/PhysicsTools/NanoAOD/python/nano_cff.py @@ -473,6 +473,7 @@ def nanoAOD_customizeMC(process): ###increasing the precision of selected GenParticles. def nanoGenWmassCustomize(process): pdgSelection="?(abs(pdgId) == 11|| abs(pdgId)==13 || abs(pdgId)==15 ||abs(pdgId)== 12 || abs(pdgId)== 14 || abs(pdgId)== 16|| abs(pdgId)== 6|| abs(pdgId)== 24|| pdgId== 23|| pdgId== 25)" + # Keep full precision for selected particles ptPrecision="{}?{}:{}".format(pdgSelection, -1, genParticleTable.variables.pt.precision.value()) process.genParticleTable.variables.pt.precision=cms.string(ptPrecision)