]>
Commit | Line | Data |
---|---|---|
88fb5e50 | 1 | #ifndef ALIPHOSRAWDIGIPRODUCER_H |
2 | #define ALIPHOSRAWDIGIPRODUCER_H | |
7bc140a5 | 3 | /* Copyright(c) 2007, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
8 | //This class produces PHOS digits of one event | |
9 | //using AliPHOSRawDecoder. See cxx source for use case. | |
88fb5e50 | 10 | |
11 | class AliPHOSRawDecoder; | |
30331de9 | 12 | class AliPHOSCalibData ; |
13 | class AliPHOSDigit ; | |
14 | class AliPHOSRecoParam ; | |
15 | class AliPHOSGeometry ; | |
39569d36 | 16 | class AliPHOSPulseGenerator; |
30331de9 | 17 | #include "TObject.h" |
88fb5e50 | 18 | |
30331de9 | 19 | class AliPHOSRawDigiProducer: public TObject { |
88fb5e50 | 20 | |
21 | public: | |
22 | ||
30331de9 | 23 | AliPHOSRawDigiProducer() ; |
7e88424f | 24 | AliPHOSRawDigiProducer(const AliPHOSRecoParam* recoParam) ; |
30331de9 | 25 | AliPHOSRawDigiProducer(const AliPHOSRawDigiProducer &dp); |
26 | AliPHOSRawDigiProducer& operator= (const AliPHOSRawDigiProducer &dp); | |
27 | ||
39569d36 | 28 | virtual ~AliPHOSRawDigiProducer(); |
88fb5e50 | 29 | |
7bc140a5 | 30 | void MakeDigits(TClonesArray *digits, AliPHOSRawDecoder* decoder); |
88fb5e50 | 31 | |
30331de9 | 32 | protected: |
33 | ||
34 | void GetCalibrationParameters() ; //Extract calibration parameters from DB | |
35 | void CleanDigits(TClonesArray* digits) ; //remove digits below threshold and bad ones | |
36 | ||
37 | Bool_t IsInEMC(AliPHOSDigit* digit) const ; //tests if digit belongs to EMC | |
38 | Bool_t IsInCPV(AliPHOSDigit* digit) const ; | |
39 | ||
40 | Double_t CalibrateE(Double_t amp, Int_t* relId, Bool_t isLowGain) ; //calibrate energy | |
41 | Double_t CalibrateT(Double_t amp, Int_t* relId, Bool_t isLowGain) ; //calibrate time | |
42 | ||
43 | private: | |
44 | Float_t fEmcMinE ; // minimum energy of digit to be included into cluster | |
45 | Float_t fCpvMinE ; // minimum energy of digit to be included into cluster | |
70d93620 | 46 | Float_t fSampleQualityCut; // Cut on sample shapes: 0: no samples; 1: default parameterization; 999: accept even obviously bad |
30331de9 | 47 | |
7e88424f | 48 | Int_t fEmcCrystals ; // number of EMC crystals |
30331de9 | 49 | AliPHOSGeometry * fGeom ; //! PHOS geometry |
7e88424f | 50 | static AliPHOSCalibData * fgCalibData ; //! Calibration database if avalable |
51 | AliPHOSPulseGenerator * fPulseGenerator ; //! Class with pulse shape parameters | |
30331de9 | 52 | |
53 | ClassDef(AliPHOSRawDigiProducer,2) | |
88fb5e50 | 54 | }; |
55 | ||
56 | #endif |