ROOT logo
#ifndef ALIANALYSISTASKPI0EFFICIENCY_H
#define ALIANALYSISTASKPI0EFFICIENCY_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */
// example of an analysis task creating a p_t spectrum
// Authors: D.Peressounko, S.Nikolaev

class TObjArray;
class THashList;
class TH1F;
class TH2I;
class TH2F;
class TH3F;
class TF1 ;
class AliStack ;
class AliESDtrackCuts;
class AliPHOSGeometry;
class AliAODEvent ;
class AliPHOSCalibData;
class AliAODTrack ;
class AliPHOSAodCluster ;


#include "AliAnalysisTaskSE.h"

class AliAnalysisTaskPi0Efficiency : public AliAnalysisTaskSE {
public:
  AliAnalysisTaskPi0Efficiency(const char *name = "AliAnalysisTaskPi0Efficiency");
  virtual ~AliAnalysisTaskPi0Efficiency() {}
  
  virtual void   UserCreateOutputObjects();
  virtual void   UserExec(Option_t *option);
  virtual void   Terminate(Option_t *);
  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:
  AliAnalysisTaskPi0Efficiency(const AliAnalysisTaskPi0Efficiency&); // not implemented
  AliAnalysisTaskPi0Efficiency& operator=(const AliAnalysisTaskPi0Efficiency&); // not implemented
  
protected:
  Bool_t IsGoodChannel(const char * det, Int_t mod,Int_t ix, Int_t iz); //Use addisional bad map for PHOS
  void FillHistogram(const char * key,Double_t x) const ; //Fill 1D histogram witn name key
  void FillHistogram(const char * key,Double_t x, Double_t y) const ; //Fill 2D histogram witn name key
  void FillHistogram(const char * key,Double_t x, Double_t y, Double_t z) const ; //Fill 3D histogram witn name key
  Bool_t TestLambda(Double_t e,Double_t l1,Double_t l2) ;  //Evaluate Dispersion cuts for photons
  Bool_t TestLambda2(Double_t e,Double_t l1,Double_t l2) ;  //Evaluate Dispersion cuts for photons
  void ProcessMC() ;
  Double_t CoreEnergy(AliPHOSAodCluster * clu); 
 
protected:
  AliStack * fStack ;
  THashList * fOutputContainer;        //final histogram container
  TList * fPHOSEvents[1][10][11] ; //Containers for events with PHOS photons
  TClonesArray * fPHOSEvent ;      //PHOS photons in current event
  AliPHOSCalibData *fPHOSCalibData; // PHOS calibration object
  TF1 *fNonLinCorr;          // Non-linearity correction
 
  //Reaction plain for v2
  Float_t fRPfull ; //!Reaction plain calculated with full TPC 
  Float_t fRPA ;    //!Reaction plain calculated with A-side TPC: eta>0.15 
  Float_t fRPC ;    //!Reaction plain calculated with C-side TPC: eta<-0.15
  Float_t fRPFar ;  //!Reaction plain calculated with TPC: eta>0.6 
  Float_t fRPAFar ; //!Reaction plain calculated with A-side TPC: eta>0.6 
  Float_t fRPCFar ; //!Reaction plain calculated with C-side TPC: eta<-0.6

  Float_t fCentrality ; //!Centrality of the currecnt event

  Int_t fCenBin ;       //! Current centrality bin

  TH2I *fPHOSBadMap[6] ;    //Container for PHOS bad channels map

  AliPHOSGeometry  *fPHOSGeo;  //! PHOS geometry
  Int_t fEventCounter;         // number of analyzed events

  ClassDef(AliAnalysisTaskPi0Efficiency, 1); // PHOS analysis task
};

#endif
 AliAnalysisTaskPi0Efficiency.h:1
 AliAnalysisTaskPi0Efficiency.h:2
 AliAnalysisTaskPi0Efficiency.h:3
 AliAnalysisTaskPi0Efficiency.h:4
 AliAnalysisTaskPi0Efficiency.h:5
 AliAnalysisTaskPi0Efficiency.h:6
 AliAnalysisTaskPi0Efficiency.h:7
 AliAnalysisTaskPi0Efficiency.h:8
 AliAnalysisTaskPi0Efficiency.h:9
 AliAnalysisTaskPi0Efficiency.h:10
 AliAnalysisTaskPi0Efficiency.h:11
 AliAnalysisTaskPi0Efficiency.h:12
 AliAnalysisTaskPi0Efficiency.h:13
 AliAnalysisTaskPi0Efficiency.h:14
 AliAnalysisTaskPi0Efficiency.h:15
 AliAnalysisTaskPi0Efficiency.h:16
 AliAnalysisTaskPi0Efficiency.h:17
 AliAnalysisTaskPi0Efficiency.h:18
 AliAnalysisTaskPi0Efficiency.h:19
 AliAnalysisTaskPi0Efficiency.h:20
 AliAnalysisTaskPi0Efficiency.h:21
 AliAnalysisTaskPi0Efficiency.h:22
 AliAnalysisTaskPi0Efficiency.h:23
 AliAnalysisTaskPi0Efficiency.h:24
 AliAnalysisTaskPi0Efficiency.h:25
 AliAnalysisTaskPi0Efficiency.h:26
 AliAnalysisTaskPi0Efficiency.h:27
 AliAnalysisTaskPi0Efficiency.h:28
 AliAnalysisTaskPi0Efficiency.h:29
 AliAnalysisTaskPi0Efficiency.h:30
 AliAnalysisTaskPi0Efficiency.h:31
 AliAnalysisTaskPi0Efficiency.h:32
 AliAnalysisTaskPi0Efficiency.h:33
 AliAnalysisTaskPi0Efficiency.h:34
 AliAnalysisTaskPi0Efficiency.h:35
 AliAnalysisTaskPi0Efficiency.h:36
 AliAnalysisTaskPi0Efficiency.h:37
 AliAnalysisTaskPi0Efficiency.h:38
 AliAnalysisTaskPi0Efficiency.h:39
 AliAnalysisTaskPi0Efficiency.h:40
 AliAnalysisTaskPi0Efficiency.h:41
 AliAnalysisTaskPi0Efficiency.h:42
 AliAnalysisTaskPi0Efficiency.h:43
 AliAnalysisTaskPi0Efficiency.h:44
 AliAnalysisTaskPi0Efficiency.h:45
 AliAnalysisTaskPi0Efficiency.h:46
 AliAnalysisTaskPi0Efficiency.h:47
 AliAnalysisTaskPi0Efficiency.h:48
 AliAnalysisTaskPi0Efficiency.h:49
 AliAnalysisTaskPi0Efficiency.h:50
 AliAnalysisTaskPi0Efficiency.h:51
 AliAnalysisTaskPi0Efficiency.h:52
 AliAnalysisTaskPi0Efficiency.h:53
 AliAnalysisTaskPi0Efficiency.h:54
 AliAnalysisTaskPi0Efficiency.h:55
 AliAnalysisTaskPi0Efficiency.h:56
 AliAnalysisTaskPi0Efficiency.h:57
 AliAnalysisTaskPi0Efficiency.h:58
 AliAnalysisTaskPi0Efficiency.h:59
 AliAnalysisTaskPi0Efficiency.h:60
 AliAnalysisTaskPi0Efficiency.h:61
 AliAnalysisTaskPi0Efficiency.h:62
 AliAnalysisTaskPi0Efficiency.h:63
 AliAnalysisTaskPi0Efficiency.h:64
 AliAnalysisTaskPi0Efficiency.h:65
 AliAnalysisTaskPi0Efficiency.h:66
 AliAnalysisTaskPi0Efficiency.h:67
 AliAnalysisTaskPi0Efficiency.h:68
 AliAnalysisTaskPi0Efficiency.h:69
 AliAnalysisTaskPi0Efficiency.h:70
 AliAnalysisTaskPi0Efficiency.h:71
 AliAnalysisTaskPi0Efficiency.h:72
 AliAnalysisTaskPi0Efficiency.h:73
 AliAnalysisTaskPi0Efficiency.h:74
 AliAnalysisTaskPi0Efficiency.h:75
 AliAnalysisTaskPi0Efficiency.h:76
 AliAnalysisTaskPi0Efficiency.h:77
 AliAnalysisTaskPi0Efficiency.h:78
 AliAnalysisTaskPi0Efficiency.h:79
 AliAnalysisTaskPi0Efficiency.h:80
 AliAnalysisTaskPi0Efficiency.h:81
 AliAnalysisTaskPi0Efficiency.h:82
 AliAnalysisTaskPi0Efficiency.h:83
 AliAnalysisTaskPi0Efficiency.h:84