Restored compilation and functionallity (Ruben)
[u/mrichter/AliRoot.git] / TRD / AliTRDCalibChamberStatus.h
CommitLineData
6c1053a8 1#ifndef ALITRDCALIBCHAMBERSTATUS_H
2#define ALITRDCALIBCHAMBERSTATUS_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id: AliTRDCalibChamberStatus.h 34340 2009-08-20 07:48:28Z cblume $ */
7
8///////////////////////////////////////////////////////////////////////////////
9// //
10// TRD calibration class for online calibration //
11// //
12///////////////////////////////////////////////////////////////////////////////
13
14#ifndef ROOT_THnSparse
15#include <THnSparse.h>
fd50bb14 16#include <TCanvas.h>
17#include <TH2.h>
6c1053a8 18#endif
19
20class AliRawReader;
21
22class AliTRDCalChamberStatus;
23class AliRawReader;
d6a1ec13 24class AliTRDCalDCSv2;
6c1053a8 25
26
27struct eventHeaderStruct;
28
29class AliTRDCalibChamberStatus : public TObject {
30
31public:
32
33 AliTRDCalibChamberStatus();
34 AliTRDCalibChamberStatus(const AliTRDCalibChamberStatus &ped);
35 virtual ~AliTRDCalibChamberStatus();
36
37 AliTRDCalibChamberStatus& operator = (const AliTRDCalibChamberStatus &source);
38
39 void ProcessEvent(AliRawReader *rawReader, Int_t nevents_physics);
068b874f 40
6c1053a8 41 void Init();
42 void AnalyseHisto();
d6a1ec13 43 void CheckEORStatus(AliTRDCalDCSv2 *calDCS);
6c1053a8 44
45 void Add(AliTRDCalibChamberStatus *calibChamberStatus);
46
47 Int_t GetNumberEventNotEmpty() const { return fCounterEventNotEmpty; };
fd50bb14 48
6c1053a8 49 THnSparseI *GetSparseI() const {return fHnSparseI;};
50 THnSparseI *GetSparseHCM() const {return fHnSparseHCM;};
51 // for fDebugLevel>0
52 THnSparseI *GetSparseEvtDet() const {return fHnSparseEvtDet;};
53 THnSparseI *GetSparseDebug() const {return fHnSparseDebug;};
54 THnSparseI *GetSparseMCM() const {return fHnSparseMCM;};
55
56
57 AliTRDCalChamberStatus *GetCalChamberStatus() const {return fCalChamberStatus;};
58
59 void DumpToFile(const Char_t *filename, const Char_t *dir="", Bool_t append=kFALSE);
60
61 Bool_t TestEventHisto(Int_t nevent);
62
fd50bb14 63 // Plot
64 TH2D *PlotSparseI(Int_t sm, Int_t side); // Plot fStatus for sm
d6a1ec13 65 TH2F *MakeHisto2DSmPlEORStatus(AliTRDCalDCSv2 *calDCS, Int_t sm, Int_t pl);
66 TCanvas *PlotHistos2DSmEORStatus(AliTRDCalDCSv2 *calDCS,Int_t sm, const Char_t *name);
fd50bb14 67
6c1053a8 68 // Debug
69 void SetDebugLevel(Short_t level) { fDebugLevel = level; }
70
71 private:
72
73 Int_t fDetector; // Current detector
74 Int_t fNumberOfTimeBins; // Current number of time bins
75 Int_t fCounterEventNotEmpty; // Counter Events Not Empty
76
77 AliTRDCalChamberStatus *fCalChamberStatus; // AliTRDCalChamberStatus result
78
79 THnSparseI *fHnSparseI; // THnSparse for entries in half chambers
80 THnSparseI *fHnSparseHCM; // THnSparse for DCS half chamber status
81
82 // for fDebugLevel>0
83 THnSparseI *fHnSparseEvtDet; // THnSparse for entries in half chambers per events
84 THnSparseI *fHnSparseDebug; // THnSparse for half chambers satuts
85 THnSparseI *fHnSparseMCM; // THnSparse for DCS MCM status
86
fd50bb14 87 TCanvas *fC1;
88
6c1053a8 89 Short_t fDebugLevel; // Flag for debugging
90
91 ClassDef(AliTRDCalibChamberStatus,1)
92
93};
dc67f7d2 94#endif
95
068b874f 96