1 #ifndef AliAnalysisTaskPi0_cxx
2 #define AliAnalysisTaskPi0_cxx
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
8 // Analysis task for pi0 and eta meson analysis in pp collisions
9 // Authors: Yuri Kharlov, Dmitri Peressounko
16 class AliESDtrackCuts;
17 class AliPHOSGeometry;
18 class AliTriggerAnalysis;
21 #include "AliAnalysisTaskSE.h"
24 class AliAnalysisTaskPi0 : public AliAnalysisTaskSE {
26 AliAnalysisTaskPi0(const char *name = "AliAnalysisTaskPi0");
27 virtual ~AliAnalysisTaskPi0() {}
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)
35 if (mod<1 || mod>5) AliFatal(Form("Wrong module number: %d",mod));
36 else fRecalib[mod-1] = recalib;
38 void SetPHOSBadMap(Int_t mod,TH2I * h)
40 if(fPHOSBadMap[mod]) delete fPHOSBadMap[mod] ;
41 fPHOSBadMap[mod]=new TH2I(*h) ;
42 printf("Set %s \n",fPHOSBadMap[mod]->GetName());
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) ;
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
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
66 Double_t fBCgap; // time gap between BC in seconds
67 Double_t fRecalib[5]; // Correction for abs.calibration per module
69 TH2I *fPHOSBadMap[6] ; //Container for PHOS bad channels map
71 AliPHOSGeometry *fPHOSGeo; // PHOS geometry
72 Int_t fEventCounter; // number of analyzed events
73 AliTriggerAnalysis *fTriggerAnalysis; //! Trigger Analysis for Normalisation
75 ClassDef(AliAnalysisTaskPi0, 3); // PHOS analysis task