]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG1/TRD/AliTRDinfoGen.h
- Remove the holes in the lists of output histograms to make the merging working...
[u/mrichter/AliRoot.git] / PWG1 / TRD / AliTRDinfoGen.h
CommitLineData
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 18class AliESDEvent;
19class AliMCEvent;
20class AliESDfriend;
21class AliTRDtrackInfo;
22class AliTRDeventInfo;
23class AliTRDv0Info;
07ece31c 24class AliTRDeventCuts;
25class AliESDtrackCuts;
1ee39b3a 26class TObjArray;
705f8b0a 27class TString;
1ee39b3a 28class TTreeSRedirector;
fd7ffd88 29class AliTRDReconstructor;
30class AliTRDgeometry;
705f8b0a 31class AliTRDinfoGen : public AliAnalysisTaskSE
32{
1ee39b3a 33public:
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 93private:
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