]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ZDC/AliZDCReconstructor.h
Enabled like-sign task and D+ task
[u/mrichter/AliRoot.git] / ZDC / AliZDCReconstructor.h
CommitLineData
8309c1ab 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"
48642b09 15#include "AliCDBManager.h"
16#include "AliCDBStorage.h"
6024ec85 17#include "AliZDCPedestals.h"
73bc3a3f 18#include "AliZDCEnCalib.h"
19#include "AliZDCTowerCalib.h"
7bff3766 20#include "AliZDCRecoParam.h"
21#include "AliZDCRecoParampp.h"
22#include "AliZDCRecoParamPbPb.h"
70f04f6d 23#include "AliLog.h"
8309c1ab 24
8309c1ab 25class AliLoader;
26
8309c1ab 27class AliZDCReconstructor: public AliReconstructor {
28public:
29 AliZDCReconstructor();
30 virtual ~AliZDCReconstructor();
31
73bc3a3f 32 virtual void Init();
a4cab348 33 virtual Bool_t HasDigitConversion() const {return kFALSE;};
73bc3a3f 34
70f04f6d 35 virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
73bc3a3f 36 virtual void Reconstruct(AliRawReader* rawReader, TTree* clustersTree);
70f04f6d 37
70f04f6d 38 virtual void FillESD(TTree* /*digitsTree*/, TTree* clustersTree, AliESDEvent* esd) const
73bc3a3f 39 {FillZDCintoESD(clustersTree, esd);}
70f04f6d 40 virtual void FillESD(AliRawReader* /*rawReader*/, TTree* clustersTree, AliESDEvent* esd) const
73bc3a3f 41 {FillZDCintoESD(clustersTree, esd);}
42
7bff3766 43 // parameter settings for reconstruction
03be9e4f 44 void SetRecoMode(Int_t recoMode, Float_t beamEnergy)
73bc3a3f 45 {fRecoMode=recoMode; fBeamEnergy=beamEnergy;}
7bff3766 46 static void SetRecoParam(AliZDCRecoParam * param){fRecoParam = param;}
fd9afd60 47
48 Int_t GetRecoMode() {return fRecoMode;}
42d8b8d5 49 Float_t GetBeamEnergy() {return fBeamEnergy;}
50
73bc3a3f 51 static const AliZDCRecoParam* GetRecoParam() {return fRecoParam;}
42d8b8d5 52
53 void SetPedSubMode(Int_t pedsubMode) {fPedSubMode=pedsubMode;}
54 Int_t GetPedSubMode() {return fPedSubMode;}
7bff3766 55
56 // OCDB objects for reconstruction
78d18275 57 AliCDBStorage *SetStorage(const char* uri);
6024ec85 58 AliZDCPedestals *GetPedData() const;
73bc3a3f 59 AliZDCEnCalib *GetEnCalibData() const;
60 AliZDCTowerCalib *GetTowCalibData() const;
61 AliZDCRecoParampp *GetppRecoParamFromOCDB() const;
62 AliZDCRecoParamPbPb *GetPbPbRecoParamFromOCDB() const;
646f1679 63
73bc3a3f 64 void WritePbPbRecoParamInOCDB() const;
65
8309c1ab 66private:
cc2abffd 67 AliZDCReconstructor(const AliZDCReconstructor&);
68 AliZDCReconstructor& operator =(const AliZDCReconstructor&);
8309c1ab 69
7bff3766 70 void ReconstructEventpp(TTree *clustersTree,
71 Float_t* ZN1ADCCorr, Float_t* ZP1ADCCorr, Float_t* ZN2ADCCorr, Float_t* ZP2ADCCorr,
72 Float_t* ZEM1ADCCorr, Float_t* ZEM2ADCCorr, Float_t* PMRef1, Float_t* PMRef2) const;
73 void ReconstructEventPbPb(TTree *clustersTree,
c35ed519 74 Float_t* ZN1ADCCorr, Float_t* ZP1ADCCorr, Float_t* ZN2ADCCorr, Float_t* ZP2ADCCorr,
75 Float_t* ZEM1ADCCorr, Float_t* ZEM2ADCCorr, Float_t* PMRef1, Float_t* PMRef2) const;
73bc3a3f 76 void BuildRecoParam(TH2F* hCorr, TH2F* hCorrC, TH2F* hCorrA,
77 Float_t ZDCC, Float_t ZDCA, Float_t ZEM) const;
8309c1ab 78
73bc3a3f 79 void FillZDCintoESD(TTree *clustersTree, AliESDEvent*esd) const;
7bff3766 80
8309c1ab 81
73bc3a3f 82 static AliZDCRecoParam *fRecoParam; // reconstruction parameters
42d8b8d5 83
73bc3a3f 84 AliZDCPedestals *fPedData; //! pedestal calibration data
85 AliZDCEnCalib *fEnCalibData; //! energy calibration data
86 AliZDCTowerCalib *fTowCalibData; //! equalization calibration data
87
88 Int_t fRecoMode; // =1->p-p, =2->A-A
89 Float_t fBeamEnergy; // beam energy
90 Int_t fNRun; // Run Number (from raw data)
91 Bool_t fIsCalibrationMB; // true if run type = "CALIBRATION_MB"
92 Int_t fPedSubMode; // =0->mean values, =1->from correlations
93 UInt_t fRecoFlag; // flag indicating problems in reco
94
95 ClassDef(AliZDCReconstructor, 7) // class for the ZDC reconstruction
8309c1ab 96};
97
98#endif