SusyNtuple
|
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