1 |
loizides |
1.1 |
//--------------------------------------------------------------------------------------------------
|
2 |
bendavid |
1.15 |
// $Id: Particle.h,v 1.14 2008/07/16 09:32:04 bendavid Exp $
|
3 |
loizides |
1.1 |
//
|
4 |
|
|
// Particle
|
5 |
|
|
//
|
6 |
|
|
// Details to be worked out...
|
7 |
|
|
//
|
8 |
paus |
1.7 |
// Authors: C.Loizides
|
9 |
loizides |
1.1 |
//--------------------------------------------------------------------------------------------------
|
10 |
|
|
|
11 |
loizides |
1.9 |
#ifndef DATATREE_PARTICLE_H
|
12 |
|
|
#define DATATREE_PARTICLE_H
|
13 |
|
|
|
14 |
|
|
#include <TMath.h>
|
15 |
|
|
#include "MitAna/DataTree/interface/DataObject.h"
|
16 |
|
|
|
17 |
loizides |
1.1 |
namespace mithep
|
18 |
|
|
{
|
19 |
loizides |
1.3 |
class Particle : public DataObject
|
20 |
loizides |
1.1 |
{
|
21 |
|
|
public:
|
22 |
|
|
Particle() {}
|
23 |
loizides |
1.3 |
~Particle() {}
|
24 |
loizides |
1.11 |
|
25 |
bendavid |
1.15 |
virtual Double_t Charge() const=0;
|
26 |
loizides |
1.11 |
virtual Double_t E() const { return Mom().E();}
|
27 |
|
|
virtual Double_t Eta() const { return Mom().Eta();}
|
28 |
|
|
virtual Double_t Mass() const { return TMath::Sqrt(Mom().M2()); }
|
29 |
bendavid |
1.15 |
virtual FourVector Mom() const=0;
|
30 |
loizides |
1.11 |
virtual Double_t Phi() const { return Mom().Phi();}
|
31 |
|
|
virtual Double_t Pt() const { return Mom().Pt();}
|
32 |
|
|
virtual Double_t Px() const { return Mom().Px();}
|
33 |
|
|
virtual Double_t Py() const { return Mom().Py();}
|
34 |
|
|
virtual Double_t Pz() const { return Mom().Pz();}
|
35 |
|
|
virtual Double_t P() const { return Mom().P();}
|
36 |
loizides |
1.8 |
|
37 |
loizides |
1.13 |
void Print(Option_t *opt="") const;
|
38 |
|
|
|
39 |
loizides |
1.4 |
protected:
|
40 |
loizides |
1.11 |
|
41 |
loizides |
1.12 |
ClassDef(Particle, 1) // Generic particle class
|
42 |
loizides |
1.1 |
};
|
43 |
loizides |
1.8 |
}
|
44 |
|
|
#endif
|