]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ZDC/AliZDCReconstructor.h
Fix to AliFMDInput for new AliESDEvent - thanks Hans
[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 #include "AliLog.h"
19
20 class TF1;
21 class AliLoader;
22
23 class AliZDCReconstructor: public AliReconstructor {
24 public:
25   AliZDCReconstructor();
26   virtual ~AliZDCReconstructor();
27
28   virtual Bool_t HasDigitConversion() const {return kFALSE;}
29   virtual Bool_t HasLocalReconstruction() const {return kTRUE;}
30
31   virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const; 
32   virtual void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
33
34   // Not used
35   virtual void Reconstruct(AliRunLoader* /*runLoader*/) const
36     { AliError("Method should not be used anymore !"); }
37   virtual void Reconstruct(AliRunLoader* /*runLoader*/, 
38                            AliRawReader* /*rawReader*/) const
39     { AliError("Method should not be used anymore !"); }
40
41   virtual void FillESD(TTree* /*digitsTree*/, TTree* clustersTree, AliESDEvent* esd) const 
42                 {FillZDCintoESD(clustersTree,esd);}
43   virtual void FillESD(AliRawReader* /*rawReader*/, TTree* clustersTree, AliESDEvent* esd) const 
44                 {FillZDCintoESD(clustersTree,esd);}
45   
46   // Not used
47   virtual void FillESD(AliRunLoader* /*runLoader*/, AliESDEvent* /*esd*/) const
48     { AliError("Method should not be used anymore !"); }
49   virtual void FillESD(AliRunLoader* /*runLoader*/, 
50                        AliRawReader* /*rawReader*/, AliESDEvent* /*esd*/) const
51     { AliError("Method should not be used anymore !"); }
52   
53   AliCDBStorage   *SetStorage(const char* uri);
54   AliZDCCalibData *GetCalibData() const; 
55   
56 private:
57   AliZDCReconstructor(const AliZDCReconstructor&);
58   AliZDCReconstructor& operator =(const AliZDCReconstructor&);
59
60   void   ReconstructEvent(TTree *clustersTree, Float_t* ZN1ADCCorrHG, 
61                 Float_t* ZP1ADCCorrHG, Float_t* ZN2ADCCorrHG, 
62                 Float_t* ZP2ADCCorrHG, Float_t* ZN1ADCCorrLG, 
63                 Float_t* ZP1ADCCorrLG, Float_t* ZN2ADCCorrLG, 
64                 Float_t* ZP2ADCCorrLG, Float_t ZEMADCCorrHG) const;
65   void   FillZDCintoESD(TTree *clustersTree, AliESDEvent*esd) const;
66
67   TF1*   fZNCen;     //! Nspectator n true vs. EZN
68   TF1*   fZNPer;     //! Nspectator n true vs. EZN
69   TF1*   fZPCen;     //! Nspectator p true vs. EZP
70   TF1*   fZPPer;     //! Nspectator p true vs. EZP
71   TF1*   fZDCCen;    //! Nspectators true vs. EZDC
72   TF1*   fZDCPer;    //! Nspectators true vs. EZDC
73   TF1*   fbCen;      //! b vs. EZDC
74   TF1*   fbPer;      //! b vs. EZDC
75   TF1*   fZEMn;      //! Nspectators n from ZEM energy
76   TF1*   fZEMp;      //! Nspectators p from ZEM energy
77   TF1*   fZEMsp;     //! Nspectators from ZEM energy
78   TF1*   fZEMb;      //! b from ZEM energy
79   
80   AliZDCCalibData *fCalibData;  //! calibration data
81
82   ClassDef(AliZDCReconstructor, 2)   // class for the ZDC reconstruction
83 };
84
85 #endif