SusyNtuple
SusyNtuple/Particle.h
00001 // Dear emacs, this is -*- c++ -*-
00002 #ifndef SUSYNTUPLE_PARTICLE_H
00003 #define SUSYNTUPLE_PARTICLE_H
00004 
00005 #include "TLorentzVector.h"
00006 
00007 namespace Susy
00008 {
00010 class Particle : public TLorentzVector
00011 {
00012 public:
00013     Particle(){ clear(); }
00014     virtual ~Particle(){};
00016     Particle(const Particle &);
00018     Particle& operator=(const Particle &);
00019 
00020     // Nominal pt, eta, phi, m, by request
00021     float pt;
00022     float eta;
00023     float phi;
00024     float m;
00025     void resetTLV(){ this->SetPtEtaPhiM(pt,eta,phi,m); };
00026 
00031     double DeltaRy(const Particle& p1) const;
00032 
00034 
00035     void setState(int sys){ resetTLV(); };
00036 
00037     void clear() {
00038       TLorentzVector::Clear();
00039       pt = eta = phi = m = 0;
00040     }
00041 
00043     virtual void print() const {};
00044 
00046     inline bool operator > (const Particle & other) const {
00047       return Pt() > other.Pt();
00048     }
00049     inline bool operator < (const Particle & other) const {
00050       return Pt() < other.Pt();
00051     }
00052 
00053     ClassDef(Particle, 2);
00054   };
00055 } // Susy
00056 #endif
 All Classes Functions Variables Typedefs Enumerations Enumerator