ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/Morgan/interface/TRootVertex.h
Revision: 1.2
Committed: Thu Apr 16 14:49:13 2009 UTC (16 years ago) by lethuill
Content type: text/plain
Branch: MAIN
Changes since 1.1: +10 -1 lines
Log Message:
Add primary vertex selection

File Contents

# User Rev Content
1 lethuill 1.1 #ifndef TRootVertex_h
2     #define TRootVertex_h
3    
4     #include <string>
5     #include <iostream>
6     #include <iomanip>
7    
8     #include "Rtypes.h"
9     #include "TVector3.h"
10    
11     using namespace std;
12    
13     class TRootVertex : public TVector3
14     {
15    
16     public:
17    
18     TRootVertex() :
19     TVector3(-999999.,-999999.,-999999.)
20     ,error_(-1.,-1.,-1.)
21     ,chi2_(-1.)
22     ,ndof_(-1.)
23     ,ntracks_(-1)
24     ,higherTrackPt_(-1.)
25     ,scalarEt_(-1.)
26 lethuill 1.2 ,recoIndex_(-1)
27 lethuill 1.1 {;}
28    
29     TRootVertex(const TRootVertex& vertex) :
30     TVector3(vertex)
31     ,error_(vertex.error_)
32     ,chi2_(vertex.chi2_)
33     ,ndof_(vertex.ndof_)
34     ,ntracks_(vertex.ntracks_)
35     ,higherTrackPt_(vertex.higherTrackPt_)
36     ,scalarEt_(vertex.scalarEt_)
37 lethuill 1.2 ,recoIndex_(vertex.recoIndex_)
38 lethuill 1.1 {;}
39    
40     TRootVertex(Double_t vx, Double_t vy, Double_t vz) :
41     TVector3(vx,vy,vz)
42     ,error_(-1.,-1.,-1.)
43     ,chi2_(-1.)
44     ,ndof_(-1.)
45     ,ntracks_(-1)
46     ,higherTrackPt_(-1.)
47     ,scalarEt_(-1.)
48 lethuill 1.2 ,recoIndex_(-1)
49 lethuill 1.1 {;}
50    
51     TRootVertex(Double_t vx, Double_t vy, Double_t vz, Double_t evx, Double_t evy, Double_t evz) :
52     TVector3(vx,vy,vz)
53     ,error_(evx,evy,evz)
54     ,chi2_(-1.)
55     ,ndof_(-1.)
56     ,ntracks_(-1)
57     ,higherTrackPt_(-1.)
58     ,scalarEt_(-1.)
59 lethuill 1.2 ,recoIndex_(-1)
60 lethuill 1.1 {;}
61    
62    
63     TRootVertex(const TVector3 &vertex) :
64     TVector3(vertex)
65     ,error_(-1.,-1.,-1.)
66     ,chi2_(-1.)
67     ,ndof_(-1.)
68     ,ntracks_(-1)
69     ,higherTrackPt_(-1.)
70     ,scalarEt_(-1.)
71 lethuill 1.2 ,recoIndex_(-1)
72 lethuill 1.1 {;}
73    
74     TRootVertex( const TVector3 &vertex, const TVector3 &vertex_error) :
75     TVector3(vertex)
76     ,error_(vertex_error)
77     ,chi2_(-1.)
78     ,ndof_(-1.)
79     ,ntracks_(-1)
80     ,higherTrackPt_(-1.)
81     ,scalarEt_(-1.)
82 lethuill 1.2 ,recoIndex_(-1)
83 lethuill 1.1 {;}
84    
85     ~TRootVertex() {;}
86    
87    
88     TVector3 error() const { return error_;}
89     Double_t xerr() const { return error_.x(); }
90     Double_t yerr() const { return error_.y(); }
91     Double_t zerr() const { return error_.z(); }
92     Float_t chi2() const { return chi2_;}
93     Float_t ndof() const { return ndof_;}
94     Float_t ntracks() const { return ntracks_;}
95     Float_t higherTrackPt() const { return higherTrackPt_;}
96     Float_t scalarEt() const { return scalarEt_;}
97 lethuill 1.2 Int_t recoIndex() const { return recoIndex_;}
98 lethuill 1.1
99     TString typeName() const { return "TRootVertex"; }
100    
101     void setError(TVector3 error) { error_ = error; }
102     void setXerr(Double_t xerr) { error_.SetX(xerr); }
103     void setYerr(Double_t yerr) { error_.SetY(yerr); }
104     void setZerr(Double_t zerr) { error_.SetZ(zerr); }
105     void setChi2(Float_t chi2) { chi2_ = chi2; }
106     void setNdof(Float_t ndof) { ndof_ = ndof; }
107     void setNtracks(Float_t ntracks) { ntracks_ = ntracks; }
108     void setHigherTrackPt(Float_t higherTrackPt) { higherTrackPt_ = higherTrackPt; }
109     void setScalarEt(Float_t scalarEt) { scalarEt_ = scalarEt; }
110 lethuill 1.2 void setRecoIndex(Int_t recoIndex) { recoIndex_ = recoIndex; }
111 lethuill 1.1
112    
113     friend std::ostream& operator<< (std::ostream& stream, const TRootVertex& vertex) {
114     stream << "TRootVertex - (x,y,z)=("<< setw(9) << vertex.x() <<","<< setw(9) << vertex.y() <<","<< setw(9) << vertex.z() << ")"
115     << " error(dx,dy,dz)=("<< setw(11) << vertex.xerr() <<","<< setw(11) << vertex.yerr() <<","<< setw(11) << vertex.zerr() << ")"
116     << " chi2="<< setw(8) << vertex.chi2() <<" ndof="<< setw(6) << vertex.ndof() <<" nTracks="<< setw(4) << vertex.ntracks()
117     << " higherTrackPt="<< setw(7) << vertex.higherTrackPt() <<" scalarEt="<< setw(7) << vertex.scalarEt();
118     return stream;
119     };
120    
121    
122     private:
123    
124     TVector3 error_;
125     Float_t chi2_;
126     Float_t ndof_;
127     Float_t ntracks_;
128     Float_t higherTrackPt_;
129     Float_t scalarEt_;
130 lethuill 1.2 Int_t recoIndex_; // corresponding index in std::vector< reco::Vertex > collection
131 lethuill 1.1
132 lethuill 1.2 ClassDef (TRootVertex,2);
133 lethuill 1.1 };
134    
135     #endif