]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/PHOSTasks/PHOS_embedding/AliAnalysisTaskPi0DiffEfficiency.h
Extended pt range; corrected pi0/gamma weights
[u/mrichter/AliRoot.git] / PWGGA / PHOSTasks / PHOS_embedding / AliAnalysisTaskPi0DiffEfficiency.h
CommitLineData
02f0b8e7 1#ifndef ALIANALYSISTASKPI0DIFFEFFICIENCY_H\r
2#define ALIANALYSISTASKPI0DIFFEFFICIENCY_H\r
3\r
6e4947dd 4// Task calculating effciency of pi0 registration \r
5// as a difference between spectrum after and before \r
6// embedding\r
02f0b8e7 7\r
6e4947dd 8class TClonesArray;\r
02f0b8e7 9class AliAODCaloCluster ;\r
7063ee4d 10class AliPHOSAodCluster ;\r
11class AliPHOSCalibData ;\r
12class AliPHOSGeometry ;\r
02f0b8e7 13\r
7063ee4d 14#include "AliAnalysisTaskSE.h"\r
02f0b8e7 15\r
7063ee4d 16class AliAnalysisTaskPi0DiffEfficiency : public AliAnalysisTaskSE {\r
02f0b8e7 17public:\r
18 AliAnalysisTaskPi0DiffEfficiency(const char *name = "AliAnalysisTaskPi0DiffEfficiency");\r
19 virtual ~AliAnalysisTaskPi0DiffEfficiency() {}\r
20 \r
21 virtual void UserCreateOutputObjects();\r
22 virtual void UserExec(Option_t *option);\r
7063ee4d 23\r
24 void SetPHOSBadMap(Int_t mod,TH2I * h)\r
25 {\r
26 if(fPHOSBadMap[mod]) delete fPHOSBadMap[mod] ;\r
27 fPHOSBadMap[mod]=new TH2I(*h) ;\r
28 printf("Set %s \n",fPHOSBadMap[mod]->GetName());\r
29 }\r
30\r
31 protected:\r
6631c482 32 AliAnalysisTaskPi0DiffEfficiency(const AliAnalysisTaskPi0DiffEfficiency& a):AliAnalysisTaskSE(a){} // not implemented\r
33 AliAnalysisTaskPi0DiffEfficiency& operator=(const AliAnalysisTaskPi0DiffEfficiency& ){return *this;} // not implemented\r
7063ee4d 34 Bool_t IsGoodChannel(const char * det, Int_t mod,Int_t ix, Int_t iz); //Use addisional bad map for PHOS\r
35 void FillHistogram(const char * key,Double_t x) const ; //Fill 1D histogram witn name key\r
36 void FillHistogram(const char * key,Double_t x, Double_t y) const ; //Fill 2D histogram witn name key\r
37 void FillHistogram(const char * key,Double_t x, Double_t y, Double_t z) const ; //Fill 3D histogram witn name key\r
38 void FillHistogram(const char * key,Double_t x, Double_t y, Double_t z, Double_t weight) const ; //Fill 3D histogram witn name key\r
39 Bool_t TestLambda(Double_t e,Double_t l1,Double_t l2) ; //Evaluate Dispersion cuts for photons\r
40 Bool_t TestLambda2(Double_t e,Double_t l1,Double_t l2) ; //Evaluate Dispersion cuts for photons\r
41 Double_t TestCPV(Double_t dx, Double_t dz, Double_t pt, Int_t charge);\r
42 Bool_t TestTOF(Double_t t, Double_t e) ;\r
02f0b8e7 43 \r
7063ee4d 44 void ProcessMC() ;\r
45 Double_t CoreEnergy(AliPHOSAodCluster * clu); \r
46 \r
02f0b8e7 47private:\r
02f0b8e7 48 Bool_t IsSameCluster(AliAODCaloCluster * c1,AliAODCaloCluster * c2)const ;\r
7063ee4d 49 void EvalLambdas(AliAODCaloCluster * clu, Int_t iR,Double_t &m02, Double_t &m20) ;\r
50 Double_t PrimaryWeight(Double_t x) ;\r
02f0b8e7 51 \r
52private:\r
7063ee4d 53 AliStack * fStack ; //! Stack of primary\r
54 THashList * fOutputContainer; //! final histogram container\r
55 TList * fPHOSEvents[1][10][11] ; //! Containers for events with PHOS photons\r
56 TClonesArray * fPHOSEvent ; //!PHOS photons in current event\r
6e4947dd 57 TClonesArray * fPHOSEvent1 ; //!PHOS photons in current event\r
58 TClonesArray * fPHOSEvent2 ; //!PHOS photons in current event\r
7063ee4d 59 AliPHOSCalibData *fPHOSCalibData; //! PHOS calibration object\r
60 TF1 *fNonLinCorr; // Non-linearity correction\r
61 \r
62 //Reaction plane for v2\r
63 Float_t fRPfull ; //!Reaction plain calculated with full TPC \r
64 Float_t fRPA ; //!Reaction plain calculated with A-side TPC: eta>0.15 \r
65 Float_t fRPC ; //!Reaction plain calculated with C-side TPC: eta<-0.15\r
66 Float_t fRPFar ; //!Reaction plain calculated with TPC: eta>0.6 \r
67 Float_t fRPAFar ; //!Reaction plain calculated with A-side TPC: eta>0.6 \r
68 Float_t fRPCFar ; //!Reaction plain calculated with C-side TPC: eta<-0.6\r
69\r
70 Float_t fCentrality ; //!Centrality of the currecnt event\r
71\r
72 Int_t fCenBin ; //! Current centrality bin\r
73\r
74 TH2I *fPHOSBadMap[6] ; //!Container for PHOS bad channels map\r
75\r
76 AliPHOSGeometry *fPHOSGeo; //! PHOS geometry\r
77 Int_t fEventCounter; //! number of analyzed events\r
02f0b8e7 78 \r
6e4947dd 79 ClassDef(AliAnalysisTaskPi0DiffEfficiency, 2); // PHOS analysis task\r
02f0b8e7 80};\r
81\r
82#endif\r