Fixed a stupid bug
[u/mrichter/AliRoot.git] / PWG1 / AliAnaVZEROQA.h
CommitLineData
ecb38463 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
13class 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);
892effee 29
f0a651f0 30 Float_t CorrectLeadingTime(Int_t i, Float_t time, Float_t adc) const;
ecb38463 31
32 private:
33
f0a651f0 34 TList* fListOfHistos; // List of output histos
ecb38463 35
f0a651f0 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
ecb38463 40
f0a651f0 41 TH2F *fhAdcPMTNoTime; // ADC spectra per PMT (no time measurement)
42 TH2F *fhAdcPMTWithTime; // ADC spectra per PMT (with time measurement)
ecb38463 43
f0a651f0 44 TH1F *fhTimeA; // Time spectra for V0A
45 TH1F *fhTimeC; // Time spectra for V0C
ecb38463 46
f0a651f0 47 TH1F *fhWidthA; // Signal width for V0A
48 TH1F *fhWidthC; // Signal width for V0C
ecb38463 49
f0a651f0 50 TH2F *fhTimePMT; // Time spectra per PMT
51 TH2F *fhWidthPMT; // Signal width per PMT
ecb38463 52
f0a651f0 53 TH2F *fhAdcWidthA; // ADC vs Signal width for V0A
54 TH2F *fhAdcWidthC; // ADC vs Signal width for V0C
ecb38463 55
f0a651f0 56 TH2F *fhTimeCorr; // Corrected mean time V0C vs V0A
ecb38463 57
f0a651f0 58 TH2F *fhAdcTimeA; // ADC vs Time for V0A
59 TH2F *fhAdcTimeC; // ADC vs Time for V0C
ecb38463 60
f0a651f0 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
ecb38463 66
f0a651f0 67 TH2F *fhTimePMTCorr; // Corrected time per PMT
68 TH2F *fhEvents; // Event statistics histogram
892effee 69
f0a651f0 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
892effee 76
ecb38463 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