Coding convention fixes.
[u/mrichter/AliRoot.git] / PWG1 / 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 #include "AliAnalysisTaskSE.h"
12
13 class AliAnaVZEROQA : public AliAnalysisTaskSE
14 {
15  public:         
16   AliAnaVZEROQA();
17   AliAnaVZEROQA(const char *name);
18   virtual ~AliAnaVZEROQA() {}
19
20   virtual void   UserCreateOutputObjects();
21   virtual void   UserExec(Option_t *option);
22   virtual void   Terminate(Option_t *);
23
24   TH1F* CreateHisto1D(const char* name, const char* title, Int_t nBins, Double_t xMin, Double_t xMax,
25                       const char* xLabel = NULL, const char* yLabel = NULL);
26   TH2F* CreateHisto2D(const char* name, const char* title, Int_t nBinsX, Double_t xMin, Double_t xMax,
27                       Int_t nBinsY, Double_t yMin, Double_t yMax,
28                       const char* xLabel = NULL, const char* yLabel = NULL);
29
30   Float_t CorrectLeadingTime(Int_t i, Float_t time, Float_t adc) const;
31   
32  private:
33
34   TList* fListOfHistos;   // List of output histos
35
36   TH1F *fhAdcNoTimeA;     // ADC spectra (no time measurement) for V0A
37   TH1F *fhAdcWithTimeA;   // ADC spectra (with time measurement) for V0A
38   TH1F *fhAdcNoTimeC;     // ADC spectra (no time measurement) for V0C
39   TH1F *fhAdcWithTimeC;   // ADC spectra (with time measurement) for V0C
40
41   TH2F *fhAdcPMTNoTime;   // ADC spectra per PMT (no time measurement)
42   TH2F *fhAdcPMTWithTime; // ADC spectra per PMT (with time measurement)
43  
44   TH1F *fhTimeA;          // Time spectra for V0A
45   TH1F *fhTimeC;          // Time spectra for V0C
46
47   TH1F *fhWidthA;         // Signal width for V0A
48   TH1F *fhWidthC;         // Signal width for V0C
49
50   TH2F *fhTimePMT;        // Time spectra per PMT
51   TH2F *fhWidthPMT;       // Signal width per PMT
52
53   TH2F *fhAdcWidthA;      // ADC vs Signal width for V0A
54   TH2F *fhAdcWidthC;      // ADC vs Signal width for V0C
55
56   TH2F *fhTimeCorr;       // Corrected mean time V0C vs V0A
57
58   TH2F *fhAdcTimeA;       // ADC vs Time for V0A
59   TH2F *fhAdcTimeC;       // ADC vs Time for V0C
60
61   TH1F *fV0a;             // Number of fired PMTs in V0A
62   TH1F *fV0c;             // Number of fired PMTs in V0C
63   TH1F *fV0multA;         // Mutiplicity in V0A
64   TH1F *fV0multC;         // Mutiplicity in V0C
65   TH1F *fV0ampl;          // ADC spectra for both rings
66
67   TH2F *fhTimePMTCorr;    // Corrected time per PMT
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