ROOT logo
#ifndef ALIANAFWDDETSQA_H
#define ALIANAFWDDETSQA_H

//------------------------------
// Analysis task for quality-assurance
// of forward detectors ESD
//
// 12/06/2009 cvetan.cheshkov@cern.ch
//------------------------------


class TH1;
class TH1F;
class TH2F;

#include "AliAnalysisTaskSE.h"

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

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

  TH1F* CreateHisto(const char* name, const char* title, Int_t nBins, Double_t xMin, 
			Double_t xMax, const char* xLabel = NULL, const char* yLabel = NULL);
  TH1F* CreateEffHisto(const TH1F* hGen, const TH1F* hRec);
  Bool_t FitHisto(TH1* histo, Double_t& res, Double_t& resError);
  
 private:

  TList* fListOfHistos; // Container for output histos

  TH1F* fT0vtxRec;      // T0 reconstructed z vertex
  TH2F* fT0vtxRecGen;   // T0 reconstructed vs generate z vertex
  TH1F* fT0time;        // T0 time0
  TH1F* fT0time2;       // T0 time0
  TH1F* fT0mult;        // T0 multiplicity
  TH1F* fT0vtxRes;      // T0 z vertex resolution
  TH1F* fT0ampl;        // T0 signals amplitude

  TH1F* fV0a;           // V0 number of fired PMs A side
  TH1F* fV0c;           // V0 number of fired PMs C side
  TH1F* fV0multA;       // V0 multiplicity on A side
  TH1F* fV0multC;       // V0 multiplicity on C side
  TH2F* fV0multAcorr;   // V0 reconstructed vs generated multiplicity on A side
  TH2F* fV0multCcorr;   // V0 reconstructed vs generated multiplicity on C side
  TH2F* fV0Acorr;       // V0 number of fired PMs (reco vs gen) A side
  TH2F* fV0Ccorr;       // V0 number of fired PMs (reco vs gen) C side
  TH1F* fV0ampl;        // V0 multiplicity in single channel

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

  ClassDef(AliAnaFwdDetsQA, 1) // example of analysis
};

#endif
 AliAnaFwdDetsQA.h:1
 AliAnaFwdDetsQA.h:2
 AliAnaFwdDetsQA.h:3
 AliAnaFwdDetsQA.h:4
 AliAnaFwdDetsQA.h:5
 AliAnaFwdDetsQA.h:6
 AliAnaFwdDetsQA.h:7
 AliAnaFwdDetsQA.h:8
 AliAnaFwdDetsQA.h:9
 AliAnaFwdDetsQA.h:10
 AliAnaFwdDetsQA.h:11
 AliAnaFwdDetsQA.h:12
 AliAnaFwdDetsQA.h:13
 AliAnaFwdDetsQA.h:14
 AliAnaFwdDetsQA.h:15
 AliAnaFwdDetsQA.h:16
 AliAnaFwdDetsQA.h:17
 AliAnaFwdDetsQA.h:18
 AliAnaFwdDetsQA.h:19
 AliAnaFwdDetsQA.h:20
 AliAnaFwdDetsQA.h:21
 AliAnaFwdDetsQA.h:22
 AliAnaFwdDetsQA.h:23
 AliAnaFwdDetsQA.h:24
 AliAnaFwdDetsQA.h:25
 AliAnaFwdDetsQA.h:26
 AliAnaFwdDetsQA.h:27
 AliAnaFwdDetsQA.h:28
 AliAnaFwdDetsQA.h:29
 AliAnaFwdDetsQA.h:30
 AliAnaFwdDetsQA.h:31
 AliAnaFwdDetsQA.h:32
 AliAnaFwdDetsQA.h:33
 AliAnaFwdDetsQA.h:34
 AliAnaFwdDetsQA.h:35
 AliAnaFwdDetsQA.h:36
 AliAnaFwdDetsQA.h:37
 AliAnaFwdDetsQA.h:38
 AliAnaFwdDetsQA.h:39
 AliAnaFwdDetsQA.h:40
 AliAnaFwdDetsQA.h:41
 AliAnaFwdDetsQA.h:42
 AliAnaFwdDetsQA.h:43
 AliAnaFwdDetsQA.h:44
 AliAnaFwdDetsQA.h:45
 AliAnaFwdDetsQA.h:46
 AliAnaFwdDetsQA.h:47
 AliAnaFwdDetsQA.h:48
 AliAnaFwdDetsQA.h:49
 AliAnaFwdDetsQA.h:50
 AliAnaFwdDetsQA.h:51
 AliAnaFwdDetsQA.h:52
 AliAnaFwdDetsQA.h:53
 AliAnaFwdDetsQA.h:54
 AliAnaFwdDetsQA.h:55
 AliAnaFwdDetsQA.h:56
 AliAnaFwdDetsQA.h:57
 AliAnaFwdDetsQA.h:58
 AliAnaFwdDetsQA.h:59
 AliAnaFwdDetsQA.h:60
 AliAnaFwdDetsQA.h:61
 AliAnaFwdDetsQA.h:62