#ifndef HHypListFiller_H
#define HHypListFiller_H
#include "hreconstructor.h"
#include "hlocation.h"
#include "hhyplist.h"
#include "TArrayI.h"
#include "TNtuple.h"
#include "hevent.h"
#include "heventheader.h"
#include "hdetector.h"
#include "hratreeext.h"
#include "hmatrixcategory.h"
#include "hlinearcategory.h"
#include "hlinearcatiter.h"
#include "hlocation.h"
#include "hiterator.h"
#include "hcategory.h"
#include "hdebug.h"
#include "hades.h"
#include "hypinfodef.h"
#include "hpidphysicsconstants.h"
#include <cmath>
#include <iostream>
#define HYP_MAX_TRACKCLEAN 1000
class HHypListFiller:public HReconstructor
{
public:
HHypListFiller();
HHypListFiller(const Text_t * name,const Text_t * title);
~HHypListFiller();
Bool_t SetExitList(Int_t e_list);
Bool_t init(void);
Int_t execute(void);
Bool_t finalize(void);
void setContCatList(HCategory * pContCat) {m_pContCatList = pContCat;};
void setContCatComb(HCategory * pContCat) {m_pContCatComb = pContCat;};
Bool_t AddTrack(Int_t particle);
Bool_t AddOneMissing(Int_t particle);
#if 1
inline Int_t getNumberOfCombinations(void){ return(numberOfCombinations);};
inline Int_t getNumberOfParticles(void){ return(numberOfParticles);};
void just_a_test_for_debugging(void);
#endif
Bool_t is_valid[HYP_MAX_TRACKCLEAN];
private:
Int_t exitList;
Int_t nPlus, nMinus, numberOfParticles;
Int_t nPlusReal, nMinusReal, numberOfRealParticles;
Int_t numberOfCombinations, numberOfNegCombinations,
numberOfPosCombinations;
Int_t numberOfPossibleMissing;
Int_t **pid_real_array;
Int_t **pid_full_array;
TArrayI particleArrayPlus, particleArrayMinus, particleArrayMissing;
HCategory *m_pContCatList;
HCategory *m_pContCatComb;
HCategory *m_pContCatTrackCand;
HIterator *m_pContItTrackCand;
Bool_t generateNumberOfCombinations();
void create_pid_table(void);
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 PermSwapper(Int_t * array, Int_t a, Int_t b);
void PermReverser(Int_t * array, Int_t a, Int_t b);
Bool_t FindNextPermutation(Int_t * array, Int_t count);
ClassDef(HHypListFiller, 0)
};
#endif
Last change: Sat May 22 12:57:50 2010
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.