#ifndef AliAnalysisTaskPi0_cxx
#define AliAnalysisTaskPi0_cxx
class TObjArray;
class TH1F;
class TH2I;
class TH2F;
class TH3F;
class AliESDtrackCuts;
class AliPHOSGeometry;
class AliTriggerAnalysis;
#include "TH2I.h"
#include "AliAnalysisTaskSE.h"
#include "AliLog.h"
class AliAnalysisTaskPi0 : public AliAnalysisTaskSE {
public:
AliAnalysisTaskPi0(const char *name = "AliAnalysisTaskPi0");
virtual ~AliAnalysisTaskPi0() {}
virtual void UserCreateOutputObjects();
virtual void UserExec(Option_t *option);
virtual void Terminate(Option_t *);
void SetBCgap(Double_t bcgap) {fBCgap = bcgap;}
void SetRecalib(Int_t mod, Double_t recalib)
{
if (mod<1 || mod>5) AliFatal(Form("Wrong module number: %d",mod));
else fRecalib[mod-1] = recalib;
}
void SetPHOSBadMap(Int_t mod,TH2I * h)
{
if(fPHOSBadMap[mod]) delete fPHOSBadMap[mod] ;
fPHOSBadMap[mod]=new TH2I(*h) ;
printf("Set %s \n",fPHOSBadMap[mod]->GetName());
}
private:
AliAnalysisTaskPi0(const AliAnalysisTaskPi0&);
AliAnalysisTaskPi0& operator=(const AliAnalysisTaskPi0&);
Bool_t IsGoodChannel(const char * det, Int_t mod,Int_t ix, Int_t iz);
void FillHistogram(const char * key,Double_t x) const ;
void FillHistogram(const char * key,Double_t x, Double_t y) const ;
void FillHistogram(const char * key,Double_t x, Double_t y, Double_t z) const ;
Bool_t TestLambda(Double_t l1,Double_t l2) ;
Int_t TestBC(Double_t tof) ;
private:
AliESDtrackCuts *fESDtrackCuts;
TList * fOutputContainer;
TList * fPHOSEvents[10][2] ;
TClonesArray * fPHOSEvent ;
Int_t fnCINT1B;
Int_t fnCINT1A;
Int_t fnCINT1C;
Int_t fnCINT1E;
Double_t fBCgap;
Double_t fRecalib[5];
TH2I *fPHOSBadMap[6] ;
AliPHOSGeometry *fPHOSGeo;
Int_t fEventCounter;
AliTriggerAnalysis *fTriggerAnalysis;
ClassDef(AliAnalysisTaskPi0, 3);
};
#endif