]>
Commit | Line | Data |
---|---|---|
a65a7e70 | 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 | // // | |
10 | // TRD Performance tender wagon // | |
11 | // // | |
12 | //////////////////////////////////////////////////////////////////////////// | |
13 | ||
14 | #ifndef ALIANALYSISTASKSE_H | |
15 | #include "AliAnalysisTaskSE.h" | |
16 | #endif | |
17 | ||
18 | class AliESDEvent; | |
19 | class AliMCEvent; | |
20 | class AliESDfriend; | |
21 | class AliTRDtrackInfo; | |
22 | class AliTRDeventInfo; | |
23 | class AliTRDv0Info; | |
24 | class AliTRDeventCuts; | |
25 | class AliESDtrackCuts; | |
26 | class AliESDv0KineCuts; | |
27 | class TObjArray; | |
28 | class TString; | |
29 | class TTreeSRedirector; | |
30 | class AliTRDReconstructor; | |
31 | class AliTRDgeometry; | |
32 | class AliTRDinfoGen : public AliAnalysisTaskSE | |
33 | { | |
34 | public: | |
35 | enum AliTRDinfoGenSteeringBits{ | |
36 | kMCdata = BIT(18) | |
37 | ,kUseLocalTrkSelection = BIT(19) | |
38 | ,kCollision = BIT(20) | |
39 | ,kOCDB = BIT(21) | |
40 | ,kTrkPoints = BIT(22) | |
41 | }; | |
42 | enum AliTRDinfoGenObjects{ | |
43 | kTracksESD = 0 | |
44 | ,kTracksMC | |
45 | ,kV0 | |
46 | ,kTPC | |
47 | ,kITS | |
48 | ,kTRDin | |
49 | ,kTRDout | |
50 | ,kBarrel | |
51 | ,kBarrelMC | |
52 | ,kSA | |
53 | ,kSAMC | |
54 | ,kKink | |
55 | ,kKinkMC | |
56 | ,kBarrelFriend | |
57 | ,kSAFriend | |
58 | ,kNObjects | |
59 | }; | |
60 | enum AliTRDinfoGenClasses{ | |
61 | kStatTrk = 0 | |
62 | ,kEvType | |
63 | // ,kBCtrack | |
64 | ,kBC | |
65 | ,kTrigger | |
66 | ,kChmb | |
67 | ,kNclasses | |
68 | }; | |
69 | AliTRDinfoGen(); | |
70 | AliTRDinfoGen(char* name); | |
71 | virtual ~AliTRDinfoGen(); | |
72 | ||
73 | static Float_t GetEndITS() { return fgkITS;} | |
74 | static Float_t GetEndTPC() { return fgkTPC;} | |
75 | static Float_t GetEndTRD() { return fgkTRD;} | |
76 | Int_t GetNRefFigures() const { return 1;} | |
77 | const char* GetOCDB() const {return fOCDB.Data();} | |
78 | Bool_t GetRefFigure(Int_t ifig); | |
79 | Bool_t Load(const Char_t *fn="AnalysisResults.root", const Char_t *dir="TRD_Performance", const Char_t *name=NULL); | |
80 | ||
81 | Bool_t HasMCdata() const { return TestBit(kMCdata);}; | |
82 | // temporary until check with AliAnalysisTaskSE collision selection mechanism | |
83 | Bool_t IsInitOCDB() const {return TestBit(kOCDB);} | |
84 | Bool_t IsCollision() const {return TestBit(kCollision);} | |
85 | Bool_t HasTrackPoints() const {return TestBit(kTrkPoints);} | |
86 | void MakeSummary(); | |
87 | static const AliTRDReconstructor* Reconstructor() {return fgReconstructor;} | |
88 | static AliTRDgeometry* Geometry() {return fgGeo;} | |
89 | void SetInitOCDB(Bool_t set=kTRUE) {SetBit(kOCDB, set);} | |
90 | void SetCollision(Bool_t set=kTRUE) {SetBit(kCollision, set);} | |
91 | //void SetLocalEvSelection(const AliTRDeventCuts */*cut*/){;} | |
92 | void SetLocalEvSelection(const AliTRDeventCuts &ec); | |
93 | //void SetLocalTrkSelection(const AliESDtrackCuts */*cut*/){;} | |
94 | void SetLocalTrkSelection(Bool_t use=kTRUE) {SetBit(kUseLocalTrkSelection, use);} | |
95 | void SetLocalV0Selection(const AliTRDv0Info &v0); | |
96 | void SetMCdata(Bool_t mc = kTRUE) {SetBit(kMCdata, mc);} | |
97 | void SetOCDB(const char *ocdb) {fOCDB=ocdb;} | |
98 | ||
99 | Bool_t UseLocalEvSelection() const {return Bool_t(fEventCut);} | |
100 | Bool_t UseLocalTrkSelection() const {return TestBit(kUseLocalTrkSelection);} | |
101 | void UseTrackPoints(Bool_t use=kTRUE) {SetBit(kTrkPoints, use);} | |
102 | void UserCreateOutputObjects(); | |
103 | void UserExec(Option_t *); | |
104 | void Terminate(Option_t* option = ""); | |
105 | private: | |
106 | // rough radial limits for TRD | |
107 | static const Float_t fgkITS; // end ITS | |
108 | static const Float_t fgkTPC; // end TPC | |
109 | static const Float_t fgkTRD; // end TRD | |
110 | ||
111 | // Track selection | |
112 | static const Float_t fgkTrkDCAxy; // cm | |
113 | static const Float_t fgkTrkDCAz; // cm | |
114 | static const Int_t fgkNclTPC; // N clusters TPC | |
115 | static const Float_t fgkPt; // min. pt | |
116 | static const Float_t fgkEta; // eta range | |
117 | static AliTRDReconstructor *fgReconstructor; // single instance of TRD reconstructor used by all tasks | |
118 | static AliTRDgeometry *fgGeo; // single instance of TRD geometry used by all tasks | |
119 | ||
120 | AliTRDinfoGen(const AliTRDinfoGen&); | |
121 | AliTRDinfoGen& operator=(const AliTRDinfoGen&); | |
122 | TTreeSRedirector* DebugStream(); | |
123 | void MakeChambers(); | |
124 | ||
125 | // UShort_t fBF; //! Bunch Fill of previous event | |
126 | AliESDEvent *fESDev; //! ESD event | |
127 | AliMCEvent *fMCev; //! MC event | |
128 | // event/track cuts OO - to be used | |
129 | AliTRDeventCuts *fEventCut; // event cut | |
130 | AliESDtrackCuts *fTrackCut; // track cut | |
131 | AliESDv0KineCuts *fV0Identifier; // V0 identifier | |
132 | AliTRDv0Info *fV0Cut; // v0 cut | |
133 | TString fOCDB; // OCDB location | |
134 | AliTRDtrackInfo *fTrackInfo; //! Track info | |
135 | AliTRDeventInfo *fEventInfo; //! Event info | |
136 | AliTRDv0Info *fV0Info; //! V0 info | |
137 | TObjArray *fTracksBarrel; //! Array of barrel(TPC) tracks | |
138 | TObjArray *fTracksITS; //! Array of ITS seeded tracks | |
139 | TObjArray *fTracksSA; //! Array of stand alone tracks | |
140 | TObjArray *fTracksKink; //! Array of kink tracks | |
141 | TObjArray *fV0List; //! V0 container | |
142 | TObjArray *fClusters; //! Clusters container | |
143 | TObjArray *fContainer; //! container to store results | |
144 | TObjArray *fRecos; //! array of reco params | |
145 | TTreeSRedirector *fDebugStream; //! debug stream | |
146 | ||
147 | ClassDef(AliTRDinfoGen, 8) // entry to TRD analysis train | |
148 | }; | |
149 | #endif |