class HKickMassFit: public TObject

_HADES_CLASS_DESCRIPTION

 HKickMassFit

   This class makes both particle identification and a inverse
kinematics momentum fit.

   There is a table of masses for known particles defined in the class.
When a user calls fitMomentum giving a mass and a velocity, that mass is
compared to each of the masses in the table.

   If the mass given by the user is compatible with one and only one of the
masses in the table then the corresponding Id is assigned to the particle,
as a second step the momentum of this particlei, determined from its real mass
(the one in the table) and the given velocity, is calculated.

   To check if a mass is compatible with one of those in the table the
following criterium is used

    (mass - mass_table) / error_in_mass  <  tolerance

   Where tolerance is a parameter of the class with the default value of 3.

   The table of masses consists of two static arrays: fMassTable and
fPidTable. The first table is an array of known masses plus one last element
which always equals -1 and signals the end of the table.

   Each of the entries in the fMassTable array corresponds to two entries in
fPidTable which are the two types of particles with that mass: first is
positive charged and second is negative charged.

Function Members (Methods)

public:
HKickMassFit()
HKickMassFit(const HKickMassFit&)
virtual~HKickMassFit()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
voidfitMomentum(Double_t p0, Double_t errP0, Double_t beta, Double_t errBeta, Int_t polarity)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
Double_tgetMass()
Double_tgetMomentum()
Double_tgetMomentumErr()
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Char_tgetPID()
virtual const char*TObject::GetTitle() const
Double_tgetTolerance()
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
HKickMassFit&operator=(const HKickMassFit&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
voidsetTolerance(Double_t t)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
Double_tsnap(Double_t mass, Double_t errMass)

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Double_tfMass
static Double_tfMassTable[10]
Double_tfMomentum
Double_tfMomentumErr
Char_tfPid
static Char_tfPidTable[10]
Int_tfPolarity
Double_tfTolerance

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HKickMassFit(const HKickMassFit& )
 Constructor
~HKickMassFit(void)
Obvious
void fitMomentum(Double_t p0, Double_t errP0, Double_t beta, Double_t errBeta, Int_t polarity)
 This is the core method: a initial momentum is provided together with
 a velocity and the corresponding errors. Also a polarity (sign of charge)
 is given as an argument.

  The method will identify the particle and calculate the corresponding
PID and a new value for the momentum. Those results can be retrieved
using other class methods later
Double_t snap(Double_t mass, Double_t errMass)
Looks which mass in the mass table is compatible with the given one
 withing the errors.
HKickMassFit(const HKickMassFit& )
void setTolerance(Double_t t)
{ fTolerance = t; }
Double_t getMass(void)
{ return fMass; }
Double_t getMomentum(void)
{ return fMomentum; }
Double_t getMomentumErr(void)
{ return fMomentumErr; }
Double_t getTolerance(void)
{ return fTolerance; }
Char_t getPID(void)
{ return fPid; }

Last change: Sat May 22 12:58:24 2010
Last generated: 2010-05-22 12:58

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.