]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/UserTasks/PHOS_embedding/AliAnalysisTaskPi0Efficiency.h
Event embedding tasks for PHOS are added (D.Peressounko)
[u/mrichter/AliRoot.git] / PWG4 / UserTasks / PHOS_embedding / AliAnalysisTaskPi0Efficiency.h
CommitLineData
02f0b8e7 1#ifndef ALIANALYSISTASKPI0EFFICIENCY_H\r
2#define ALIANALYSISTASKPI0EFFICIENCY_H\r
3\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
6\r
7class TObjArray;\r
8class TH1F;\r
9class TH2I;\r
10class TH2F;\r
11class TH3F;\r
12class TF1 ;\r
13class AliStack ;\r
14class AliESDtrackCuts;\r
15class AliPHOSGeometry;\r
16class AliAODEvent ;\r
17class AliPHOSCalibData;\r
18class AliAODTrack ;\r
19\r
20\r
21#include "AliAnalysisTaskSE.h"\r
22\r
23class AliAnalysisTaskPi0Efficiency : public AliAnalysisTaskSE {\r
24public:\r
25 AliAnalysisTaskPi0Efficiency(const char *name = "AliAnalysisTaskPi0Efficiency");\r
26 virtual ~AliAnalysisTaskPi0Efficiency() {}\r
27 \r
28 virtual void UserCreateOutputObjects();\r
29 virtual void UserExec(Option_t *option);\r
30 virtual void Terminate(Option_t *);\r
31 void SetPHOSBadMap(Int_t mod,TH2I * h)\r
32 {\r
33 if(fPHOSBadMap[mod]) delete fPHOSBadMap[mod] ;\r
34 fPHOSBadMap[mod]=new TH2I(*h) ;\r
35 printf("Set %s \n",fPHOSBadMap[mod]->GetName());\r
36 }\r
37 \r
38private:\r
39 AliAnalysisTaskPi0Efficiency(const AliAnalysisTaskPi0Efficiency&); // not implemented\r
40 AliAnalysisTaskPi0Efficiency& operator=(const AliAnalysisTaskPi0Efficiency&); // not implemented\r
41 Bool_t IsGoodChannel(const char * det, Int_t mod,Int_t ix, Int_t iz); //Use addisional bad map for PHOS\r
42 void FillHistogram(const char * key,Double_t x) const ; //Fill 1D histogram witn name key\r
43 void FillHistogram(const char * key,Double_t x, Double_t y) const ; //Fill 2D histogram witn name key\r
44 void FillHistogram(const char * key,Double_t x, Double_t y, Double_t z) const ; //Fill 3D histogram witn name key\r
45 Bool_t TestLambda(Double_t l1,Double_t l2) ; //Evaluate Dispersion cuts for photons\r
46 void ProcessMC() ;\r
47 \r
48private:\r
49 AliStack * fStack ;\r
50 TList * fOutputContainer; //final histogram container\r
51 TList * fPHOSEvents[1][10][11] ; //Containers for events with PHOS photons\r
52 TClonesArray * fPHOSEvent ; //PHOS photons in current event\r
53 AliPHOSCalibData *fPHOSCalibData; // PHOS calibration object\r
54 TF1 *fNonLinCorr; // Non-linearity correction\r
55 \r
56 //Reaction plain for v2\r
57 Float_t fRPfull ; //!Reaction plain calculated with full TPC \r
58 Float_t fRPA ; //!Reaction plain calculated with A-side TPC: eta>0.15 \r
59 Float_t fRPC ; //!Reaction plain calculated with C-side TPC: eta<-0.15\r
60 Float_t fRPFar ; //!Reaction plain calculated with TPC: eta>0.6 \r
61 Float_t fRPAFar ; //!Reaction plain calculated with A-side TPC: eta>0.6 \r
62 Float_t fRPCFar ; //!Reaction plain calculated with C-side TPC: eta<-0.6\r
63\r
64 Float_t fCentrality ; //!Centrality of the currecnt event\r
65\r
66 Int_t fCenBin ; //! Current centrality bin\r
67\r
68 TH2I *fPHOSBadMap[6] ; //Container for PHOS bad channels map\r
69\r
70 AliPHOSGeometry *fPHOSGeo; //! PHOS geometry\r
71 Int_t fEventCounter; // number of analyzed events\r
72\r
73 ClassDef(AliAnalysisTaskPi0Efficiency, 1); // PHOS analysis task\r
74};\r
75\r
76#endif\r