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