]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/TRD/AliTRDinfoGen.h
add more points for no of tracklet probab as function of p
[u/mrichter/AliRoot.git] / PWG1 / TRD / AliTRDinfoGen.h
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
18 class AliESDEvent;
19 class AliMCEvent;
20 class AliESDfriend;
21 class AliTRDtrackInfo;
22 class AliTRDeventInfo;
23 class AliTRDv0Info;
24 class AliTRDeventCuts;
25 class AliESDtrackCuts;
26 class TObjArray;
27 class TString;
28 class TTreeSRedirector;
29 class AliTRDinfoGen : public AliAnalysisTaskSE
30 {
31 public:
32   enum AliTRDinfoGenSteeringBits{
33     kMCdata               = BIT(18)
34    ,kUseLocalEvSelection  = BIT(19)
35    ,kUseLocalTrkSelection = BIT(20)
36    ,kCollision            = BIT(21)
37   };
38
39   AliTRDinfoGen();
40   AliTRDinfoGen(char* name);
41   virtual ~AliTRDinfoGen();
42   
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;}
47
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);}
52
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);
59
60   Bool_t  UseLocalEvSelection() const {return TestBit(kUseLocalEvSelection);}
61   Bool_t  UseLocalTrkSelection() const {return TestBit(kUseLocalTrkSelection);}
62   void    UserCreateOutputObjects();
63   void    UserExec(Option_t *);
64
65 private:
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
70
71   // Trigger selection
72   TString              *fEvTrigger; // list of trigger classes separated by space
73   // Vertex selection
74   static const Float_t fgkEvVertexZ;// cm
75   static const Int_t   fgkEvVertexN;// cm
76   // Track selection
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
82   
83   AliTRDinfoGen(const AliTRDinfoGen&);
84   AliTRDinfoGen& operator=(const AliTRDinfoGen&);
85   TTreeSRedirector* DebugStream();
86
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
100
101   ClassDef(AliTRDinfoGen, 5)         // entry to TRD analysis train
102 };
103 #endif