Replacements of "new AliMagF(..." with accessing field
[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
36   /// Set geoemetry file name
37   void SetGeoFilename(const char* geoFilename) {fGeoFilename = geoFilename;}
38   /// Set mis align ocdb
39   void SetMisAlignOCDB(const char* misalignOCDB) {fMisAlignOCDB = misalignOCDB;}
40   /// Set default ocdb
41   void SetDefaultOCDB(const char* defaultOCDB) {fDefaultOCDB = defaultOCDB;}
42   void Prepare(const char* geoFilename, const char* defaultOCDB, const char* misalignOCDB);
43   
44  private:
45   AliESDEvent *fESD;                      //!< ESD object
46
47   AliMUONAlignment *fAlign;               ///< The MUON alignment object
48   TString fGeoFilename;                   ///< Geometry file name
49   TString fMisAlignOCDB;              ///< OCDB with misalignment file
50   TString fDefaultOCDB;               ///< Default OCDB
51   AliMUONGeometryTransformer *fTransform; ///< MUON geometry transformer
52     
53   Int_t fTrackTot;             ///< Number of track read 
54   Int_t fTrackOk;              ///< Number of track read 
55
56   Double_t fParameters[4*156]; ///< Array of alignment parameters
57   Double_t fErrors[4*156];     ///< Array of alignment parameters errors
58   Double_t fPulls[4*156];      ///< Array of alignment parameters pulls
59
60   TGraphErrors *fMSDEx ;   ///< Graph of translations along x
61   TGraphErrors *fMSDEy ;   ///< Graph of translations along y
62   TGraphErrors *fMSDEz ;   ///< Graph of translations along z
63   TGraphErrors *fMSDEp;    ///< Graph of rotation about z 
64
65   TList   *fList;          ///< list of graphs
66    
67   ClassDef(AliMUONAlignmentTask, 2) // example of analysis
68 };
69
70 #endif
71