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 */
6 /* $Id: AliTRDinfoGen.h 27496 2008-07-22 08:35:45Z cblume $ */
8 ////////////////////////////////////////////////////////////////////////////
10 // TRD Performance tender wagon //
12 ////////////////////////////////////////////////////////////////////////////
14 #ifndef ALIANALYSISTASKSE_H
15 #include "AliAnalysisTaskSE.h"
21 class AliTRDtrackInfo;
22 class AliTRDeventInfo;
24 class AliTRDeventCuts;
25 class AliESDtrackCuts;
28 class TTreeSRedirector;
29 class AliTRDinfoGen : public AliAnalysisTaskSE
32 enum AliTRDinfoGenSteeringBits{
34 ,kUseLocalEvSelection = BIT(19)
35 ,kUseLocalTrkSelection = BIT(20)
40 AliTRDinfoGen(char* name);
41 virtual ~AliTRDinfoGen();
43 void ConnectInputData(Option_t *opt) {AliAnalysisTaskSE::ConnectInputData(opt);}
44 static Float_t GetEndITS() { return fgkITS;}
45 static Float_t GetEndTPC() { return fgkTPC;}
46 static Float_t GetEndTRD() { return fgkTRD;}
48 Bool_t HasMCdata() const { return TestBit(kMCdata);};
49 // temporary until check with AliAnalysisTaskSE collision selection mechannism
50 Bool_t IsCollision() const {return TestBit(kCollision);}
51 void SetCollision(Bool_t set=kTRUE) {SetBit(kCollision, set);}
53 void SetLocalEvSelection(AliTRDeventCuts */*cut*/){;}
54 void SetLocalEvSelection(Bool_t use=kTRUE) {SetBit(kUseLocalEvSelection, use);}
55 void SetLocalTrkSelection(AliESDtrackCuts */*cut*/){;}
56 void SetLocalTrkSelection(Bool_t use=kTRUE) {SetBit(kUseLocalTrkSelection, use);}
57 void SetMCdata(Bool_t mc = kTRUE) {SetBit(kMCdata, mc);}
58 void SetTrigger(const Char_t *trigger);
60 Bool_t UseLocalEvSelection() const {return TestBit(kUseLocalEvSelection);}
61 Bool_t UseLocalTrkSelection() const {return TestBit(kUseLocalTrkSelection);}
62 void UserCreateOutputObjects();
63 void UserExec(Option_t *);
66 // rough radial limits for TRD
67 static const Float_t fgkITS; // end ITS
68 static const Float_t fgkTPC; // end TPC
69 static const Float_t fgkTRD; // end TRD
72 TString *fEvTrigger; // list of trigger classes separated by space
74 static const Float_t fgkEvVertexZ;// cm
75 static const Int_t fgkEvVertexN;// cm
77 static const Float_t fgkTrkDCAxy; // cm
78 static const Float_t fgkTrkDCAz; // cm
79 static const Int_t fgkNclTPC; // N clusters TPC
80 static const Float_t fgkPt; // min. pt
81 static const Float_t fgkEta; // eta range
83 AliTRDinfoGen(const AliTRDinfoGen&);
84 AliTRDinfoGen& operator=(const AliTRDinfoGen&);
85 TTreeSRedirector* DebugStream();
87 AliESDEvent *fESDev; //! ESD event
88 AliMCEvent *fMCev; //! MC event
89 // event/track cuts OO - to be used
90 AliTRDeventCuts *fEventCut; // event cut
91 AliESDtrackCuts *fTrackCut; // track cut
92 AliTRDtrackInfo *fTrackInfo; //! Track info
93 AliTRDeventInfo *fEventInfo; //! Event info
94 AliTRDv0Info *fV0Info; //! V0 info
95 TObjArray *fTracksBarrel; //! Array of barrel tracks
96 TObjArray *fTracksSA; //! Array of stand alone tracks
97 TObjArray *fTracksKink; //! Array of kink tracks
98 TObjArray *fV0List; //! V0 container
99 TTreeSRedirector *fDebugStream; //! debug stream
101 ClassDef(AliTRDinfoGen, 5) // entry to TRD analysis train