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 */
8 ///////////////////////////////////////////////////////////////////////////////
10 // class for ZDC reconstruction //
12 ///////////////////////////////////////////////////////////////////////////////
14 #include "AliReconstructor.h"
15 #include "AliCDBManager.h"
16 #include "AliCDBStorage.h"
17 #include "AliZDCPedestals.h"
18 #include "AliZDCCalib.h"
19 #include "AliZDCRecoParam.h"
20 #include "AliZDCRecoParampp.h"
21 #include "AliZDCRecoParamPbPb.h"
26 class AliZDCReconstructor: public AliReconstructor {
28 AliZDCReconstructor();
29 virtual ~AliZDCReconstructor();
31 virtual Bool_t HasDigitConversion() const {return kFALSE;};
33 virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
34 virtual void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
36 virtual void FillESD(TTree* /*digitsTree*/, TTree* clustersTree, AliESDEvent* esd) const
37 {FillZDCintoESD(clustersTree,esd);}
38 virtual void FillESD(AliRawReader* /*rawReader*/, TTree* clustersTree, AliESDEvent* esd) const
39 {FillZDCintoESD(clustersTree,esd);}
41 // parameter settings for reconstruction
43 void SetRecoMode(Int_t recoMode, Float_t beamEnergy)
44 {fRecoMode=recoMode; fBeamEnergy=beamEnergy;}
45 static void SetRecoParam(AliZDCRecoParam * param){fRecoParam = param;}
47 Int_t GetRecoMode() {return fRecoMode;}
48 Float_t GetBeamEnergy() {return fBeamEnergy;}
50 static const AliZDCRecoParam* GetRecoParam(){return fRecoParam;}
52 void SetPedSubMode(Int_t pedsubMode) {fPedSubMode=pedsubMode;}
53 Int_t GetPedSubMode() {return fPedSubMode;}
55 // OCDB objects for reconstruction
56 AliCDBStorage *SetStorage(const char* uri);
57 AliZDCPedestals *GetPedData() const;
58 AliZDCCalib *GetECalibData() const;
61 AliZDCReconstructor(const AliZDCReconstructor&);
62 AliZDCReconstructor& operator =(const AliZDCReconstructor&);
64 void ReconstructEventpp(TTree *clustersTree,
65 Float_t* ZN1ADCCorr, Float_t* ZP1ADCCorr, Float_t* ZN2ADCCorr, Float_t* ZP2ADCCorr,
66 Float_t* ZEM1ADCCorr, Float_t* ZEM2ADCCorr, Float_t* PMRef1, Float_t* PMRef2) const;
67 void ReconstructEventPbPb(TTree *clustersTree,
68 Float_t* ZN1ADCCorr, Float_t* ZP1ADCCorr, Float_t* ZN2ADCCorr, Float_t* ZP2ADCCorr,
69 Float_t* ZEM1ADCCorr, Float_t* ZEM2ADCCorr, Float_t* PMRef1, Float_t* PMRef2) const;
70 void FillZDCintoESD(TTree *clustersTree, AliESDEvent*esd) const;
72 static AliZDCRecoParam *fRecoParam; // reconstruction parameters
74 AliZDCPedestals *fPedData; //! pedestal calibration data
75 AliZDCCalib *fECalibData; //! energy and equalization calibration data
76 Int_t fRecoMode; // =0->p-p, =1->A-A
77 Float_t fBeamEnergy; // beam energy
79 Int_t fPedSubMode; // =0->mean values, =1->from correlations
81 ClassDef(AliZDCReconstructor, 6) // class for the ZDC reconstruction