]>
Commit | Line | Data |
---|---|---|
a65a7e70 | 1 | #ifndef AliAnalysisTaskPi0Calib_cxx |
2 | #define AliAnalysisTaskPi0Calib_cxx | |
3 | ||
4 | // PHOS calibration with pi0 | |
5 | // Authors: DP, YK | |
6 | ||
7 | class TObjArray; | |
8 | class TH1F; | |
9 | class TH2I; | |
10 | class TH2F; | |
11 | class TH2D; | |
12 | class TH3F; | |
13 | class TF1 ; | |
14 | class AliPHOSGeometry; | |
15 | class AliESDEvent ; | |
16 | #include "AliPHOSCalibData.h" | |
17 | #include "AliCDBManager.h" | |
18 | ||
19 | #include "AliAnalysisTaskSE.h" | |
20 | ||
21 | class AliAnalysisTaskPi0Calib : public AliAnalysisTaskSE { | |
22 | public: | |
23 | AliAnalysisTaskPi0Calib(const char *name = "PHOS"); | |
24 | virtual ~AliAnalysisTaskPi0Calib() ; | |
25 | ||
26 | virtual void UserCreateOutputObjects(); | |
27 | virtual void UserExec(Option_t *option); | |
28 | virtual void Terminate(Option_t *); | |
29 | void SetPHOSBadMap(Int_t mod,TH2I * h) | |
30 | { | |
31 | if(fPHOSBadMap[mod]) delete fPHOSBadMap[mod] ; | |
32 | fPHOSBadMap[mod]=new TH2I(*h) ; | |
33 | printf("Set %s \n",fPHOSBadMap[mod]->GetName()); | |
34 | } | |
35 | ||
36 | void SetPHOSCalib(Int_t mod,TH2D * h) | |
37 | { | |
38 | if(fPHOSAmp[mod]) delete fPHOSAmp[mod] ; | |
39 | fPHOSAmp[mod]=new TH2D(*h) ; | |
40 | printf("Set %s \n",fPHOSAmp[mod]->GetName()); | |
41 | } | |
42 | ||
43 | ||
44 | private: | |
45 | ||
46 | AliAnalysisTaskPi0Calib(const AliAnalysisTaskPi0Calib&); // not implemented | |
47 | AliAnalysisTaskPi0Calib& operator=(const AliAnalysisTaskPi0Calib&); // not implemented | |
48 | Bool_t IsGoodChannel(const char * det, Int_t mod,Int_t ix, Int_t iz); //Use addisional bad map for PHOS | |
49 | void FillHistogram(const char * key,Double_t x) const ; //Fill 1D histogram witn name key | |
50 | void FillHistogram(const char * key,Double_t x, Double_t y) const ; //Fill 2D histogram witn name key | |
51 | void FillHistogram(const char * key,Double_t x, Double_t y, Double_t z) const ; //Fill 3D histogram witn name key | |
52 | Bool_t TestTOF(Double_t e,Double_t tof) ; //Evaluate TOF cut | |
53 | Bool_t TestLambda(Double_t pt,Double_t l1,Double_t l2) ; //Evaluate Dispersion cuts for photons | |
54 | Double_t TestCPV(Double_t dx, Double_t dz, Double_t pt, Int_t charge); | |
55 | Int_t ConvertRunNumber(Int_t run) ; | |
56 | ||
57 | private: | |
58 | TList * fOutputContainer; //! final histogram container | |
59 | TList * fPHOSEvents; //! Containers for events with PHOS photons | |
60 | TClonesArray * fPHOSEvent ; //! PHOS photons in current event | |
61 | AliPHOSCalibData * fPHOSCalibData; //! PHOS calibration object | |
62 | TH2I * fPHOSBadMap[6] ; //Container for PHOS bad channels map | |
63 | TH2D * fPHOSAmp[6] ; //Container for PHOS bad channels map | |
64 | ||
65 | AliPHOSGeometry * fPHOSGeo; //! PHOS geometry | |
66 | Int_t fEventCounter; // number of analyzed events | |
67 | ||
68 | ClassDef(AliAnalysisTaskPi0Calib, 1); // PHOS analysis task | |
69 | }; | |
70 | ||
71 | #endif |