1 #ifndef ALITRDINFOGEN_H
\r
2 #define ALITRDINFOGEN_H
\r
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
\r
4 * See cxx source for full Copyright notice */
\r
6 /* $Id: AliTRDinfoGen.h 27496 2008-07-22 08:35:45Z cblume $ */
\r
8 ////////////////////////////////////////////////////////////////////////////
\r
10 // TRD Performance tender wagon //
\r
12 ////////////////////////////////////////////////////////////////////////////
\r
14 #ifndef ALIANALYSISTASKSE_H
\r
15 #include "AliAnalysisTaskSE.h"
\r
21 class AliTRDtrackInfo;
\r
22 class AliTRDeventInfo;
\r
24 class AliTRDeventCuts;
\r
25 class AliESDtrackCuts;
\r
28 class TTreeSRedirector;
\r
29 class AliTRDReconstructor;
\r
30 class AliTRDgeometry;
\r
31 class AliTRDinfoGen : public AliAnalysisTaskSE
\r
34 enum AliTRDinfoGenSteeringBits{
\r
36 ,kUseLocalEvSelection = BIT(19)
\r
37 ,kUseLocalTrkSelection = BIT(20)
\r
38 ,kCollision = BIT(21)
\r
41 enum AliTRDinfoGenObjects{
\r
58 enum AliTRDinfoGenClasses{
\r
65 AliTRDinfoGen(char* name);
\r
66 virtual ~AliTRDinfoGen();
\r
68 static Float_t GetEndITS() { return fgkITS;}
\r
69 static Float_t GetEndTPC() { return fgkTPC;}
\r
70 static Float_t GetEndTRD() { return fgkTRD;}
\r
71 Int_t GetNRefFigures() const { return 1;}
\r
72 const char* GetOCDB() const {return fOCDB.Data();}
\r
73 Bool_t GetRefFigure(Int_t ifig);
\r
74 Bool_t Load(const Char_t *fn="AnalysisResults.root", const Char_t *dir="TRD_Performance", const Char_t *name=NULL);
\r
76 Bool_t HasMCdata() const { return TestBit(kMCdata);};
\r
77 // temporary until check with AliAnalysisTaskSE collision selection mechanism
\r
78 Bool_t IsInitOCDB() const {return TestBit(kOCDB);}
\r
79 Bool_t IsCollision() const {return TestBit(kCollision);}
\r
80 static const AliTRDReconstructor* Reconstructor() {return fgReconstructor;}
\r
81 static AliTRDgeometry* Geometry() {return fgGeo;}
\r
82 void SetInitOCDB(Bool_t set=kTRUE) {SetBit(kOCDB, set);}
\r
83 void SetCollision(Bool_t set=kTRUE) {SetBit(kCollision, set);}
\r
84 //void SetLocalEvSelection(const AliTRDeventCuts */*cut*/){;}
\r
85 void SetLocalEvSelection(Bool_t use=kTRUE) {SetBit(kUseLocalEvSelection, use);}
\r
86 //void SetLocalTrkSelection(const AliESDtrackCuts */*cut*/){;}
\r
87 void SetLocalTrkSelection(Bool_t use=kTRUE) {SetBit(kUseLocalTrkSelection, use);}
\r
88 void SetLocalV0Selection(const AliTRDv0Info *v0);
\r
89 void SetMCdata(Bool_t mc = kTRUE) {SetBit(kMCdata, mc);}
\r
90 void SetOCDB(const char *ocdb) {fOCDB=ocdb;}
\r
91 void SetTrigger(const Char_t *trigger);
\r
93 Bool_t UseLocalEvSelection() const {return TestBit(kUseLocalEvSelection);}
\r
94 Bool_t UseLocalTrkSelection() const {return TestBit(kUseLocalTrkSelection);}
\r
95 void UserCreateOutputObjects();
\r
96 void UserExec(Option_t *);
\r
99 // rough radial limits for TRD
\r
100 static const Float_t fgkITS; // end ITS
\r
101 static const Float_t fgkTPC; // end TPC
\r
102 static const Float_t fgkTRD; // end TRD
\r
104 // Trigger selection
\r
105 TString *fEvTrigger; // list of trigger classes separated by space
\r
106 // Vertex selection
\r
107 static const Float_t fgkEvVertexZ;// cm
\r
108 static const Int_t fgkEvVertexN;// cm
\r
110 static const Float_t fgkTrkDCAxy; // cm
\r
111 static const Float_t fgkTrkDCAz; // cm
\r
112 static const Int_t fgkNclTPC; // N clusters TPC
\r
113 static const Float_t fgkPt; // min. pt
\r
114 static const Float_t fgkEta; // eta range
\r
115 static AliTRDReconstructor *fgReconstructor; // single instance of TRD reconstructor used by all tasks
\r
116 static AliTRDgeometry *fgGeo; // single instance of TRD geometry used by all tasks
\r
118 AliTRDinfoGen(const AliTRDinfoGen&);
\r
119 AliTRDinfoGen& operator=(const AliTRDinfoGen&);
\r
120 TTreeSRedirector* DebugStream();
\r
122 AliESDEvent *fESDev; //! ESD event
\r
123 AliMCEvent *fMCev; //! MC event
\r
124 // event/track cuts OO - to be used
\r
125 AliTRDeventCuts *fEventCut; // event cut
\r
126 AliESDtrackCuts *fTrackCut; // track cut
\r
127 AliTRDv0Info *fV0Cut; // v0 cut
\r
128 TString fOCDB; // OCDB location
\r
129 AliTRDtrackInfo *fTrackInfo; //! Track info
\r
130 AliTRDeventInfo *fEventInfo; //! Event info
\r
131 AliTRDv0Info *fV0Info; //! V0 info
\r
132 TObjArray *fTracksBarrel; //! Array of barrel tracks
\r
133 TObjArray *fTracksSA; //! Array of stand alone tracks
\r
134 TObjArray *fTracksKink; //! Array of kink tracks
\r
135 TObjArray *fV0List; //! V0 container
\r
136 TObjArray *fContainer; //! container to store results
\r
137 TObjArray *fRecos; //! array of reco params
\r
138 TTreeSRedirector *fDebugStream; //! debug stream
\r
140 ClassDef(AliTRDinfoGen, 7) // entry to TRD analysis train
\r