New directory for the VMC tests (Ivana, Eva)
[u/mrichter/AliRoot.git] / TRD / qaRec / AliTRDcheckESD.h
CommitLineData
ddd1a033 1#ifndef ALITRDCHECKESD_H
2#define ALITRDCHECKESD_H
9a281e83 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id: AliTRDcheckESD.h 27496 2008-07-22 08:35:45Z cblume $ */
7
ddd1a033 8/////////////////////////////////////////////////////
9//
10// Check basic detector results at ESD level
11//
12// Author
13// Alex Bercuci <A.Bercuci@gsi.de>
14//
15//////////////////////////////////////////////////////
9a281e83 16
17#ifndef ALIANALYSISTASK_H
18#include "AliAnalysisTask.h"
19#endif
20
21class AliESDEvent;
22class AliMCEvent;
873458ab 23class TH1;
9a281e83 24class TObjArray;
eede30c8 25class TGraph;
965e895b 26class TGraphErrors;
9a281e83 27class AliTRDcheckESD : public AliAnalysisTask {
28public:
29 enum ETRDcheckESDstatus {
30 kMC = BIT(0)
31 };
32 enum ETRDcheckESDhistos {
eede30c8 33 kNCl = 0 // number of clusters per track
34 ,kTRDstat // TRD tracks status
35 ,kTRDmom // TRD track momentum
965e895b 36 ,kNhistos = 3 // number of histograms
eede30c8 37 ,kNgraphs = 6 // number of graphs
d12237d6 38 };
39 enum ETRDcheckESDbits {
40 kTPCout = 1 // track left TPC
41 ,kTRDin // track reach TRD fiducial volume
42 ,kTRDout // track reconstructed in TRD
43 ,kTRDpid // PID calculated in TRD
44 ,kTRDref // track refitted in TRD
45 ,kNbits = 5 // number of check bits
9a281e83 46 };
47 AliTRDcheckESD();
48 virtual ~AliTRDcheckESD();
49
965e895b 50 void ConnectInputData(Option_t *);
51 void CreateOutputObjects();
bbe8aaad 52 Bool_t GetRefFigure(Int_t ifig);
965e895b 53 void Exec(Option_t *);
9a281e83 54
965e895b 55 Bool_t HasMC() const { return TESTBIT(fStatus, kMC);}
56 Bool_t Load(const Char_t *fn, const Char_t *name=0x0);
57 void SetMC(Bool_t mc = kTRUE) { mc ? SETBIT(fStatus, kMC) : CLRBIT(fStatus, kMC);}
5e17c62a 58 Bool_t PutTrendValue(const Char_t *name, Double_t val);
965e895b 59 void Terminate(Option_t *);
9a281e83 60
9a281e83 61private:
ddd1a033 62 static const Float_t fgkxTPC; // end radial position of TPC
63 static const Float_t fgkxTOF; // start radial position of TOF
64
9a281e83 65 AliTRDcheckESD(const AliTRDcheckESD&);
66 AliTRDcheckESD& operator=(const AliTRDcheckESD&);
bbe8aaad 67 TGraph* GetGraph(Int_t id, Option_t *opt="bc");
68 TObjArray* Histos();
965e895b 69 void Process(TH1 **h, TGraphErrors *g);
e9ed5db1 70 void PrintStatus(ULong_t s);
965e895b 71
9a281e83 72 Int_t fStatus; // bit mask for controlling the task
73 AliESDEvent *fESD; // ESD event
74 AliMCEvent *fMC; // MC event
75 TObjArray *fHistos; // QA histos
eede30c8 76 TObjArray *fResults; // QA graphs
59589fc9 77 static FILE *fgFile; //! trend file streamer
eede30c8 78 ClassDef(AliTRDcheckESD, 3) // user oriented TRD analysis based on ESD-MC data
9a281e83 79};
80#endif