-#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 AliESDv0KineCuts;\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
- ,kUseLocalTrkSelection = BIT(19)\r
- ,kCollision = BIT(20)\r
- ,kOCDB = BIT(21)\r
- ,kTrkPoints = BIT(22)\r
- };\r
- enum AliTRDinfoGenObjects{\r
- kTracksESD = 0\r
- ,kTracksMC\r
- ,kV0\r
- ,kTPC\r
- ,kITS\r
- ,kTRDin\r
- ,kTRDout\r
- ,kBarrel\r
- ,kBarrelMC\r
- ,kSA\r
- ,kSAMC\r
- ,kKink\r
- ,kKinkMC\r
- ,kBarrelFriend\r
- ,kSAFriend\r
- ,kNObjects\r
- };\r
- enum AliTRDinfoGenClasses{\r
- kStatTrk = 0\r
- ,kEvType\r
-// ,kBCtrack\r
- ,kBC\r
- ,kTrigger\r
- ,kChmb\r
- ,kNclasses\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
- Bool_t HasTrackPoints() const {return TestBit(kTrkPoints);}\r
- void MakeSummary();\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(const AliTRDeventCuts &ec);\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
-\r
- Bool_t UseLocalEvSelection() const {return Bool_t(fEventCut);}\r
- Bool_t UseLocalTrkSelection() const {return TestBit(kUseLocalTrkSelection);}\r
- void UseTrackPoints(Bool_t use=kTRUE) {SetBit(kTrkPoints, use);}\r
- void UserCreateOutputObjects();\r
- void UserExec(Option_t *);\r
- void Terminate(Option_t* option = "");\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
- // 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
- void MakeChambers();\r
-\r
-// UShort_t fBF; //! Bunch Fill of previous event\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
- AliESDv0KineCuts *fV0Identifier; // V0 identifier\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(TPC) tracks\r
- TObjArray *fTracksITS; //! Array of ITS seeded tracks\r
- TObjArray *fTracksSA; //! Array of stand alone tracks\r
- TObjArray *fTracksKink; //! Array of kink tracks\r
- TObjArray *fV0List; //! V0 container\r
- TObjArray *fClusters; //! Clusters container\r
- TObjArray *fContainer; //! container to store results\r
- TObjArray *fRecos; //! array of reco params\r
- TTreeSRedirector *fDebugStream; //! debug stream\r
-\r
- ClassDef(AliTRDinfoGen, 8) // entry to TRD analysis train\r
-};\r
-#endif\r
+#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 AliESDv0KineCuts;
+class TObjArray;
+class TString;
+class TTreeSRedirector;
+class AliTRDReconstructor;
+class AliTRDgeometry;
+class AliTRDinfoGen : public AliAnalysisTaskSE
+{
+public:
+ enum AliTRDinfoGenSteeringBits{
+ kMCdata = BIT(18)
+ ,kUseLocalTrkSelection = BIT(19)
+ ,kCollision = BIT(20)
+ ,kOCDB = BIT(21)
+ ,kTrkPoints = BIT(22)
+ };
+ enum AliTRDinfoGenObjects{
+ kTracksESD = 0
+ ,kTracksMC
+ ,kV0
+ ,kTPC
+ ,kITS
+ ,kTRDin
+ ,kTRDout
+ ,kBarrel
+ ,kBarrelMC
+ ,kSA
+ ,kSAMC
+ ,kKink
+ ,kKinkMC
+ ,kBarrelFriend
+ ,kSAFriend
+ ,kNObjects
+ };
+ enum AliTRDinfoGenClasses{
+ kStatTrk = 0
+ ,kEvType
+// ,kBCtrack
+ ,kBC
+ ,kTrigger
+ ,kChmb
+ ,kNclasses
+ };
+ 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);}
+ Bool_t HasTrackPoints() const {return TestBit(kTrkPoints);}
+ void MakeSummary();
+ 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(const AliTRDeventCuts &ec);
+ //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;}
+
+ Bool_t UseLocalEvSelection() const {return Bool_t(fEventCut);}
+ Bool_t UseLocalTrkSelection() const {return TestBit(kUseLocalTrkSelection);}
+ void UseTrackPoints(Bool_t use=kTRUE) {SetBit(kTrkPoints, use);}
+ void UserCreateOutputObjects();
+ void UserExec(Option_t *);
+ void Terminate(Option_t* option = "");
+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
+
+ // 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();
+ void MakeChambers();
+
+// UShort_t fBF; //! Bunch Fill of previous event
+ AliESDEvent *fESDev; //! ESD event
+ AliMCEvent *fMCev; //! MC event
+ // event/track cuts OO - to be used
+ AliTRDeventCuts *fEventCut; // event cut
+ AliESDtrackCuts *fTrackCut; // track cut
+ AliESDv0KineCuts *fV0Identifier; // V0 identifier
+ 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(TPC) tracks
+ TObjArray *fTracksITS; //! Array of ITS seeded tracks
+ TObjArray *fTracksSA; //! Array of stand alone tracks
+ TObjArray *fTracksKink; //! Array of kink tracks
+ TObjArray *fV0List; //! V0 container
+ TObjArray *fClusters; //! Clusters container
+ TObjArray *fContainer; //! container to store results
+ TObjArray *fRecos; //! array of reco params
+ TTreeSRedirector *fDebugStream; //! debug stream
+
+ ClassDef(AliTRDinfoGen, 8) // entry to TRD analysis train
+};
+#endif