]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/TRD/AliTRDinfoGen.h
- call UserExec instead of Exec of base class AliTRDreco
[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 //  Reconstruction QA                                                     //
11 //                                                                        //
12 ////////////////////////////////////////////////////////////////////////////
13
14 #ifndef ALITRDRECOTASK_H
15 #include "AliTRDrecoTask.h"
16 #endif
17
18 #ifndef ROOT_TString
19 #include "TString.h"
20 #endif
21
22 class AliESDEvent;
23 class AliMCEvent;
24 class AliESDfriend;
25 class AliTRDtrackInfo;
26 class AliTRDeventInfo;
27 class AliTRDv0Info;
28 class AliTRDeventCuts;
29 class AliESDtrackCuts;
30 class TObjArray;
31 class TTreeSRedirector;
32 class AliTRDinfoGen : public AliTRDrecoTask{
33 public:
34   enum AliTRDinfoGenSteeringBits{
35     kUseLocalEvSelection  = BIT(21)
36    ,kUseLocalTrkSelection = BIT(22)
37    ,kCollision            = BIT(23)
38   };
39   AliTRDinfoGen();
40   AliTRDinfoGen(char* name);
41   virtual ~AliTRDinfoGen();
42   
43
44   void    UserCreateOutputObjects();
45   void    UserExec(Option_t *);
46   void    ConnectInputData(Option_t *opt) {AliAnalysisTaskSE::ConnectInputData(opt);}
47   static Float_t GetTPCx() { return fgkTPC;}
48   static Float_t GetTOFx() { return fgkTOF;}
49
50   Bool_t  IsCollision() const {return TestBit(kCollision);}
51   Bool_t  Load(const Char_t */*filename = "TRD.Performance.root"*/) {return kTRUE;}
52   Bool_t  PostProcess() {return kTRUE;}
53
54   void    SetCollision(Bool_t set=kTRUE) {SetBit(kCollision, set);}
55   void    SetLocalEvSelection(AliTRDeventCuts */*cut*/){;} 
56   void    SetLocalEvSelection(Bool_t use=kTRUE) {SetBit(kUseLocalEvSelection, use);}
57   void    SetLocalTrkSelection(AliESDtrackCuts */*cut*/){;} 
58   void    SetLocalTrkSelection(Bool_t use=kTRUE) {SetBit(kUseLocalTrkSelection, use);}
59   void    SetTrigger(const Char_t *trigger) {fEvTrigger = trigger;}
60
61   Bool_t  UseLocalEvSelection() const {return TestBit(kUseLocalEvSelection);}
62   Bool_t  UseLocalTrkSelection() const {return TestBit(kUseLocalTrkSelection);}
63
64 private:
65   // rough radial limits for TRD
66   static const Float_t fgkTPC;      // end TPC
67   static const Float_t fgkTOF;      // begin TOF
68   // Trigger selection
69   TString              fEvTrigger;  // list of trigger classes separated by space
70   // Vertex selection
71   static const Float_t fgkEvVertexZ;// cm
72   static const Int_t   fgkEvVertexN;// cm
73   // Track selection
74   static const Float_t fgkTrkDCAxy; // cm
75   static const Float_t fgkTrkDCAz;  // cm
76   static const Int_t   fgkNclTPC;   // N clusters TPC
77   static const Float_t fgkPt;       // min. pt
78   static const Float_t fgkEta;      // eta range
79   
80   AliTRDinfoGen(const AliTRDinfoGen&);
81   AliTRDinfoGen& operator=(const AliTRDinfoGen&);
82
83   AliESDEvent      *fESDev;          //! ESD event
84   AliMCEvent       *fMCev;           //! MC event
85   AliTRDtrackInfo  *fTrackInfo;      //! Track info
86   AliTRDeventInfo  *fEventInfo;      //! Event info
87   TObjArray        *fV0container;    //! V0 container
88   AliTRDv0Info     *fV0Info;           //! V0 info
89   // event/track cuts OO - to be used
90   AliTRDeventCuts  *fEventCut;       // event cut
91   AliESDtrackCuts  *fTrackCut;       // track cut
92
93   ClassDef(AliTRDinfoGen, 4)         // entry to TRD analysis train
94 };
95 #endif