]>
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 | ||
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); | |
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 |