ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/UHHAnalysis/NtupleWriter/Objects/Particle.h
(Generate patch)

Comparing UserCode/UHHAnalysis/NtupleWriter/Objects/Particle.h (file contents):
Revision 1.2 by peiffer, Wed May 23 09:10:59 2012 UTC vs.
Revision 1.5 by peiffer, Wed Jun 13 09:38:29 2012 UTC

# Line 13 | Line 13
13  
14   typedef ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiE4D< Double32_t > > LorentzVector;
15  
16 + /**
17 + *  @short generic particle class
18 + *  @author Thomas Peiffer
19 + */
20 +
21   class Particle{
22   public:
23 +  /// Default constructor
24    Particle(){
25      m_charge=0;
26      m_pt=0;
# Line 22 | Line 28 | class Particle{
28      m_phi=0;
29      m_energy=0;
30    };
31 <
31 >  /// Default destructor
32    ~Particle(){
33    };
34  
35 <  LorentzVector v4(){
35 >  /// four-momentum
36 >  LorentzVector v4() const{
37      LorentzVector v4;
38      v4.SetPt(m_pt);
39      v4.SetEta(m_eta);
# Line 34 | Line 41 | class Particle{
41      v4.SetE(m_energy);
42      return v4;
43    };
44 <
44 >  
45 >  /// charge
46    float charge() const{return m_charge;}
47 +  /// transverse momentum
48    float pt() const {return m_pt;}
49 +  /// pseudo-rapidity
50    float eta() const{return m_eta;}
51 +  /// phi
52    float phi() const{return m_phi;}
53 +  ///energy
54    float energy() const{return m_energy;}
55  
56 +  /// set charge
57    void set_charge(float charge){m_charge=charge;}
58 +  /// set transverse momentum
59    void set_pt(float pt){m_pt=pt;}  
60 +  /// set pseudo-rapidity
61    void set_eta(float eta){m_eta=eta;}
62 +  /// set phi
63    void set_phi(float phi){m_phi=phi;}
64 +  /// set energy
65    void set_energy(float energy){m_energy=energy;}
66  
67 <  double deltaPhi(Particle p2){
67 >  /// set four-momentum
68 >  void set_v4(LorentzVector v4){
69 >    set_pt(v4.Pt());
70 >    set_eta(v4.Eta());
71 >    set_phi(v4.Phi());
72 >    set_energy(v4.E());
73 >  }
74 >
75 >  /// distance in phi to particle p2
76 >  double deltaPhi(const Particle p2) const{
77      double deltaphi = fabs(this->phi() - p2.phi());
78      if(deltaphi > PI) deltaphi = 2* PI - deltaphi;
79      return deltaphi;
80    }
81 <  double deltaR(Particle p2){
81 >  /// distance in eta-phi plane to particle p2
82 >  double deltaR(const Particle p2) const{
83      double deltaeta = this->eta() - p2.eta();
84      return sqrt(deltaeta*deltaeta+deltaPhi(p2)*deltaPhi(p2));
85    }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines