2 |
|
#define TopJet_H |
3 |
|
|
4 |
|
#include "Jet.h" |
5 |
+ |
#include "TLorentzVector.h" |
6 |
+ |
|
7 |
+ |
|
8 |
+ |
/** |
9 |
+ |
* @short top-jet class |
10 |
+ |
* @author Thomas Peiffer |
11 |
+ |
*/ |
12 |
|
|
13 |
|
class TopJet : public Jet{ |
14 |
|
public: |
15 |
|
TopJet(){ |
16 |
|
m_subjets.clear(); |
17 |
+ |
|
18 |
+ |
//clear btag variables |
19 |
+ |
m_subCSV.clear(); |
20 |
+ |
m_subFlavour.clear(); |
21 |
+ |
|
22 |
+ |
//clear track impact parameter tag info |
23 |
+ |
m_subTrackMomentum.clear(); |
24 |
+ |
m_subTrackEta.clear(); |
25 |
+ |
m_subTrackEtaRel.clear(); |
26 |
+ |
m_subTrackDeltaR.clear(); |
27 |
+ |
m_subTrackSip3dVal.clear(); |
28 |
+ |
m_subTrackSip3dSig.clear(); |
29 |
+ |
m_subTrackSip2dVal.clear(); |
30 |
+ |
m_subTrackSip2dSig.clear(); |
31 |
+ |
m_subTrackDecayLenVal.clear(); |
32 |
+ |
m_subTrackChi2.clear(); |
33 |
+ |
m_subTrackNTotalHits.clear(); |
34 |
+ |
m_subTrackNPixelHits.clear(); |
35 |
+ |
m_subTrackPtRel.clear(); |
36 |
+ |
m_subTrackPPar.clear(); |
37 |
+ |
m_subTrackPtRatio.clear(); |
38 |
+ |
m_subTrackPParRatio.clear(); |
39 |
+ |
m_subTrackJetDistVal.clear(); |
40 |
+ |
m_subTrackJetDistSig.clear(); |
41 |
+ |
m_subTrackGhostTrackDistVal.clear(); |
42 |
+ |
m_subTrackGhostTrackDistSig.clear(); |
43 |
+ |
m_subTrackGhostTrackWeight.clear(); |
44 |
+ |
|
45 |
+ |
//clear secondary vertex tag info |
46 |
+ |
m_subFlightDistance2dVal.clear(); |
47 |
+ |
m_subFlightDistance2dSig.clear(); |
48 |
+ |
m_subFlightDistance3dVal.clear(); |
49 |
+ |
m_subFlightDistance3dSig.clear(); |
50 |
+ |
m_subVertexJetDeltaR.clear(); |
51 |
+ |
m_subJetNSecondaryVertices.clear(); |
52 |
+ |
m_subVertexNTracks.clear(); |
53 |
+ |
m_subSecondaryVertex.clear(); |
54 |
+ |
m_subVertexChi2.clear(); |
55 |
+ |
m_subVertexNdof.clear(); |
56 |
+ |
m_subVertexNormalizedChi2.clear(); |
57 |
+ |
m_subVertexTracksSize.clear(); |
58 |
+ |
//JTC SV variables |
59 |
+ |
m_subVertexCategoryJTC.clear(); |
60 |
+ |
m_subVertexMassJTC.clear(); |
61 |
+ |
m_subVertexEnergyRatioJTC.clear(); |
62 |
+ |
m_subTrackSip3dSigAboveCharmJTC.clear(); |
63 |
+ |
|
64 |
+ |
|
65 |
|
}; |
66 |
|
~TopJet(){ |
67 |
|
}; |
68 |
|
|
69 |
+ |
//btag variables getters |
70 |
|
std::vector<Particle> subjets() const{return m_subjets;} |
71 |
+ |
std::vector<float> subCSV() const{return m_subCSV;} |
72 |
+ |
std::vector<int> subFlavour() const{return m_subFlavour;} |
73 |
+ |
std::vector<float> btagsub_combinedSecondaryVertex() const{return m_subCSV;} |
74 |
+ |
std::vector<int> flavorsub() const{return m_subFlavour;} |
75 |
+ |
|
76 |
+ |
//track impact parameter tag info getters |
77 |
+ |
std::vector<std::vector<float> > subTrackMomentum() const{return m_subTrackMomentum;} |
78 |
+ |
std::vector<std::vector<float> > subTrackEta() const{return m_subTrackEta;} |
79 |
+ |
std::vector<std::vector<float> > subTrackEtaRel() const{return m_subTrackEtaRel;} |
80 |
+ |
std::vector<std::vector<float> > subTrackDeltaR() const{return m_subTrackDeltaR;} |
81 |
+ |
std::vector<std::vector<float> > subTrackSip3dVal() const{return m_subTrackSip3dVal;} |
82 |
+ |
std::vector<std::vector<float> > subTrackSip3dSig() const{return m_subTrackSip3dSig;} |
83 |
+ |
std::vector<std::vector<float> > subTrackSip2dVal() const{return m_subTrackSip2dVal;} |
84 |
+ |
std::vector<std::vector<float> > subTrackSip2dSig() const{return m_subTrackSip2dSig;} |
85 |
+ |
std::vector<std::vector<float> > subTrackDecayLenVal() const{return m_subTrackDecayLenVal;} |
86 |
+ |
std::vector<std::vector<float> > subTrackChi2() const{return m_subTrackChi2;} |
87 |
+ |
std::vector<std::vector<float> > subTrackNTotalHits() const{return m_subTrackNTotalHits;} |
88 |
+ |
std::vector<std::vector<float> > subTrackNPixelHits() const{return m_subTrackNPixelHits;} |
89 |
+ |
std::vector<std::vector<float> > subTrackPtRel() const{return m_subTrackPtRel;} |
90 |
+ |
std::vector<std::vector<float> > subTrackPPar() const{return m_subTrackPPar;} |
91 |
+ |
std::vector<std::vector<float> > subTrackPtRatio() const{return m_subTrackPtRatio;} |
92 |
+ |
std::vector<std::vector<float> > subTrackPParRatio() const{return m_subTrackPParRatio;} |
93 |
+ |
std::vector<std::vector<float> > subTrackJetDistVal() const{return m_subTrackJetDistVal;} |
94 |
+ |
std::vector<std::vector<float> > subTrackJetDistSig() const{return m_subTrackJetDistSig;} |
95 |
+ |
std::vector<std::vector<float> > subTrackGhostTrackDistVal() const{return m_subTrackGhostTrackDistVal;} |
96 |
+ |
std::vector<std::vector<float> > subTrackGhostTrackDistSig() const{return m_subTrackGhostTrackDistSig;} |
97 |
+ |
std::vector<std::vector<float> > subTrackGhostTrackWeight() const{return m_subTrackGhostTrackWeight;} |
98 |
+ |
|
99 |
+ |
//secondary vertex tag info getters |
100 |
+ |
std::vector<std::vector<float> > subFlightDistance2dVal() const{return m_subFlightDistance2dVal;} |
101 |
+ |
std::vector<std::vector<float> > subFlightDistance2dSig() const{return m_subFlightDistance2dSig;} |
102 |
+ |
std::vector<std::vector<float> > subFlightDistance3dVal() const{return m_subFlightDistance3dVal;} |
103 |
+ |
std::vector<std::vector<float> > subFlightDistance3dSig() const{return m_subFlightDistance3dSig;} |
104 |
+ |
std::vector<std::vector<float> > subVertexJetDeltaR() const{return m_subVertexJetDeltaR;} |
105 |
+ |
std::vector<float> subJetNSecondaryVertices() const{return m_subJetNSecondaryVertices;} |
106 |
+ |
std::vector<float> subVertexNTracks() const{return m_subVertexNTracks;} |
107 |
+ |
//std::vector<std::vector< ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > > > subSecondaryVertex() const{return m_subSecondaryVertex;} |
108 |
+ |
std::vector<std::vector<TLorentzVector > > subSecondaryVertex() const{return m_subSecondaryVertex;} |
109 |
+ |
std::vector<std::vector<float> > subVertexChi2() const{return m_subVertexChi2;} |
110 |
+ |
std::vector<std::vector<float> > subVertexNdof() const{return m_subVertexNdof;} |
111 |
+ |
std::vector<std::vector<float> > subVertexNormalizedChi2() const{return m_subVertexNormalizedChi2;} |
112 |
+ |
std::vector<std::vector<float> > subVertexTracksSize() const{return m_subVertexTracksSize;} |
113 |
+ |
//JTC SV variables |
114 |
+ |
std::vector<int> subVertexCategoryJTC() const{return m_subVertexCategoryJTC;} |
115 |
+ |
std::vector<float> subVertexMassJTC() const{return m_subVertexMassJTC;} |
116 |
+ |
std::vector<float> subVertexEnergyRatioJTC() const{return m_subVertexEnergyRatioJTC;} |
117 |
+ |
std::vector<float> subTrackSip3dSigAboveCharmJTC() const{return m_subTrackSip3dSigAboveCharmJTC;} |
118 |
|
|
119 |
+ |
|
120 |
+ |
//btag variables setters |
121 |
|
void add_subjet(Particle p){m_subjets.push_back(p);} |
122 |
+ |
void add_subCSV(float discriminant){m_subCSV.push_back(discriminant);} |
123 |
+ |
void add_subFlavour(int flavour){m_subFlavour.push_back(flavour);} |
124 |
+ |
|
125 |
+ |
//track impact parameter tag info setters |
126 |
+ |
void add_subTrackMomentum(std::vector<float> t){ m_subTrackMomentum.push_back(t);} |
127 |
+ |
void add_subTrackEta(std::vector<float> t){ m_subTrackEta.push_back(t);} |
128 |
+ |
void add_subTrackEtaRel(std::vector<float> t){ m_subTrackEtaRel.push_back(t);} |
129 |
+ |
void add_subTrackDeltaR(std::vector<float> t){ m_subTrackDeltaR.push_back(t);} |
130 |
+ |
void add_subTrackSip3dVal(std::vector<float> t){ m_subTrackSip3dVal.push_back(t);} |
131 |
+ |
void add_subTrackSip3dSig(std::vector<float> t){ m_subTrackSip3dSig.push_back(t);} |
132 |
+ |
void add_subTrackSip2dVal(std::vector<float> t){ m_subTrackSip2dVal.push_back(t);} |
133 |
+ |
void add_subTrackSip2dSig(std::vector<float> t){ m_subTrackSip2dSig.push_back(t);} |
134 |
+ |
void add_subTrackDecayLenVal(std::vector<float> t){ m_subTrackDecayLenVal.push_back(t);} |
135 |
+ |
void add_subTrackChi2(std::vector<float> t){ m_subTrackChi2.push_back(t);} |
136 |
+ |
void add_subTrackNTotalHits(std::vector<float> t){ m_subTrackNTotalHits.push_back(t);} |
137 |
+ |
void add_subTrackNPixelHits(std::vector<float> t){ m_subTrackNPixelHits.push_back(t);} |
138 |
+ |
void add_subTrackPtRel(std::vector<float> t){ m_subTrackPtRel.push_back(t);} |
139 |
+ |
void add_subTrackPPar(std::vector<float> t){ m_subTrackPPar.push_back(t);} |
140 |
+ |
void add_subTrackPtRatio(std::vector<float> t){ m_subTrackPtRatio.push_back(t);} |
141 |
+ |
void add_subTrackPParRatio(std::vector<float> t){ m_subTrackPParRatio.push_back(t);} |
142 |
+ |
void add_subTrackJetDistVal(std::vector<float> t){ m_subTrackJetDistVal.push_back(t);} |
143 |
+ |
void add_subTrackJetDistSig(std::vector<float> t){ m_subTrackJetDistSig.push_back(t);} |
144 |
+ |
void add_subTrackGhostTrackDistVal(std::vector<float> t){ m_subTrackGhostTrackDistVal.push_back(t);} |
145 |
+ |
void add_subTrackGhostTrackDistSig(std::vector<float> t){ m_subTrackGhostTrackDistSig.push_back(t);} |
146 |
+ |
void add_subTrackGhostTrackWeight(std::vector<float> t){ m_subTrackGhostTrackWeight.push_back(t);} |
147 |
+ |
|
148 |
+ |
//secondary vertex tag info setters |
149 |
+ |
void add_subFlightDistance2dVal(std::vector<float> t){ m_subFlightDistance2dVal.push_back(t);} |
150 |
+ |
void add_subFlightDistance2dSig(std::vector<float> t){ m_subFlightDistance2dSig.push_back(t);} |
151 |
+ |
void add_subFlightDistance3dVal(std::vector<float> t){ m_subFlightDistance3dVal.push_back(t);} |
152 |
+ |
void add_subFlightDistance3dSig(std::vector<float> t){ m_subFlightDistance3dSig.push_back(t);} |
153 |
+ |
void add_subVertexJetDeltaR(std::vector<float> t){ m_subVertexJetDeltaR.push_back(t);} |
154 |
+ |
void add_subJetNSecondaryVertices(float t){ m_subJetNSecondaryVertices.push_back(t);} |
155 |
+ |
void add_subVertexNTracks(float t){ m_subVertexNTracks.push_back(t);} |
156 |
+ |
//void add_subSecondaryVertex(std::vector< ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > > t){ m_subSecondaryVertex.push_back(t);} |
157 |
+ |
void add_subSecondaryVertex(std::vector<TLorentzVector > t){ m_subSecondaryVertex.push_back(t);} |
158 |
+ |
void add_subVertexChi2(std::vector<float> t){ m_subVertexChi2.push_back(t);} |
159 |
+ |
void add_subVertexNdof(std::vector<float> t){ m_subVertexNdof.push_back(t);} |
160 |
+ |
void add_subVertexNormalizedChi2(std::vector<float> t){ m_subVertexNormalizedChi2.push_back(t);} |
161 |
+ |
void add_subVertexTracksSize(std::vector<float> t){ m_subVertexTracksSize.push_back(t);} |
162 |
+ |
//JTC SV variables |
163 |
+ |
void add_subVertexCategoryJTC(int t){ m_subVertexCategoryJTC.push_back(t);} |
164 |
+ |
void add_subVertexMassJTC(float t){ m_subVertexMassJTC.push_back(t);} |
165 |
+ |
void add_subVertexEnergyRatioJTC(float t){ m_subVertexEnergyRatioJTC.push_back(t);} |
166 |
+ |
void add_subTrackSip3dSigAboveCharmJTC(float t){ m_subTrackSip3dSigAboveCharmJTC.push_back(t);} |
167 |
+ |
|
168 |
|
|
169 |
|
private: |
170 |
|
std::vector<Particle> m_subjets; |
171 |
|
|
172 |
+ |
//btag variables |
173 |
+ |
std::vector<float> m_subCSV; |
174 |
+ |
std::vector<int> m_subFlavour; |
175 |
+ |
|
176 |
+ |
//track impact parameter tag info |
177 |
+ |
std::vector<std::vector<float> > m_subTrackMomentum; |
178 |
+ |
std::vector<std::vector<float> > m_subTrackEta; |
179 |
+ |
std::vector<std::vector<float> > m_subTrackEtaRel; |
180 |
+ |
std::vector<std::vector<float> > m_subTrackDeltaR; |
181 |
+ |
std::vector<std::vector<float> > m_subTrackSip3dVal; |
182 |
+ |
std::vector<std::vector<float> > m_subTrackSip3dSig; |
183 |
+ |
std::vector<std::vector<float> > m_subTrackSip2dVal; |
184 |
+ |
std::vector<std::vector<float> > m_subTrackSip2dSig; |
185 |
+ |
std::vector<std::vector<float> > m_subTrackDecayLenVal; |
186 |
+ |
std::vector<std::vector<float> > m_subTrackChi2; |
187 |
+ |
std::vector<std::vector<float> > m_subTrackNTotalHits; |
188 |
+ |
std::vector<std::vector<float> > m_subTrackNPixelHits; |
189 |
+ |
std::vector<std::vector<float> > m_subTrackPtRel; |
190 |
+ |
std::vector<std::vector<float> > m_subTrackPPar; |
191 |
+ |
std::vector<std::vector<float> > m_subTrackPtRatio; |
192 |
+ |
std::vector<std::vector<float> > m_subTrackPParRatio; |
193 |
+ |
std::vector<std::vector<float> > m_subTrackJetDistVal; |
194 |
+ |
std::vector<std::vector<float> > m_subTrackJetDistSig; |
195 |
+ |
std::vector<std::vector<float> > m_subTrackGhostTrackDistVal; |
196 |
+ |
std::vector<std::vector<float> > m_subTrackGhostTrackDistSig; |
197 |
+ |
std::vector<std::vector<float> > m_subTrackGhostTrackWeight; |
198 |
+ |
|
199 |
+ |
//secondary vertex tag info |
200 |
+ |
std::vector<std::vector<float> > m_subFlightDistance2dVal; |
201 |
+ |
std::vector<std::vector<float> > m_subFlightDistance2dSig; |
202 |
+ |
std::vector<std::vector<float> > m_subFlightDistance3dVal; |
203 |
+ |
std::vector<std::vector<float> > m_subFlightDistance3dSig; |
204 |
+ |
std::vector<std::vector<float> > m_subVertexJetDeltaR; |
205 |
+ |
std::vector<float> m_subJetNSecondaryVertices; |
206 |
+ |
std::vector<float> m_subVertexNTracks; |
207 |
+ |
|
208 |
+ |
//std::vector<std::vector< ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > > > m_subSecondaryVertex; |
209 |
+ |
std::vector<std::vector<TLorentzVector> > m_subSecondaryVertex; |
210 |
+ |
std::vector<std::vector<float> > m_subVertexChi2; |
211 |
+ |
std::vector<std::vector<float> > m_subVertexNdof; |
212 |
+ |
std::vector<std::vector<float> > m_subVertexNormalizedChi2; |
213 |
+ |
std::vector<std::vector<float> > m_subVertexTracksSize; |
214 |
+ |
//JTC SV variables |
215 |
+ |
std::vector<int> m_subVertexCategoryJTC; |
216 |
+ |
std::vector<float> m_subVertexMassJTC; |
217 |
+ |
std::vector<float> m_subVertexEnergyRatioJTC; |
218 |
+ |
std::vector<float> m_subTrackSip3dSigAboveCharmJTC; |
219 |
+ |
|
220 |
|
}; |
221 |
|
|
222 |
|
#endif |