o add Reset function to CalPad and CalROC o Add functionality to AliTPCdataQA - Reset...
[u/mrichter/AliRoot.git] / MUON / AliMUONChamberCalibrationTask.h
1 #ifndef ALIMUONCHAMBERCALIBRATIONTASK_H
2 #define ALIMUONCHAMBERCALIBRATIONTASK_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice                               */
6
7 // $Id$
8
9 /// \ingroup calign
10 /// \class  AliMUONChamberCalibrationTask
11 /// \brief  Definition of the task to extract cluster information 
12 ///  from MCH tracks after applying the calibration on an aligned ESD
13 /// \author Andry Rakotozafindrabe CEA/IRFU/SPhN
14
15 class AliMUONRecoParam;
16 class AliMUONClusterInfo;
17 class AliMUONPadInfo;
18 class AliMUONCalibrationData;
19 class AliMUONESDInterface;
20 class AliMUONVClusterStore;
21 class AliMUONVDigitStore;
22 class AliMUONTrack;
23
24 class AliESDInputHandler;
25 class AliESDEvent;
26
27 #include "AliAnalysisTaskSE.h"
28 #include "TTree.h" 
29 #include "TString.h" 
30
31 class AliMUONChamberCalibrationTask : public AliAnalysisTaskSE
32 {
33
34  public:
35
36   /// enumerate the list of the available modes for the calibration
37   enum Calibration_t { 
38     kNOGAIN, 
39     kGAINCONSTANTCAPA, 
40     kGAIN, 
41     kINJECTIONGAIN 
42   }; 
43
44   // Constructors
45   AliMUONChamberCalibrationTask();
46   AliMUONChamberCalibrationTask( const char* name, 
47                                  char* ocdbpath, 
48                                  const Int_t my_calib_option );
49
50   // Destructor
51   virtual ~AliMUONChamberCalibrationTask();
52
53   // Implementation of interface methods
54   virtual void CreateOutputObjects(); 
55   virtual void LocalInit(); 
56   virtual void ConnectInputData( Option_t* option = "" );
57   virtual void Exec( Option_t* option  = "" ); 
58   virtual void Terminate( Option_t* option = "" ); 
59
60   // Getters
61   /// Return TTree filled with the cluster information
62   TTree* OutputTree() const { return fClusterInfoTree; }
63
64   UInt_t BuildClusterMap( AliMUONTrack &track );
65
66  private:
67   /// Not implemented
68   AliMUONChamberCalibrationTask(const AliMUONChamberCalibrationTask& right);
69   /// Not implemented
70   AliMUONChamberCalibrationTask&  operator = (const AliMUONChamberCalibrationTask& right);
71
72   TString fOCDBPath;                    //!< default path to the condition database
73   Calibration_t fCalibChoice;           //!< calibration option
74   TTree* fClusterInfoTree;              //!< TTree filled with the cluster information
75   AliMUONRecoParam* fMuonRecoParam;     //!< reconstruction parameters for track refitting
76   AliMUONClusterInfo* fClusterInfo;     //!< cluster info used to fill the output TTree
77   AliMUONCalibrationData* fCalibData;   //!< needed to access to the calibration data for each pad within each cluster
78   AliMUONESDInterface* fESDInterface;   //!< interface to easily access to the ESD content
79   AliMUONVDigitStore* fDigitStore;      //!< pointer to the digit stored for the current input ESD event 
80   AliESDInputHandler* fESDInputHandler; //!< ESD input handler
81   AliESDEvent* fESDInputEvent;          //!< pointer to the current input ESD event
82
83   ClassDef( AliMUONChamberCalibrationTask, 1 ) // Task to extract cluster information after applying calibration
84
85 };
86
87
88 #endif