Skip to content

Commit 4dc40dd

Browse files
committed
Add hltHpsPFTau table to Phase2 HLTnano
1 parent 9fcde00 commit 4dc40dd

File tree

2 files changed

+56
-0
lines changed

2 files changed

+56
-0
lines changed

HLTrigger/NGTScouting/python/HLTNanoProducer_cff.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from HLTrigger.NGTScouting.hltMuons_cfi import *
1212
from HLTrigger.NGTScouting.hltTracks_cfi import *
1313
from HLTrigger.NGTScouting.hltJets_cfi import *
14+
from HLTrigger.NGTScouting.hltTaus_cfi import *
1415
from HLTrigger.NGTScouting.hltTriggerAcceptFilter_cfi import hltTriggerAcceptFilter,dstTriggerAcceptFilter
1516

1617
hltNanoProducer = cms.Sequence(
@@ -28,6 +29,7 @@
2829
+ hltMuonTable
2930
+ hltPFCandidateTable
3031
+ hltJetTable
32+
+ hltTauTable
3133
)
3234

3335
dstNanoProducer = cms.Sequence(
@@ -45,6 +47,7 @@
4547
+ hltMuonTable
4648
+ hltPFCandidateTable
4749
+ hltJetTable
50+
+ hltTauTable
4851
)
4952

5053
def hltNanoCustomize(process):
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import FWCore.ParameterSet.Config as cms
2+
from PhysicsTools.NanoAOD.common_cff import *
3+
4+
hltTauTable = cms.EDProducer("SimplePFTauCandidateFlatTableProducer",
5+
src = cms.InputTag("hltHpsPFTauProducer"),
6+
name = cms.string("hltHpsPFTau"),
7+
cut = cms.string(""),
8+
doc = cms.string("HLT HPS Taus information"),
9+
singleton = cms.bool(False),
10+
extension = cms.bool(False),
11+
variables = cms.PSet(
12+
P4Vars,
13+
# taken from https://github.com/cms-sw/cmssw/blob/master/PhysicsTools/NanoAOD/python/taus_cff.py#L61
14+
leadTkPtOverTauPt = Var("?leadChargedHadrCand.isNonnull()?leadChargedHadrCand.pt/pt:1",float, doc="pt of the leading track divided by tau pt",precision=10),
15+
leadTkDeltaEta = Var("?leadChargedHadrCand.isNonnull()?(leadChargedHadrCand.eta - eta):0",float, doc="eta of the leading track, minus tau eta",precision=8),
16+
leadTkDeltaPhi = Var("?leadChargedHadrCand.isNonnull()?deltaPhi(leadChargedHadrCand.phi, phi):0",float, doc="phi of the leading track, minus tau phi",precision=8),
17+
# taken from https://github.com/cms-tau-pog/TauMLTools/blob/00bd9416f3198d7aa19ff9799037c14f2fa14514/Production/python/customiseHLT.py#L88
18+
charge = Var("charge", int, doc="electric charge"),
19+
vx = Var("vx", float, doc='x coordinate of vertex position'),
20+
vy = Var("vy", float, doc='y coordinate of vertex position'),
21+
vz = Var("vz", float, doc='z coordinate of vertex position'),
22+
pdgId = Var("pdgId", int, doc='PDG identifier'),
23+
dz = Var("? leadPFCand.trackRef.isNonnull && leadPFCand.trackRef.isAvailable ? leadPFCand.trackRef.dz : -999 ", float, doc='lead PF Candidate dz'),
24+
dzError = Var("? leadPFCand.trackRef.isNonnull && leadPFCand.trackRef.isAvailable ? leadPFCand.trackRef.dzError : -999 ", float, doc='lead PF Candidate dz Error'),
25+
decayMode = Var("decayMode", int, doc='tau decay mode'),
26+
# # source: DataFormats/TauReco/interface/PFTau.h
27+
# ## variables available in PF tau
28+
emFraction = Var("emFraction", float, doc = " Ecal/Hcal Cluster Energy"),
29+
hcalTotOverPLead = Var("hcalTotOverPLead", float, doc = " total Hcal Cluster E / leadPFChargedHadron P"),
30+
signalConeSize = Var("signalConeSize", float, doc = "Size of signal cone"),
31+
# variables available in PF jets
32+
jetIsValid = Var("jetRef.isNonnull && jetRef.isAvailable", bool, doc = "jet is valid"),
33+
# source: DataFormats/JetReco/interface/PFJet.h
34+
## FIXME below does not work - members not found
35+
# chargedHadronEnergy = Var("? jetRef.isNonnull && jetRef.isAvailable ? jetRef.chargedHadronEnergy : -999.", float, doc = "chargedHadronEnergy"),
36+
# neutralHadronEnergy = Var("? jetRef.isNonnull && jetRef.isAvailable ? jetRef.neutralHadronEnergy : -999.", float, doc = "neutralHadronEnergy"),
37+
# photonEnergy = Var("? jetRef.isNonnull && jetRef.isAvailable ? jetRef.photonEnergy : -999.", float, doc = "photonEnergy"),
38+
# muonEnergy = Var("? jetRef.isNonnull && jetRef.isAvailable ? jetRef.muonEnergy : -999.", float, doc = "muonEnergy"),
39+
# chargedHadronMultiplicity = Var("? jetRef.isNonnull && jetRef.isAvailable ? jetRef.chargedHadronMultiplicity : -999.", float, doc = "chargedHadronMultiplicity"),
40+
# neutralHadronMultiplicity = Var("? jetRef.isNonnull && jetRef.isAvailable ? jetRef.neutralHadronMultiplicity : -999.", float, doc = "neutralHadronMultiplicity"),
41+
# photonMultiplicity = Var("? jetRef.isNonnull && jetRef.isAvailable ? jetRef.photonMultiplicity : -999.", float, doc = "photonMultiplicity"),
42+
# muonMultiplicity = Var("? jetRef.isNonnull && jetRef.isAvailable ? jetRef.muonMultiplicity : -999.", float, doc = "muonMultiplicity"),
43+
# chargedMuEnergy = Var("? jetRef.isNonnull && jetRef.isAvailable ? jetRef.chargedMuEnergy : -999.", float, doc = "chargedMuEnergy"),
44+
# neutralEmEnergy = Var("? jetRef.isNonnull && jetRef.isAvailable ? jetRef.neutralEmEnergy : -999.", float, doc = "neutralEmEnergy"),
45+
# chargedMultiplicity = Var("? jetRef.isNonnull && jetRef.isAvailable ? jetRef.chargedMultiplicity : -999.", float, doc = "chargedMultiplicity"),
46+
# neutralMultiplicity = Var("? jetRef.isNonnull && jetRef.isAvailable ? jetRef.neutralMultiplicity : -999.", float, doc = "neutralMultiplicity"),
47+
),
48+
externalVariables = cms.PSet(
49+
## FIXME does not work despite DiMediumTau path using this!
50+
## https://github.com/cms-sw/cmssw/blob/48e0354ea37072eeacc8237a4a79e7ad34b9b0ae/HLTrigger/Configuration/python/HLT_75e33/modules/hltHpsSelectedPFTausMediumDitauWPDeepTau_cfi.py#L6
51+
deepTauVSjet = ExtVar(cms.InputTag("hltHpsPFTauDeepTauProducer","VSjet"), float, doc="deeptau VSjet", precision=10),
52+
),
53+
)

0 commit comments

Comments
 (0)