]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSRcuCalibrationProcessor.h
New production macros (Yves)
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRcuCalibrationProcessor.h
CommitLineData
1b41ab20 1//-*- Mode: C++ -*-
2// $Id$
3
6a76e30e 4// 1
5// 2
6// 3
7// 4
8// 5
9
10#ifndef ALIHLTPHOSRCUHISTOGRAMPRODUCER_H
11#define ALIHLTPHOSRCUHISTOGRAMPRODUCER_H
12
13/* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
14 * See cxx source for full Copyright notice */
15
16#include "AliHLTPHOSDefinitions.h"
17#include "TH1.h"
18#include "TH2D.h"
19#include "AliHLTPHOSRcuCellAccumulatedEnergyDataStruct.h"
20//#include "AliHLTPHOSBase.h"
21#include "AliHLTPHOSRcuProcessor.h"
22
23class TH1;
24class TH2D;
25class AliHLTPHOSRcuCellAccumulatedEnergyDataStruct;
2589c3a3 26//class AliHLTPHOSUtilities;
6a76e30e 27
27029341 28#define XBINLOW 0
29#define XBINUP 1023
30#define NBINS 1023
6a76e30e 31
32class AliHLTPHOSRcuCalibrationProcessor : public AliHLTPHOSBase
33//class AliHLTPHOSRcuCalibrationProcessor : public AliHLTPHOSRcuProcessor
34{
35 public:
36 // AliHLTPHOSRcuCalibrationProcessor();
37 AliHLTPHOSRcuCalibrationProcessor(AliHLTUInt8_t moduleID, AliHLTUInt8_t rcuX, AliHLTUInt8_t rcuZ);
38 virtual ~AliHLTPHOSRcuCalibrationProcessor();
39 const AliHLTPHOSRcuCellAccumulatedEnergyDataStruct& GetCellAccumulatedEnergies();
40 void Init();
6a76e30e 41 void SetHistoOutDir(char *outDir);
42 void FillEnergy(AliHLTUInt8_t x, AliHLTUInt8_t z, AliHLTUInt8_t gain, float energy);
43 void FillTime(AliHLTUInt8_t x, AliHLTUInt8_t z, AliHLTUInt8_t gain, float time);
6a76e30e 44 void FillLiveChannels(Int_t data[], int size, Int_t x, Int_t z, Int_t gain);
45 void FillLiveChannelHistograms();
6a76e30e 46 void Reset();
47 void WriteAllHistograms(char opt[] = "update");
48
49 protected:
50
51 private:
2589c3a3 52 AliHLTPHOSRcuCalibrationProcessor();
b444d727 53 AliHLTPHOSRcuCalibrationProcessor(const AliHLTPHOSRcuCalibrationProcessor & );
54 AliHLTPHOSRcuCalibrationProcessor & operator = (const AliHLTPHOSRcuCalibrationProcessor &);
6a76e30e 55 void SetDefaultHistoOutDir();
56 void ScanTimeString(char *timeString);
6a76e30e 57 char fHistoOutDir[512];
58
27029341 59 TH1F *fEnergyHistogramPtrs[NXCOLUMNSRCU][NZROWSRCU][NGAINS]; /**<Array to store energy distribution per channel for one rcu*/
60 TH1F *fTimingHistogramPtrs[NXCOLUMNSRCU][NZROWSRCU][NGAINS]; /**<Array to store timing distribution per channel for one rcu*/
61 // TH1D *fDeadChannelMapHistogramPtrs[NXCOLUMNSRCU][NZROWSRCU][NGAINS];
62 TH2D *fDeadChannelMapHistogramPtrs[NGAINS];
6a76e30e 63
27029341 64 Float_t fEnergyAverageValues[NXCOLUMNSRCU][NZROWSRCU][NGAINS]; /**<Accumulated energy divided by hits*/
65 Double_t fAccumulatedValues[NXCOLUMNSRCU][NZROWSRCU][NGAINS]; /**<Array to store accumulated energy per channel for one rcu during run*/
66 Float_t fTimingAverageValues[NXCOLUMNSRCU][NZROWSRCU][NGAINS]; /**<Avereage TOF*/
67 AliHLTUInt32_t fHits[NXCOLUMNSRCU][NZROWSRCU][NGAINS]; //comment
68 AliHLTUInt32_t fDeadChannelMap[NXCOLUMNSRCU][NZROWSRCU][NGAINS]; //comment
69 Double_t fTmpChannelData[ALTROMAXSAMPLES]; /**<temporary variable to store raw samples from a single altro channel*/
6a76e30e 70 AliHLTPHOSRcuCellAccumulatedEnergyDataStruct fCellAccEnergy; //comment
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
6a76e30e 77};
78
79#endif