]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGGA/GammaConv/AliAnalysisTaskdPhi.h
-Move cent, z axis into sparse
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / AliAnalysisTaskdPhi.h
index 647067b8a331cff8041e0d1a922eab86932ed981..509857e65bc8ef06a59e64597ec20512502986ed 100644 (file)
 #include <TAxis.h>
 #include <TH3I.h>
 #include <THnSparse.h>
-#include <AliAnalysisFilter.h>
+//#include <AliAnalysisFilter.h>
 #include <iostream>
 #include <AliAnaConvCorrBase.h>
 #include <AliLog.h>
 #include <AliAnalysisCuts.h>
-class AliAnaConvIsolation;
+class AliAnaConvCorrPion;
 class AliConversionCuts;
+class AliConversionMesonCuts;
+class AliV0ReaderV1;
 class TList;
 class TH2I;
 //class THnSparseF;
@@ -29,7 +31,7 @@ using namespace std;
 class AliAnalysisTaskdPhi : public AliAnalysisTaskSE {
 
 public:
-  AliAnalysisTaskdPhi(const char *name);
+  AliAnalysisTaskdPhi(const char *name="slindal_dPhi");
   virtual ~AliAnalysisTaskdPhi();
 
   virtual void   UserCreateOutputObjects();
@@ -46,6 +48,11 @@ public:
   TAxis& GetAxisPiMass() { return fAxisPiM; }
 
   void SetV0Filter(AliConversionCuts * filter) { fV0Filter = filter; }
+  
+  void SetMesonFilter(AliConversionMesonCuts * filter) { fMesonFilter = filter; }
+  void SetPhotonFilter(AliConversionCuts * filter) { fPhotonFilter = filter; }
+  void SetV0Reader(AliV0ReaderV1 * reader) { fV0Reader = reader; }
+  void SaveReaderHists(Bool_t save = kTRUE) { fSaveReaderHists = save; }
   AliAnalysisCuts * GetTrackCuts() const { return fTrackCuts; }
   void SetTrackCuts( AliAnalysisCuts * cuts) { if (fTrackCuts) delete fTrackCuts; fTrackCuts = cuts; }
   
@@ -59,31 +66,23 @@ private:
   Int_t GetBin(TAxis &axis, Double_t value);
   THnSparseF * GetMEHistogram(Int_t binz, Int_t binc, TObjArray * array);
   AliAnaConvCorrBase * GetCorrObject(Int_t binz, Int_t binc, TObjArray * array);
-  void Process(TObjArray * gammas, TObjArray * tracks, Int_t vertexBin, Int_t centBin);
+  void Process(TObjArray * gammas, TObjArray * tracks, Float_t cent, Float_t vtxz);
   void FindDeltaAODBranchName(AliVEvent * event);
   
   TList * fHistograms; //histograms
-  TList * fHistoGamma; //gamma histo
-  TList * fHistoPion; //pion histo
-
-
-  AliConversionCuts * fV0Filter; //v0 filter
-  AliAnalysisCuts * fTrackCuts;
 
-  TObjArray * fGammas; //gammas
-  TObjArray * fPions; //poins
+  AliV0ReaderV1 * fV0Reader; // V0 reader
+  Bool_t fSaveReaderHists; // save histograms from v0 reader
+  AliConversionCuts * fV0Filter; //additional v0 filter on top of v0 reader
+  AliConversionCuts * fPhotonFilter; //additional v0 filter for photons only
+  AliConversionMesonCuts * fMesonFilter; //additional meson filter behind fv0filter
+  AliAnalysisCuts * fTrackCuts; //Cuts for corr tracks
 
-  TObjArray * hMETracks; //mixed event tracks
-  TObjArray * hMEPhotons; //photons
-  TObjArray * hMEPions; //pions
   TH2I * hMEvents; //event histrogam
+  TH2I * hTrackCent; //event histrogam
 
-  TObjArray * fPhotonCorr; //photon
-  TObjArray * fPionCorr; //poin
-  AliAnaConvIsolation * fIsoAna; //comment
-
-  Int_t fL1; //comment
-  Int_t fL2; //comment
+  AliAnaConvCorrBase * fPhotonCorr; //photon
+  AliAnaConvCorrPion * fPionCorr; //poin
 
   TString fDeltaAODBranchName; //comment
 
@@ -94,11 +93,13 @@ private:
   TAxis fAxisCent; //comment
   TAxis fAxisZ; //comment
   TAxis fAxisPiM; //comment
+
+  Bool_t fDoPhoton; // do photon analysis?
   
   AliAnalysisTaskdPhi(const AliAnalysisTaskdPhi&); // not implemented
   AliAnalysisTaskdPhi& operator=(const AliAnalysisTaskdPhi&); // not implemented
   
-  ClassDef(AliAnalysisTaskdPhi, 2); // example of analysis
+  ClassDef(AliAnalysisTaskdPhi, 5); 
 };
 
 inline THnSparseF * AliAnalysisTaskdPhi::GetMEHistogram(Int_t binz, Int_t binc, TObjArray * array) {
@@ -112,8 +113,8 @@ inline THnSparseF * AliAnalysisTaskdPhi::GetMEHistogram(Int_t binz, Int_t binc,
        return NULL;
   }  
   
-  TObjArray * arrayc = static_cast<TObjArray*>(array->At(binz));
-  THnSparseF * histogram = static_cast<THnSparseF*>(arrayc->At(binc));
+  TObjArray * arrayc = static_cast<TObjArray*>(array->At(binc));
+  THnSparseF * histogram = static_cast<THnSparseF*>(arrayc->At(binz));
   return histogram;
 }
 
@@ -125,10 +126,9 @@ inline AliAnaConvCorrBase * AliAnalysisTaskdPhi::GetCorrObject(Int_t binz, Int_t
          return NULL;
        }
 
-  TObjArray * arrayc = static_cast<TObjArray*>(array->At(binz));
-  AliAnaConvCorrBase * corrmaker = static_cast<AliAnaConvCorrBase*>(arrayc->At(binc));
+  TObjArray * arrayc = static_cast<TObjArray*>(array->At(binc));
+  AliAnaConvCorrBase * corrmaker = static_cast<AliAnaConvCorrBase*>(arrayc->At(binz));
   return corrmaker;
-
 }
 
 inline Int_t AliAnalysisTaskdPhi::GetBin(TAxis & axis, Double_t value) {