Skip to content

Commit be117c2

Browse files
committed
Update KTau
The decayMode and emFraction is now in KBasicTau. A lot of redundant content was removed.
1 parent feb768d commit be117c2

File tree

2 files changed

+19
-41
lines changed

2 files changed

+19
-41
lines changed

DataFormats/interface/KTau.h

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -52,27 +52,23 @@ struct KBasicTau : public KLepton
5252
typedef std::vector<KBasicTau> KBasicTaus;
5353

5454

55+
/// Kappa Tau data format
56+
/** copy from DataFormats/TauReco/interface/PFTau.h */
5557
struct KTau : public KBasicTau
5658
{
57-
float emFraction;
59+
/// four-vectors and full PFCandidates
60+
KLVs piZeroCandidates;
61+
KPFCandidates chargedHadronCandidates;
62+
KPFCandidates gammaCandidates;
5863

59-
int nSignalChargedHadrCands, nSignalGammaCands, nSignalPiZeroCands, nSignalCands;
60-
int nSignalTracks;
61-
62-
KLV leadCand;
63-
KLV leadChargedHadrCand;
64-
KLV leadNeutralCand;
65-
66-
KPFCandidates signalChargedHadrCands;
67-
KPFCandidates signalGammaCands;
68-
KLVs signalPiZeroCands;
69-
70-
KTrack track;
71-
72-
//bool longLived
73-
int hpsDecayMode; // hadronic decay mode as identified by HPS algorithm
7464
int tauKey;
65+
66+
inline int nCandidates()
67+
{
68+
return chargedHadronCandidates.size() + gammaCandidates.size();
69+
}
7570
};
7671
typedef std::vector<KTau> KTaus;
7772

73+
7874
#endif

Producers/interface/KTauProducer.h

Lines changed: 7 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -40,56 +40,38 @@ class KTauProducer : public KBasicTauProducer<reco::PFTau, reco::PFTauDiscrimina
4040
{
4141
return className == "reco::PFTauDiscriminator";
4242
}
43+
4344
virtual void fillSingle(const SingleInputType &in, SingleOutputType &out)
4445
{
4546
// Fill fields of KBasicTau via base class
4647
KBasicTauProducer<reco::PFTau, reco::PFTauDiscriminator, KTaus>::fillSingle(in, out);
4748

4849
// Fill additional fields from KTau
4950
out.tauKey = createRecoPFTauHash(in);
50-
out.emFraction = in.emFraction();
51-
out.nSignalChargedHadrCands = in.signalPFChargedHadrCands().size();
52-
out.nSignalGammaCands = in.signalPFGammaCands().size();
53-
out.nSignalPiZeroCands = in.signalPiZeroCandidates().size();
54-
out.nSignalCands = in.signalPFCands().size();
55-
out.hpsDecayMode = in.decayMode();
56-
57-
if(in.leadPFCand().isNonnull())
58-
copyP4(in.leadPFCand()->p4(), out.leadCand.p4);
59-
if(in.leadPFChargedHadrCand().isNonnull()){
60-
copyP4(in.leadPFChargedHadrCand()->p4(), out.leadChargedHadrCand.p4);
61-
if (in.leadPFChargedHadrCand()->trackRef().isNonnull())
62-
KTrackProducer::fillTrack(*in.leadPFChargedHadrCand()->trackRef(), out.track);
63-
}
64-
if(in.leadPFNeutralCand().isNonnull())
65-
copyP4(in.leadPFNeutralCand()->p4(), out.leadNeutralCand.p4); // leading PFGamma candidate
66-
6751

6852
for(size_t i = 0; i < in.signalPFChargedHadrCands().size(); i++)
6953
{
7054
KPFCandidate tmp;
7155
KPFCandidateProducer::fillPFCandidate(*in.signalPFChargedHadrCands().at(i), tmp);
72-
out.signalChargedHadrCands.push_back(tmp);
56+
out.chargedHadronCandidates.push_back(tmp);
7357
}
74-
std::sort(out.signalChargedHadrCands.begin(), out.signalChargedHadrCands.end(), PFSorter);
58+
std::sort(out.chargedHadronCandidates.begin(), out.chargedHadronCandidates.end(), PFSorter);
7559

7660
for(size_t i = 0; i < in.signalPiZeroCandidates().size(); i++)
7761
{
7862
KLV tmp;
7963
copyP4(in.signalPiZeroCandidates()[i].p4(), tmp.p4);
80-
out.signalPiZeroCands.push_back(tmp);
64+
out.piZeroCandidates.push_back(tmp);
8165
}
82-
std::sort(out.signalPiZeroCands.begin(), out.signalPiZeroCands.end(), LVSorter);
66+
std::sort(out.piZeroCandidates.begin(), out.piZeroCandidates.end(), LVSorter);
8367

8468
for(size_t i = 0; i < in.signalPFGammaCands().size(); i++)
8569
{
8670
KPFCandidate tmp;
8771
KPFCandidateProducer::fillPFCandidate(*in.signalPFGammaCands().at(i), tmp);
88-
out.signalGammaCands.push_back(tmp);
72+
out.gammaCandidates.push_back(tmp);
8973
}
90-
std::sort(out.signalGammaCands.begin(), out.signalGammaCands.end(), PFSorter);
91-
92-
out.nSignalTracks = in.signalTracks().size();
74+
std::sort(out.gammaCandidates.begin(), out.gammaCandidates.end(), PFSorter);
9375
}
9476
private:
9577
KLVSorter<KPFCandidate> PFSorter;

0 commit comments

Comments
 (0)