]>
Commit | Line | Data |
---|---|---|
1ee39b3a | 1 | #ifndef ALITRDINFOGEN_H |
2 | #define ALITRDINFOGEN_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id: AliTRDinfoGen.h 27496 2008-07-22 08:35:45Z cblume $ */ | |
7 | ||
8 | //////////////////////////////////////////////////////////////////////////// | |
9 | // // | |
705f8b0a | 10 | // TRD Performance tender wagon // |
1ee39b3a | 11 | // // |
12 | //////////////////////////////////////////////////////////////////////////// | |
13 | ||
705f8b0a | 14 | #ifndef ALIANALYSISTASKSE_H |
15 | #include "AliAnalysisTaskSE.h" | |
3f19c2cd | 16 | #endif |
17 | ||
1ee39b3a | 18 | class AliESDEvent; |
19 | class AliMCEvent; | |
20 | class AliESDfriend; | |
21 | class AliTRDtrackInfo; | |
22 | class AliTRDeventInfo; | |
23 | class AliTRDv0Info; | |
07ece31c | 24 | class AliTRDeventCuts; |
25 | class AliESDtrackCuts; | |
1ee39b3a | 26 | class TObjArray; |
705f8b0a | 27 | class TString; |
1ee39b3a | 28 | class TTreeSRedirector; |
fd7ffd88 | 29 | class AliTRDReconstructor; |
30 | class AliTRDgeometry; | |
705f8b0a | 31 | class AliTRDinfoGen : public AliAnalysisTaskSE |
32 | { | |
1ee39b3a | 33 | public: |
3f19c2cd | 34 | enum AliTRDinfoGenSteeringBits{ |
705f8b0a | 35 | kMCdata = BIT(18) |
36 | ,kUseLocalEvSelection = BIT(19) | |
37 | ,kUseLocalTrkSelection = BIT(20) | |
38 | ,kCollision = BIT(21) | |
801d4d50 | 39 | ,kOCDB = BIT(22) |
3f19c2cd | 40 | }; |
d1030bf4 | 41 | enum AliTRDinfoGenObjects{ |
42 | kTracksESD = 0 | |
43 | ,kTracksMC = 1 | |
44 | ,kV0 = 2 | |
45 | ,kTPC = 3 | |
46 | ,kTRDin = 4 | |
47 | ,kTRDout = 5 | |
48 | ,kBarrel = 6 | |
49 | ,kBarrelMC = 7 | |
50 | ,kSA = 8 | |
51 | ,kSAMC = 9 | |
52 | ,kKink = 10 | |
53 | ,kKinkMC = 11 | |
54 | ,kBarrelFriend = 12 | |
55 | ,kSAFriend = 13 | |
56 | ,kNObjects = 14 | |
57 | }; | |
705f8b0a | 58 | |
1ee39b3a | 59 | AliTRDinfoGen(); |
f8f46e4d | 60 | AliTRDinfoGen(char* name); |
1ee39b3a | 61 | virtual ~AliTRDinfoGen(); |
62 | ||
3d2a3dff | 63 | static Float_t GetEndITS() { return fgkITS;} |
64 | static Float_t GetEndTPC() { return fgkTPC;} | |
65 | static Float_t GetEndTRD() { return fgkTRD;} | |
058c3053 | 66 | Int_t GetNRefFigures() const { return 1;} |
801d4d50 | 67 | const char* GetOCDB() const {return fOCDB.Data();} |
058c3053 | 68 | Bool_t GetRefFigure(Int_t ifig); |
69 | Bool_t Load(const Char_t *fn="AnalysisResults.root", const Char_t *dir="TRD_Performance", const Char_t *name=NULL); | |
1ee39b3a | 70 | |
705f8b0a | 71 | Bool_t HasMCdata() const { return TestBit(kMCdata);}; |
058c3053 | 72 | // temporary until check with AliAnalysisTaskSE collision selection mechanism |
801d4d50 | 73 | Bool_t IsInitOCDB() const {return TestBit(kOCDB);} |
3f19c2cd | 74 | Bool_t IsCollision() const {return TestBit(kCollision);} |
fd7ffd88 | 75 | static const AliTRDReconstructor* Reconstructor() {return fgReconstructor;} |
76 | static AliTRDgeometry* Geometry() {return fgGeo;} | |
801d4d50 | 77 | void SetInitOCDB(Bool_t set=kTRUE) {SetBit(kOCDB, set);} |
3f19c2cd | 78 | void SetCollision(Bool_t set=kTRUE) {SetBit(kCollision, set);} |
61f6b45e | 79 | //void SetLocalEvSelection(const AliTRDeventCuts */*cut*/){;} |
3f19c2cd | 80 | void SetLocalEvSelection(Bool_t use=kTRUE) {SetBit(kUseLocalEvSelection, use);} |
61f6b45e | 81 | //void SetLocalTrkSelection(const AliESDtrackCuts */*cut*/){;} |
3f19c2cd | 82 | void SetLocalTrkSelection(Bool_t use=kTRUE) {SetBit(kUseLocalTrkSelection, use);} |
61f6b45e | 83 | void SetLocalV0Selection(const AliTRDv0Info *v0); |
705f8b0a | 84 | void SetMCdata(Bool_t mc = kTRUE) {SetBit(kMCdata, mc);} |
801d4d50 | 85 | void SetOCDB(const char *ocdb) {fOCDB=ocdb;} |
705f8b0a | 86 | void SetTrigger(const Char_t *trigger); |
3f19c2cd | 87 | |
88 | Bool_t UseLocalEvSelection() const {return TestBit(kUseLocalEvSelection);} | |
89 | Bool_t UseLocalTrkSelection() const {return TestBit(kUseLocalTrkSelection);} | |
705f8b0a | 90 | void UserCreateOutputObjects(); |
91 | void UserExec(Option_t *); | |
3f19c2cd | 92 | |
1ee39b3a | 93 | private: |
3f19c2cd | 94 | // rough radial limits for TRD |
3d2a3dff | 95 | static const Float_t fgkITS; // end ITS |
3f19c2cd | 96 | static const Float_t fgkTPC; // end TPC |
3d2a3dff | 97 | static const Float_t fgkTRD; // end TRD |
98 | ||
3f19c2cd | 99 | // Trigger selection |
705f8b0a | 100 | TString *fEvTrigger; // list of trigger classes separated by space |
3f19c2cd | 101 | // Vertex selection |
102 | static const Float_t fgkEvVertexZ;// cm | |
103 | static const Int_t fgkEvVertexN;// cm | |
104 | // Track selection | |
105 | static const Float_t fgkTrkDCAxy; // cm | |
106 | static const Float_t fgkTrkDCAz; // cm | |
107 | static const Int_t fgkNclTPC; // N clusters TPC | |
108 | static const Float_t fgkPt; // min. pt | |
109 | static const Float_t fgkEta; // eta range | |
fd7ffd88 | 110 | static AliTRDReconstructor *fgReconstructor; // single instance of TRD reconstructor used by all tasks |
111 | static AliTRDgeometry *fgGeo; // single instance of TRD geometry used by all tasks | |
112 | ||
1ee39b3a | 113 | AliTRDinfoGen(const AliTRDinfoGen&); |
114 | AliTRDinfoGen& operator=(const AliTRDinfoGen&); | |
705f8b0a | 115 | TTreeSRedirector* DebugStream(); |
1ee39b3a | 116 | |
117 | AliESDEvent *fESDev; //! ESD event | |
118 | AliMCEvent *fMCev; //! MC event | |
07ece31c | 119 | // event/track cuts OO - to be used |
120 | AliTRDeventCuts *fEventCut; // event cut | |
121 | AliESDtrackCuts *fTrackCut; // track cut | |
3d19c1b0 | 122 | AliTRDv0Info *fV0Cut; // v0 cut |
801d4d50 | 123 | TString fOCDB; // OCDB location |
705f8b0a | 124 | AliTRDtrackInfo *fTrackInfo; //! Track info |
125 | AliTRDeventInfo *fEventInfo; //! Event info | |
126 | AliTRDv0Info *fV0Info; //! V0 info | |
127 | TObjArray *fTracksBarrel; //! Array of barrel tracks | |
128 | TObjArray *fTracksSA; //! Array of stand alone tracks | |
129 | TObjArray *fTracksKink; //! Array of kink tracks | |
130 | TObjArray *fV0List; //! V0 container | |
058c3053 | 131 | TObjArray *fContainer; //! container to store results |
705f8b0a | 132 | TTreeSRedirector *fDebugStream; //! debug stream |
1ee39b3a | 133 | |
fd7ffd88 | 134 | ClassDef(AliTRDinfoGen, 7) // entry to TRD analysis train |
1ee39b3a | 135 | }; |
136 | #endif |