]>
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 | |
f0a651f0 | 33 | Float_t CorrectLeadingTime(Int_t i, Float_t time, Float_t adc) const; |
ecb38463 | 34 | |
35 | private: | |
36 | ||
f0a651f0 | 37 | TList* fListOfHistos; // List of output histos |
ecb38463 | 38 | |
f0a651f0 | 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 | |
ecb38463 | 43 | |
f0a651f0 | 44 | TH2F *fhAdcPMTNoTime; // ADC spectra per PMT (no time measurement) |
45 | TH2F *fhAdcPMTWithTime; // ADC spectra per PMT (with time measurement) | |
ecb38463 | 46 | |
f0a651f0 | 47 | TH1F *fhTimeA; // Time spectra for V0A |
48 | TH1F *fhTimeC; // Time spectra for V0C | |
ecb38463 | 49 | |
f0a651f0 | 50 | TH1F *fhWidthA; // Signal width for V0A |
51 | TH1F *fhWidthC; // Signal width for V0C | |
ecb38463 | 52 | |
f0a651f0 | 53 | TH2F *fhTimePMT; // Time spectra per PMT |
54 | TH2F *fhWidthPMT; // Signal width per PMT | |
ecb38463 | 55 | |
f0a651f0 | 56 | TH2F *fhAdcWidthA; // ADC vs Signal width for V0A |
57 | TH2F *fhAdcWidthC; // ADC vs Signal width for V0C | |
ecb38463 | 58 | |
f0a651f0 | 59 | TH2F *fhTimeCorr; // Corrected mean time V0C vs V0A |
ecb38463 | 60 | |
f0a651f0 | 61 | TH2F *fhAdcTimeA; // ADC vs Time for V0A |
62 | TH2F *fhAdcTimeC; // ADC vs Time for V0C | |
ecb38463 | 63 | |
f0a651f0 | 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 | |
ecb38463 | 69 | |
f0a651f0 | 70 | TH2F *fhTimePMTCorr; // Corrected time per PMT |
71 | TH2F *fhEvents; // Event statistics histogram | |
892effee | 72 | |
f0a651f0 | 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 | |
892effee | 79 | |
ecb38463 | 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 |