Skip to content

Commit 458df74

Browse files
elenavernazzammusich
authored andcommitted
Correct and integrate FlatTableProducer for PF candidates and jets
1 parent d4af803 commit 458df74

File tree

2 files changed

+29
-33
lines changed

2 files changed

+29
-33
lines changed
Lines changed: 21 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,47 @@
11
import FWCore.ParameterSet.Config as cms
22
from PhysicsTools.NanoAOD.common_cff import *
33

4-
hltPFCandidateTable = cms.EDProducer("SimpleCandidateFlatTableProducer",
4+
hltPFCandidateTable = cms.EDProducer("SimplePFCandidateFlatTableProducer",
55
src = cms.InputTag("hltParticleFlowTmp"),
66
name = cms.string("hltPFCandidate"),
77
cut = cms.string(""),
88
doc = cms.string("HLT PF information"),
99
singleton = cms.bool(False),
10-
extension = cms.bool(False), # this is the main table
11-
# externalVariables = cms.PSet(
12-
# vertexIndex = ExtVar(cms.InputTag("hltParticleFlowTmp", "vertexIndex"), int, doc="vertex index"),
13-
# trkNormchi2 = ExtVar(cms.InputTag("hltParticleFlowTmp", "normchi2"), float, doc="normalized chi squared of best track", precision=6),
14-
# trkDz = ExtVar(cms.InputTag("hltParticleFlowTmp", "dz"), float, doc="dz of best track", precision=6),
15-
# # trkDxy = ExtVar(cms.InputTag("hltParticleFlowTmp", "dxy"), float, doc="dxy of best track", precision=6),
16-
# trkDzsig = ExtVar(cms.InputTag("hltParticleFlowTmp", "dzsig"), float, doc="dzsig of best track", precision=6),
17-
# trkDxysig = ExtVar(cms.InputTag("hltParticleFlowTmp", "dxysig"), float, doc="dxysig of best track", precision=6),
18-
# trkLostInnerHits = ExtVar(cms.InputTag("hltParticleFlowTmp", "lostInnerHits"), int, doc="lostInnerHits of best track"),
19-
# trkQuality = ExtVar(cms.InputTag("hltParticleFlowTmp", "quality"), int, doc="quality of best track"),
20-
# trkPt = ExtVar(cms.InputTag("hltParticleFlowTmp", "trkPt"), float, doc="pt of best track", precision=6),
21-
# trkEta = ExtVar(cms.InputTag("hltParticleFlowTmp", "trkEta"), float, doc="eta of best track", precision=6),
22-
# trkPhi = ExtVar(cms.InputTag("hltParticleFlowTmp", "trkPhi"), float, doc="phi of best track", precision=6),
23-
# ),
10+
extension = cms.bool(False),
2411
variables = cms.PSet(
2512
CandVars,
13+
trackIndex = Var("trackRef().key()", "uint8", doc="track index")
2614
),
2715
)
2816

29-
hltJetTable = cms.EDProducer("SimpleCandidateFlatTableProducer",
17+
hltJetTable = cms.EDProducer("SimplePFJetFlatTableProducer",
3018
src = cms.InputTag("hltAK4PFPuppiJets"),
3119
name = cms.string("hltAK4PuppiJet"),
3220
cut = cms.string(""),
3321
doc = cms.string("HLT PUPPI jets information"),
3422
singleton = cms.bool(False),
35-
extension = cms.bool(False), # this is the main table
23+
extension = cms.bool(False),
3624
externalVariables = cms.PSet(
3725
DeepFlavour_prob_b = ExtVar(cms.InputTag("hltPfDeepFlavourJetTags:probb"), float, doc="DeepFlavour probability of b", precision=10),
38-
DeepFalvour_prob_bb = ExtVar(cms.InputTag('hltPfDeepFlavourJetTags:probbb'), float, doc="ParticleNet probability of bb", precision=10),
39-
DeepFalvour_prob_c = ExtVar(cms.InputTag('hltPfDeepFlavourJetTags:probc'), float, doc="ParticleNet probability of c", precision=10),
40-
DeepFalvour_prob_uds = ExtVar(cms.InputTag('hltPfDeepFlavourJetTags:probuds'), float, doc="particlenet probability of uds", precision=10),
41-
DeepFalvour_prob_g = ExtVar(cms.InputTag('hltPfDeepFlavourJetTags:probg'), float, doc="ParticleNet probability of g", precision=10),
42-
DeepFalvour_prob_lepb = ExtVar(cms.InputTag('hltPfDeepFlavourJetTags:problepb'), float, doc="ParticleNet probability of lepb", precision=10),
26+
DeepFalvour_prob_bb = ExtVar(cms.InputTag('hltPfDeepFlavourJetTags:probbb'), float, doc="DeepFlavour probability of bb", precision=10),
27+
DeepFalvour_prob_c = ExtVar(cms.InputTag('hltPfDeepFlavourJetTags:probc'), float, doc="DeepFlavour probability of c", precision=10),
28+
DeepFalvour_prob_uds = ExtVar(cms.InputTag('hltPfDeepFlavourJetTags:probuds'), float, doc="DeepFlavour probability of uds", precision=10),
29+
DeepFalvour_prob_g = ExtVar(cms.InputTag('hltPfDeepFlavourJetTags:probg'), float, doc="DeepFlavour probability of g", precision=10),
30+
DeepFalvour_prob_lepb = ExtVar(cms.InputTag('hltPfDeepFlavourJetTags:problepb'), float, doc="DeepFlavour probability of lepb", precision=10),
4331
),
4432
variables = cms.PSet(
4533
P4Vars,
46-
# area = Var("jetArea()", float, doc="jet catchment area, for JECs",precision=10),
47-
# chHEF = Var("chargedHadronEnergy()/(chargedHadronEnergy()+neutralHadronEnergy()+photonEnergy()+electronEnergy()+muonEnergy())", float, doc="charged Hadron Energy Fraction", precision= 6),
48-
# neHEF = Var("neutralHadronEnergy()/(chargedHadronEnergy()+neutralHadronEnergy()+photonEnergy()+electronEnergy()+muonEnergy())", float, doc="neutral Hadron Energy Fraction", precision= 6),
49-
# chEmEF = Var("(electronEnergy()+muonEnergy())/(chargedHadronEnergy()+neutralHadronEnergy()+photonEnergy()+electronEnergy()+muonEnergy())", float, doc="charged Electromagnetic Energy Fraction", precision= 6),
50-
# neEmEF = Var("(photonEnergy())/(chargedHadronEnergy()+neutralHadronEnergy()+photonEnergy()+electronEnergy()+muonEnergy())", float, doc="neutral Electromagnetic Energy Fraction", precision= 6),
51-
# muEF = Var("(muonEnergy())/(chargedHadronEnergy()+neutralHadronEnergy()+photonEnergy()+electronEnergy()+muonEnergy())", float, doc="muon Energy Fraction", precision= 6),
52-
# nCh = Var("chargedHadronMultiplicity()", int, doc="number of charged hadrons in the jet"),
53-
# nNh = Var("neutralHadronMultiplicity()", int, doc="number of neutral hadrons in the jet"),
54-
# nMuons = Var("muonMultiplicity()", int, doc="number of muons in the jet"),
55-
# nElectrons = Var("electronMultiplicity()", int, doc="number of electrons in the jet"),
56-
# nPhotons = Var("photonMultiplicity()", int, doc="number of photons in the jet"),
34+
area = Var("jetArea()", float, doc="jet catchment area, for JECs",precision=10),
35+
chHEF = Var("chargedHadronEnergy()/(chargedHadronEnergy()+neutralHadronEnergy()+photonEnergy()+electronEnergy()+muonEnergy())", float, doc="charged Hadron Energy Fraction", precision= 6),
36+
neHEF = Var("neutralHadronEnergy()/(chargedHadronEnergy()+neutralHadronEnergy()+photonEnergy()+electronEnergy()+muonEnergy())", float, doc="neutral Hadron Energy Fraction", precision= 6),
37+
chEmEF = Var("(electronEnergy()+muonEnergy())/(chargedHadronEnergy()+neutralHadronEnergy()+photonEnergy()+electronEnergy()+muonEnergy())", float, doc="charged Electromagnetic Energy Fraction", precision= 6),
38+
neEmEF = Var("(photonEnergy())/(chargedHadronEnergy()+neutralHadronEnergy()+photonEnergy()+electronEnergy()+muonEnergy())", float, doc="neutral Electromagnetic Energy Fraction", precision= 6),
39+
muEF = Var("(muonEnergy())/(chargedHadronEnergy()+neutralHadronEnergy()+photonEnergy()+electronEnergy()+muonEnergy())", float, doc="muon Energy Fraction", precision= 6),
40+
nCh = Var("chargedHadronMultiplicity()", int, doc="number of charged hadrons in the jet"),
41+
nNh = Var("neutralHadronMultiplicity()", int, doc="number of neutral hadrons in the jet"),
42+
nMuons = Var("muonMultiplicity()", int, doc="number of muons in the jet"),
43+
nElectrons = Var("electronMultiplicity()", int, doc="number of electrons in the jet"),
44+
nPhotons = Var("photonMultiplicity()", int, doc="number of photons in the jet"),
5745
nConstituents = Var("numberOfDaughters()", "uint8", doc="number of particles in the jet")
5846
),
5947
)

PhysicsTools/NanoAOD/plugins/SimpleFlatTableProducerPlugins.cc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22
#include "PhysicsTools/NanoAOD/interface/SimpleFlatTableProducer.h"
33
typedef SimpleFlatTableProducer<reco::Candidate> SimpleCandidateFlatTableProducer;
44

5+
#include "DataFormats/ParticleFlowCandidate/interface/PFCandidate.h"
6+
typedef SimpleFlatTableProducer<reco::PFCandidate> SimplePFCandidateFlatTableProducer;
7+
8+
#include "DataFormats/TauReco/interface/PFTau.h"
9+
typedef SimpleFlatTableProducer<reco::PFTau> SimplePFTauCandidateFlatTableProducer;
10+
511
typedef SimpleCollectionFlatTableProducer<reco::Candidate> SimpleCandidateCollectionFlatTableProducer;
612

713
#include "DataFormats/TrackReco/interface/Track.h"
@@ -69,6 +75,8 @@ typedef SimpleFlatTableProducer<pat::CompositeCandidate> SimpleCompositeCandidat
6975

7076
#include "FWCore/Framework/interface/MakerMacros.h"
7177
DEFINE_FWK_MODULE(SimpleCandidateFlatTableProducer);
78+
DEFINE_FWK_MODULE(SimplePFCandidateFlatTableProducer);
79+
DEFINE_FWK_MODULE(SimplePFTauCandidateFlatTableProducer);
7280
DEFINE_FWK_MODULE(SimpleCandidateCollectionFlatTableProducer);
7381
DEFINE_FWK_MODULE(SimpleTrackFlatTableProducer);
7482
DEFINE_FWK_MODULE(SimpleSuperclusterFlatTableProducer);

0 commit comments

Comments
 (0)