]>
Commit | Line | Data |
---|---|---|
b0d2c2d3 | 1 | #ifndef ALIVZERORECONSTRUCTOR_H |
2 | #define ALIVZERORECONSTRUCTOR_H | |
35b120ff | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved.*/ |
4 | /* See cxx source for full Copyright notice */ | |
5 | /* $Id$ */ | |
b0d2c2d3 | 6 | |
35b120ff | 7 | /////////////////////////////////////////////////////////////////////////// |
8 | /// // | |
9 | /// class for VZERO reconstruction // | |
10 | /// // | |
11 | /////////////////////////////////////////////////////////////////////////// | |
b0d2c2d3 | 12 | |
13 | #include "AliReconstructor.h" | |
ce7090f5 | 14 | #include "AliCDBManager.h" |
15 | #include "AliCDBStorage.h" | |
ce7090f5 | 16 | #include "AliCDBEntry.h" |
b0d2c2d3 | 17 | |
35b120ff | 18 | #include "AliLog.h" |
19 | #include "AliESDVZERO.h" | |
75b6bc77 | 20 | #include "AliVZERORecoParam.h" |
35b120ff | 21 | |
b44c933e | 22 | class TF1; |
e58b4e66 | 23 | class AliVZEROCalibData; |
b14e6eb4 | 24 | class AliESDEvent; |
b090e6a3 | 25 | class AliESDVZEROfriend; |
b0d2c2d3 | 26 | |
27 | class AliVZEROReconstructor: public AliReconstructor { | |
28 | public: | |
ce7090f5 | 29 | AliVZEROReconstructor(); |
30 | virtual ~AliVZEROReconstructor(); | |
d76c31f4 | 31 | virtual void Init(); |
35b120ff | 32 | |
33 | virtual void Reconstruct(AliRawReader* /*rawReader*/, | |
2e0ee64a | 34 | TTree* /*clustersTree*/) const { |
84dee579 | 35 | AliError("Method not implemented"); return;}; |
35b120ff | 36 | virtual void Reconstruct(TTree*, TTree*) const {return;}; |
37 | ||
2e0ee64a | 38 | virtual void FillESD(TTree* digitsTree, TTree* /*clustersTree*/, |
b14e6eb4 | 39 | AliESDEvent* esd) const; |
2e0ee64a | 40 | |
35b120ff | 41 | virtual void FillESD(AliRawReader* /*rawReader*/, TTree* /*clustersTree*/, |
b14e6eb4 | 42 | AliESDEvent* /*esd*/) const { |
84dee579 | 43 | AliError("Method not implemented"); return;}; |
35b120ff | 44 | |
2e0ee64a | 45 | virtual Bool_t HasDigitConversion() const { return kTRUE; } |
46 | virtual void ConvertDigits(AliRawReader* rawReader, | |
47 | TTree* digitsTree) const; | |
75b6bc77 | 48 | |
49 | static const AliVZERORecoParam* GetRecoParam() { return dynamic_cast<const AliVZERORecoParam*>(AliReconstructor::GetRecoParam(12)); } | |
84dee579 | 50 | |
ce7090f5 | 51 | AliCDBStorage *SetStorage(const char* uri); |
fe0adf2a | 52 | void GetCollisionMode(); |
53 | ||
ce7090f5 | 54 | AliVZEROCalibData *GetCalibData() const; |
b44c933e | 55 | Float_t CorrectLeadingTime(Int_t i, Float_t time, Float_t adc) const; |
ce7090f5 | 56 | |
7495d2be | 57 | enum {kInvalidADC = -1024, |
b44c933e | 58 | kInvalidTime = -1024}; |
7495d2be | 59 | |
35b120ff | 60 | protected: |
fe0adf2a | 61 | AliESDVZERO* fESDVZERO; // ESD output object |
62 | AliESDEvent* fESD; // ESD object | |
b090e6a3 | 63 | AliESDVZEROfriend* fESDVZEROfriend; // ESD friend object (complete raw data) |
35b120ff | 64 | |
ef314913 | 65 | private: |
e58b4e66 | 66 | AliVZEROReconstructor(const AliVZEROReconstructor& reconstructor); |
67 | AliVZEROReconstructor& operator = (const AliVZEROReconstructor& reconstructor); | |
ef314913 | 68 | |
35b120ff | 69 | AliVZEROCalibData* fCalibData; //! calibration data |
b44c933e | 70 | Float_t fTimeOffset[64]; //! HPTDC time offsets channel by channel |
71 | TF1* fTimeSlewing; //! Function for time slewing correction | |
fe0adf2a | 72 | |
73 | Int_t fCollisionMode; // =0->p-p, =1->A-A | |
74 | Float_t fBeamEnergy; // beam energy | |
dbf24214 | 75 | |
76 | mutable TClonesArray *fDigitsArray; // clones-array for ConvertDigits() and FillESD() | |
77 | ||
b44c933e | 78 | ClassDef(AliVZEROReconstructor, 2) // class for the VZERO reconstruction |
b0d2c2d3 | 79 | }; |
80 | ||
81 | #endif |