]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - PWGPP/TRD/AliTRDinfoGen.h
Completed changes needed because of previous commit
[u/mrichter/AliRoot.git] / PWGPP / TRD / AliTRDinfoGen.h
... / ...
CommitLineData
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
18class AliESDEvent;
19class AliMCEvent;
20class AliESDfriend;
21class AliTRDtrackInfo;
22class AliTRDeventInfo;
23class AliTRDv0Info;
24class AliTRDeventCuts;
25class AliESDtrackCuts;
26class AliESDv0KineCuts;
27class TObjArray;
28class TString;
29class TTreeSRedirector;
30class AliTRDReconstructor;
31class AliTRDgeometry;
32class AliTRDinfoGen : public AliAnalysisTaskSE
33{
34public:
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 = "");
105private:
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