1 |
loizides |
1.1 |
//--------------------------------------------------------------------------------------------------
|
2 |
loizides |
1.2 |
// $Id: Photon.h,v 1.1 2008/06/30 16:51:16 loizides Exp $
|
3 |
loizides |
1.1 |
//
|
4 |
|
|
// Photon
|
5 |
|
|
//
|
6 |
|
|
// Details to be worked out...
|
7 |
|
|
//
|
8 |
loizides |
1.2 |
// Authors: J.Bendavid, C.Loizides
|
9 |
loizides |
1.1 |
//--------------------------------------------------------------------------------------------------
|
10 |
|
|
|
11 |
|
|
#ifndef DATATREE_PHOTON_H
|
12 |
|
|
#define DATATREE_PHOTON_H
|
13 |
|
|
|
14 |
|
|
#include "MitAna/DataTree/interface/CompositeParticle.h"
|
15 |
|
|
#include "MitAna/DataTree/interface/FitVertex.h"
|
16 |
loizides |
1.2 |
#include "MitAna/DataTree/interface/Electron.h"
|
17 |
loizides |
1.1 |
|
18 |
|
|
namespace mithep
|
19 |
|
|
{
|
20 |
|
|
class Photon : public CompositeParticle
|
21 |
|
|
{
|
22 |
|
|
public:
|
23 |
|
|
Photon() {}
|
24 |
|
|
Photon(Double_t px, Double_t py, Double_t pz, Double_t e) : fFourVector(px,py,pz,e) {}
|
25 |
loizides |
1.2 |
Photon(Double_t px, Double_t py, Double_t pz, Double_t e, Double_t x, Double_t y, Double_t z) :
|
26 |
|
|
fFourVector(px,py,pz,e), fConvVertex(x,y,z) {}
|
27 |
loizides |
1.1 |
~Photon() {}
|
28 |
loizides |
1.2 |
|
29 |
|
|
const Electron *GetDaughter(UInt_t i) const;
|
30 |
|
|
const FitVertex &GetVertex() const { return fConvVertex; }
|
31 |
|
|
FourVector Mom() const { return fFourVector; }
|
32 |
|
|
void SetMom(Double_t px, Double_t py, Double_t pz, Double_t e);
|
33 |
loizides |
1.1 |
|
34 |
|
|
protected:
|
35 |
loizides |
1.2 |
FourVector fFourVector; //four momentum vector
|
36 |
|
|
FitVertex fConvVertex; //conversion vertex
|
37 |
loizides |
1.1 |
|
38 |
loizides |
1.2 |
ClassDef(Photon,1) // Photon class
|
39 |
loizides |
1.1 |
};
|
40 |
|
|
}
|
41 |
loizides |
1.2 |
|
42 |
|
|
//--------------------------------------------------------------------------------------------------
|
43 |
|
|
inline const mithep::Electron *mithep::Photon::GetDaughter(UInt_t i) const
|
44 |
|
|
{
|
45 |
|
|
// Return reference to electron daughters.
|
46 |
|
|
|
47 |
|
|
return static_cast<const mithep::Electron*>(fDaughters.At(i));
|
48 |
|
|
}
|
49 |
|
|
|
50 |
|
|
//--------------------------------------------------------------------------------------------------
|
51 |
|
|
inline void mithep::Photon::SetMom(Double_t px, Double_t py, Double_t pz, Double_t e)
|
52 |
|
|
{
|
53 |
|
|
// Set four vector.
|
54 |
|
|
|
55 |
|
|
fFourVector.SetXYZT(px, py, pz, e);
|
56 |
|
|
}
|
57 |
loizides |
1.1 |
#endif
|