]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG1/TRD/AliTRDrecoTask.h
add cluster monitoring from RecPoints
[u/mrichter/AliRoot.git] / PWG1 / TRD / AliTRDrecoTask.h
index b3aa7a8a050b9c5b79282175bc3825456bafa258..3c809451645376959197237791cec4c68b6a767b 100644 (file)
-#ifndef ALITRDRECOTASK_H
-#define ALITRDRECOTASK_H
-
-///////////////////////////////////////////////////////
-//
-// Basic class for Performance/Calibration TRD tasks
-//
-// Author: Alexandru Bercuci, 10/09/2008
-//
-//////////////////////////////////////////////////
-
-#ifndef ALIANALYSISTASKSE_H
-#include "AliAnalysisTaskSE.h"
-#endif
-
-#ifndef ALITRDTRACKINFO_H
-#include "info/AliTRDtrackInfo.h"
-#endif
-
-class TH1;
-class TF1;
-class TList;
-class TObjArray;
-class TTreeSRedirector;
-class AliTRDtrackV1;
-class AliTRDtrackInfo;
-class AliTRDrecoTask : public AliAnalysisTaskSE 
-{
-public:
-  enum AliTRDrecoSteeringBits{
-    kMCdata       = BIT(18)
-    ,kFriends     = BIT(19)
-    ,kPostProcess = BIT(20)
-  };
-  
-  AliTRDrecoTask();
-  AliTRDrecoTask(const char *name, const char *title);
-  virtual ~AliTRDrecoTask();
-  
-  
-  virtual void   UserCreateOutputObjects() = 0;
-  virtual void   UserExec(Option_t *opt);
-  virtual void   SetDebugLevel(Int_t level);
-  
-    
-  Int_t          GetNRefFigures() const; 
-  const Char_t*  GetNameId() const       { return fNameId;}
-  TList*         GetPlotFunctors() const { return fPlotFuncList;}
-  virtual Bool_t GetRefFigure(Int_t ifig);
-  virtual void   MakeSummary();
-
-  Bool_t         HasFriends() const      { return TestBit(kFriends);};
-  Bool_t         HasMCdata() const       { return TestBit(kMCdata);};
-  Bool_t         HasPostProcess() const  { return TestBit(kPostProcess);};
-  virtual TObjArray* Histos()            { return fContainer;}
-
-  virtual Bool_t Load(const Char_t *file = "AnalysisResults.root", const Char_t *dir = "TRD_Performance");
-  virtual Bool_t Save(TObjArray * const res);
-  virtual Bool_t PostProcess();
-  virtual Bool_t PutTrendValue(const Char_t *name, Double_t val);
-  virtual void   SetFriends(Bool_t fr = kTRUE) {SetBit(kFriends, fr);}
-  virtual void   SetMCdata(Bool_t mc = kTRUE) {SetBit(kMCdata, mc);}
-  virtual void   SetNameId(const Char_t *nid) {sprintf(fNameId, "%s", nid);}
-  virtual void   SetPostProcess(Bool_t pp = kTRUE) {SetBit(kPostProcess, pp);}
-  virtual void   Terminate(Option_t *);
-
-protected:
-  static TTreeSRedirector* DebugStream() { return fgDebugStream;}
-  void           InitFunctorList();
-  void           Adjust(TF1 *f, TH1 * const h);
-  Bool_t         HasFunctorList() const { return fPlotFuncList != NULL; }
-  Char_t    fNameId[10];   // unique identifier of task particularity
-  UChar_t   fNRefFigures;  // no of reference figures reported by task
-  TObjArray *fContainer;   //! container to store results
-  TObjArray *fTracks;      //! Array of tracks
-  const AliTRDtrackV1    *fkTrack;         //! current track
-  const AliTRDtrackInfo::AliMCinfo  *fkMC; //! MC info
-  const AliTRDtrackInfo::AliESDinfo *fkESD;//! ESD info
-
-private:
-  AliTRDrecoTask(const AliTRDrecoTask&);
-  AliTRDrecoTask& operator=(const AliTRDrecoTask&);
-
-  TList             *fPlotFuncList;//! plot functors list
-  static TList      *fgTrendPoint;          //! trend point
-  static TTreeSRedirector *fgDebugStream;  //! Debug stream 
-
-  ClassDef(AliTRDrecoTask, 3) // base TRD reconstruction task
-};
-
-#endif
-
+#ifndef ALITRDRECOTASK_H\r
+#define ALITRDRECOTASK_H\r
+\r
+///////////////////////////////////////////////////////\r
+//\r
+// Basic class for Performance/Calibration TRD tasks\r
+//\r
+// Author: Alexandru Bercuci, 10/09/2008\r
+//\r
+//////////////////////////////////////////////////\r
+\r
+#ifndef ALIANALYSISTASKSE_H\r
+#include "AliAnalysisTaskSE.h"\r
+#endif\r
+\r
+#ifndef ALITRDTRACKINFO_H\r
+#include "info/AliTRDtrackInfo.h"\r
+#endif\r
+\r
+#ifndef ALITRDEVENTINFO_H\r
+#include "info/AliTRDeventInfo.h"\r
+#endif\r
+\r
+class TH1;\r
+class TF1;\r
+class TList;\r
+class TObjArray;\r
+class TTreeSRedirector;\r
+class AliTRDtrackV1;\r
+\r
+class AliTRDrecoTask : public AliAnalysisTaskSE \r
+{\r
+public:\r
+  enum AliTRDrecoSteeringBits{\r
+    kMCdata       = BIT(18)\r
+    ,kFriends     = BIT(19)\r
+    ,kPostProcess = BIT(20)\r
+    ,kHeavyIon     = BIT(21)\r
+  };\r
+  \r
+  AliTRDrecoTask();\r
+  AliTRDrecoTask(const char *name, const char *title);\r
+  virtual ~AliTRDrecoTask();\r
+  \r
+  \r
+  virtual void   UserCreateOutputObjects();\r
+  virtual void   UserExec(Option_t *opt);\r
+  virtual void   SetDebugLevel(Int_t level);\r
+  \r
+    \r
+  Int_t          GetNRefFigures() const; \r
+  const Char_t*  GetNameId() const       { return fNameId;}\r
+  TList*         GetPlotFunctors() const { return fPlotFuncList;}\r
+  virtual Bool_t GetRefFigure(Int_t ifig);\r
+  virtual void   MakeSummary();\r
+  void           MakeDetectorPlot(Int_t ly=0);\r
+  Bool_t         IsHeavyIon() const      { return TestBit(kHeavyIon);};\r
+  Bool_t         IsPP() const            { return !TestBit(kHeavyIon);};\r
+  Bool_t         HasFriends() const      { return TestBit(kFriends);};\r
+  Bool_t         HasMCdata() const       { return TestBit(kMCdata);};\r
+  Bool_t         HasPostProcess() const  { return TestBit(kPostProcess);};\r
+  Bool_t         HasRunTerminate() const { return fRunTerminate; }\r
+  virtual TObjArray* Histos()            { return fContainer;}\r
+\r
+  virtual Bool_t Load(const Char_t *file = "AnalysisResults.root", const Char_t *dir = "TRD_Performance");\r
+  virtual Bool_t LoadDetectorMap(const Char_t *file = "AnalysisResults.root", const Char_t *dir = "TRD_Performance");\r
+  virtual Bool_t Save(TObjArray * const res);\r
+  virtual Bool_t PostProcess();\r
+  virtual Bool_t PutTrendValue(const Char_t *name, Double_t val);\r
+  virtual void   SetFriends(Bool_t fr = kTRUE) {SetBit(kFriends, fr);}\r
+  virtual void   SetMCdata(Bool_t mc = kTRUE) {SetBit(kMCdata, mc);}\r
+  virtual void   SetNameId(const Char_t *nid) {snprintf(fNameId, 10, "%s", nid);}\r
+  virtual void   SetPostProcess(Bool_t pp = kTRUE) {SetBit(kPostProcess, pp);}\r
+  void SetRunTerminate(Bool_t runTerminate = kTRUE) { fRunTerminate = runTerminate; }\r
+  virtual void   Terminate(Option_t *);\r
+\r
+protected:\r
+  static TTreeSRedirector* DebugStream() { return fgDebugStream;}\r
+  void           InitFunctorList();\r
+  void           Adjust(TF1 *f, TH1 * const h);\r
+  Bool_t         HasFunctorList() const { return fPlotFuncList != NULL; }\r
+  Char_t                fNameId[10];       // unique identifier of task particularity\r
+  UChar_t               fNRefFigures;      // no of reference figures reported by task\r
+  TObjArray             *fDets;            //! container to store detector position and status\r
+  TObjArray             *fContainer;       //! container to store results\r
+  AliTRDeventInfo       *fEvent;           //! Event Info\r
+  TObjArray             *fTracks;          //! Array of tracks\r
+  TObjArray             *fClusters;        //! Array of clusters\r
+  const TObjArray       *fkClusters;       //! current detector clusters array\r
+  const AliTRDtrackV1   *fkTrack;          //! current track\r
+  const AliTRDtrackInfo::AliMCinfo  *fkMC; //! MC info\r
+  const AliTRDtrackInfo::AliESDinfo *fkESD;//! ESD info\r
+  Char_t                 fSpecies;         //! species index +1 with charge sign\r
+  Float_t                fPt;              //! p_t of the track being analyzed\r
+  Float_t                fPhi;             //! phi of the track being analyzed\r
+  Float_t                fEta;             //! eta of the track being analyzed\r
+\r
+private:\r
+  AliTRDrecoTask(const AliTRDrecoTask&);\r
+  AliTRDrecoTask& operator=(const AliTRDrecoTask&);\r
+\r
+  TList             *fPlotFuncList;        //! track functors list\r
+  TList             *fDetFuncList;         //! detector functors list\r
+  Bool_t            fRunTerminate;         // Switch for Terminate Function\r
+  static TList      *fgTrendPoint;         //! trend point\r
+  static TTreeSRedirector *fgDebugStream;  //! Debug stream\r
+\r
+  ClassDef(AliTRDrecoTask, 5) // base TRD reconstruction task\r
+};\r
+\r
+#endif\r
+\r