]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/PHOSTasks/PHOS_pp_pi0/AliAnalysisTaskPi0.h
Updates for bunch crossing pileup, event selection, histogramming.
[u/mrichter/AliRoot.git] / PWGGA / PHOSTasks / PHOS_pp_pi0 / AliAnalysisTaskPi0.h
1 #ifndef AliAnalysisTaskPi0_cxx\r
2 #define AliAnalysisTaskPi0_cxx\r
3 \r
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
5  * See cxx source for full Copyright notice     */\r
6 /* $Id$ */\r
7 \r
8 // Analysis task for pi0 and eta meson analysis in pp collisions\r
9 // Authors: Yuri Kharlov, Dmitri Peressounko\r
10 \r
11 class TObjArray;\r
12 class TH1F;\r
13 class TH2I;\r
14 class TH2F;\r
15 class TH3F;\r
16 class AliESDtrackCuts;\r
17 class AliPHOSGeometry;\r
18 class AliTriggerAnalysis;\r
19 \r
20 #include "TH2I.h"\r
21 #include "AliAnalysisTaskSE.h"\r
22 #include "AliLog.h"\r
23 \r
24 class AliAnalysisTaskPi0 : public AliAnalysisTaskSE {\r
25 public:\r
26   AliAnalysisTaskPi0(const char *name = "AliAnalysisTaskPi0");\r
27   virtual ~AliAnalysisTaskPi0() {}\r
28   \r
29   virtual void   UserCreateOutputObjects();\r
30   virtual void   UserExec(Option_t *option);\r
31   virtual void   Terminate(Option_t *);\r
32   void SetBCgap(const Double_t bcgap) {fBCgap = bcgap;}\r
33   void SetRecalib(const Int_t mod, const Double_t recalib)\r
34   {\r
35     if (mod<1 || mod>5) AliFatal(Form("Wrong module number: %d",mod));\r
36     else fRecalib[mod-1] = recalib;\r
37   }\r
38   void SetPHOSBadMap(Int_t mod,TH2I * h)\r
39   {\r
40     if(fPHOSBadMap[mod]) delete fPHOSBadMap[mod] ;\r
41     fPHOSBadMap[mod]=new TH2I(*h) ;\r
42     printf("Set %s \n",fPHOSBadMap[mod]->GetName());\r
43   }\r
44   \r
45 private:\r
46   AliAnalysisTaskPi0(const AliAnalysisTaskPi0&); // not implemented\r
47   AliAnalysisTaskPi0& operator=(const AliAnalysisTaskPi0&); // not implemented\r
48   Bool_t IsGoodChannel(const char * det, Int_t mod,Int_t ix, Int_t iz);\r
49   void FillHistogram(const char * key,Double_t x) const ; //Fill 1D histogram witn name key\r
50   void FillHistogram(const char * key,Double_t x, Double_t y) const ; //Fill 2D histogram witn name key\r
51   void FillHistogram(const char * key,Double_t x, Double_t y, Double_t z) const ; //Fill 3D histogram witn name key\r
52   Bool_t TestLambda(Double_t l1,Double_t l2) ;\r
53   Int_t  TestBC(Double_t tof) ;\r
54  \r
55 private:\r
56   AliESDtrackCuts *fESDtrackCuts; // Track cut\r
57   TList * fOutputContainer;       //final histogram container\r
58   TList * fPHOSEvents[10][2] ;    //Container for PHOS photons\r
59   TClonesArray * fPHOSEvent ;     //PHOS photons in current event\r
60  \r
61   Int_t fnCINT1B;           // Number of CINT1B triggers\r
62   Int_t fnCINT1A;           // Number of CINT1A triggers\r
63   Int_t fnCINT1C;           // Number of CINT1C triggers\r
64   Int_t fnCINT1E;           // Number of CINT1E triggers\r
65 \r
66   Double_t fBCgap;          // time gap between BC in seconds\r
67   Double_t fRecalib[5];     // Correction for abs.calibration per module\r
68 \r
69   TH2I *fPHOSBadMap[6] ;    //Container for PHOS bad channels map\r
70 \r
71   AliPHOSGeometry  *fPHOSGeo;  // PHOS geometry\r
72   Int_t fEventCounter;         // number of analyzed events\r
73   AliTriggerAnalysis *fTriggerAnalysis; //! Trigger Analysis for Normalisation\r
74 \r
75   ClassDef(AliAnalysisTaskPi0, 3); // PHOS analysis task\r
76 };\r
77 \r
78 #endif\r