ROOT logo
#ifndef ALIANAVZEROQA_H
#define ALIANAVZEROQA_H

//------------------------------
// Analysis task for quality-assurance
// of VZERO ESD
//
// 05/12/2009 cvetan.cheshkov@cern.ch
//------------------------------

class TH1F;
class TH2F;

#include "AliAnalysisTaskSE.h"

class AliAnaVZEROQA : public AliAnalysisTaskSE
{
 public:	 
  AliAnaVZEROQA();
  AliAnaVZEROQA(const char *name);
  virtual ~AliAnaVZEROQA() {}

  virtual void   UserCreateOutputObjects();
  virtual void   UserExec(Option_t *option);
  virtual void   Terminate(Option_t *);

  TH1F* CreateHisto1D(const char* name, const char* title, Int_t nBins, Double_t xMin, Double_t xMax,
		      const char* xLabel = NULL, const char* yLabel = NULL);
  TH2F* CreateHisto2D(const char* name, const char* title, Int_t nBinsX, Double_t xMin, Double_t xMax,
		      Int_t nBinsY, Double_t yMin, Double_t yMax,
		      const char* xLabel = NULL, const char* yLabel = NULL);

 private:

  TList* fListOfHistos;   // List of output histos

  TH1F *fhAdcNoTimeA;     // ADC spectra (no time measurement) for V0A
  TH1F *fhAdcWithTimeA;   // ADC spectra (with time measurement) for V0A
  TH1F *fhAdcNoTimeC;     // ADC spectra (no time measurement) for V0C
  TH1F *fhAdcWithTimeC;   // ADC spectra (with time measurement) for V0C

  TH2F *fhAdcPMTNoTime;   // ADC spectra per PMT (no time measurement)
  TH2F *fhAdcPMTWithTime; // ADC spectra per PMT (with time measurement)
 
  TH1F *fhTimeA;          // Time spectra for V0A
  TH1F *fhTimeC;          // Time spectra for V0C

  TH1F *fhWidthA;         // Signal width for V0A
  TH1F *fhWidthC;         // Signal width for V0C

  TH2F *fhTimePMT;        // Time spectra per PMT
  TH2F *fhWidthPMT;       // Signal width per PMT

  TH2F *fhAdcWidthA;      // ADC vs Signal width for V0A
  TH2F *fhAdcWidthC;      // ADC vs Signal width for V0C

  TH2F *fhTimeCorr;       // Corrected mean time V0C vs V0A

  TH2F *fhAdcTimeA;       // ADC vs Time for V0A
  TH2F *fhAdcTimeC;       // ADC vs Time for V0C

  TH1F *fV0a;             // Number of fired PMTs in V0A
  TH1F *fV0c;             // Number of fired PMTs in V0C
  TH1F *fV0multA;         // Mutiplicity in V0A
  TH1F *fV0multC;         // Mutiplicity in V0C
  TH1F *fV0ampl;          // ADC spectra for both rings

  TH2F *fhEvents;         // Event statistics histogram

  TH2F *fhVtxXYBB;        // XY vertex for beam-beam events
  TH1F *fhVtxZBB;         // Z vertex for beam-beam events
  TH2F *fhVtxXYBGA;       // XY vertex for beam-gas (A side) events
  TH1F *fhVtxZBGA;        // Z vertex for beam-gas (A side) events
  TH2F *fhVtxXYBGC;       // XY vertex for beam-gas (C side) events
  TH1F *fhVtxZBGC;        // Z vertex for beam-gas (C side) events

  AliAnaVZEROQA(const AliAnaVZEROQA&); // not implemented
  AliAnaVZEROQA& operator=(const AliAnaVZEROQA&); // not implemented

  ClassDef(AliAnaVZEROQA, 1) // VZERO QA task
};

#endif
 AliAnaVZEROQA.h:1
 AliAnaVZEROQA.h:2
 AliAnaVZEROQA.h:3
 AliAnaVZEROQA.h:4
 AliAnaVZEROQA.h:5
 AliAnaVZEROQA.h:6
 AliAnaVZEROQA.h:7
 AliAnaVZEROQA.h:8
 AliAnaVZEROQA.h:9
 AliAnaVZEROQA.h:10
 AliAnaVZEROQA.h:11
 AliAnaVZEROQA.h:12
 AliAnaVZEROQA.h:13
 AliAnaVZEROQA.h:14
 AliAnaVZEROQA.h:15
 AliAnaVZEROQA.h:16
 AliAnaVZEROQA.h:17
 AliAnaVZEROQA.h:18
 AliAnaVZEROQA.h:19
 AliAnaVZEROQA.h:20
 AliAnaVZEROQA.h:21
 AliAnaVZEROQA.h:22
 AliAnaVZEROQA.h:23
 AliAnaVZEROQA.h:24
 AliAnaVZEROQA.h:25
 AliAnaVZEROQA.h:26
 AliAnaVZEROQA.h:27
 AliAnaVZEROQA.h:28
 AliAnaVZEROQA.h:29
 AliAnaVZEROQA.h:30
 AliAnaVZEROQA.h:31
 AliAnaVZEROQA.h:32
 AliAnaVZEROQA.h:33
 AliAnaVZEROQA.h:34
 AliAnaVZEROQA.h:35
 AliAnaVZEROQA.h:36
 AliAnaVZEROQA.h:37
 AliAnaVZEROQA.h:38
 AliAnaVZEROQA.h:39
 AliAnaVZEROQA.h:40
 AliAnaVZEROQA.h:41
 AliAnaVZEROQA.h:42
 AliAnaVZEROQA.h:43
 AliAnaVZEROQA.h:44
 AliAnaVZEROQA.h:45
 AliAnaVZEROQA.h:46
 AliAnaVZEROQA.h:47
 AliAnaVZEROQA.h:48
 AliAnaVZEROQA.h:49
 AliAnaVZEROQA.h:50
 AliAnaVZEROQA.h:51
 AliAnaVZEROQA.h:52
 AliAnaVZEROQA.h:53
 AliAnaVZEROQA.h:54
 AliAnaVZEROQA.h:55
 AliAnaVZEROQA.h:56
 AliAnaVZEROQA.h:57
 AliAnaVZEROQA.h:58
 AliAnaVZEROQA.h:59
 AliAnaVZEROQA.h:60
 AliAnaVZEROQA.h:61
 AliAnaVZEROQA.h:62
 AliAnaVZEROQA.h:63
 AliAnaVZEROQA.h:64
 AliAnaVZEROQA.h:65
 AliAnaVZEROQA.h:66
 AliAnaVZEROQA.h:67
 AliAnaVZEROQA.h:68
 AliAnaVZEROQA.h:69
 AliAnaVZEROQA.h:70
 AliAnaVZEROQA.h:71
 AliAnaVZEROQA.h:72
 AliAnaVZEROQA.h:73
 AliAnaVZEROQA.h:74
 AliAnaVZEROQA.h:75
 AliAnaVZEROQA.h:76
 AliAnaVZEROQA.h:77
 AliAnaVZEROQA.h:78
 AliAnaVZEROQA.h:79
 AliAnaVZEROQA.h:80
 AliAnaVZEROQA.h:81
 AliAnaVZEROQA.h:82
 AliAnaVZEROQA.h:83