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