]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/TRD/AliTRDinfoGen.h
90ad14b7774aa02975cf2b203237116f89f90e30
[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   static Float_t GetTPCx() { return fgkTPC;}
47   static Float_t GetTOFx() { return fgkTOF;}
48
49   Bool_t  IsCollision() const {return TestBit(kCollision);}
50   Bool_t  Load(const Char_t */*filename = "TRD.Performance.root"*/) {return kTRUE;}
51   Bool_t  PostProcess() {return kTRUE;}
52
53   void    SetCollision(Bool_t set=kTRUE) {SetBit(kCollision, set);}
54   void    SetLocalEvSelection(AliTRDeventCuts */*cut*/){;} 
55   void    SetLocalEvSelection(Bool_t use=kTRUE) {SetBit(kUseLocalEvSelection, use);}
56   void    SetLocalTrkSelection(AliESDtrackCuts */*cut*/){;} 
57   void    SetLocalTrkSelection(Bool_t use=kTRUE) {SetBit(kUseLocalTrkSelection, use);}
58   void    SetTrigger(const Char_t *trigger) {fEvTrigger = trigger;}
59
60   Bool_t  UseLocalEvSelection() const {return TestBit(kUseLocalEvSelection);}
61   Bool_t  UseLocalTrkSelection() const {return TestBit(kUseLocalTrkSelection);}
62
63 private:
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
68   TString              fEvTrigger;  // list of trigger classes separated by space
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
78   
79   AliTRDinfoGen(const AliTRDinfoGen&);
80   AliTRDinfoGen& operator=(const AliTRDinfoGen&);
81
82   AliESDEvent      *fESDev;          //! ESD event
83   AliMCEvent       *fMCev;           //! MC event
84   AliTRDtrackInfo  *fTrackInfo;      //! Track info
85   AliTRDeventInfo  *fEventInfo;      //! Event info
86   TObjArray        *fV0container;    //! V0 container
87   AliTRDv0Info     *fV0Info;           //! V0 info
88   // event/track cuts OO - to be used
89   AliTRDeventCuts  *fEventCut;       // event cut
90   AliESDtrackCuts  *fTrackCut;       // track cut
91
92   ClassDef(AliTRDinfoGen, 4)         // entry to TRD analysis train
93 };
94 #endif