]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ANALYSIS/Tender/AliTender.h
d0b2b4a78ef67f2228d92bfbd9f766e0053d7bc3
[u/mrichter/AliRoot.git] / ANALYSIS / Tender / AliTender.h
1 #ifndef ALITENDER_H
2 #define ALITENDER_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 // Author: Andrei Gheata, 31/08/2009
8
9 //==============================================================================
10 //   AliTender - Tender wagon providing access to ESD event and CDB.
11 //      The tender calls an arbitrary number of user algorithms that add or
12 //      correct information in ESD based on CDB info that was not available
13 //      during pass1 reconstruction.
14 //==============================================================================
15
16 #ifndef ALIANALYSISTASK_H
17 #include "AliAnalysisTask.h"
18 #endif
19
20 class AliCDBManager;
21 class AliESDEvent;
22 class AliESDInputHandler;
23
24 class AliTender : public AliAnalysisTask {
25
26 private:
27   Int_t                     fDebug;          // Debug level
28   Int_t                     fRun;            // Current run
29   Bool_t                    fRunChanged;     // Flag for run change.
30   ULong_t                   fCDBkey;         // Key to unlock CDB manager
31   TString                   fDefaultStorage; // Default CDB storage
32   AliCDBManager            *fCDB;            // Pointer to CDB manager
33   AliESDInputHandler       *fESDhandler;     // Pointer to ESD input handler
34   AliESDEvent              *fESD;            // Pointer to current ESD event
35   TObjArray                *fSupplies;       // Array of tender supplies
36   
37   AliTender(const AliTender &other);
38   AliTender& operator=(const AliTender &other);
39
40 public:  
41   AliTender();
42   AliTender(const char *name);
43   virtual ~AliTender();
44
45   // Getters
46   Int_t                     GetRun() const {return fRun;}
47   AliCDBManager            *GetCDBManager() const {return fCDB;}
48   AliESDInputHandler       *GetESDhandler() const {return fESDhandler;}
49   AliESDEvent              *GetEvent() const {return fESD;}
50   TObjArray                *GetSupplies() const {return fSupplies;}
51   Bool_t                    RunChanged() const {return fRunChanged;}
52   // Configuration
53   void                      SetDefaultCDBStorage(const char *dbString="local://$ALICE_ROOT/OCDB");
54
55   // Run control
56   virtual void              ConnectInputData(Option_t *option = "");
57   virtual void              CreateOutputObjects();
58   virtual Bool_t            Notify() {return kTRUE;}
59   virtual void              Exec(Option_t *option);
60     
61   ClassDef(AliTender,1)  // Class describing the tender car for ESD analysis
62 };
63 #endif