// $Id: hpair.h,v 1.7 2008-09-18 13:06:48 halo Exp $
// Author: Thomas.Eberl@ph.tum.de, last modified : 2006-04-20 15:44:23
//
// ---------------------------------------------------------------------------
#ifndef HPAIR_H
#define HPAIR_H
// ---------------------------------------------------------------------------
#include "TLorentzVector.h"
// ---------------------------------------------------------------------------
class HPidParticle;
// ---------------------------------------------------------------------------

class HPair: public TLorentzVector {


public:

    HPair();
    HPair(HPidParticle*, HPidParticle*);
    virtual ~HPair();
    HPair(const HPair& source);
    virtual void print(void);
    virtual void reset(void);

    
    Int_t   getIndexParticle1(void)  const {return sIdxP1;       };
    Int_t   getIndexParticle2(void)  const {return sIdxP2;       };
    Int_t   getPid1(void)            const {return nPid1;        }; 
    Int_t   getPid2(void)            const {return nPid2;        }; 
    Float_t getPidProbability1(void) const {return fProbability1;};
    Float_t getPidProbability2(void) const {return fProbability2;};
    Float_t getOpeningAngleDeg(void) const {return fOpang;       };
    Float_t getInvariantMass(void)   const {return fInvMass;     };
    virtual Char_t  getCharge(void)          const;
    Char_t  getIsCutFlag(void)       const {return cIsCut;       };
    void    setIsCutFlag(Char_t c)         {cIsCut=c;            };
    void    setBitFieldPassedCuts(Int_t i)     {nBitFieldPassedCuts=i;};
    Int_t   getBitFieldPassedCuts(void) const  {return nBitFieldPassedCuts;};
// ---------------------------------------------------------------------------
	
protected:

    void setIndexParticle1(Short_t sIndex)  {sIdxP1=sIndex;};
    void setIndexParticle2(Short_t sIndex)  {sIdxP2=sIndex;};
    void setPid1(Int_t nPid)                {nPid1=nPid;};
    void setPid2(Int_t nPid)                {nPid2=nPid;};
    void setPidProbability1(Float_t fProb)  {fProbability1=fProb;};
    void setPidProbability2(Float_t fProb)  {fProbability2=fProb;};
    void setOpeningAngleDeg(Float_t fOp)    {fOpang=fOp;};
    void setInvariantMass(Float_t fM)       {fInvMass=fM;};
    //
    Bool_t calcPairProperties(HPidParticle*, HPidParticle*);
    //
    Short_t sIdxP1; 
    Short_t sIdxP2;
    Float_t fProbability1;
    Float_t fProbability2;
    Int_t   nPid1;
    Int_t   nPid2;
    //
    Float_t fOpang;
    Float_t fInvMass;
    Char_t cIsCut; // 0 - not cut, 1 - direct cut, 2 - recursive cut, 3 - both
    //
    Int_t nBitFieldPassedCuts; // individual for object
    // should cut flags be changed dynamically according to event topology ???
// ---------------------------------------------------------------------------
    ClassDef(HPair,1)
};
#endif // HPAIR_H

Last change: Sat May 22 13:06:04 2010
Last generated: 2010-05-22 13:06

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.