#include "hpidreconstructor.h"

HPidReconstructor


class description - source file - inheritance tree (.pdf)

class HPidReconstructor : public HReconstructor

Inheritance Chart:
TObject
<-
TNamed
<-
HTask
<-
HReconstructor
<-
HPidReconstructor

    protected:
virtual void calculateRelInts(HPidTrackCand* pTrack, HPidCandidate* pCand) HPidCandidate* getNextSlot() void setDefault() public:
HPidReconstructor(Option_t* par = "PDF,CL,ALG_KICK,RELINTS", Float_t HadronBias = 1.0) HPidReconstructor(Text_t* name, Text_t* title, Option_t* par = "PDF,CL,ALG_KICK,RELINTS", Float_t HadronBias = 1.0) ~HPidReconstructor() Bool_t addAlgorithm(HPidAlgorithm* pAlg) Int_t addParticleId(Short_t nType) Int_t algorithmsNumber() const static TClass* Class() virtual Int_t execute() virtual Bool_t finalize() HPidAlgorithm* getAlgorithm(const TString& sName) const HPidAlgorithm* getAlgorithm(EnumPidAlgorithm_t eId) const Bool_t getCalcCL() const Bool_t getCalcPDF() const Bool_t getCalcRelints() const Int_t getDebug() const Short_t getParticleId(Int_t iPos) const Int_t getParticleIndex(Short_t nType) const virtual Bool_t init() virtual TClass* IsA() const static void normalize(Float_t* af, UInt_t iSize) Int_t particlesNumber() const virtual void Print(Option_t* option) const virtual void print() const virtual Bool_t reinit() Bool_t removeAlgorithm(HPidAlgorithm* pAlg) Bool_t removeAlgorithm(const TString& sName) Bool_t removeAlgorithm(EnumPidAlgorithm_t eId) void setCalcCL(Bool_t b = kTRUE) void setCalcPDF(Bool_t b = kTRUE) void setCalcRelints(Bool_t b = kTRUE) void setDebug(Int_t i) void setDefaultParticleIds() void setParameters(Option_t* par) void setParticleId(Int_t iPos, Short_t nType) void setParticleIds(Short_t* aIds, Int_t iSize) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
Bool_t bCalcPDF calculate PDF enabled Bool_t bCalcCL calculate CL enabled Bool_t bCalcRelints calculate relative intensities enabled static const Int_t kMaxParticles maximum number of different particle species TList* pAlgorithms list of all algorithms TIterator* pitList iterator over the list of the algs Bool_t bInDelete flag used during removing to indicate state of reconstructor instance HCategory* pInputCat category HPidTrackCand (input) HIterator* pitInput iterator over pInputCat category HCategory* pOutCat category HPidCandidate (output) Short_t aParticles[100] ids of particles Int_t iParticles number of active particles Int_t iAlgorithms number of active coloumns needed by the algorithms Bool_t bInitOk set kTRUE if last init was ok HPidReconstructorPar* pParams pointer to container with parameters (relative intensities) Int_t iDebug level of debug informations Int_t iVectPerAlg number of vectors for one algorithm. This can be 1 or 2 Float_t fHadronBias Bias distorting bayesian decision towards hadron ID. public:
Int_t iSelectedMomAlg

Class Description


 HPidReconstructor

 A set of all PID algorithms
 HPidAlgorithms may be connected to the reconstructor by addAlgorithm()
 methods.
 init(), reinit(), execute() and finalize() methods of algorithms are called
 in the methods of the reconstructor with the same names.

 The configuration of the reconstructor may be done by options given
 in the constructor or by setParameters() method. Possible options:
 PDF    - calculate PDF
 CL     - calculate CL
 DEBUGX - debug info, if X set then it defines the debug info level



HPidReconstructor(Option_t par[],Float_t HadronBias) : HReconstructor("PidReconstructor", "Set of all PID algorithms")
 Default constructor.
 For par[] options see setParameters() method desription.

HPidReconstructor(Text_t name[], Text_t title[], Option_t par[], Float_t HadronBias) : HReconstructor(name, title)
 Constructor with names
 For par[] options see setParameters() method desription.

~HPidReconstructor(void)
 Delete all alocated objects and ALL ALGORITHMS

void setDefault(void)
 Called in constructors to set default valuest to the members

void setParameters(Option_t par[])
 Set parameters by names. Options (may be separated by comma or blank chars):
 PDF    - calculate PDF
 CL     - calculate CL
 RELINTS     - calculate RELINTS (Not useful for hard cut or banana cut pid)
 DEBUGX - debug info, if X set then it define the debug info level

Bool_t init(void)

Bool_t reinit(void)
 Reinitialize the reconstructor and call reinit of all algorithms

Bool_t finalize(void)

Int_t execute(void)

HPidCandidate* getNextSlot(void)
 Get next slot from the output category

void calculateRelInts(HPidTrackCand *pTrack, HPidCandidate *pCand)

Bool_t addAlgorithm(HPidAlgorithm *pAlg)
 Add the algorithm to the set of algorithms.
 The id of the algorithm must be unique in the set
 The reconstructor of the algorithm is set to the current one

HPidAlgorithm* getAlgorithm(const TString &sName) const
 Find an algorithm in the set by it's name.
 Returns the first algorithm in the list with specified name (name do not
 need to be unique)

HPidAlgorithm* getAlgorithm(EnumPidAlgorithm_t eId) const
 Find an algorithm in the set by it's id.

Bool_t removeAlgorithm(HPidAlgorithm *pAlg)
 Remove the object from the list if it's in the set

Bool_t removeAlgorithm(const TString &sName)
 Remove the object from the list by its name.

Bool_t removeAlgorithm(EnumPidAlgorithm_t eId)
 Remove the object from the list by its id.

Short_t getParticleId(Int_t iPos) const

Int_t getParticleIndex(Short_t nType) const

Int_t addParticleId(Short_t nType)
 Add particle nType to the array of the particles the user is interested in.
 Returns the position of the particle in the array or
 -1 - no place in the array
 -2 - the particle is already added to the array

void setParticleId(Int_t iPos, Short_t nType)
 Set the iPos element of the array of the particle types to nType.
 Bounds are checked.

void setParticleIds(Short_t aIds[], Int_t iSize)
 copy ids of particles form the input array to aParticles

void setDefaultParticleIds(void)
 Sets default set of the particles:
 2(e+), 3(e-), 8(pi+), 9(pi-), 14(p), 45(d), 11(K+), -2 and -1 (fakes)

void print(void) const
 Print the list of all algorithms

void normalize(Float_t af[], UInt_t iSize)



Inline Functions


              Int_t algorithmsNumber() const
              Int_t particlesNumber() const
             Bool_t getCalcPDF() const
               void setCalcPDF(Bool_t b = kTRUE)
             Bool_t getCalcRelints() const
               void setCalcRelints(Bool_t b = kTRUE)
             Bool_t getCalcCL() const
               void setCalcCL(Bool_t b = kTRUE)
              Int_t getDebug() const
               void setDebug(Int_t i)
               void Print(Option_t* option) const
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)


Author: Marcin Jaskula 27/07/2002
Last update: Fri Jan 26 12:23:00 2007


ROOT page - Class index - Class Hierarchy - Top of the page

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.