]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/qaRec/AliTRDtrackingResolution.h
Updates of the resolution task
[u/mrichter/AliRoot.git] / TRD / qaRec / AliTRDtrackingResolution.h
index 5d52a0ccbe9b9779d4ddb4a20f1ca381fe12958a..00e486d1aef5480339a2ee240a3e053c0986f08a 100644 (file)
 //                                                                        //
 ////////////////////////////////////////////////////////////////////////////
 
-#include "AliAnalysisTask.h"
+#ifndef ALITRDRECOTASK_H
+#include "AliTRDrecoTask.h"
+#endif
 
+class TH1;
+class TF1;
 class TObjArray;
-class TList;
-class TProfile;
-class TTreeSRedirector;
 class AliTRDReconstructor;
+class AliTRDgeometry;
 class AliTRDrecoParam;
 class AliTRDseedV1;
 class AliTRDtrackInfo;
-class AliTRDtrackingResolution : public AliAnalysisTask{
+class AliTRDtrackingResolution : public AliTRDrecoTask
+{
 public:
-  AliTRDtrackingResolution(const char *name = "TRD Tracking Resolution");
-  ~AliTRDtrackingResolution(){};
+  enum{
+    kClusterYResidual         = 0
+//     ,kTrackletRiemanYResidual = 1 // Riemann track model
+//     ,kTrackletRiemanAngleResidual = 2
+//     ,kTrackletKalmanYResidual = 3 // Kalman track model
+//     ,kTrackletKalmanAngleResidual = 4
+    ,kClusterYResolution      = 1/*5*/
+    ,kTrackletYResolution     = 2/*6*/
+    ,kTrackletAngleResolution = 3/*7*/
+//     ,kTrackRYResolution       = 8 // Riemann track model
+//     ,kTrackRZResolution       = 9
+//     ,kTrackRAngleResolution   = 10
+//     ,kTrackKYResolution       = 11 // Kalman track model
+//     ,kTrackKZResolution       = 12
+//     ,kTrackKAngleResolution   = 13
+  };
+  enum{
+    kVerbose  = 0
+    ,kVisual  = 1
+  };
+
+  AliTRDtrackingResolution();
+  virtual ~AliTRDtrackingResolution();
   
-  void    ConnectInputData(Option_t *);
   void    CreateOutputObjects();
-  Int_t   GetDebugLevel() const { return fDebugLevel;}
-  Bool_t  HasMCdata() const {return fHasMCdata;};
   void    Exec(Option_t *);
-  void    SetDebugLevel(Int_t level);
+  void    GetRefFigure(Int_t ifig);
+  Bool_t  IsVerbose() const {return TESTBIT(fStatus, kVerbose);}
+  Bool_t  IsVisual() const {return TESTBIT(fStatus, kVisual);}
+  Bool_t  PostProcess();
+
   void    SetRecoParam(AliTRDrecoParam *r);
-  void    SetMCdata(Bool_t mcdata){fHasMCdata = mcdata;};
+  void    SetVerbose(Bool_t v = kTRUE) {v ? SETBIT(fStatus ,kVerbose): CLRBIT(fStatus ,kVerbose);}
+  void    SetVisual(Bool_t v = kTRUE) {v ? SETBIT(fStatus, kVisual) : CLRBIT(fStatus, kVisual);}
+
   void    Terminate(Option_t *);
   
 private:
   AliTRDtrackingResolution(const AliTRDtrackingResolution&);
   AliTRDtrackingResolution& operator=(const AliTRDtrackingResolution&);
-  Bool_t  Resolution(AliTRDseedV1 *tracklet, AliTRDtrackInfo *info, Double_t &phi);
+  void        AdjustF1(TH1 *h, TF1 *f);
+  TObjArray*  Histos(); 
+  Bool_t      Resolution(AliTRDseedV1 *tracklet, AliTRDtrackInfo *info, Double_t &p, Double_t &y, Double_t &z, Double_t &phi, Double_t &theta);
 
 private:
-  enum{
-    kNLayers = 6
-  };
-  TObjArray *fTracks;     // Input Track Info container
-  TList     *fHistos;     // Container for the output histograms
-  
+  UChar_t               fStatus;          // steer parameter of the task
   AliTRDReconstructor   *fReconstructor;  //! local reconstructor
-  Bool_t                 fHasMCdata;      // Contains MonteCarloInformation
-  Int_t fDebugLevel;                                                                                   // Debug Level
-  TTreeSRedirector *fDebugStream;                              // Debug stream
-  
+  AliTRDgeometry        *fGeo;            //! TRD geometry
+  TObjArray             *fGraphS;         //! result holder - sigma values
+  TObjArray             *fGraphM;         //! result holder - mean values
   ClassDef(AliTRDtrackingResolution, 1) // tracking resolution task
 };
 #endif