class HHypListFillerInclusive: public HReconstructor

Function Members (Methods)

public:
HHypListFillerInclusive()
HHypListFillerInclusive(const Text_t* name, const Text_t* title)
virtual~HHypListFillerInclusive()
voidTObject::AbstractMethod(const char* method) const
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
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
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:
Int_tCalculateNComb(Int_t nTracksPlus, Int_t nPartPlus, Int_t nSamePartPlus)
voidcreate_pid_table()
Bool_tfill_pid_fprob(HHypComb* hypcomb, Int_t* numpidtracks)
Int_tfill_pid_idx(HHypComb* hypcomb)
Int_tfill_pid_idx_double_part(HHypComb* hypcomb, Int_t nTracks, Int_t iParPosition, Int_t iStartComb, Int_t Step, Int_t* pidIdx)
Int_tfill_pid_idx_double_part_first(HHypComb* hypcomb, Int_t nTracks, Int_t iParPosition, Int_t iStartComb, Int_t Step, Int_t* pidIdx)
Int_tfill_pid_idx_double_part_secound(HHypComb* hypcomb, Int_t nTracks, Int_t iParPosition, Int_t iStartComb, Int_t Step, Int_t* pidIdx)
Int_tfill_pid_idx_single_part(HHypComb* hypcomb, Int_t nTracks, Int_t iParPosition, Int_t iStartComb, Int_t iNComb, Int_t* pidIdx)
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
};
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_tElectronIdx[20]
Int_tLeptonIdx[20]
Int_tNegHadronIdx[20]
Int_tPosHadronIdx[20]
Int_tPositronIdx[20]
Int_tcounterHadronMinus
Int_tcounterHadronPlus
Int_tcounterLepton
Int_tcounterLeptonMinus
Int_tcounterLeptonPlus
Int_texitList
HCategory*m_pContCatComb!Pointer to the hit data category HHypComb
HCategory*m_pContCatList!Pointer to the hit data category HHypList
HCategory*m_pContCatPart!Pointer to the hit data category HPidPArticle
HIterator*m_pContItPart!Pointer to the hit data category HPidPArticle
Int_tnElectron
Int_tnHadronMinus
Int_tnHadronPlus
Int_tnLepton
Int_tnLeptonMinus
Int_tnLeptonPlus
Int_tnNegPion
Int_tnPosPion
Int_tnPositron
Int_tnProton
Int_tnumberOfCombinations
Int_tnumberOfParticles
TArrayIparticleArrayMinus
TArrayIparticleArrayPlus

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HHypListFillerInclusive(const Text_t* name, const Text_t* title)
HHypListFillerInclusive()
~HHypListFillerInclusive(void)
Bool_t SetExitList(Int_t e_list)
Bool_t init()
Int_t execute()
Bool_t finalize()
Bool_t AddTrack(Int_t particle)
 Adds a particle type track to filler
      must be done before init is called
void fill_pid_table(HHypComb* hypcomb)
Int_t fill_pid_idx(HHypComb* hypcomb)
Int_t fill_pid_idx_double_part_first(HHypComb* hypcomb, Int_t nTracks, Int_t iParPosition, Int_t iStartComb, Int_t Step, Int_t* pidIdx)
Int_t fill_pid_idx_double_part_secound(HHypComb* hypcomb, Int_t nTracks, Int_t iParPosition, Int_t iStartComb, Int_t Step, Int_t* pidIdx)
Int_t fill_pid_idx_double_part(HHypComb* hypcomb, Int_t nTracks, Int_t iParPosition, Int_t iStartComb, Int_t Step, Int_t* pidIdx)
Int_t fill_pid_idx_single_part(HHypComb* hypcomb, Int_t nTracks, Int_t iParPosition, Int_t iStartComb, Int_t iNComb, Int_t* pidIdx)
Bool_t fill_pid_fprob(HHypComb* hypcomb, Int_t* numpidtracks)
	HPidTrackCand *PidPart = NULL;

	HCategory *pidpartCat = gHades->getCurrentEvent()->getCategory(catPidTrackCand);

	for (Int_t Icomb = 0; Icomb < numberOfCombinations; Icomb++) {
		Float_t ProbComb = 1.0;

		if (Icomb < MAX_USER_VALUES)
			numpidtracks[Icomb] = 0;
		for (Int_t Ipart = 0; Ipart < numberOfRealParticles; Ipart++) {
			Int_t Pid = hypcomb->getPid(Icomb, Ipart);
			Int_t Idx = hypcomb->getIdxPidTrackCand(Icomb, Ipart);

			PidPart = (HPidTrackCand *) pidpartCat->getObject(Idx);

			if (PidPart == NULL) {
				Error("fill_pid_fprob","[ERROR] HHypListFillerInclusive::execute() setProbComb");
				return kFALSE;
			}

			Float_t Prob = PidPart->getWeightForPID(Pid);
			Float_t Pid_from_PID = PidPart->getPid();

			//cout << "Our Pid " << Pid << " Prob " << Prob << " Pid_from_PID " << Pid_from_PID << endl;

			// To distinguish this to cases (below)
			// Pid_from_PID=-3  Prob(p)=-1  Prob(pi+)=-1     Prob(pi-)=-1   Charge=-1
			// Pid_from_PID= 8  Prob(p)=-1  Prob(pi+)=0.999  Prob(pi-)=-1   Charge= 1
			if (Prob == -1.0 && Pid_from_PID < 0) {
				Prob = 1.0;
			} else if (Prob == -1.0 && Pid_from_PID > 0) {
				Prob = 0.0;
			} else if (Icomb < MAX_USER_VALUES){
				numpidtracks[Icomb]++;
			}

			ProbComb *= Prob;
		}
		//std::cout << "setting prob " << ProbComb << std::endl;
		if (ProbComb < 0)
			ProbComb = 0.0;         //lower than zero is very strange

		hypcomb->setProbComb(Icomb, ProbComb);
	}// end for

Int_t CalculateNComb(Int_t nTracksPlus, Int_t nPartPlus, Int_t nSamePartPlus)
 number of positiv tracks type X, number of positive particles X, number of identicel particles X
 X i.e positive hadron
 if we want to analize p p cases and we find out 3 good tracks (X) : CalculateNComb(3,2,2)
 if we want to analize p p pip and we find out 4 good tracks (X) : CalculateNComb(4,3,2)
void setContCatList(HCategory* pContCat)
{m_pContCatList = pContCat;}
void setContCatComb(HCategory* pContCat)
{m_pContCatComb = pContCat;}
Bool_t generateNumberOfCombinations()
void create_pid_table(void)
void remove_fakes_pid_table(void)
void PermSwapper(Int_t* array, Int_t a, Int_t b)
      Permutating helper function
void            print_array(Int_t * array, Int_t count);// Debug output
void PermReverser(Int_t* array, Int_t a, Int_t b)
Bool_t FindNextPermutation(Int_t* array, Int_t count)

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.