- Adding check and flagging for HG present
[u/mrichter/AliRoot.git] / MUON / AliMUONAlignmentTask.h
1 #ifndef ALIMUONALIGNMENTTASK_H
2 #define ALIMUONALIGNMENTTASK_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 calign
9 /// \class AliMUONAlignmentTask
10 /// \brief Task to align the muon spectrometer
11 ///
12 //  Author Javier Castillo, CEA/Saclay - Irfu/SPhN
13
14 class TList;
15 class TGraphErrors;
16 class AliESDEvent;
17 class AliMUONAlignment;
18 class AliMUONGeometryTransformer;
19
20 #include "AliAnalysisTask.h"
21
22 class AliMUONAlignmentTask : public AliAnalysisTask {
23  public:
24   //  AliMUONAlignmentTask(const char *name = "AliMUONAlignmentTask");
25   AliMUONAlignmentTask(const char *name = "AliMUONAlignmentTask", const char *geofilename = "geometry.root", const char *defaultocdb = "local://$ALICE_ROOT/OCDB", const char *misalignocdb = "local://ReAlignOCDB");
26   AliMUONAlignmentTask(const AliMUONAlignmentTask& obj);
27   AliMUONAlignmentTask& operator=(const AliMUONAlignmentTask& other); 
28   virtual ~AliMUONAlignmentTask();
29   
30   virtual void   LocalInit();
31   virtual void   ConnectInputData(Option_t *);
32   virtual void   CreateOutputObjects();
33   virtual void   Exec(Option_t *option);
34   virtual void   Terminate(const Option_t*);
35   virtual void   FinishTaskOutput();
36
37   /// Set geoemetry file name
38   void SetGeoFilename(const char* geoFilename) {fGeoFilename = geoFilename;}
39   /// Set mis align ocdb
40   void SetMisAlignOCDB(const char* misalignOCDB) {fMisAlignOCDB = misalignOCDB;}
41   /// Set default ocdb
42   void SetDefaultOCDB(const char* defaultOCDB) {fDefaultOCDB = defaultOCDB;}
43   void Prepare(const char* geoFilename, const char* defaultOCDB, const char* misalignOCDB);
44   
45  private:
46   AliESDEvent *fESD;                      //!< ESD object
47
48   AliMUONAlignment *fAlign;               ///< The MUON alignment object
49   TString fGeoFilename;                   ///< Geometry file name
50   TString fMisAlignOCDB;              ///< OCDB with misalignment file
51   TString fDefaultOCDB;               ///< Default OCDB
52   AliMUONGeometryTransformer *fTransform; ///< MUON geometry transformer
53     
54   Int_t fTrackTot;             ///< Number of track read 
55   Int_t fTrackOk;              ///< Number of track read 
56   Int_t fLastRunNumber;              ///< Last run number 
57
58   Double_t fParameters[4*156]; ///< Array of alignment parameters
59   Double_t fErrors[4*156];     ///< Array of alignment parameters errors
60   Double_t fPulls[4*156];      ///< Array of alignment parameters pulls
61
62   TGraphErrors *fMSDEx ;   ///< Graph of translations along x
63   TGraphErrors *fMSDEy ;   ///< Graph of translations along y
64   TGraphErrors *fMSDEz ;   ///< Graph of translations along z
65   TGraphErrors *fMSDEp;    ///< Graph of rotation about z 
66
67   TList   *fList;          ///< list of graphs
68    
69   ClassDef(AliMUONAlignmentTask, 3) // example of analysis
70 };
71
72 #endif
73