ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/Conversion.h
Revision: 1.14
Committed: Wed Mar 18 15:25:48 2009 UTC (16 years, 1 month ago) by loizides
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_008pre2
Changes since 1.13: +3 -1 lines
Log Message:
Added vertex const.

File Contents

# User Rev Content
1 bendavid 1.1 //--------------------------------------------------------------------------------------------------
2 loizides 1.14 // $Id: Conversion.h,v 1.13 2009/02/26 17:06:24 bendavid Exp $
3 bendavid 1.1 //
4 loizides 1.2 // Conversion
5 bendavid 1.1 //
6     // Details to be worked out...
7     //
8 loizides 1.2 // Authors: J.Bendavid
9 bendavid 1.1 //--------------------------------------------------------------------------------------------------
10    
11 loizides 1.8 #ifndef MITANA_DATATREE_CONVERSION_H
12     #define MITANA_DATATREE_CONVERSION_H
13 bendavid 1.1
14     #include "MitAna/DataTree/interface/CompositeParticle.h"
15 bendavid 1.9 #include "MitAna/DataTree/interface/Vertex.h"
16 bendavid 1.1 #include "MitAna/DataTree/interface/Electron.h"
17    
18     namespace mithep
19     {
20     class Conversion : public CompositeParticle
21     {
22     public:
23 loizides 1.12 Conversion() : fDCotTheta(0), fEOverP(0), fPairMass(0) {}
24     Conversion(Double_t x, Double_t y, Double_t z) :
25     fVertex(x,y,z), fDCotTheta(0), fEOverP(0), fPairMass(0) {}
26 loizides 1.2 Conversion(Double_t x, Double_t y, Double_t z, Double_t xErr, Double_t yErr, Double_t zErr) :
27 loizides 1.12 fVertex(x,y,z,xErr,yErr,zErr) ,fDCotTheta(0), fEOverP(0), fPairMass(0) {}
28 loizides 1.14 Conversion(const Vertex &v) :
29     fVertex(v), fDCotTheta(0), fEOverP(0), fPairMass(0) {}
30 bendavid 1.1
31 loizides 1.6 const Electron *Daughter(UInt_t i) const;
32 loizides 1.11 Double_t DCotTheta() const { return fDCotTheta; }
33     Double_t EOverP() const { return fEOverP; }
34     Double_t PairMass() const { return fPairMass; }
35 loizides 1.6 const ThreeVector &PairMomentum() const { return fPairMomentum; }
36 loizides 1.11 const Vertex &DecayVertex() const { return fVertex; }
37     Vertex &DecayVertex() { return fVertex; }
38     EObjType ObjType() const { return kConversion; }
39     void SetDCotTheta(Double_t dCotTh) { fDCotTheta = dCotTh; }
40     void SetEOverP(Double_t eOverP) { fEOverP = eOverP; }
41     void SetPairMass(Double_t pairMass) { fPairMass = pairMass; }
42 bendavid 1.3 void SetPairMomentum(Double_t px, Double_t py, Double_t pz);
43 bendavid 1.1
44     protected:
45 bendavid 1.9 Vertex fVertex; //reconstructed decay vertex
46 bendavid 1.10 Double32_t fDCotTheta; //delta cot theta wrt tracks at the conversion point
47 loizides 1.11 Double32_t fEOverP; //energy over momentum of conversion tracks
48 bendavid 1.10 Double32_t fPairMass; //mass of electron-positron pair at conversion point
49     ThreeVector32 fPairMomentum; //momentum of tracks at conversion point
50 bendavid 1.1
51 loizides 1.2 ClassDef(Conversion,1) // Conversion class
52 bendavid 1.1 };
53     }
54    
55     //--------------------------------------------------------------------------------------------------
56 loizides 1.6 inline const mithep::Electron *mithep::Conversion::Daughter(UInt_t i) const
57 bendavid 1.1 {
58     // Return reference to electron daughters.
59    
60     return static_cast<const mithep::Electron*>(fDaughters.At(i));
61     }
62 bendavid 1.3
63     //--------------------------------------------------------------------------------------------------
64     inline void mithep::Conversion::SetPairMomentum(Double_t px, Double_t py, Double_t pz)
65     {
66 loizides 1.4 // Set pair momentum.
67    
68 bendavid 1.13 fPairMomentum.SetXYZ(px,py,pz);
69     ClearMom();
70 bendavid 1.3 }
71 bendavid 1.1 #endif