CMS 3D CMS Logo

RecoTauDiscriminantFunctions.h
Go to the documentation of this file.
1 #ifndef RecoTauTag_RecoTau_RecoTauDiscriminantFunctions_h
2 #define RecoTauTag_RecoTau_RecoTauDiscriminantFunctions_h
3 
4 /*
5  * RecoTauDiscriminantFunctions
6  *
7  * Collection of unary functions used to compute tau discriminant values.
8  * Each function here (may be) used in an MVA discriminator.
9  *
10  * The functions all have the form
11  * ReturnType Function(const PFTau& tau)
12  * where ReturnType is either vector<double> or double.
13  *
14  * Author: Evan K. Friis, UC Davis
15  *
16  */
17 
19 #include <vector>
20 
21 namespace reco::tau::disc {
22 
23 // Save typing
24 typedef const PFTau& Tau;
25 typedef std::vector<double> VDouble;
26 
30 
31 // HPStanc variables
32 double JetPt(Tau tau);
33 double JetEta(Tau tau);
34 double AbsJetEta(Tau tau);
35 double JetWidth(Tau tau);
36 // Delta R between tau and jet axis
37 double JetTauDR(Tau tau);
38 
39 double SignalPtFraction(Tau tau);
41 double IsolationECALPtFraction(Tau tau);
43 double MainTrackPtFraction(Tau tau);
45 double OpeningDeltaR(Tau tau);
46 double OpeningAngle3D(Tau tau);
47 double ScaledEtaJetCollimation(Tau tau);
48 double ScaledPhiJetCollimation(Tau tau);
49 double ScaledOpeningDeltaR(Tau tau);
50 VDouble Dalitz2(Tau tau);
51 
52 // Sum of charged isolation activity above/below 1 GeV
53 double IsolationChargedSumHard(Tau tau);
54 double IsolationChargedSumSoft(Tau tau);
57 
58 // Sum of ecal isolation activity above/below 1.5 GeV
59 double IsolationECALSumHard(Tau tau);
60 double IsolationECALSumSoft(Tau tau);
63 
64 // Fraction of signal energy carried by pizeros.
65 double EMFraction(Tau tau);
66 
67 // Absolute significance of impact parameter
69 
70 double Pt(Tau tau);
71 double Eta(Tau tau);
72 double AbsEta(Tau tau);
73 double Mass(Tau tau);
74 double DecayMode(Tau tau);
75 
76 // Number of objects in isolation cone
77 double OutlierN(Tau);
78 
79 // Number of charged objects in isolation cone
80 double OutlierNCharged(Tau);
81 
82 double OutlierSumPt(Tau);
83 double ChargedOutlierSumPt(Tau);
84 double NeutralOutlierSumPt(Tau);
85 
86 // Pt of the main track
87 double MainTrackPt(Tau);
88 // Eta of the main track
89 double MainTrackEta(Tau);
90 // Angle of main track to tau axis
91 double MainTrackAngle(Tau);
92 
93 // Exactly the same as "Mass", needed for backwards compatability
94 double InvariantMassOfSignal(Tau tau);
95 
96 // Quanitites of tracks
97 VDouble TrackPt(Tau);
98 VDouble TrackAngle(Tau);
99 VDouble TrackEta(Tau);
100 
101 // Quanitites of PiZeros
102 VDouble PiZeroPt(Tau);
103 VDouble PiZeroAngle(Tau);
104 VDouble PiZeroEta(Tau);
105 
106 // Isolation quantities
107 VDouble OutlierPt(Tau);
108 VDouble OutlierAngle(Tau);
109 VDouble ChargedOutlierPt(Tau);
110 VDouble ChargedOutlierAngle(Tau);
111 VDouble NeutralOutlierPt(Tau);
112 VDouble NeutralOutlierAngle(Tau);
113 
114 // Dalitz for three prongs
115 VDouble Dalitz(Tau);
116 
117 // Deprecated functions needed for backwards compatability
118 VDouble FilteredObjectPt(Tau);
119 VDouble GammaOccupancy(Tau);
120 VDouble GammaPt(Tau);
122 VDouble InvariantMass(Tau);
123 VDouble OutlierMass(Tau);
124 
125 } // end namespace reco::tau::disc
126 #endif
double IsolationECALSumHardRelative(Tau tau)
double ScaledPhiJetCollimation(Tau tau)
std::vector< double > VDouble
double IsolationECALSumHard(Tau tau)
double IsolationChargedSumSoftRelative(Tau tau)
double IsolationChargedPtFraction(Tau tau)
double ScaledEtaJetCollimation(Tau tau)
double ImpactParameterSignificance(Tau tau)
double IsolationChargedSumHard(Tau tau)
double IsolationChargedAveragePtFraction(Tau tau)
double IsolationECALPtFraction(Tau tau)
VDouble InvariantMassOfSignalWithFiltered(Tau)
double IsolationChargedSumHardRelative(Tau tau)
double IsolationECALSumSoftRelative(Tau tau)
double IsolationChargedSumSoft(Tau tau)
CandidatePtr mainTrack(const PFTau &tau)
double IsolationNeutralHadronPtFraction(Tau tau)
double IsolationECALSumSoft(Tau tau)
double InvariantMassOfSignal(Tau tau)