]>
Commit | Line | Data |
---|---|---|
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 | ||
fa29fb90 | 11 | class TH1F; |
12 | class TH2F; | |
13 | ||
ecb38463 | 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); | |
892effee | 32 | |
ecb38463 | 33 | private: |
34 | ||
f0a651f0 | 35 | TList* fListOfHistos; // List of output histos |
ecb38463 | 36 | |
f0a651f0 | 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 | |
ecb38463 | 41 | |
f0a651f0 | 42 | TH2F *fhAdcPMTNoTime; // ADC spectra per PMT (no time measurement) |
43 | TH2F *fhAdcPMTWithTime; // ADC spectra per PMT (with time measurement) | |
ecb38463 | 44 | |
f0a651f0 | 45 | TH1F *fhTimeA; // Time spectra for V0A |
46 | TH1F *fhTimeC; // Time spectra for V0C | |
ecb38463 | 47 | |
f0a651f0 | 48 | TH1F *fhWidthA; // Signal width for V0A |
49 | TH1F *fhWidthC; // Signal width for V0C | |
ecb38463 | 50 | |
f0a651f0 | 51 | TH2F *fhTimePMT; // Time spectra per PMT |
52 | TH2F *fhWidthPMT; // Signal width per PMT | |
ecb38463 | 53 | |
f0a651f0 | 54 | TH2F *fhAdcWidthA; // ADC vs Signal width for V0A |
55 | TH2F *fhAdcWidthC; // ADC vs Signal width for V0C | |
ecb38463 | 56 | |
f0a651f0 | 57 | TH2F *fhTimeCorr; // Corrected mean time V0C vs V0A |
ecb38463 | 58 | |
f0a651f0 | 59 | TH2F *fhAdcTimeA; // ADC vs Time for V0A |
60 | TH2F *fhAdcTimeC; // ADC vs Time for V0C | |
ecb38463 | 61 | |
f0a651f0 | 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 | |
ecb38463 | 67 | |
f0a651f0 | 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 |