]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/qaRec/AliTRDcheckESD.h
update for non null magnetic field
[u/mrichter/AliRoot.git] / TRD / qaRec / AliTRDcheckESD.h
1 #ifndef AliTRDcheckESD_H
2 #define AliTRDcheckESD_H
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
8 ////////////////////////////////////////////////////////////////////////////
9 //                                                                        //
10 //  Reconstruction QA                                                     //
11 //                                                                        //
12 ////////////////////////////////////////////////////////////////////////////
13
14 #ifndef ALIANALYSISTASK_H
15 #include "AliAnalysisTask.h"
16 #endif
17
18 class AliESDEvent;
19 class AliMCEvent;
20 class TObjArray;
21 class TGraphErrors;
22 class AliTRDcheckESD : public AliAnalysisTask {
23 public:
24   enum ETRDcheckESDstatus {
25     kMC = BIT(0)
26   };
27   enum ETRDcheckESDhistos {
28     kNCl  = 0 // number of clusters per track
29    ,kTRDstat  // TRD tracks status
30    ,kResults  // graphs as results
31    ,kNhistos = 3 // number of histograms
32   };
33   enum ETRDcheckESDbits {
34     kTPCout = 1 // track left TPC
35    ,kTRDin      // track reach TRD fiducial volume
36    ,kTRDout     // track reconstructed in TRD
37    ,kTRDpid     // PID calculated in TRD
38    ,kTRDref     // track refitted in TRD
39    ,kNbits  = 5 // number of check bits
40   };
41   AliTRDcheckESD();
42   virtual ~AliTRDcheckESD();
43   
44   void          ConnectInputData(Option_t *);
45   void          CreateOutputObjects();
46   TGraphErrors* GetGraph(Int_t id, Option_t *opt=0x0);
47   void          Exec(Option_t *);
48
49   Bool_t        HasMC() const { return TESTBIT(fStatus, kMC);}
50   TObjArray*    Histos();
51   Bool_t        Load(const Char_t *fn, const Char_t *name=0x0);
52   void          SetMC(Bool_t mc = kTRUE) { mc ? SETBIT(fStatus, kMC) : CLRBIT(fStatus, kMC);}
53   void          Terminate(Option_t *);
54
55   static const Int_t   fgkNgraphs;
56   static const Float_t fgkxTPC;
57   static const Float_t fgkxTOF;
58
59 private:
60   AliTRDcheckESD(const AliTRDcheckESD&);
61   AliTRDcheckESD& operator=(const AliTRDcheckESD&);
62   void          Process(TH1 **h, TGraphErrors *g);
63   void          PrintStatus(ULong_t s);
64
65   Int_t            fStatus;            // bit mask for controlling the task
66   AliESDEvent      *fESD;              // ESD event
67   AliMCEvent       *fMC;               // MC event
68   TObjArray        *fHistos;           // QA histos
69   ClassDef(AliTRDcheckESD, 1)          // user oriented TRD analysis based on ESD-MC data
70 };
71 #endif