#ifndef HPIDALGSTANDCUTS_H
#define HPIDALGSTANDCUTS_H
#include "hpidalgorithm.h"
#include "hpidhitdata.h"
#include "hpidtrackdata.h"
#include "hparset.h"
#include "hpidhistogramscont.h"
#include "hpidtrackcand.h"
#include "hpidtrackcandsim.h"
#include "hpidalgstandcutspar.h"
#include "TNtuple.h"
#include "TFile.h"
#include "TString.h"
#include "TF1.h"
#define DEFAULTALGORITHMS "RICHRINGCUTS,TOFPVSBETA,TOFINOPVSBETA,SHOWERMAXFVSP,SHOWERSUM0VSP"
class HParSet;
class HPidAlgStandCuts : public HPidAlgorithm
{
public:
HPidAlgStandCuts(TString outFileName="",Option_t* opt_algorithms=DEFAULTALGORITHMS);
HPidAlgStandCuts(Float_t fWeight,TString outFileName="",Option_t* opt_algorithms=DEFAULTALGORITHMS);
~HPidAlgStandCuts(void);
virtual Bool_t init(void);
virtual Bool_t reinit(void);
virtual Bool_t finalize(void);
virtual Bool_t calculatePDF(HPidTrackCand *pTrack,
Float_t afReturn[], Short_t &nCatIndex);
virtual Bool_t calculateCL(HPidTrackCand *pTrack,
Float_t afReturn[], Short_t &nCatIndex);
virtual void print(void) const;
void setPidParams(HPidAlgStandCutsPar *pP) { pParams = pP;};
const HPidAlgStandCutsPar* getPidParams(void) const {return pParams; };
Bool_t isLepInRich(Int_t iPid,HPidHitData *pHitData);
Bool_t isLepInTofino(Int_t iPid,HPidHitData *pHitData, HPidTrackData *pTrackData);
Bool_t isLepInTof(Int_t iPid,HPidHitData *pHitData, HPidTrackData *pTrackData);
Bool_t isLepInShower(Int_t iPid,HPidHitData *pHitData, HPidTrackData *pTrackData);
Bool_t isLepInMdc(Int_t iPid,HPidHitData *pHitData, HPidTrackData *pTrackData);
void setOutFileName(TString outFile) { sOutFileName = outFile; };
TString getOutFileName(void) { return sOutFileName; };
Bool_t openOutFile(void);
Bool_t buildOutNtuple(void);
Bool_t fillOutNtuple(Int_t iPid, HPidTrackCandSim *pTrack);
Bool_t writeOutFile(void);
void clear(void);
void setDefaults(void);
void setAlgorithms(Option_t *opt_algorithms=DEFAULTALGORITHMS);
ClassDef(HPidAlgStandCuts, 0)
private:
HPidAlgStandCutsPar *pParams;
TString sOutFileName;
TFile *pOutFile;
TNtuple *pNtuple;
TF1* pMdcDiscriminator;
Bool_t bSim;
Int_t iSimEventFlag;
Bool_t bRich;
Bool_t bMdc;
Bool_t bShower;
Bool_t bTofino;
Bool_t bTof;
Bool_t bUseRichRingCuts;
Bool_t bUseMdcDeDx;
Bool_t bUseTofPvsBeta;
Bool_t bUseTofinoPvsBeta;
Bool_t bUseShowerMaxFvsP;
Bool_t bUseShowerSum0vsP;
Bool_t bUseShowerSumDiffvsP;
};
#endif //HPidAlgStandCuts_H
Last change: Sat May 22 13:06:55 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.