ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/Conversion.h
Revision: 1.7
Committed: Tue Jul 22 19:57:50 2008 UTC (16 years, 9 months ago) by loizides
Content type: text/plain
Branch: MAIN
CVS Tags: MITHEP_2_0_x
Changes since 1.6: +4 -4 lines
Log Message:
Remove std:vector implementation of RefArray and use our own TRefArray using the stack rather than the heap. For IO we use a custom streamer.

File Contents

# User Rev Content
1 bendavid 1.1 //--------------------------------------------------------------------------------------------------
2 loizides 1.7 // $Id: Conversion.h,v 1.6 2008/07/14 20:55:19 loizides 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     #ifndef DATATREE_CONVERSION_H
12     #define DATATREE_CONVERSION_H
13    
14     #include "MitAna/DataTree/interface/CompositeParticle.h"
15     #include "MitAna/DataTree/interface/FitVertex.h"
16     #include "MitAna/DataTree/interface/Electron.h"
17    
18     namespace mithep
19     {
20     class Conversion : public CompositeParticle
21     {
22     public:
23 loizides 1.7 Conversion() : fVertex(0,0,0) {}
24     Conversion(Double_t x, Double_t y, Double_t z) : fVertex(x,y,z) {}
25 loizides 1.2 Conversion(Double_t x, Double_t y, Double_t z, Double_t xErr, Double_t yErr, Double_t zErr) :
26 loizides 1.7 fVertex(x,y,z,xErr,yErr,zErr) {}
27 bendavid 1.1 ~Conversion() {}
28    
29 loizides 1.6 const Electron *Daughter(UInt_t i) const;
30     Double_t DCotTheta() const { return fDCotTheta; }
31     Double_t EOverP() const { return fEOverP; }
32     Double_t PairMass() const { return fPairMass; }
33     const ThreeVector &PairMomentum() const { return fPairMomentum; }
34     const FitVertex &DecayVertex() const { return fVertex; }
35     FitVertex &DecayVertex() { return fVertex; }
36 bendavid 1.3 void SetDCotTheta(Double_t dCotTheta) { fDCotTheta = dCotTheta;}
37     void SetEOverP(Double_t eOverP) { fEOverP = eOverP;}
38     void SetPairMass(Double_t pairMass) { fPairMass = pairMass;}
39     void SetPairMomentum(Double_t px, Double_t py, Double_t pz);
40 bendavid 1.1
41     protected:
42 loizides 1.4 FitVertex fVertex; //reconstructed decay vertex
43     Double_t fDCotTheta; //delta cot theta wrt tracks at the conversion point
44     Double_t fEOverP; //E over p of conversion tracks
45     Double_t fPairMass; //mass of electron-positron pair at conversion point
46 bendavid 1.3 ThreeVector fPairMomentum; //momentum of tracks at conversion point
47 bendavid 1.1
48 loizides 1.2 ClassDef(Conversion,1) // Conversion class
49 bendavid 1.1 };
50     }
51    
52     //--------------------------------------------------------------------------------------------------
53 loizides 1.6 inline const mithep::Electron *mithep::Conversion::Daughter(UInt_t i) const
54 bendavid 1.1 {
55     // Return reference to electron daughters.
56    
57     return static_cast<const mithep::Electron*>(fDaughters.At(i));
58     }
59 bendavid 1.3
60     //--------------------------------------------------------------------------------------------------
61     inline void mithep::Conversion::SetPairMomentum(Double_t px, Double_t py, Double_t pz)
62     {
63 loizides 1.4 // Set pair momentum.
64    
65 bendavid 1.3 fPairMomentum.SetXYZ(px,py,pz);;
66     }
67 bendavid 1.1 #endif