monitoring and calibration for PbPb 2011
[u/mrichter/AliRoot.git] / PWG1 / TRD / info / AliTRDeventInfo.h
1 #ifndef ALITRDEVENTINFO_H
2 #define ALITRDEVENTINFO_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6 ////////////////////////////////////////////////////////////////////////////
7 //                                                                        //
8 //  Event info for TRD performance train                                  //
9 //                                                                        //
10 //  Authors:                                                              //
11 //    Markus Fasel <M.Fasel@gsi.de>                                       //
12 //                                                                        //
13 ////////////////////////////////////////////////////////////////////////////
14
15 #include <TObject.h>
16
17 class AliESDHeader;
18 class AliESDRun;
19 class TH1D;
20 class AliTRDeventInfo : public TObject{
21 public:
22   enum{
23     kCentralityClasses = 5
24    ,kLHCbunches = 3500
25   };
26   AliTRDeventInfo();
27   AliTRDeventInfo(AliESDHeader *header, AliESDRun *run);
28   AliTRDeventInfo(const AliTRDeventInfo &info);
29   AliTRDeventInfo& operator=(const AliTRDeventInfo &info);
30   virtual ~AliTRDeventInfo();
31   virtual void  Delete(const Option_t *);
32
33   AliESDHeader* GetEventHeader() const                 { return fHeader; }
34   AliESDRun*    GetRunInfo() const                     { return fRun; }
35   Int_t         GetCentrality() const                  { return fCentrality; }
36   UShort_t      GetBunchFill() const;
37   static void   GetListOfIsolatedBunches(TH1D *hbc, Int_t bunchSpacing=10);
38   Bool_t        IsOwner() const                        { return TestBit(kOwner); }
39   void          SetEventHeader(AliESDHeader *evHeader) { fHeader = evHeader; }
40   void          SetRunInfo(AliESDRun *evRun)           { fRun = evRun; }
41   void          SetCentrality(Int_t centrality)        { fCentrality = centrality; }
42   void          SetOwner();
43
44 private:
45   enum{
46     kOwner = BIT(14)
47   };
48   AliESDHeader* fHeader;      //! The ESD Header
49   AliESDRun*    fRun;         //! The ESD Run Info
50   Int_t         fCentrality;  //! Centrality class
51
52   ClassDef(AliTRDeventInfo, 1) // Event info  relevant for TRD analysis
53 };
54 #endif