]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/qaRec/AliTRDclusterResolution.h
Move the diffusion coefficients, the time structure, omegaTau for ExB, and switches...
[u/mrichter/AliRoot.git] / TRD / qaRec / AliTRDclusterResolution.h
CommitLineData
b2dc316d 1#ifndef ALITRDCLUSTERRESOLUTION_H
2#define ALITRDCLUSTERRESOLUTION_H
3
4
5#ifndef ALITRDRECOTASK_H
6#include "AliTRDrecoTask.h"
7#endif
8
f2231ce8 9class TCanvas;
b2dc316d 10class TObjArray;
fc0946a7 11class TAxis;
b2dc316d 12class AliTRDclusterResolution : public AliTRDrecoTask
13{
14public:
9462866a 15 enum EAxisBinning { // bins in z and x direction
16 kNTB = 25
b2dc316d 17 ,kND = 5
fc0946a7 18 ,kN = kND*kNTB
19 };
6fc46cba 20 enum EResultContainer { // results container type
9462866a 21 kQRes = 0
22 ,kCenter= 1
23 ,kSigm = 2
24 ,kMean = 3
b2dc316d 25 };
9462866a 26 enum ECheckBits { // force setting the ExB
6bc4a8f4 27 kExB = BIT(23)
28 };
f2231ce8 29 enum ESteeringBits { // steering bits for task
30 kSaveAs = 0
31 ,kProcCharge = 1
32 ,kProcCenterPad = 2
33 ,kProcSigma = 3
34 ,kProcMean = 4
35 };
6fc46cba 36 AliTRDclusterResolution(const char *name="ClErrParam");
b2dc316d 37 virtual ~AliTRDclusterResolution();
38
39 void ConnectInputData(Option_t *);
40 void CreateOutputObjects();
fc0946a7 41 void Exec(Option_t *);
6bc4a8f4 42 Int_t GetDetector() const { return fDet; }
43 inline Float_t GetExB() const;
9462866a 44 inline Float_t GetVdrift() const;
e15179be 45 Bool_t GetRefFigure(Int_t ifig);
f2231ce8 46 Bool_t HasProcessCharge() const {return TESTBIT(fStatus, kProcCharge);}
47 Bool_t HasProcessCenterPad() const {return TESTBIT(fStatus, kProcCenterPad);}
6bc4a8f4 48 Bool_t HasExB() const { return TestBit(kExB);}
f2231ce8 49 Bool_t HasProcessMean() const {return TESTBIT(fStatus, kProcMean);}
50 Bool_t HasProcessSigma() const {return TESTBIT(fStatus, kProcSigma);}
51
fc0946a7 52 TObjArray* Histos();
f2231ce8 53
54 Bool_t IsVisual() const {return Bool_t(fCanvas);}
55 Bool_t IsSaveAs() const {return TESTBIT(fStatus, kSaveAs);}
56
b2dc316d 57 Bool_t PostProcess();
9462866a 58 Bool_t SetExB(Int_t det=-1, Int_t c = 70, Int_t r = 7);
f2231ce8 59 void SetVisual();
60 void SetProcessCharge(Bool_t v = kTRUE) {v ? SETBIT(fStatus, kProcCharge) : CLRBIT(fStatus, kProcCharge);}
61 void SetProcessCenterPad(Bool_t v = kTRUE) {v ? SETBIT(fStatus, kProcCenterPad) : CLRBIT(fStatus, kProcCenterPad);}
62 void SetProcessMean(Bool_t v = kTRUE) {v ? SETBIT(fStatus, kProcMean) : CLRBIT(fStatus, kProcMean);}
63 void SetProcessSigma(Bool_t v = kTRUE) {v ? SETBIT(fStatus, kProcSigma) : CLRBIT(fStatus, kProcSigma);}
64 void SetSaveAs(Bool_t v = kTRUE) {v ? SETBIT(fStatus, kSaveAs) : CLRBIT(fStatus, kSaveAs);}
65
b2dc316d 66 void Terminate(Option_t *){};
fc0946a7 67
9462866a 68protected:
69 void ProcessCharge();
70 void ProcessCenterPad();
71 void ProcessSigma();
72 void ProcessMean();
73
b2dc316d 74private:
75 AliTRDclusterResolution(const AliTRDclusterResolution&);
76 AliTRDclusterResolution& operator=(const AliTRDclusterResolution&);
77
f2231ce8 78 TCanvas *fCanvas; //! visualization canvas
79 TObjArray *fInfo; //! list of cluster info
fc0946a7 80 TObjArray *fResults;// list of result graphs/histos
f2231ce8 81 TAxis *fAt; //! binning in the x(radial) direction (time)
82 TAxis *fAd; //! binning in the z direction (drift cell)
83 UChar_t fStatus; // steer parameter of the task
84 Short_t fDet; // detector (-1 for all)
fc0946a7 85 Float_t fExB; // tg of the Lorentz angle
9462866a 86 Float_t fVdrift; // mean drift velocity
b2dc316d 87
9462866a 88 ClassDef(AliTRDclusterResolution, 1) // cluster resolution
b2dc316d 89};
90
9462866a 91//___________________________________________________
6bc4a8f4 92inline Float_t AliTRDclusterResolution::GetExB() const
93{
94 if(!HasExB()){
95 printf("WARNING :: ExB was not set. Use B=0.\n");
96 }
97 return fExB;
98}
9462866a 99
100//___________________________________________________
101inline Float_t AliTRDclusterResolution::GetVdrift() const
102{
103 if(!HasExB()){
104 printf("WARNING :: ExB was not set. Use B=0.\n");
105 }
106 return fVdrift;
107}
b2dc316d 108#endif
109