1 #ifndef ALIPHOSCPVRAWDIGIPRODUCER_H
2 #define ALIPHOSCPVRAWDIGIPRODUCER_H
4 // This class produces CPV digits from raw data stream of one event
5 // Raw data is supplied by the object AliRawReader,
6 // then AliPHOSCpvRawDigiProducer decodes CPV data and converts is to AliPHOSDigits.
8 // Author: Mikhail Stolpovskiy, mikhail.stolpovskiy@cern.ch
9 // modified by Sergey.Evdokimov@cern.ch 30 July 2014
14 #include "AliAltroMapping.h"
15 #include "AliRawReaderDate.h"
16 #include "AliPHOSCpvParam.h"
18 class AliPHOSCpvRawStream;
20 class AliPHOSGeometry ;
22 class AliPHOSCpvRawDigiProducer: public TObject {
26 AliPHOSCpvRawDigiProducer() ;
27 AliPHOSCpvRawDigiProducer(AliRawReader * rawReader); // creates an AliPHOSCpvRawStream(rawReader) object to read data
29 virtual ~AliPHOSCpvRawDigiProducer();
31 Bool_t LoadPedFiles(); //returns true if ok. Must be called when you process a phys run
32 //If ped files are loaded, then MakeDigits returns digits with
33 //substruct pedestals from ADCs
35 Bool_t LoadNewEvent(AliRawReader * rawReader); // returns true, if ok
36 void SetTurbo(Bool_t turbo); // if turbo==true then do read without error checking
37 Bool_t GetTurbo() const {return fTurbo;}
39 void MakeDigits(TClonesArray * digits) const; // digits is an array of AliPHOSCpvPHOSDigit objects
40 TH1I * GetErrorsHist() const { return fhErrors; } // takes histogram of errors from AliPHOSCpvRawStream
42 void SetCpvMinAmp(Int_t cpvMin) { fCpvMinE=cpvMin; } // thresholds would be ped + fCpvMinE
45 void CreateErrHist(); // initialize histogram of errors
47 AliPHOSGeometry * fGeom ; //! PHOS geometry
48 Bool_t fTurbo; // if true, then read without error checking
49 Int_t fCpvMinE ; // minimum energy of digit (ADC)
50 AliPHOSCpvRawStream * fRawStream; //! Raw data stream
52 TH1I * fhErrors; // ! histogram of errors
54 Int_t ** fPed[2][AliPHOSCpvParam::kNDDL]; // pedestals ped[0][iddl][x][y] = pedestal; ped[1][iddl][x][y] = N*sigma (N was used while creating ped files)
55 Bool_t fPedFilesRLoaded;
57 ClassDef(AliPHOSCpvRawDigiProducer,2);