ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/UHHAnalysis/NtupleWriter/Objects/TopJet.h
Revision: 1.5
Committed: Fri Apr 5 13:20:06 2013 UTC (12 years, 1 month ago) by eusai
Content type: text/plain
Branch: MAIN
CVS Tags: v1-00
Changes since 1.4: +195 -8 lines
Log Message:
add tag info

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     //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