]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG1/TRD/AliTRDinfoGen.h
train ready for Pilot integration with all wagons
[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;
705f8b0a 29class AliTRDinfoGen : public AliAnalysisTaskSE
30{
1ee39b3a 31public:
3f19c2cd 32 enum AliTRDinfoGenSteeringBits{
705f8b0a 33 kMCdata = BIT(18)
34 ,kUseLocalEvSelection = BIT(19)
35 ,kUseLocalTrkSelection = BIT(20)
36 ,kCollision = BIT(21)
3f19c2cd 37 };
705f8b0a 38
1ee39b3a 39 AliTRDinfoGen();
f8f46e4d 40 AliTRDinfoGen(char* name);
1ee39b3a 41 virtual ~AliTRDinfoGen();
42
b4414720 43 void ConnectInputData(Option_t *opt) {AliAnalysisTaskSE::ConnectInputData(opt);}
1ee39b3a 44 static Float_t GetTPCx() { return fgkTPC;}
45 static Float_t GetTOFx() { return fgkTOF;}
46
705f8b0a 47 Bool_t HasMCdata() const { return TestBit(kMCdata);};
3f19c2cd 48 Bool_t IsCollision() const {return TestBit(kCollision);}
49
50 void SetCollision(Bool_t set=kTRUE) {SetBit(kCollision, set);}
07ece31c 51 void SetLocalEvSelection(AliTRDeventCuts */*cut*/){;}
3f19c2cd 52 void SetLocalEvSelection(Bool_t use=kTRUE) {SetBit(kUseLocalEvSelection, use);}
07ece31c 53 void SetLocalTrkSelection(AliESDtrackCuts */*cut*/){;}
3f19c2cd 54 void SetLocalTrkSelection(Bool_t use=kTRUE) {SetBit(kUseLocalTrkSelection, use);}
705f8b0a 55 void SetMCdata(Bool_t mc = kTRUE) {SetBit(kMCdata, mc);}
56 void SetTrigger(const Char_t *trigger);
3f19c2cd 57
58 Bool_t UseLocalEvSelection() const {return TestBit(kUseLocalEvSelection);}
59 Bool_t UseLocalTrkSelection() const {return TestBit(kUseLocalTrkSelection);}
705f8b0a 60 void UserCreateOutputObjects();
61 void UserExec(Option_t *);
3f19c2cd 62
1ee39b3a 63private:
3f19c2cd 64 // rough radial limits for TRD
65 static const Float_t fgkTPC; // end TPC
66 static const Float_t fgkTOF; // begin TOF
67 // Trigger selection
705f8b0a 68 TString *fEvTrigger; // list of trigger classes separated by space
3f19c2cd 69 // Vertex selection
70 static const Float_t fgkEvVertexZ;// cm
71 static const Int_t fgkEvVertexN;// cm
72 // Track selection
73 static const Float_t fgkTrkDCAxy; // cm
74 static const Float_t fgkTrkDCAz; // cm
75 static const Int_t fgkNclTPC; // N clusters TPC
76 static const Float_t fgkPt; // min. pt
77 static const Float_t fgkEta; // eta range
07ece31c 78
1ee39b3a 79 AliTRDinfoGen(const AliTRDinfoGen&);
80 AliTRDinfoGen& operator=(const AliTRDinfoGen&);
705f8b0a 81 TTreeSRedirector* DebugStream();
1ee39b3a 82
83 AliESDEvent *fESDev; //! ESD event
84 AliMCEvent *fMCev; //! MC event
07ece31c 85 // event/track cuts OO - to be used
86 AliTRDeventCuts *fEventCut; // event cut
87 AliESDtrackCuts *fTrackCut; // track cut
705f8b0a 88 AliTRDtrackInfo *fTrackInfo; //! Track info
89 AliTRDeventInfo *fEventInfo; //! Event info
90 AliTRDv0Info *fV0Info; //! V0 info
91 TObjArray *fTracksBarrel; //! Array of barrel tracks
92 TObjArray *fTracksSA; //! Array of stand alone tracks
93 TObjArray *fTracksKink; //! Array of kink tracks
94 TObjArray *fV0List; //! V0 container
95 TTreeSRedirector *fDebugStream; //! debug stream
1ee39b3a 96
705f8b0a 97 ClassDef(AliTRDinfoGen, 5) // entry to TRD analysis train
1ee39b3a 98};
99#endif