ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/Morgan/interface/TRootEvent.h
(Generate patch)

Comparing UserCode/Morgan/interface/TRootEvent.h (file contents):
Revision 1.5 by lethuill, Thu Oct 30 16:25:33 2008 UTC vs.
Revision 1.10 by lethuill, Thu Apr 16 14:49:13 2009 UTC

# Line 10 | Line 10
10   #include "Rtypes.h"
11   #include "TObject.h"
12   #include "TVector3.h"
13 + #include "TRef.h"
14 +
15 + #include "../interface/TRootVertex.h"
16  
17   using namespace std;
18  
# Line 19 | Line 22 | class TRootEvent : public TObject
22   public:
23          
24          TRootEvent() :
25 <                        nb_(0)
26 <                        ,passGlobalL1_(false)
27 <                        ,passGlobalHLT_(false)
28 <                        ,trigHLT_(0)
29 <                        ,csa07id_(0)
30 <                        ,csa07weight_(0.)
31 <                        ,csa07process_()
32 <                        ,nBasicClusters_()
33 <                        ,nSuperClusters_()
34 <                        ,primaryVertex_(0)
35 <                        ,metCalo_()
36 <                        {;}
25 >                nb_(0)
26 >                ,eventId_(-1)
27 >                ,runId_(-1)
28 >                ,passGlobalL1_(false)
29 >                ,passGlobalHLT_(false)
30 >                ,trigHLT_(0)
31 >                ,csa07id_(-1)
32 >                ,csa07weight_(-1.)
33 >                ,csa07process_()
34 >                ,nBasicClusters_()
35 >                ,nSuperClusters_()
36 >                ,primaryVertexIndex_(-1)
37 >                ,primaryVertex_(0)
38 >                ,idParton1_(-1)
39 >                ,xParton1_(-1.)
40 >                ,idParton2_(-1)
41 >                ,xParton2_(-1.)
42 >                ,factorizationScale_(-1.)
43 >                {;}
44  
45          ~TRootEvent() {;}
46 <                
46 >
47          // Event number
48          Int_t nb() const { return nb_; }
49 <        
49 >        Int_t eventId() const { return eventId_; }
50 >        Int_t runId() const { return runId_; }
51 >
52          // Trigger decision
53          Int_t passGlobalL1() const { return passGlobalL1_; }
54          Bool_t passGlobalHLT() const { return passGlobalHLT_; }
# Line 60 | Line 72 | public:
72          Float_t csa07weight() const { return csa07weight_; }
73          TString csa07process() const { return csa07process_; }
74          
63        // Nb of primary vertices
64        unsigned nPrimaryVertices() const { return primaryVertex_.size(); }
65        
75          // Nb of BasicClusters of a given type
76          Int_t nBasicClusters(Int_t type)
77          {
# Line 78 | Line 87 | public:
87          }
88          
89          
90 <        // Primary Vertex as 3-vector
91 <        TVector3 primaryVertex() const { return (primaryVertex_.size()>0 ?  primaryVertex_.at(0) : TVector3(0.,0.,0.) ); }
92 <        TVector3 primaryVertex(unsigned i) const { return (primaryVertex_.size()>i ?  primaryVertex_.at(i) : TVector3(0.,0.,0.) ); }
93 <        // x, y, z of Primary Vertex
94 <        Double_t primaryVertex_x() const { return (primaryVertex_.size()>0 ?  primaryVertex_.at(0).x() : 0. ); }
95 <        Double_t primaryVertex_y() const { return (primaryVertex_.size()>0 ?  primaryVertex_.at(0).y() : 0. ); }
96 <        Double_t primaryVertex_z() const { return (primaryVertex_.size()>0 ?  primaryVertex_.at(0).z() : 0. ); }
97 <        Double_t primaryVertex_x(unsigned i) const { return (primaryVertex_.size()>i ?  primaryVertex_.at(i).x() : 0. ); }
98 <        Double_t primaryVertex_y(unsigned i) const { return (primaryVertex_.size()>i ?  primaryVertex_.at(i).x() : 0. ); }
99 <        Double_t primaryVertex_z(unsigned i) const { return (primaryVertex_.size()>i ?  primaryVertex_.at(i).x() : 0. ); }
100 <        
101 <        // Missing Et as 3-vector
102 <        TVector3 metCaloVect() const { return metCalo_; }
103 <        // Missing Et magnitude
104 <        Double_t metCalo() const { return sqrt(metCalo_.Perp2()); }
105 <        
90 >        // Selected Primary Vertex
91 >        Int_t primaryVertexIndex() const { return primaryVertexIndex_; }
92 >        TRootVertex* primaryVertex() const
93 >        {
94 >                if ( primaryVertex_==0)
95 >                {
96 >                        cout << "   ********** Error in TRootEvent::primaryVertex() - No primary vertex selected **********" << endl;
97 >                        return 0;
98 >                }
99 >                else
100 >                {
101 >                        return (TRootVertex*) primaryVertex_.GetObject();
102 >                }
103 >        }
104 >
105 >
106 >        // PDF infos
107 >        // flavour first incoming parton
108 >        Int_t idParton1() const { return idParton1_; }
109 >        // energy fraction carried by first incoming parton
110 >        Float_t xParton1() const { return xParton1_; }
111 >        // flavour first incoming parton
112 >        Int_t idParton2() const { return idParton2_; }
113 >        // energy fraction carried by first incoming parton
114 >        Float_t xParton2() const { return xParton2_; }
115 >        // Factorization Scale Q
116 >        Float_t factorizationScale() const { return factorizationScale_; }
117 >
118 >
119          
120          void setNb(Int_t nb) { nb_ = nb; }
121 +        void setEventId(Int_t eventId) { eventId_ = eventId; }
122 +        void setRunId(Int_t runId) { runId_ = runId; }
123          void setGlobalL1(Int_t passGlobalL1) { passGlobalL1_ = passGlobalL1; }
124          void setGlobalHLT(Bool_t passGlobalHLT) { passGlobalHLT_ = passGlobalHLT; }
125          void setTrigHLT(std::vector<Bool_t> trigHLT)
# Line 111 | Line 135 | public:
135          
136          void setNBasicClusters(Int_t type,Int_t nBC) { nBasicClusters_[type]=nBC; }
137          void setNSuperClusters(Int_t type,Int_t nSC) { nSuperClusters_[type]=nSC; }
138 <                
139 <        void addPrimaryVertex(TVector3 vertex) {  primaryVertex_.push_back(vertex); }
140 <        void clearPrimaryVertex(TVector3 vertex) {  primaryVertex_.clear(); }
141 <        void setMetCaloVect(TVector3 metCaloVect) { metCalo_ = metCaloVect; }
142 <        
138 >
139 >        void setPrimaryVertexIndex(Int_t primaryVertexIndex) { primaryVertexIndex_=primaryVertexIndex; }
140 >        void setPrimaryVertex(TRootVertex* primaryVertex) { primaryVertex_ = primaryVertex; }
141 >
142 >        void setIdParton1(Int_t idParton1) { idParton1_=idParton1; }
143 >        void setXParton1(Float_t xParton1) { xParton1_=xParton1; }
144 >        void setIdParton2(Int_t idParton2) { idParton2_=idParton2; }
145 >        void setXParton2(Float_t xParton2) { xParton2_=xParton2; }
146 >        void setFactorizationScale(Float_t factorizationScale) { factorizationScale_=factorizationScale; }
147 >
148          /*
149 +        // FIXME
150          friend std::ostream& operator<< (std::ostream& stream, const TRootEvent& event) {
151                  stream << "Event #"<< event.nb() <<"  L1="<< event.trigL1() <<"  HLT="<< event.trigHLT()
152 <                        << "  Primary vertex x=" << event.primaryVertex_x() << "  y=" << event.primaryVertex_y() << "  z=" << event.primaryVertex_z()
123 <                        << "  CaloMET=" << event.metCalo() << endl;
152 >                        << "  Primary vertex x=" << event.primaryVertex_x() << "  y=" << event.primaryVertex_y() << "  z=" << event.primaryVertex_z();
153                  return stream;
154          };
155          */
# Line 128 | Line 157 | public:
157   private:
158          
159          Int_t nb_;
160 +        Int_t eventId_;
161 +        Int_t runId_;
162 +
163 +        // Trigger Infos
164          Bool_t passGlobalL1_;
165          Bool_t passGlobalHLT_;
166          std::vector<Bool_t> trigHLT_;
167 <        
167 >
168 >        // CSA07 Process ID and Weight
169          Int_t csa07id_;
170          Float_t csa07weight_;
171          TString csa07process_;
172          
173          map<Int_t,Int_t> nBasicClusters_;
174          map<Int_t,Int_t> nSuperClusters_;
141        std::vector<TVector3> primaryVertex_;
175  
176 <        TVector3 metCalo_;
177 <                
176 >        // Selected Primary vertex (by VertexAnalyzer::SelectPrimary)
177 >        Int_t primaryVertexIndex_; // Index in vertices TClonesArray of the selected primary vertex
178 >        TRef primaryVertex_; // Reference to the TRootVertex of the selected primary vertex
179 >
180 >        // PDF infos
181 >        Int_t idParton1_;
182 >        Float_t xParton1_;
183 >        Int_t idParton2_;
184 >        Float_t xParton2_;
185 >        Float_t factorizationScale_;
186 >
187          ClassDef (TRootEvent,2);
188   };
189  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines