LOG muondep:
[u/mrichter/AliRoot.git] / PWG3 / muondep / AliAnalysisTaskPileup.h
1 #ifndef ALIANALYSISTASKPILEUP_H
2 #define ALIANALYSISTASKPILEUP_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */ 
7
8 /// \ingroup muondep
9 /// \class AliAnalysisTaskPileup
10 /// \brief Trigger scaler analysis for pileup corrections
11 /// Based on the work by L. Aphecetche - SUBATECH Nantes
12 //Author: Diego Stocco - SUBATECH Nantes
13
14 //#define READOCDB
15
16 #include "AliAnalysisTaskSE.h"
17
18 class TObjArray;
19 class TString;
20 class TArrayI;
21 class AliCounterCollection;
22
23 #ifdef READOCDB
24 class AliTriggerRunScalers;
25 #endif
26
27 class AliAnalysisTaskPileup : public AliAnalysisTaskSE {
28 public:
29   
30   AliAnalysisTaskPileup();
31   AliAnalysisTaskPileup(const char *name);
32   virtual ~AliAnalysisTaskPileup();
33   
34   virtual void   UserCreateOutputObjects();
35   virtual void   UserExec(Option_t *);
36   virtual void   Terminate(Option_t *);
37   virtual void   NotifyRun();
38
39   void SetDefaultStorage(TString dbString);
40   void SetSpecificStorage(TString calibType, TString dbString);
41   
42 private:
43   
44   /// Not implemented
45   AliAnalysisTaskPileup(const AliAnalysisTaskPileup& rhs);
46   /// Not implemented
47   AliAnalysisTaskPileup& operator = (const AliAnalysisTaskPileup& rhs);
48
49   Double_t GetL0Correction(Double_t nCINT1B, Double_t nCBEAMB);
50
51   enum {
52     kHevents,  /// Number of events histogram
53     kHeventsCorrectL0, /// Number of L0 corrected events histogram
54     kNeventHistos  /// Number of trigger histograms
55   };
56
57   AliCounterCollection* fEventCounters; //!< Event statistics
58   TObjArray* fHistoEventsList;   //!< List of event histograms
59
60   TObjArray* fTriggerClasses; //!< full trigger class name
61   TArrayI* fTriggerClassIndex;  //!< Trigger classes mask
62
63   Bool_t fIsInitCDB; //!< Flag telling if CDB is used
64   TAxis* fCentralityClasses; //!< Centrality classes
65
66 #ifdef READOCDB
67   AliTriggerRunScalers* fTriggerRunScalers; //!< Trigger scalers from OCDB
68   TObjArray* fStorageList; /// List of storages
69 #endif
70   
71   ClassDef(AliAnalysisTaskPileup, 1);
72 };
73
74 #endif
75