#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 {
AliZDCReconstructor();
virtual ~AliZDCReconstructor();
- virtual void Reconstruct(AliRunLoader* runLoader) const;
- virtual void Reconstruct(AliRunLoader* runLoader,
- AliRawReader* rawReader) const;
- virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const
- {AliReconstructor::Reconstruct(digitsTree,clustersTree);}
- virtual void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const
- {AliReconstructor::Reconstruct(rawReader,clustersTree);}
- virtual void FillESD(AliRunLoader* runLoader, AliESD* esd) const;
- virtual void FillESD(TTree* digitsTree, TTree* clustersTree, AliESD* esd) const
- {AliReconstructor::FillESD(digitsTree,clustersTree,esd);}
- virtual void FillESD(AliRawReader* rawReader, TTree* clustersTree, AliESD* esd) const
- {AliReconstructor::FillESD(rawReader,clustersTree,esd);}
- virtual void FillESD(AliRunLoader* runLoader, AliRawReader* rawReader, AliESD* esd) const
- {AliReconstructor::FillESD(runLoader,rawReader,esd);}
+ virtual Bool_t HasDigitConversion() const {return kFALSE;};
+
+ virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
+ virtual void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
+
+ 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;}
- void GetStorage(const char* uri) {fStorage = AliCDBManager::Instance()->GetStorage(uri);}
+ // OCDB objects for reconstruction
AliCDBStorage *SetStorage(const char* uri);
- AliZDCCalibData *GetCalibData(int runNumber) const;
-
+ AliZDCPedestals *GetPedData() const;
+ AliZDCCalib *GetECalibData() const;
+
private:
- AliZDCReconstructor(const AliZDCReconstructor& reconstructor);
- AliZDCReconstructor& operator = (const AliZDCReconstructor& reconstructor);
+ AliZDCReconstructor(const AliZDCReconstructor&);
+ AliZDCReconstructor& operator =(const AliZDCReconstructor&);
- void ReconstructEvent(AliLoader* loader, Float_t zn1corr, Float_t zp1corr, Float_t zemcorr,
- Float_t zn2corr, Float_t zp2corr) 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
-
- AliCDBStorage *fStorage; //! storage
- AliZDCCalibData *fCalibData; //! calibration data
+ static AliZDCRecoParam *fRecoParam; // reconstruction parameters
+
+ AliZDCPedestals *fPedData; //! pedestal calibration data
+ AliZDCCalib *fECalibData; //! energy and equalization calibration data
- ClassDef(AliZDCReconstructor, 1) // class for the ZDC reconstruction
+ ClassDef(AliZDCReconstructor, 4) // class for the ZDC reconstruction
};
#endif