10 #ifndef ALIHLTPHOSRCUHISTOGRAMPRODUCER_H
11 #define ALIHLTPHOSRCUHISTOGRAMPRODUCER_H
13 /* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
14 * See cxx source for full Copyright notice */
16 #include "AliHLTPHOSDefinitions.h"
19 #include "AliHLTPHOSRcuCellAccumulatedEnergyDataStruct.h"
24 class AliHLTPHOSRcuCellAccumulatedEnergyDataStruct;
25 class AliHLTPHOSUtilities;
32 class AliHLTPHOSRcuHistogramProducer
35 // AliHLTPHOSRcuHistogramProducer();
36 AliHLTPHOSRcuHistogramProducer(AliHLTUInt8_t moduleID, AliHLTUInt8_t rcuX, AliHLTUInt8_t rcuZ);
37 virtual ~AliHLTPHOSRcuHistogramProducer();
38 const AliHLTPHOSRcuCellAccumulatedEnergyDataStruct& GetCellAccumulatedEnergies();
40 void SetHistoOutDir(char *outDir);
41 void FillEnergy(AliHLTUInt8_t x, AliHLTUInt8_t z, AliHLTUInt8_t gain, float energy);
42 void FillTime(AliHLTUInt8_t x, AliHLTUInt8_t z, AliHLTUInt8_t gain, float time);
43 void FillLiveChannels(Int_t data[], int size, Int_t x, Int_t z, Int_t gain);
44 void FillLiveChannelHistograms();
46 void WriteAllHistograms(char opt[] = "update");
50 AliHLTPHOSRcuHistogramProducer(const AliHLTPHOSRcuHistogramProducer & );
51 AliHLTPHOSRcuHistogramProducer & operator = (const AliHLTPHOSRcuHistogramProducer &);
52 void SetDefaultHistoOutDir();
53 void ScanTimeString(char *timeString);
54 AliHLTPHOSRcuHistogramProducer();
55 char fHistoOutDir[512];
56 TH1F *fEnergyHistogramPtrs[NXCOLUMNSRCU][NZROWSRCU][NGAINS]; /**<Array to store energy distribution per channel for one rcu*/
57 TH1F *fTimingHistogramPtrs[NXCOLUMNSRCU][NZROWSRCU][NGAINS]; /**<Array to store timing distribution per channel for one rcu*/
58 // TH1D *fDeadChannelMapHistogramPtrs[NXCOLUMNSRCU][NZROWSRCU][NGAINS];
59 TH2D *fDeadChannelMapHistogramPtrs[NGAINS];
60 Float_t fEnergyAverageValues[NXCOLUMNSRCU][NZROWSRCU][NGAINS]; /**<Accumulated energy divided by hits*/
61 Double_t fAccumulatedValues[NXCOLUMNSRCU][NZROWSRCU][NGAINS]; /**<Array to store accumulated energy per channel for one rcu during run*/
64 Float_t fTimingAverageValues[NXCOLUMNSRCU][NZROWSRCU][NGAINS]; /**<Avereage TOF*/
65 AliHLTUInt32_t fHits[NXCOLUMNSRCU][NZROWSRCU][NGAINS]; //comment
66 AliHLTUInt32_t fDeadChannelMap[NXCOLUMNSRCU][NZROWSRCU][NGAINS]; //comment
67 Double_t fTmpChannelData[ALTROMAXSAMPLES]; /**<temporary variable to store raw samples from a single altro channel*/
68 AliHLTPHOSRcuCellAccumulatedEnergyDataStruct fCellAccEnergy; //comment
69 AliHLTUInt8_t fModuleID; /**<ID of the module this component read data from (0-4)*/
70 AliHLTUInt8_t fRcuX; /**<X position of RCU the data from this Equippment comes from (0 or 1)*/
71 AliHLTUInt8_t fRcuZ; /**<Z position of RCU the data from this Equippment comes from (0 or 1)*/
73 AliHLTPHOSUtilities *fUtilitiesPtr;