]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/TRD/AliTRDinfoGen.h
Add Event/Track selection based on Anton's monitoring task
[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 TObjArray;
29 class TTreeSRedirector;
30 class AliTRDinfoGen : public AliTRDrecoTask{
31 public:
32   enum AliTRDinfoGenSteeringBits{
33     kUseLocalEvSelection  = BIT(21)
34    ,kUseLocalTrkSelection = BIT(22)
35    ,kCollision            = BIT(23)
36   };
37   AliTRDinfoGen();
38   virtual ~AliTRDinfoGen();
39   
40   void    ConnectInputData(Option_t *);
41   void    CreateOutputObjects();
42   static Float_t GetTPCx() { return fgkTPC;}
43   static Float_t GetTOFx() { return fgkTOF;}
44
45   void    Exec(Option_t *);
46   Bool_t  IsCollision() const {return TestBit(kCollision);}
47
48   void    SetCollision(Bool_t set=kTRUE) {SetBit(kCollision, set);}
49   void    SetLocalEvSelection(Bool_t use=kTRUE) {SetBit(kUseLocalEvSelection, use);}
50   void    SetLocalTrkSelection(Bool_t use=kTRUE) {SetBit(kUseLocalTrkSelection, use);}
51   void    SetTrigger(const Char_t *trigger) {fEvTrigger = trigger;}
52
53   Bool_t  UseLocalEvSelection() const {return TestBit(kUseLocalEvSelection);}
54   Bool_t  UseLocalTrkSelection() const {return TestBit(kUseLocalTrkSelection);}
55
56 private:
57   // rough radial limits for TRD
58   static const Float_t fgkTPC;      // end TPC
59   static const Float_t fgkTOF;      // begin TOF
60   // Trigger selection
61   TString              fEvTrigger;  // list of trigger classes separated by space
62   // Vertex selection
63   static const Float_t fgkEvVertexZ;// cm
64   static const Int_t   fgkEvVertexN;// cm
65   // Track selection
66   static const Float_t fgkTrkDCAxy; // cm
67   static const Float_t fgkTrkDCAz;  // cm
68   static const Int_t   fgkNclTPC;   // N clusters TPC
69   static const Float_t fgkPt;       // min. pt
70   static const Float_t fgkEta;      // eta range
71
72   AliTRDinfoGen(const AliTRDinfoGen&);
73   AliTRDinfoGen& operator=(const AliTRDinfoGen&);
74
75   AliESDEvent      *fESDev;          //! ESD event
76   AliMCEvent       *fMCev;           //! MC event
77   AliESDfriend     *fESDfriend;      //! ESD friends
78   AliTRDtrackInfo  *fTrackInfo;      //! Track info
79   AliTRDeventInfo  *fEventInfo;            //! Event info
80   TObjArray        *fV0container;    //! V0 container
81   AliTRDv0Info     *fV0Info;                 //! V0 info
82
83   ClassDef(AliTRDinfoGen, 2)         // entry to TRD analysis train
84 };
85 #endif