]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG1/TRD/AliTRDinfoGen.h
update for transporting event info along the TRD train
[u/mrichter/AliRoot.git] / PWG1 / TRD / AliTRDinfoGen.h
index 1fc11a6a95ba0108afaff0fb1f0baf7431274d5d..f82a4a94d4e7a26f215cd8a709c29ab047f878f7 100644 (file)
-#ifndef ALITRDINFOGEN_H
-#define ALITRDINFOGEN_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-/* $Id: AliTRDinfoGen.h 27496 2008-07-22 08:35:45Z cblume $ */
-
-////////////////////////////////////////////////////////////////////////////
-//                                                                        //
-//  TRD Performance tender wagon                                          //
-//                                                                        //
-////////////////////////////////////////////////////////////////////////////
-
-#ifndef ALIANALYSISTASKSE_H
-#include "AliAnalysisTaskSE.h"
-#endif
-
-class AliESDEvent;
-class AliMCEvent;
-class AliESDfriend;
-class AliTRDtrackInfo;
-class AliTRDeventInfo;
-class AliTRDv0Info;
-class AliTRDeventCuts;
-class AliESDtrackCuts;
-class TObjArray;
-class TString;
-class TTreeSRedirector;
-class AliTRDReconstructor;
-class AliTRDgeometry;
-class AliTRDinfoGen : public AliAnalysisTaskSE
-{
-public:
-  enum AliTRDinfoGenSteeringBits{
-    kMCdata               = BIT(18)
-   ,kUseLocalEvSelection  = BIT(19)
-   ,kUseLocalTrkSelection = BIT(20)
-   ,kCollision            = BIT(21)
-   ,kOCDB                 = BIT(22)
-  };
-  enum AliTRDinfoGenObjects{
-    kTracksESD     =  0
-    ,kTracksMC     =  1
-    ,kV0           =  2
-    ,kTPC          =  3
-    ,kTRDin        =  4
-    ,kTRDout       =  5
-    ,kBarrel       =  6
-    ,kBarrelMC     =  7
-    ,kSA           =  8
-    ,kSAMC         =  9
-    ,kKink         = 10
-    ,kKinkMC       = 11
-    ,kBarrelFriend = 12
-    ,kSAFriend     = 13
-    ,kNObjects     = 14
-  };
-
-  AliTRDinfoGen();
-  AliTRDinfoGen(char* name);
-  virtual ~AliTRDinfoGen();
-  
-  static Float_t GetEndITS() { return fgkITS;}
-  static Float_t GetEndTPC() { return fgkTPC;}
-  static Float_t GetEndTRD() { return fgkTRD;}
-  Int_t   GetNRefFigures() const  { return 1;} 
-  const char* GetOCDB() const {return fOCDB.Data();}
-  Bool_t  GetRefFigure(Int_t ifig);
-  Bool_t  Load(const Char_t *fn="AnalysisResults.root", const Char_t *dir="TRD_Performance", const Char_t *name=NULL);
-
-  Bool_t  HasMCdata() const       { return TestBit(kMCdata);};
-  // temporary until check with AliAnalysisTaskSE collision selection mechanism
-  Bool_t  IsInitOCDB() const {return TestBit(kOCDB);}
-  Bool_t  IsCollision() const {return TestBit(kCollision);}
-  static const AliTRDReconstructor* Reconstructor() {return fgReconstructor;}
-  static AliTRDgeometry*      Geometry() {return fgGeo;}
-  void    SetInitOCDB(Bool_t set=kTRUE) {SetBit(kOCDB, set);}
-  void    SetCollision(Bool_t set=kTRUE) {SetBit(kCollision, set);}
-  //void    SetLocalEvSelection(const AliTRDeventCuts */*cut*/){;} 
-  void    SetLocalEvSelection(Bool_t use=kTRUE) {SetBit(kUseLocalEvSelection, use);}
-  //void    SetLocalTrkSelection(const AliESDtrackCuts */*cut*/){;} 
-  void    SetLocalTrkSelection(Bool_t use=kTRUE) {SetBit(kUseLocalTrkSelection, use);}
-  void    SetLocalV0Selection(const AliTRDv0Info *v0);
-  void    SetMCdata(Bool_t mc = kTRUE) {SetBit(kMCdata, mc);}
-  void    SetOCDB(const char *ocdb) {fOCDB=ocdb;}
-  void    SetTrigger(const Char_t *trigger);
-
-  Bool_t  UseLocalEvSelection() const {return TestBit(kUseLocalEvSelection);}
-  Bool_t  UseLocalTrkSelection() const {return TestBit(kUseLocalTrkSelection);}
-  void    UserCreateOutputObjects();
-  void    UserExec(Option_t *);
-
-private:
-  // rough radial limits for TRD
-  static const Float_t fgkITS;      // end ITS
-  static const Float_t fgkTPC;      // end TPC
-  static const Float_t fgkTRD;      // end TRD
-
-  // Trigger selection
-  TString              *fEvTrigger; // list of trigger classes separated by space
-  // Vertex selection
-  static const Float_t fgkEvVertexZ;// cm
-  static const Int_t   fgkEvVertexN;// cm
-  // Track selection
-  static const Float_t fgkTrkDCAxy; // cm
-  static const Float_t fgkTrkDCAz;  // cm
-  static const Int_t   fgkNclTPC;   // N clusters TPC
-  static const Float_t fgkPt;       // min. pt
-  static const Float_t fgkEta;      // eta range
-  static AliTRDReconstructor   *fgReconstructor; // single instance of TRD reconstructor used by all tasks
-  static AliTRDgeometry        *fgGeo;           // single instance of TRD geometry used by all tasks
-
-  AliTRDinfoGen(const AliTRDinfoGen&);
-  AliTRDinfoGen& operator=(const AliTRDinfoGen&);
-  TTreeSRedirector* DebugStream();
-
-  AliESDEvent      *fESDev;          //! ESD event
-  AliMCEvent       *fMCev;           //! MC event
-  // event/track cuts OO - to be used
-  AliTRDeventCuts  *fEventCut;       // event cut
-  AliESDtrackCuts  *fTrackCut;       // track cut
-  AliTRDv0Info     *fV0Cut;          // v0 cut
-  TString           fOCDB;           // OCDB location
-  AliTRDtrackInfo  *fTrackInfo;      //! Track info
-  AliTRDeventInfo  *fEventInfo;             //! Event info
-  AliTRDv0Info     *fV0Info;         //! V0 info
-  TObjArray        *fTracksBarrel;   //! Array of barrel tracks
-  TObjArray        *fTracksSA;       //! Array of stand alone tracks
-  TObjArray        *fTracksKink;     //! Array of kink tracks
-  TObjArray        *fV0List;         //! V0 container
-  TObjArray        *fContainer;      //! container to store results
-  TTreeSRedirector *fDebugStream;    //! debug stream
-
-  ClassDef(AliTRDinfoGen, 7)         // entry to TRD analysis train
-};
-#endif
+#ifndef ALITRDINFOGEN_H\r
+#define ALITRDINFOGEN_H\r
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
+ * See cxx source for full Copyright notice                               */\r
+\r
+/* $Id: AliTRDinfoGen.h 27496 2008-07-22 08:35:45Z cblume $ */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+//                                                                        //\r
+//  TRD Performance tender wagon                                          //\r
+//                                                                        //\r
+////////////////////////////////////////////////////////////////////////////\r
+\r
+#ifndef ALIANALYSISTASKSE_H\r
+#include "AliAnalysisTaskSE.h"\r
+#endif\r
+\r
+class AliESDEvent;\r
+class AliMCEvent;\r
+class AliESDfriend;\r
+class AliTRDtrackInfo;\r
+class AliTRDeventInfo;\r
+class AliTRDv0Info;\r
+class AliTRDeventCuts;\r
+class AliESDtrackCuts;\r
+class TObjArray;\r
+class TString;\r
+class TTreeSRedirector;\r
+class AliTRDReconstructor;\r
+class AliTRDgeometry;\r
+class AliTRDinfoGen : public AliAnalysisTaskSE\r
+{\r
+public:\r
+  enum AliTRDinfoGenSteeringBits{\r
+    kMCdata               = BIT(18)\r
+   ,kUseLocalEvSelection  = BIT(19)\r
+   ,kUseLocalTrkSelection = BIT(20)\r
+   ,kCollision            = BIT(21)\r
+   ,kOCDB                 = BIT(22)\r
+  };\r
+  enum AliTRDinfoGenObjects{\r
+    kTracksESD     =  0\r
+    ,kTracksMC     =  1\r
+    ,kV0           =  2\r
+    ,kTPC          =  3\r
+    ,kTRDin        =  4\r
+    ,kTRDout       =  5\r
+    ,kBarrel       =  6\r
+    ,kBarrelMC     =  7\r
+    ,kSA           =  8\r
+    ,kSAMC         =  9\r
+    ,kKink         = 10\r
+    ,kKinkMC       = 11\r
+    ,kBarrelFriend = 12\r
+    ,kSAFriend     = 13\r
+    ,kNObjects     = 14\r
+  };\r
+\r
+  AliTRDinfoGen();\r
+  AliTRDinfoGen(char* name);\r
+  virtual ~AliTRDinfoGen();\r
+  \r
+  static Float_t GetEndITS() { return fgkITS;}\r
+  static Float_t GetEndTPC() { return fgkTPC;}\r
+  static Float_t GetEndTRD() { return fgkTRD;}\r
+  Int_t   GetNRefFigures() const  { return 1;} \r
+  const char* GetOCDB() const {return fOCDB.Data();}\r
+  Bool_t  GetRefFigure(Int_t ifig);\r
+  Bool_t  Load(const Char_t *fn="AnalysisResults.root", const Char_t *dir="TRD_Performance", const Char_t *name=NULL);\r
+\r
+  Bool_t  HasMCdata() const       { return TestBit(kMCdata);};\r
+  // temporary until check with AliAnalysisTaskSE collision selection mechanism\r
+  Bool_t  IsInitOCDB() const {return TestBit(kOCDB);}\r
+  Bool_t  IsCollision() const {return TestBit(kCollision);}\r
+  static const AliTRDReconstructor* Reconstructor() {return fgReconstructor;}\r
+  static AliTRDgeometry*      Geometry() {return fgGeo;}\r
+  void    SetInitOCDB(Bool_t set=kTRUE) {SetBit(kOCDB, set);}\r
+  void    SetCollision(Bool_t set=kTRUE) {SetBit(kCollision, set);}\r
+  //void    SetLocalEvSelection(const AliTRDeventCuts */*cut*/){;} \r
+  void    SetLocalEvSelection(Bool_t use=kTRUE) {SetBit(kUseLocalEvSelection, use);}\r
+  //void    SetLocalTrkSelection(const AliESDtrackCuts */*cut*/){;} \r
+  void    SetLocalTrkSelection(Bool_t use=kTRUE) {SetBit(kUseLocalTrkSelection, use);}\r
+  void    SetLocalV0Selection(const AliTRDv0Info *v0);\r
+  void    SetMCdata(Bool_t mc = kTRUE) {SetBit(kMCdata, mc);}\r
+  void    SetOCDB(const char *ocdb) {fOCDB=ocdb;}\r
+  void    SetTrigger(const Char_t *trigger);\r
+\r
+  Bool_t  UseLocalEvSelection() const {return TestBit(kUseLocalEvSelection);}\r
+  Bool_t  UseLocalTrkSelection() const {return TestBit(kUseLocalTrkSelection);}\r
+  void    UserCreateOutputObjects();\r
+  void    UserExec(Option_t *);\r
+\r
+private:\r
+  // rough radial limits for TRD\r
+  static const Float_t fgkITS;      // end ITS\r
+  static const Float_t fgkTPC;      // end TPC\r
+  static const Float_t fgkTRD;      // end TRD\r
+\r
+  // Trigger selection\r
+  TString              *fEvTrigger; // list of trigger classes separated by space\r
+  // Vertex selection\r
+  static const Float_t fgkEvVertexZ;// cm\r
+  static const Int_t   fgkEvVertexN;// cm\r
+  // Track selection\r
+  static const Float_t fgkTrkDCAxy; // cm\r
+  static const Float_t fgkTrkDCAz;  // cm\r
+  static const Int_t   fgkNclTPC;   // N clusters TPC\r
+  static const Float_t fgkPt;       // min. pt\r
+  static const Float_t fgkEta;      // eta range\r
+  static AliTRDReconstructor   *fgReconstructor; // single instance of TRD reconstructor used by all tasks\r
+  static AliTRDgeometry        *fgGeo;           // single instance of TRD geometry used by all tasks\r
+\r
+  AliTRDinfoGen(const AliTRDinfoGen&);\r
+  AliTRDinfoGen& operator=(const AliTRDinfoGen&);\r
+  TTreeSRedirector* DebugStream();\r
+\r
+  AliESDEvent      *fESDev;          //! ESD event\r
+  AliMCEvent       *fMCev;           //! MC event\r
+  // event/track cuts OO - to be used\r
+  AliTRDeventCuts  *fEventCut;       // event cut\r
+  AliESDtrackCuts  *fTrackCut;       // track cut\r
+  AliTRDv0Info     *fV0Cut;          // v0 cut\r
+  TString           fOCDB;           // OCDB location\r
+  AliTRDtrackInfo  *fTrackInfo;      //! Track info\r
+  AliTRDeventInfo  *fEventInfo;             //! Event info\r
+  AliTRDv0Info     *fV0Info;         //! V0 info\r
+  TObjArray        *fTracksBarrel;   //! Array of barrel tracks\r
+  TObjArray        *fTracksSA;       //! Array of stand alone tracks\r
+  TObjArray        *fTracksKink;     //! Array of kink tracks\r
+  TObjArray        *fV0List;         //! V0 container\r
+  TObjArray        *fContainer;      //! container to store results\r
+  TTreeSRedirector *fDebugStream;    //! debug stream\r
+\r
+  ClassDef(AliTRDinfoGen, 7)         // entry to TRD analysis train\r
+};\r
+#endif\r