class HHypListFiller: public HReconstructor

Function Members (Methods)

public:
HHypListFiller()
HHypListFiller(const Text_t* name, const Text_t* title)
virtual~HHypListFiller()
voidTObject::AbstractMethod(const char* method) const
Bool_tAddOneMissing(Int_t particle)
Bool_tAddTrack(Int_t particle)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidHReconstructor::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual Bool_tHReconstructor::connectTask(HTask* task, Int_t n = 0)
virtual voidTNamed::Copy(TObject& named) 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 Int_texecute()
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 voidTNamed::FillBuffer(char*& buffer)
virtual Bool_tfinalize()
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual HTask*HReconstructor::getComposite()
virtual voidHReconstructor::getConnections()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
Int_tgetNumberOfCombinations()
Int_tgetNumberOfParticles()
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual HTask*HTask::getOwner()
TObjArrayHReconstructor::getTable()
virtual HTask*HReconstructor::getTask(const Char_t* name)
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::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 Bool_tinit()
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tHReconstructor::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
virtual voidHReconstructor::isTimed(Bool_t flag = kTRUE)
Bool_tTObject::IsZombie() const
voidjust_a_test_for_debugging()
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual HTask*HReconstructor::next(Int_t& errCode)
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)
HTask&HTask::operator=(const HTask&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual voidHReconstructor::printTimer()
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual Bool_tHTask::reinit()
voidTObject::ResetBit(UInt_t f)
virtual voidHReconstructor::resetTimer()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidHReconstructor::setActive(Bool_t state)MENU
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual Bool_tHTask::setConnections()
voidsetContCatComb(HCategory* pContCat)
voidsetContCatList(HCategory* pContCat)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
Bool_tSetExitList(Int_t e_list)
voidHTask::setManual()
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidHTask::setOwner(HTask* atask)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
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()
private:
voidcreate_pid_table()
Bool_tfill_pid_fprob(HHypComb* hypcomb, Int_t* numpidtracks)
voidfill_pid_idx(HHypComb* hypcomb)
voidfill_pid_table(HHypComb* hypcomb)
Bool_tFindNextPermutation(Int_t* array, Int_t count)
Bool_tgenerateNumberOfCombinations()
voidPermReverser(Int_t* array, Int_t a, Int_t b)
voidPermSwapper(Int_t* array, Int_t a, Int_t b)
voidremove_fakes_pid_table()

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
public:
Bool_tis_valid[1000]
protected:
Bool_tHReconstructor::fActiveActive flag
TList*HReconstructor::fHistogramsList of histograms generated by this reconstructor.
Bool_tHTask::fIsTimedtimer flag
TStringTNamed::fNameobject identifier
TObjArrayHReconstructor::fOutputs
TStopwatchHReconstructor::fTimerTask timer
TStringTNamed::fTitleobject title
Bool_tHTask::isConnected
Bool_tHTask::isInitialised
Bool_tHTask::manual
HTask*HTask::owner
private:
Int_texitList
HCategory*m_pContCatComb! Pointer to the hit data category HHypComb
HCategory*m_pContCatList! Pointer to the hit data category HHypList
HCategory*m_pContCatTrackCand! Pointer to the hit data category HPidTrackCand
HIterator*m_pContItTrackCand! Iterator for category HPidTrackCand
Int_tnMinus
Int_tnMinusReal
Int_tnPlus
Int_tnPlusReal
Int_tnumberOfCombinations
Int_tnumberOfNegCombinations
Int_tnumberOfParticlesTotal Number of Particles including Fakes
Int_tnumberOfPosCombinations
Int_tnumberOfPossibleMissing
Int_tnumberOfRealParticlesNumber of REAL Particles (without Fakes)
TArrayIparticleArrayMinus
TArrayIparticleArrayMissing
TArrayIparticleArrayPlus
Int_t**pid_full_arrayreal and fake particles
Int_t**pid_real_arrayonly real particles

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HHypListFiller(const Text_t* name, const Text_t* title)
HHypListFiller()
~HHypListFiller(void)
Bool_t SetExitList(Int_t e_list)
Bool_t init()
 Before init is called, all the tracks need to be added.
 Next the number of possible combinations is computed and a pid
 table with all permutaions is created. Next steps done are to init
 HypComb, HypList and PidTrackCand Containers
Int_t execute()
Bool_t finalize()
 cout<<" \n\n\n HHypListFiller::finalize() \n\n";
Bool_t AddTrack(Int_t particle)
 Adds a particle type track to filler
      must be done before init is called
Bool_t AddOneMissing(Int_t particle)
 Adds a missing particle to filler
      must be done before init is called
void just_a_test_for_debugging(void)
 just_a_test_for_debugging - the name says it
 -> creates pid_table
 -> copy to dummy hypcomb
 -> prints content
Bool_t generateNumberOfCombinations()
 computes number of combinations and number of pos/neg particle combination
 This function is normally called by init.

 Mathematics (Bronstein ;-)):
 Permutation of n elements in m groups with k1 to km elements each
 P=n! / ( k1! * k2! *...* km! )
 this is true for positive and negative independently
 -> everything is done for positive AND negativ particles

 the following things happen here:
 1) sort positive and negative particle IDs
   -> now every "difference" between two particles is one additional type
 2) now k1! * k2! ... is calculated
   -> if particle type changes, loop-last_index is k1, next is k2... last is km
 3) result is produkt of ks
 3) from these differences calculate number of combinations allcombination/doubles
 4) numberofcombinations is numberofpositive times numberofnegative
void PermSwapper(Int_t* array, Int_t a, Int_t b)
 Swap array-values for indizes a,b
 only used for permutations by FindNextPermutation
 and PermReverser
void PermReverser(Int_t* array, Int_t a, Int_t b)
 Swap array-values from indizes a to b, meaning [a]<->[b] [a-1]<->[b-1] ...
 a MUST be smaller or equal than b or nothing will be done
 only used for permutations by FindNextPermutation
Bool_t FindNextPermutation(Int_t* array, Int_t count)
 Finds next permution of array. perms are deivered in right order
 starting from 11223 to 32211. If last one is reached, return false
 for the first call, array values MUST be in the right order!!!
 This is done by init() -> generateNumberOfCombinations
 Array values can be ANY number... negativ, 0, 1, 9999... dont care about this
void create_pid_table(void)
 This function create all possible permutation for the given
 particles and stores it into pid_array, which is then copied
 to hypcomb for every event by fill_pid_table.
 number of possible combinations must be calculated before by
 generateNumberOfCombinations ...
 function is normally called by init
void remove_fakes_pid_table(void)
void fill_pid_table(HHypComb* hypcomb)
void fill_pid_idx(HHypComb* hypcomb)
Bool_t fill_pid_fprob(HHypComb* hypcomb, Int_t* numpidtracks)
void setContCatList(HCategory* pContCat)
{m_pContCatList = pContCat;}
void setContCatComb(HCategory* pContCat)
{m_pContCatComb = pContCat;}
Int_t getNumberOfCombinations(void)
 introduced only for debugging
{ return(numberOfCombinations);}
Int_t getNumberOfParticles(void)
{ return(numberOfParticles);}

Last change: 20/04/2005 B. Spruck
Last generated: 2010-05-22 12:57

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.