1 |
peiffer |
1.1 |
#ifndef TopJet_H
|
2 |
|
|
#define TopJet_H
|
3 |
|
|
|
4 |
|
|
#include "Jet.h"
|
5 |
eusai |
1.5 |
#include "TLorentzVector.h"
|
6 |
|
|
|
7 |
peiffer |
1.1 |
|
8 |
peiffer |
1.3 |
/**
|
9 |
|
|
* @short top-jet class
|
10 |
|
|
* @author Thomas Peiffer
|
11 |
|
|
*/
|
12 |
|
|
|
13 |
peiffer |
1.1 |
class TopJet : public Jet{
|
14 |
|
|
public:
|
15 |
|
|
TopJet(){
|
16 |
|
|
m_subjets.clear();
|
17 |
eusai |
1.5 |
|
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 |
peiffer |
1.1 |
};
|
66 |
|
|
~TopJet(){
|
67 |
|
|
};
|
68 |
|
|
|
69 |
eusai |
1.5 |
//btag variables getters
|
70 |
peiffer |
1.2 |
std::vector<Particle> subjets() const{return m_subjets;}
|
71 |
eusai |
1.5 |
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 |
peiffer |
1.1 |
|
120 |
eusai |
1.5 |
//btag variables setters
|
121 |
peiffer |
1.1 |
void add_subjet(Particle p){m_subjets.push_back(p);}
|
122 |
eusai |
1.5 |
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 |
peiffer |
1.1 |
|
169 |
|
|
private:
|
170 |
|
|
std::vector<Particle> m_subjets;
|
171 |
eusai |
1.5 |
|
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 |
peiffer |
1.1 |
};
|
221 |
|
|
|
222 |
|
|
#endif
|