]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/PHOSTasks/PHOS_PbPb/AliAnalysisTaskPi0Flow.h
Code used for pi0 Raa and v2 analysis in LHC10h
[u/mrichter/AliRoot.git] / PWGGA / PHOSTasks / PHOS_PbPb / AliAnalysisTaskPi0Flow.h
CommitLineData
2cde7444 1#ifndef AliAnalysisTaskPi0Flow_cxx\r
2#define AliAnalysisTaskPi0Flow_cxx\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 AliESDEvent ;\r
17class AliPHOSCalibData;\r
18class AliESDtrack ;\r
19class AliESDCaloCluster ;\r
20\r
21#include "AliAnalysisTaskSE.h"\r
22\r
23class AliAnalysisTaskPi0Flow : public AliAnalysisTaskSE {\r
24public:\r
25 AliAnalysisTaskPi0Flow(const char *name = "AliAnalysisTaskPi0Flow");\r
26 virtual ~AliAnalysisTaskPi0Flow() {}\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 AliAnalysisTaskPi0Flow(const AliAnalysisTaskPi0Flow&); // not implemented\r
40 AliAnalysisTaskPi0Flow& operator=(const AliAnalysisTaskPi0Flow&); // 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\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\r
47 Bool_t TestLambda(Double_t pt,Double_t l1,Double_t l2) ; //Evaluate Dispersion cuts for photons\r
48 Bool_t TestLambda2(Double_t pt,Double_t l1,Double_t l2) ; //Evaluate Dispersion cuts for photons\r
49 Double_t TestCPV(Double_t dx, Double_t dz, Double_t pt, Int_t charge);\r
50 Int_t ConvertRunNumber(Int_t run) ; \r
51\r
52 void OpenInfoCalbration(Int_t run); //V0 calibration\r
53 void EvalV0ReactionPlane(AliESDEvent * event) ;\r
54 Double_t ApplyFlattening(Double_t phi, Double_t c) ; //Apply centrality-dependent flattening\r
55 Double_t ApplyFlatteningV0A(Double_t phi, Double_t c) ; //Apply centrality-dependent flattening\r
56 Double_t ApplyFlatteningV0C(Double_t phi, Double_t c) ; //Apply centrality-dependent flattening\r
57\r
58 Double_t CoreEnergy(AliESDCaloCluster * clu); \r
59 void Reclusterize(AliESDCaloCluster * clu) ;\r
60 Bool_t AreNeibors(Int_t id1,Int_t id2) ;\r
61private:\r
62 AliESDtrackCuts *fESDtrackCuts; // Track cut\r
63 AliStack * fStack ;\r
64 TList * fOutputContainer; //final histogram container\r
65 TList * fPHOSEvents[1][10][11] ; //Containers for events with PHOS photons\r
66 TClonesArray * fPHOSEvent ; //PHOS photons in current event\r
67 AliPHOSCalibData *fPHOSCalibData; // PHOS calibration object\r
68 TF1 *fNonLinCorr; // Non-linearity correction\r
69 \r
70 //Reaction plain for v2\r
71 Float_t fRP ; //!Reaction plane calculated with full TPC \r
72 Float_t fRPV0A ; //!Reaction plain calculated with A-side TPC: eta>0.15 \r
73 Float_t fRPV0C ; //!Reaction plain calculated with C-side TPC: eta<-0.15\r
74 Bool_t fHaveTPCRP ; //! Is TPC RP defined?\r
75 \r
76 //V0 calibration\r
77\r
78 static const Int_t nCentrBinV0 = 9; // # cenrality bins\r
79\r
80 TProfile *fMultV0; // object containing VZERO calibration information\r
81\r
82 Float_t fV0Cpol,fV0Apol; // loaded by OADB\r
83\r
84 Float_t fMeanQ[nCentrBinV0][2][2]; // and recentering\r
85\r
86 Float_t fWidthQ[nCentrBinV0][2][2]; // ...\r
87\r
88\r
89// TF1 * fRecent[5][12] ;//Recentering corrections\r
90\r
91 Int_t fRunNumber ; //Current run number\r
92 Float_t fCentrality ; //!Centrality of the currecnt event\r
93\r
94 Int_t fCenBin ; //! Current centrality bin\r
95\r
96 TH2I *fPHOSBadMap[6] ; //Container for PHOS bad channels map\r
97\r
98 AliPHOSGeometry *fPHOSGeo; //! PHOS geometry\r
99 Int_t fEventCounter; // number of analyzed events\r
100\r
101 ClassDef(AliAnalysisTaskPi0Flow, 1); // PHOS analysis task\r
102};\r
103\r
104#endif\r