Fix Coverity 15062, 15063
[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 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   Float_t CorrectLeadingTime(Int_t i, Float_t time, Float_t adc) const;
34   
35  private:
36
37   TList* fListOfHistos;   // List of output histos
38
39   TH1F *fhAdcNoTimeA;     // ADC spectra (no time measurement) for V0A
40   TH1F *fhAdcWithTimeA;   // ADC spectra (with time measurement) for V0A
41   TH1F *fhAdcNoTimeC;     // ADC spectra (no time measurement) for V0C
42   TH1F *fhAdcWithTimeC;   // ADC spectra (with time measurement) for V0C
43
44   TH2F *fhAdcPMTNoTime;   // ADC spectra per PMT (no time measurement)
45   TH2F *fhAdcPMTWithTime; // ADC spectra per PMT (with time measurement)
46  
47   TH1F *fhTimeA;          // Time spectra for V0A
48   TH1F *fhTimeC;          // Time spectra for V0C
49
50   TH1F *fhWidthA;         // Signal width for V0A
51   TH1F *fhWidthC;         // Signal width for V0C
52
53   TH2F *fhTimePMT;        // Time spectra per PMT
54   TH2F *fhWidthPMT;       // Signal width per PMT
55
56   TH2F *fhAdcWidthA;      // ADC vs Signal width for V0A
57   TH2F *fhAdcWidthC;      // ADC vs Signal width for V0C
58
59   TH2F *fhTimeCorr;       // Corrected mean time V0C vs V0A
60
61   TH2F *fhAdcTimeA;       // ADC vs Time for V0A
62   TH2F *fhAdcTimeC;       // ADC vs Time for V0C
63
64   TH1F *fV0a;             // Number of fired PMTs in V0A
65   TH1F *fV0c;             // Number of fired PMTs in V0C
66   TH1F *fV0multA;         // Mutiplicity in V0A
67   TH1F *fV0multC;         // Mutiplicity in V0C
68   TH1F *fV0ampl;          // ADC spectra for both rings
69
70   TH2F *fhTimePMTCorr;    // Corrected time per PMT
71   TH2F *fhEvents;         // Event statistics histogram
72
73   TH2F *fhVtxXYBB;        // XY vertex for beam-beam events
74   TH1F *fhVtxZBB;         // Z vertex for beam-beam events
75   TH2F *fhVtxXYBGA;       // XY vertex for beam-gas (A side) events
76   TH1F *fhVtxZBGA;        // Z vertex for beam-gas (A side) events
77   TH2F *fhVtxXYBGC;       // XY vertex for beam-gas (C side) events
78   TH1F *fhVtxZBGC;        // Z vertex for beam-gas (C side) events
79
80   AliAnaVZEROQA(const AliAnaVZEROQA&); // not implemented
81   AliAnaVZEROQA& operator=(const AliAnaVZEROQA&); // not implemented
82
83   ClassDef(AliAnaVZEROQA, 1) // VZERO QA task
84 };
85
86 #endif