1 #ifndef ALIANALYSISTASKPI0EFFICIENCY_H
\r
2 #define ALIANALYSISTASKPI0EFFICIENCY_H
\r
4 // example of an analysis task creating a p_t spectrum
\r
5 // Authors: Panos Cristakoglou, Jan Fiete Grosse-Oetringhaus, Christian Klein-Boesing
\r
14 class AliESDtrackCuts;
\r
15 class AliPHOSGeometry;
\r
17 class AliPHOSCalibData;
\r
19 class AliPHOSAodCluster ;
\r
22 #include "AliAnalysisTaskSE.h"
\r
24 class AliAnalysisTaskPi0Efficiency : public AliAnalysisTaskSE {
\r
26 AliAnalysisTaskPi0Efficiency(const char *name = "AliAnalysisTaskPi0Efficiency");
\r
27 virtual ~AliAnalysisTaskPi0Efficiency() {}
\r
29 virtual void UserCreateOutputObjects();
\r
30 virtual void UserExec(Option_t *option);
\r
31 virtual void Terminate(Option_t *);
\r
32 void SetPHOSBadMap(Int_t mod,TH2I * h)
\r
34 if(fPHOSBadMap[mod]) delete fPHOSBadMap[mod] ;
\r
35 fPHOSBadMap[mod]=new TH2I(*h) ;
\r
36 printf("Set %s \n",fPHOSBadMap[mod]->GetName());
\r
40 AliAnalysisTaskPi0Efficiency(const AliAnalysisTaskPi0Efficiency& a):AliAnalysisTaskSE(a){} // not implemented
\r
41 AliAnalysisTaskPi0Efficiency& operator=(const AliAnalysisTaskPi0Efficiency& ){return *this;} // not implemented
\r
42 Bool_t IsGoodChannel(const char * det, Int_t mod,Int_t ix, Int_t iz); //Use addisional bad map for PHOS
\r
43 void FillHistogram(const char * key,Double_t x) const ; //Fill 1D histogram witn name key
\r
44 void FillHistogram(const char * key,Double_t x, Double_t y) const ; //Fill 2D histogram witn name key
\r
45 void FillHistogram(const char * key,Double_t x, Double_t y, Double_t z) const ; //Fill 3D histogram witn name key
\r
46 Bool_t TestLambda(Double_t e,Double_t l1,Double_t l2) ; //Evaluate Dispersion cuts for photons
\r
47 Bool_t TestLambda2(Double_t e,Double_t l1,Double_t l2) ; //Evaluate Dispersion cuts for photons
\r
49 Double_t CoreEnergy(AliPHOSAodCluster * clu);
\r
53 TList * fOutputContainer; //final histogram container
\r
54 TList * fPHOSEvents[1][10][11] ; //Containers for events with PHOS photons
\r
55 TClonesArray * fPHOSEvent ; //PHOS photons in current event
\r
56 AliPHOSCalibData *fPHOSCalibData; // PHOS calibration object
\r
57 TF1 *fNonLinCorr; // Non-linearity correction
\r
59 //Reaction plain for v2
\r
60 Float_t fRPfull ; //!Reaction plain calculated with full TPC
\r
61 Float_t fRPA ; //!Reaction plain calculated with A-side TPC: eta>0.15
\r
62 Float_t fRPC ; //!Reaction plain calculated with C-side TPC: eta<-0.15
\r
63 Float_t fRPFar ; //!Reaction plain calculated with TPC: eta>0.6
\r
64 Float_t fRPAFar ; //!Reaction plain calculated with A-side TPC: eta>0.6
\r
65 Float_t fRPCFar ; //!Reaction plain calculated with C-side TPC: eta<-0.6
\r
67 Float_t fCentrality ; //!Centrality of the currecnt event
\r
69 Int_t fCenBin ; //! Current centrality bin
\r
71 TH2I *fPHOSBadMap[6] ; //Container for PHOS bad channels map
\r
73 AliPHOSGeometry *fPHOSGeo; //! PHOS geometry
\r
74 Int_t fEventCounter; // number of analyzed events
\r
76 ClassDef(AliAnalysisTaskPi0Efficiency, 1); // PHOS analysis task
\r