#ifndef HPIDDILEPTON_H
#define HPIDDILEPTON_H
#include "TLorentzVector.h"
#include "TMath.h"
class HPidParticle;
class HCategory;
class HPidDilepton: public TLorentzVector
{
public:
HPidDilepton(Short_t nId1 = -1, Short_t nId2 = -1);
HPidDilepton(const HPidParticle *pPart1,
const HPidParticle *pPart2);
Bool_t setParticles(Short_t nId1, Short_t nId2);
Bool_t setParticles(const HPidParticle *pPart1,
const HPidParticle *pPart2);
Short_t getParticleId1(void) const { return nParticleId1; }
const HPidParticle* getParticle1(void) const;
Short_t getParticleId2(void) const { return nParticleId2; }
const HPidParticle* getParticle2(void) const;
Char_t getCharge(void) const { return cCharge; }
Float_t getOpeningAngleDeg(void) const { return fAngle; }
Float_t getOpeningAngleRad(void) const
{ return TMath::DegToRad() * fAngle; }
inline Double_t thetaDeg(void) const;
inline Double_t phiDeg(void) const;
virtual void Clear(Option_t *opt = "") { setDefault(); }
virtual void Print(Option_t *opt = "") const { print(); }
virtual void print(void) const;
Bool_t isOk(void) const
{ return ((nParticleId1 >= 0) && (nParticleId2 >= 0)); }
static HCategory* buildPidDileptonCategory(void);
static HPidDilepton* getPidDilepton(Int_t iIdx, HCategory *pCat = NULL);
protected:
void setDefault(void);
void calculate(const HPidParticle *pPart1,
const HPidParticle *pPart2);
Short_t nParticleId1;
Short_t nParticleId2;
Char_t cCharge;
Float_t fAngle;
ClassDef(HPidDilepton, 1)
};
inline Double_t HPidDilepton::thetaDeg(void) const
{
return TMath::RadToDeg() * Theta();
}
inline Double_t HPidDilepton::phiDeg(void) const
{
Double_t dPhi;
if((dPhi = TMath::RadToDeg() * Phi()) < 0.0)
dPhi += 360.0;
return dPhi;
}
#endif /* HPIDDILEPTON_H */
Last change: Sat May 22 13:07:01 2010
Last generated: 2010-05-22 13:07
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.