#ifndef AliAnalysisTaskPi0v2_cxx #define AliAnalysisTaskPi0v2_cxx #include "AliAnalysisTaskSE.h" #include "TH1.h" #include "TH2.h" #include "TH3.h" #include "THnSparse.h" #include "AliLog.h" #include "AliConversionSelection.h" #include "AliConvEventCuts.h" #include "AliConversionMesonCuts.h" #include "AliV0ReaderV1.h" #include "AliEventplane.h" #include "TVector2.h" #include "TProfile.h" using namespace std; class AliAnalysisTaskPi0v2 : public AliAnalysisTaskSE{ public: enum EEventPlaneMethod{ kTPC=0, kTPCEtaGap=1, kV0A=2, kV0C=3, knEPMethod=4 }; enum EEventPlane{ kEPTPC=0, kEPTPCEtaA, kEPTPCEtaC, kEPV0A, kEPV0C, knEP }; enum EPDGCode{ kPi0=111, kEta=221 }; static const Int_t knBinsPhi=6; static const Int_t knCentMax=10; static const Int_t knFlatPeriod=2; AliAnalysisTaskPi0v2(const char *name="pi0v2",Int_t harmonic=2); virtual ~AliAnalysisTaskPi0v2(); virtual void UserCreateOutputObjects(); virtual void UserExec(Option_t *option); virtual void Terminate(Option_t *); void SetCentralityBins(Double_t *bins,Int_t nbins); void SetMeson(EPDGCode meson){fMesonPDGCode=meson;} void SetNBinsPhi(Int_t nbins){fNBinsPhi=nbins;} void SetV0Reader(AliV0ReaderV1 *v0Reader){fV0Reader=v0Reader;} void SetInvMassRange(Double_t range[2]){fInvMassRange[0]=range[0];fInvMassRange[1]=range[1];}; void SetEtaGap(Double_t gapsize){fEtaGap=gapsize;}; void SetCuts(AliConversionSelection **conversionselection,Int_t numberOfCuts); void SetFillQA(Bool_t fill){fFillQA=fill;} void SetEPSelectionMask(Int_t mask[knEPMethod]){for(Int_t ii=0;ii