#ifndef HPAIREVTMIXER_H
#define HPAIREVTMIXER_H
#include <hreconstructor.h>
class TObjArray;
class HCategory;
class HIterator;
class HPairCutPar;
class HPairExt;
class HPairSimExt;
class HPairQA;
class HPidParticle;
class HPairEvtMixer : public HReconstructor {
public:
HPairEvtMixer();
HPairEvtMixer(const Text_t *name,
const Text_t *title,
Int_t nBufferSize=100,
Int_t nBufferMethod=1,
Int_t nPairAna=1,
Int_t nShrinkPoolByThisNumberOfEvents=1,
Int_t rndnr=0,
Int_t nMinNbLepsPerEvt=0,
Int_t nUnlikeSignOnly=0);
~HPairEvtMixer();
Bool_t init();
Bool_t finalize();
Int_t execute();
void setQAFileName(const Char_t* c){cQAFileName=c;};
TString& getQAFileName(void){return cQAFileName;};
void useUnlikesignOnly(Bool_t k){kOnlyUnlikeSign=k;};
protected:
HCategory* getPidParticleCat(){return pCatPidParticle;};
HCategory* getPairCat(){return pCatPair;};
Bool_t checkMixedPair(HPairExt*);
Bool_t checkMixedPair(HPairSimExt*);
Bool_t checkParticle(HPidParticle*);
Int_t storeEvent();
Int_t storeEventWithoutPairAnalysis();
Int_t storeEventWithPairAnalysis();
void deleteStoredEvents();
void shrinkEventBuffer();
Int_t makeMixedPairs();
#if 0
TObjArray* doEventMixingTrackSubset();
#endif // 0
TObjArray* doEventMixingAllTracks();
Int_t nCounterProcessedNbEvents;
HCategory* pCatPidParticle;
HIterator* pIterPidParticle;
HCategory* pCatPair;
HIterator* pIterPair;
HPairCutPar* pCuts;
Bool_t kIsReal;
Bool_t kFirstMixing;
Bool_t kOnlyUnlikeSign;
Int_t evtrange;
Int_t evtsStoredInRange;
Int_t nrMixObjs;
Int_t nCntMixedEvts;
Int_t nBufferFillingMethod;
Int_t nShrinkPool;
Int_t nPairAnalysis;
Int_t nMinParticlesPerEvent;
Int_t nStoredEvts;
TObjArray* evtset;
TString cQAFileName;
HPairQA* pQA;
ClassDef(HPairEvtMixer,1)
};
#endif // HPAIREVTMIXER_H
Last change: Sat May 22 13:06:10 2010
Last generated: 2010-05-22 13:06
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.