]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ZDC/AliZDCReconstructor.h
Fix for possible use of AliCFManager without containers, just cuts.
[u/mrichter/AliRoot.git] / ZDC / AliZDCReconstructor.h
index 07dbf13f56f5f49967009ab958906b1df8a91f9f..691fb419ad7eca973510c95a7d6180062ccc645a 100644 (file)
 #include "AliReconstructor.h"
 #include "AliCDBManager.h"
 #include "AliCDBStorage.h"
-#include "AliZDCCalibData.h"
+#include "AliZDCPedestals.h"
+#include "AliZDCCalib.h"
+#include "AliZDCRecoParam.h"
+#include "AliZDCRecoParampp.h"
+#include "AliZDCRecoParamPbPb.h"
 #include "AliLog.h"
 
-class TF1;
 class AliLoader;
 
 class AliZDCReconstructor: public AliReconstructor {
@@ -25,61 +28,43 @@ public:
   AliZDCReconstructor();
   virtual ~AliZDCReconstructor();
 
-  virtual Bool_t HasDigitConversion() const {return kFALSE;}
-  virtual Bool_t HasLocalReconstruction() const {return kTRUE;}
+  virtual Bool_t HasDigitConversion() const {return kFALSE;};
 
   virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const; 
   virtual void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
 
-  // Not used
-  virtual void Reconstruct(AliRunLoader* /*runLoader*/) const
-    { AliError("Method should not be used anymore !"); }
-  virtual void Reconstruct(AliRunLoader* /*runLoader*/, 
-                          AliRawReader* /*rawReader*/) const
-    { AliError("Method should not be used anymore !"); }
-
   virtual void FillESD(TTree* /*digitsTree*/, TTree* clustersTree, AliESDEvent* esd) const 
                {FillZDCintoESD(clustersTree,esd);}
   virtual void FillESD(AliRawReader* /*rawReader*/, TTree* clustersTree, AliESDEvent* esd) const 
                {FillZDCintoESD(clustersTree,esd);}
+    
+  // parameter settings for reconstruction
+  static void SetRecoParam(AliZDCRecoParam * param){fRecoParam = param;}
+  static const AliZDCRecoParam* GetRecoParam(){return fRecoParam;}
   
-  // Not used
-  virtual void FillESD(AliRunLoader* /*runLoader*/, AliESDEvent* /*esd*/) const
-    { AliError("Method should not be used anymore !"); }
-  virtual void FillESD(AliRunLoader* /*runLoader*/, 
-                      AliRawReader* /*rawReader*/, AliESDEvent* /*esd*/) const
-    { AliError("Method should not be used anymore !"); }
-  
+  // OCDB objects for reconstruction
   AliCDBStorage   *SetStorage(const char* uri);
-  AliZDCCalibData *GetCalibData() const; 
+  AliZDCPedestals *GetPedData() const; 
+  AliZDCCalib     *GetECalibData() const; 
   
 private:
   AliZDCReconstructor(const AliZDCReconstructor&);
   AliZDCReconstructor& operator =(const AliZDCReconstructor&);
 
-  void   ReconstructEvent(TTree *clustersTree, Float_t* ZN1ADCCorrHG, 
-               Float_t* ZP1ADCCorrHG, Float_t* ZN2ADCCorrHG, 
-               Float_t* ZP2ADCCorrHG, Float_t* ZN1ADCCorrLG, 
-               Float_t* ZP1ADCCorrLG, Float_t* ZN2ADCCorrLG, 
-               Float_t* ZP2ADCCorrLG, Float_t ZEMADCCorrHG) const;
+  void   ReconstructEventpp(TTree *clustersTree, 
+           Float_t* ZN1ADCCorr, Float_t* ZP1ADCCorr, Float_t* ZN2ADCCorr, Float_t* ZP2ADCCorr,
+           Float_t* ZEM1ADCCorr, Float_t* ZEM2ADCCorr, Float_t* PMRef1, Float_t* PMRef2) const;
+  void   ReconstructEventPbPb(TTree *clustersTree, 
+           Float_t* ZN1ADCCorr, Float_t* ZP1ADCCorr, Float_t* ZN2ADCCorr, Float_t* ZP2ADCCorr,
+           Float_t* ZEM1ADCCorr, Float_t* ZEM2ADCCorr, Float_t* PMRef1, Float_t* PMRef2) const;
   void   FillZDCintoESD(TTree *clustersTree, AliESDEvent*esd) const;
 
-  TF1*   fZNCen;     //! Nspectator n true vs. EZN
-  TF1*   fZNPer;     //! Nspectator n true vs. EZN
-  TF1*   fZPCen;     //! Nspectator p true vs. EZP
-  TF1*   fZPPer;     //! Nspectator p true vs. EZP
-  TF1*   fZDCCen;    //! Nspectators true vs. EZDC
-  TF1*   fZDCPer;    //! Nspectators true vs. EZDC
-  TF1*   fbCen;      //! b vs. EZDC
-  TF1*   fbPer;      //! b vs. EZDC
-  TF1*   fZEMn;      //! Nspectators n from ZEM energy
-  TF1*   fZEMp;      //! Nspectators p from ZEM energy
-  TF1*   fZEMsp;     //! Nspectators from ZEM energy
-  TF1*   fZEMb;      //! b from ZEM energy
-  
-  AliZDCCalibData *fCalibData;         //! calibration data
+  static AliZDCRecoParam *fRecoParam; // reconstruction parameters
+
+  AliZDCPedestals *fPedData;   //! pedestal calibration data
+  AliZDCCalib     *fECalibData; //! energy and equalization calibration data
 
-  ClassDef(AliZDCReconstructor, 2)   // class for the ZDC reconstruction
+  ClassDef(AliZDCReconstructor, 4)   // class for the ZDC reconstruction
 };
 
 #endif