]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSRcuHistogramProducer.h
Updated DA for mapping - MON
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRcuHistogramProducer.h
CommitLineData
ab38011b 1// 1
2// 2
3// 3
4// 4
5// 5
6
792f66f1 7#ifndef ALIHLTPHOSRCUHISTOGRAMPRODUCER_H
8#define ALIHLTPHOSRCUHISTOGRAMPRODUCER_H
9
10/* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
11 * See cxx source for full Copyright notice */
12
13#include "AliHLTPHOSDefinitions.h"
792f66f1 14#include "TH1.h"
c0b4e7eb 15#include "TH2D.h"
792f66f1 16#include "AliHLTPHOSRcuCellAccumulatedEnergyDataStruct.h"
c0b4e7eb 17//#include "AliHLTPHOSBase.h"
18#include "AliHLTPHOSRcuProcessor.h"
792f66f1 19
ab38011b 20class TH1;
21class TH2D;
22class AliHLTPHOSRcuCellAccumulatedEnergyDataStruct;
2589c3a3 23class AliHLTPHOSUtilities;
ab38011b 24
792f66f1 25#define XBIN_LOW 0
26#define XBIN_UP 1023
27#define N_BINS 1023
28
2589c3a3 29//class AliHLTPHOSRcuHistogramProducer : public AliHLTPHOSBase
c0b4e7eb 30//class AliHLTPHOSRcuHistogramProducer : public AliHLTPHOSRcuProcessor
2589c3a3 31class AliHLTPHOSRcuHistogramProducer
792f66f1 32{
33 public:
c0b4e7eb 34 // AliHLTPHOSRcuHistogramProducer();
792f66f1 35 AliHLTPHOSRcuHistogramProducer(AliHLTUInt8_t moduleID, AliHLTUInt8_t rcuX, AliHLTUInt8_t rcuZ);
792f66f1 36 virtual ~AliHLTPHOSRcuHistogramProducer();
792f66f1 37 const AliHLTPHOSRcuCellAccumulatedEnergyDataStruct& GetCellAccumulatedEnergies();
792f66f1 38 void Init();
b444d727 39 //void SetRcuX(AliHLTUInt8_t X);
40 // void SetRcuZ(AliHLTUInt8_t Z);
41 //void SetModuleID(AliHLTUInt8_t moduleID);
c0b4e7eb 42 void SetHistoOutDir(char *outDir);
792f66f1 43 void FillEnergy(AliHLTUInt8_t x, AliHLTUInt8_t z, AliHLTUInt8_t gain, float energy);
44 void FillTime(AliHLTUInt8_t x, AliHLTUInt8_t z, AliHLTUInt8_t gain, float time);
c0b4e7eb 45 void FillLiveChannels(Int_t data[], int size, Int_t x, Int_t z, Int_t gain);
46 void FillLiveChannelHistograms();
792f66f1 47 void Reset();
c0b4e7eb 48 void WriteAllHistograms(char opt[] = "update");
792f66f1 49
792f66f1 50
51 private:
b444d727 52 AliHLTPHOSRcuHistogramProducer(const AliHLTPHOSRcuHistogramProducer & );
53 AliHLTPHOSRcuHistogramProducer & operator = (const AliHLTPHOSRcuHistogramProducer &);
c0b4e7eb 54 void SetDefaultHistoOutDir();
55 void ScanTimeString(char *timeString);
c0b4e7eb 56 AliHLTPHOSRcuHistogramProducer();
57 char fHistoOutDir[512];
1b486665 58 TH1F *fEnergyHistogramPtrs[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS]; /**<Array to store energy distribution per channel for one rcu*/
59 TH1F *fTimingHistogramPtrs[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS]; /**<Array to store timing distribution per channel for one rcu*/
c0b4e7eb 60 // TH1D *fDeadChannelMapHistogramPtrs[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS];
61 TH2D *fDeadChannelMapHistogramPtrs[N_GAINS];
1b486665 62 Float_t fEnergyAverageValues[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS]; /**<Accumulated energy divided by hits*/
63 Double_t fAccumulatedValues[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS]; /**<Array to store accumulated energy per channel for one rcu during run*/
04751caa 64
65
1b486665 66 Float_t fTimingAverageValues[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS]; /**<Avereage TOF*/
ab38011b 67 AliHLTUInt32_t fHits[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS]; //comment
68 AliHLTUInt32_t fDeadChannelMap[N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS]; //comment
1b486665 69 Double_t fTmpChannelData[ALTRO_MAX_SAMPLES]; /**<temporary variable to store raw samples from a single altro channel*/
ab38011b 70 AliHLTPHOSRcuCellAccumulatedEnergyDataStruct fCellAccEnergy; //comment
1b486665 71 AliHLTUInt8_t fModuleID; /**<ID of the module this component read data from (0-4)*/
72 AliHLTUInt8_t fRcuX; /**<X position of RCU the data from this Equippment comes from (0 or 1)*/
73 AliHLTUInt8_t fRcuZ; /**<Z position of RCU the data from this Equippment comes from (0 or 1)*/
2589c3a3 74
75 AliHLTPHOSUtilities *fUtilitiesPtr;
76
792f66f1 77};
78
79#endif