1 #ifndef ALITRDCLUSTERRESOLUTION_H
2 #define ALITRDCLUSTERRESOLUTION_H
5 #ifndef ALITRDRECOTASK_H
6 #include "AliTRDrecoTask.h"
12 class AliTRDclusterResolution : public AliTRDrecoTask
15 enum EAxisBinning { // bins in z and x direction
20 enum EResultContainer { // results container type
26 enum ECheckBits { // force setting the ExB
29 enum ESteeringBits { // steering bits for task
36 AliTRDclusterResolution(const char *name="ClErrParam");
37 virtual ~AliTRDclusterResolution();
39 void ConnectInputData(Option_t *);
40 void CreateOutputObjects();
41 void Exec(Option_t *);
42 Int_t GetDetector() const { return fDet; }
43 inline Float_t GetExB() const;
44 inline Float_t GetVdrift() const;
45 Bool_t GetRefFigure(Int_t ifig);
46 Bool_t HasProcessCharge() const {return TESTBIT(fStatus, kProcCharge);}
47 Bool_t HasProcessCenterPad() const {return TESTBIT(fStatus, kProcCenterPad);}
48 Bool_t HasExB() const { return TestBit(kExB);}
49 Bool_t HasProcessMean() const {return TESTBIT(fStatus, kProcMean);}
50 Bool_t HasProcessSigma() const {return TESTBIT(fStatus, kProcSigma);}
54 Bool_t IsVisual() const {return Bool_t(fCanvas);}
55 Bool_t IsSaveAs() const {return TESTBIT(fStatus, kSaveAs);}
58 Bool_t SetExB(Int_t det=-1, Int_t c = 70, Int_t r = 7);
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);}
66 void Terminate(Option_t *){};
70 void ProcessCenterPad();
75 AliTRDclusterResolution(const AliTRDclusterResolution&);
76 AliTRDclusterResolution& operator=(const AliTRDclusterResolution&);
78 TCanvas *fCanvas; //! visualization canvas
79 TObjArray *fInfo; //! list of cluster info
80 TObjArray *fResults;// list of result graphs/histos
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)
85 Float_t fExB; // tg of the Lorentz angle
86 Float_t fVdrift; // mean drift velocity
88 ClassDef(AliTRDclusterResolution, 1) // cluster resolution
91 //___________________________________________________
92 inline Float_t AliTRDclusterResolution::GetExB() const
95 printf("WARNING :: ExB was not set. Use B=0.\n");
100 //___________________________________________________
101 inline Float_t AliTRDclusterResolution::GetVdrift() const
104 printf("WARNING :: ExB was not set. Use B=0.\n");