Second ZDC module. More ZDC information included in the ESD and AOD classes (Chiara)
[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 "AliZDCPedestals.h"
18 #include "AliZDCCalib.h"
19 #include "AliZDCRecParam.h"
20 #include "AliLog.h"
21
22 class TF1;
23 class AliLoader;
24
25 class AliZDCReconstructor: public AliReconstructor {
26 public:
27   AliZDCReconstructor();
28   virtual ~AliZDCReconstructor();
29
30   virtual Bool_t HasDigitConversion() const {return kFALSE;};
31
32   virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const; 
33   virtual void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
34
35   virtual void FillESD(TTree* /*digitsTree*/, TTree* clustersTree, AliESDEvent* esd) const 
36                 {FillZDCintoESD(clustersTree,esd);}
37   virtual void FillESD(AliRawReader* /*rawReader*/, TTree* clustersTree, AliESDEvent* esd) const 
38                 {FillZDCintoESD(clustersTree,esd);}
39     
40   AliCDBStorage   *SetStorage(const char* uri);
41   AliZDCPedestals *GetPedData() const; 
42   AliZDCCalib     *GetECalibData() const; 
43   AliZDCRecParam  *GetRecParams() const; 
44   
45 private:
46   AliZDCReconstructor(const AliZDCReconstructor&);
47   AliZDCReconstructor& operator =(const AliZDCReconstructor&);
48
49   void   ReconstructEvent(TTree *clustersTree, Float_t* ZN1ADCCorrHG, 
50                 Float_t* ZP1ADCCorrHG, Float_t* ZN2ADCCorrHG, 
51                 Float_t* ZP2ADCCorrHG, Float_t* ZN1ADCCorrLG, 
52                 Float_t* ZP1ADCCorrLG, Float_t* ZN2ADCCorrLG, 
53                 Float_t* ZP2ADCCorrLG, 
54                 Float_t ZEM1ADCCorrHG, Float_t ZEM2ADCCorrHG) const;
55   void   FillZDCintoESD(TTree *clustersTree, AliESDEvent*esd) const;
56
57   TF1*   fZNCen;     //! Nspectator n true vs. EZN
58   TF1*   fZNPer;     //! Nspectator n true vs. EZN
59   TF1*   fZPCen;     //! Nspectator p true vs. EZP
60   TF1*   fZPPer;     //! Nspectator p true vs. EZP
61   TF1*   fZDCCen;    //! Nspectators true vs. EZDC
62   TF1*   fZDCPer;    //! Nspectators true vs. EZDC
63   TF1*   fbCen;      //! b vs. EZDC
64   TF1*   fbPer;      //! b vs. EZDC
65   TF1*   fZEMn;      //! Nspectators n from ZEM energy
66   TF1*   fZEMp;      //! Nspectators p from ZEM energy
67   TF1*   fZEMsp;     //! Nspectators from ZEM energy
68   TF1*   fZEMb;      //! b from ZEM energy
69   
70   AliZDCPedestals *fPedData;    //! pedestal calibration data
71   AliZDCCalib     *fECalibData; //! energy and equalization calibration data
72   AliZDCRecParam  *fRecParam;   //! reconstruction parameters
73
74   ClassDef(AliZDCReconstructor, 3)   // class for the ZDC reconstruction
75 };
76
77 #endif