]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/PHOSTasks/PHOS_embedding/AliAnalysisTaskPi0Efficiency.h
- fixed addtask for Conv pp
[u/mrichter/AliRoot.git] / PWGGA / PHOSTasks / PHOS_embedding / AliAnalysisTaskPi0Efficiency.h
1 #ifndef ALIANALYSISTASKPI0EFFICIENCY_H
2 #define ALIANALYSISTASKPI0EFFICIENCY_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6 // example of an analysis task creating a p_t spectrum
7 // Authors: D.Peressounko, S.Nikolaev
8
9 class TObjArray;
10 class THashList;
11 class TH1F;
12 class TH2I;
13 class TH2F;
14 class TH3F;
15 class TF1 ;
16 class AliStack ;
17 class AliESDtrackCuts;
18 class AliPHOSGeometry;
19 class AliAODEvent ;
20 class AliPHOSCalibData;
21 class AliAODTrack ;
22 class AliPHOSAodCluster ;
23
24
25 #include "AliAnalysisTaskSE.h"
26
27 class AliAnalysisTaskPi0Efficiency : public AliAnalysisTaskSE {
28 public:
29   AliAnalysisTaskPi0Efficiency(const char *name = "AliAnalysisTaskPi0Efficiency");
30   virtual ~AliAnalysisTaskPi0Efficiency() {}
31   
32   virtual void   UserCreateOutputObjects();
33   virtual void   UserExec(Option_t *option);
34   virtual void   Terminate(Option_t *);
35   void SetPHOSBadMap(Int_t mod,TH2I * h)
36   {
37     if(fPHOSBadMap[mod]) delete fPHOSBadMap[mod] ;
38     fPHOSBadMap[mod]=new TH2I(*h) ;
39     printf("Set %s \n",fPHOSBadMap[mod]->GetName());
40   }
41   
42 private:
43   AliAnalysisTaskPi0Efficiency(const AliAnalysisTaskPi0Efficiency&); // not implemented
44   AliAnalysisTaskPi0Efficiency& operator=(const AliAnalysisTaskPi0Efficiency&); // not implemented
45   
46 protected:
47   Bool_t IsGoodChannel(const char * det, Int_t mod,Int_t ix, Int_t iz); //Use addisional bad map for PHOS
48   void FillHistogram(const char * key,Double_t x) const ; //Fill 1D histogram witn name key
49   void FillHistogram(const char * key,Double_t x, Double_t y) const ; //Fill 2D histogram witn name key
50   void FillHistogram(const char * key,Double_t x, Double_t y, Double_t z) const ; //Fill 3D histogram witn name key
51   Bool_t TestLambda(Double_t e,Double_t l1,Double_t l2) ;  //Evaluate Dispersion cuts for photons
52   Bool_t TestLambda2(Double_t e,Double_t l1,Double_t l2) ;  //Evaluate Dispersion cuts for photons
53   void ProcessMC() ;
54   Double_t CoreEnergy(AliPHOSAodCluster * clu); 
55  
56 protected:
57   AliStack * fStack ;
58   THashList * fOutputContainer;        //final histogram container
59   TList * fPHOSEvents[1][10][11] ; //Containers for events with PHOS photons
60   TClonesArray * fPHOSEvent ;      //PHOS photons in current event
61   AliPHOSCalibData *fPHOSCalibData; // PHOS calibration object
62   TF1 *fNonLinCorr;          // Non-linearity correction
63  
64   //Reaction plain for v2
65   Float_t fRPfull ; //!Reaction plain calculated with full TPC 
66   Float_t fRPA ;    //!Reaction plain calculated with A-side TPC: eta>0.15 
67   Float_t fRPC ;    //!Reaction plain calculated with C-side TPC: eta<-0.15
68   Float_t fRPFar ;  //!Reaction plain calculated with TPC: eta>0.6 
69   Float_t fRPAFar ; //!Reaction plain calculated with A-side TPC: eta>0.6 
70   Float_t fRPCFar ; //!Reaction plain calculated with C-side TPC: eta<-0.6
71
72   Float_t fCentrality ; //!Centrality of the currecnt event
73
74   Int_t fCenBin ;       //! Current centrality bin
75
76   TH2I *fPHOSBadMap[6] ;    //Container for PHOS bad channels map
77
78   AliPHOSGeometry  *fPHOSGeo;  //! PHOS geometry
79   Int_t fEventCounter;         // number of analyzed events
80
81   ClassDef(AliAnalysisTaskPi0Efficiency, 1); // PHOS analysis task
82 };
83
84 #endif