ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/UHHAnalysis/NtupleWriter/Objects/TopJet.h
Revision: 1.6
Committed: Wed Jun 19 13:28:24 2013 UTC (11 years, 10 months ago) by rkogler
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.5: +23 -0 lines
Error occurred while calculating annotation data.
Log Message:
added substructure information and jet constituents

File Contents

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