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
Log Message:
added substructure information and jet constituents

File Contents

# User Rev Content
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 rkogler 1.6 // initialize substructure variables to -1
19     m_qjets_volatility = -1.;
20     m_tau1 = -1.;
21     m_tau2 = -1.;
22     m_tau3 = -1.;
23    
24 eusai 1.5 //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 peiffer 1.1 };
72     ~TopJet(){
73     };
74    
75 rkogler 1.6 // 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 eusai 1.5 //btag variables getters
82 peiffer 1.2 std::vector<Particle> subjets() const{return m_subjets;}
83 eusai 1.5 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 rkogler 1.6 // 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 peiffer 1.1
137 eusai 1.5 //btag variables setters
138 peiffer 1.1 void add_subjet(Particle p){m_subjets.push_back(p);}
139 eusai 1.5 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 peiffer 1.1
186     private:
187     std::vector<Particle> m_subjets;
188 eusai 1.5
189 rkogler 1.6 // substructure information
190     float m_qjets_volatility;
191     float m_tau1;
192     float m_tau2;
193     float m_tau3;
194    
195 eusai 1.5 //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 peiffer 1.1 };
244    
245     #endif