Updated reco classes
[u/mrichter/AliRoot.git] / ZDC / AliZDCReconstructor.h
1 #ifndef ALIZDCRECONSTRUCTOR_H
2 #define ALIZDCRECONSTRUCTOR_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 ///////////////////////////////////////////////////////////////////////////////
9 //                                                                           //
10 // class for ZDC reconstruction                                              //
11 //                                                                           //
12 ///////////////////////////////////////////////////////////////////////////////
13
14 #include "AliReconstructor.h"
15 #include "AliCDBManager.h"
16 #include "AliCDBStorage.h"
17 #include "AliZDCCalibData.h"
18
19 class TF1;
20 class AliLoader;
21
22 class AliZDCReconstructor: public AliReconstructor {
23 public:
24   AliZDCReconstructor();
25   virtual ~AliZDCReconstructor();
26
27   virtual void   Reconstruct(AliRunLoader* runLoader) const;
28   virtual void   Reconstruct(AliRunLoader* runLoader,
29                   AliRawReader* rawReader) const;
30   virtual void   Reconstruct(TTree* digitsTree, TTree* clustersTree) const 
31                   {AliReconstructor::Reconstruct(digitsTree,clustersTree);}
32   virtual void   Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const 
33                   {AliReconstructor::Reconstruct(rawReader,clustersTree);}
34   virtual void   FillESD(AliRunLoader* runLoader, AliESD* esd) const;
35   virtual void   FillESD(TTree* digitsTree, TTree* clustersTree, AliESD* esd) const 
36                   {AliReconstructor::FillESD(digitsTree,clustersTree,esd);}
37   virtual void   FillESD(AliRawReader* rawReader, TTree* clustersTree, AliESD* esd) const 
38                   {AliReconstructor::FillESD(rawReader,clustersTree,esd);}
39   virtual void   FillESD(AliRunLoader* runLoader, AliRawReader* rawReader, AliESD* esd) const 
40                   {AliReconstructor::FillESD(runLoader,rawReader,esd);}
41   
42   void   GetStorage(const char* uri) {fStorage = AliCDBManager::Instance()->GetStorage(uri);}
43   AliCDBStorage   *SetStorage(const char* uri);
44   AliZDCCalibData *GetCalibData(int runNumber) const; 
45
46 private:
47   AliZDCReconstructor(const AliZDCReconstructor& reconstructor);
48   AliZDCReconstructor& operator = (const AliZDCReconstructor& reconstructor);
49
50   void   ReconstructEvent(AliLoader* loader, Float_t zn1corr, Float_t zp1corr, Float_t zemcorr,
51                 Float_t zn2corr, Float_t zp2corr) const;
52
53   TF1*   fZNCen;     //! Nspectator n true vs. EZN
54   TF1*   fZNPer;     //! Nspectator n true vs. EZN
55   TF1*   fZPCen;     //! Nspectator p true vs. EZP
56   TF1*   fZPPer;     //! Nspectator p true vs. EZP
57   TF1*   fZDCCen;    //! Nspectators true vs. EZDC
58   TF1*   fZDCPer;    //! Nspectators true vs. EZDC
59   TF1*   fbCen;      //! b vs. EZDC
60   TF1*   fbPer;      //! b vs. EZDC
61   TF1*   fZEMn;      //! Nspectators n from ZEM energy
62   TF1*   fZEMp;      //! Nspectators p from ZEM energy
63   TF1*   fZEMsp;     //! Nspectators from ZEM energy
64   TF1*   fZEMb;      //! b from ZEM energy
65   
66   AliCDBStorage *fStorage;      //! storage
67   AliZDCCalibData *fCalibData;  //! calibration data
68
69   ClassDef(AliZDCReconstructor, 1)   // class for the ZDC reconstruction
70 };
71
72 #endif