some more updates
[u/mrichter/AliRoot.git] / PWGPP / AliAnaVZEROQA.h
1 #ifndef ALIANAVZEROQA_H
2 #define ALIANAVZEROQA_H
3
4 //------------------------------
5 // Analysis task for quality-assurance
6 // of VZERO ESD
7 //
8 // 05/12/2009 cvetan.cheshkov@cern.ch
9 //------------------------------
10
11 class TH1F;
12 class TH2F;
13
14 #include "AliAnalysisTaskSE.h"
15
16 class AliAnaVZEROQA : public AliAnalysisTaskSE
17 {
18  public:         
19   AliAnaVZEROQA();
20   AliAnaVZEROQA(const char *name);
21   virtual ~AliAnaVZEROQA() {}
22
23   virtual void   UserCreateOutputObjects();
24   virtual void   UserExec(Option_t *option);
25   virtual void   Terminate(Option_t *);
26
27   TH1F* CreateHisto1D(const char* name, const char* title, Int_t nBins, Double_t xMin, Double_t xMax,
28                       const char* xLabel = NULL, const char* yLabel = NULL);
29   TH2F* CreateHisto2D(const char* name, const char* title, Int_t nBinsX, Double_t xMin, Double_t xMax,
30                       Int_t nBinsY, Double_t yMin, Double_t yMax,
31                       const char* xLabel = NULL, const char* yLabel = NULL);
32
33  private:
34
35   TList* fListOfHistos;   // List of output histos
36
37   TH1F *fhAdcNoTimeA;     // ADC spectra (no time measurement) for V0A
38   TH1F *fhAdcWithTimeA;   // ADC spectra (with time measurement) for V0A
39   TH1F *fhAdcNoTimeC;     // ADC spectra (no time measurement) for V0C
40   TH1F *fhAdcWithTimeC;   // ADC spectra (with time measurement) for V0C
41
42   TH2F *fhAdcPMTNoTime;   // ADC spectra per PMT (no time measurement)
43   TH2F *fhAdcPMTWithTime; // ADC spectra per PMT (with time measurement)
44  
45   TH1F *fhTimeA;          // Time spectra for V0A
46   TH1F *fhTimeC;          // Time spectra for V0C
47
48   TH1F *fhWidthA;         // Signal width for V0A
49   TH1F *fhWidthC;         // Signal width for V0C
50
51   TH2F *fhTimePMT;        // Time spectra per PMT
52   TH2F *fhWidthPMT;       // Signal width per PMT
53
54   TH2F *fhAdcWidthA;      // ADC vs Signal width for V0A
55   TH2F *fhAdcWidthC;      // ADC vs Signal width for V0C
56
57   TH2F *fhTimeCorr;       // Corrected mean time V0C vs V0A
58
59   TH2F *fhAdcTimeA;       // ADC vs Time for V0A
60   TH2F *fhAdcTimeC;       // ADC vs Time for V0C
61
62   TH1F *fV0a;             // Number of fired PMTs in V0A
63   TH1F *fV0c;             // Number of fired PMTs in V0C
64   TH1F *fV0multA;         // Mutiplicity in V0A
65   TH1F *fV0multC;         // Mutiplicity in V0C
66   TH1F *fV0ampl;          // ADC spectra for both rings
67
68   TH2F *fhEvents;         // Event statistics histogram
69
70   TH2F *fhVtxXYBB;        // XY vertex for beam-beam events
71   TH1F *fhVtxZBB;         // Z vertex for beam-beam events
72   TH2F *fhVtxXYBGA;       // XY vertex for beam-gas (A side) events
73   TH1F *fhVtxZBGA;        // Z vertex for beam-gas (A side) events
74   TH2F *fhVtxXYBGC;       // XY vertex for beam-gas (C side) events
75   TH1F *fhVtxZBGC;        // Z vertex for beam-gas (C side) events
76
77   AliAnaVZEROQA(const AliAnaVZEROQA&); // not implemented
78   AliAnaVZEROQA& operator=(const AliAnaVZEROQA&); // not implemented
79
80   ClassDef(AliAnaVZEROQA, 1) // VZERO QA task
81 };
82
83 #endif