#ifndef AliAnalysisTaskPi0v2_cxx #define AliAnalysisTaskPi0v2_cxx #include "AliAnalysisTaskSE.h" #include "TH1.h" #include "TH2.h" #include "TH3.h" #include "TList.h" #include "TChain.h" #include "TDirectory.h" #include "TTree.h" #include "TH1.h" #include "TH1F.h" #include "THnSparse.h" #include "AliLog.h" #include "AliConversionSelection.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; AliAnalysisTaskPi0v2(const char *name="pi0v2",Int_t harmonic=2); AliAnalysisTaskPi0v2(const AliAnalysisTaskPi0v2&); // not implemented AliAnalysisTaskPi0v2& operator=(const AliAnalysisTaskPi0v2&); // not implemented 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 SetMesonCuts(const TString cut); 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