]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/qaRec/AliTRDclusterResolution.h
update Cl Error Param task for magnetic field
[u/mrichter/AliRoot.git] / TRD / qaRec / AliTRDclusterResolution.h
1 #ifndef ALITRDCLUSTERRESOLUTION_H
2 #define ALITRDCLUSTERRESOLUTION_H
3
4
5 #ifndef ALITRDRECOTASK_H
6 #include "AliTRDrecoTask.h"
7 #endif
8
9 class TObjArray;
10 class TAxis;
11 class AliTRDclusterResolution : public AliTRDrecoTask
12 {
13 public:
14   enum { // bins in z and x direction
15     kNTB = 24
16     ,kND = 5
17     ,kN  = kND*kNTB
18   };
19   enum { // results containers
20     kQRes      = 0
21     ,kYRes     = 1
22     ,kSXRes    = 2
23     ,kSYRes    = 3
24   };
25   enum { // force setting the ExB
26     kExB       = BIT(23)
27   };
28   AliTRDclusterResolution();
29   virtual ~AliTRDclusterResolution();
30
31   void    ConnectInputData(Option_t *);
32   void    CreateOutputObjects();
33   void    Exec(Option_t *);
34   Int_t   GetDetector() const { return fDet; }
35   inline Float_t GetExB() const;
36   Bool_t  GetRefFigure(Int_t ifig);
37   Bool_t  HasExB() const { return TestBit(kExB);}
38   TObjArray*  Histos(); 
39   
40   Bool_t  PostProcess();
41   Bool_t  SetExB(Int_t det=-1);
42   void    Terminate(Option_t *){};
43
44 private:
45   AliTRDclusterResolution(const AliTRDclusterResolution&);  
46   AliTRDclusterResolution& operator=(const AliTRDclusterResolution&);
47
48   TObjArray  *fInfo;   // list of cluster info
49   TObjArray  *fResults;// list of result graphs/histos
50   TAxis      *fAt;     // binning in the x(radial) direction (time)
51   TAxis      *fAd;     // binning in the z direction (drift cell)
52   Float_t    fExB;     // tg of the Lorentz angle
53   Short_t    fDet;     // detector (-1 for all)
54
55   ClassDef(AliTRDclusterResolution, 0)  // cluster resolution
56 };
57
58 inline Float_t AliTRDclusterResolution::GetExB() const
59
60   if(!HasExB()){
61     printf("WARNING :: ExB was not set. Use B=0.\n");
62   }
63   return fExB;
64 }
65 #endif
66