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 */
6 /* $Id: AliTRDCalibChamberStatus.h 34340 2009-08-20 07:48:28Z cblume $ */
8 ///////////////////////////////////////////////////////////////////////////////
10 // TRD calibration class for online calibration //
12 ///////////////////////////////////////////////////////////////////////////////
14 #ifndef ROOT_THnSparse
15 #include <THnSparse.h>
22 class AliTRDCalChamberStatus;
27 struct eventHeaderStruct;
29 class AliTRDCalibChamberStatus : public TObject {
33 AliTRDCalibChamberStatus();
34 AliTRDCalibChamberStatus(const AliTRDCalibChamberStatus &ped);
35 virtual ~AliTRDCalibChamberStatus();
37 AliTRDCalibChamberStatus& operator = (const AliTRDCalibChamberStatus &source);
39 void ProcessEvent(AliRawReader *rawReader, Int_t nevents_physics);
40 void ProcessEvent3(AliRawReader *rawReader, Int_t nevents_physics);
44 void CheckEORStatus(AliTRDCalDCS *calDCS);
46 void Add(AliTRDCalibChamberStatus *calibChamberStatus);
48 Int_t GetNumberEventNotEmpty() const { return fCounterEventNotEmpty; };
50 THnSparseI *GetSparseI() const {return fHnSparseI;};
51 THnSparseI *GetSparseHCM() const {return fHnSparseHCM;};
53 THnSparseI *GetSparseEvtDet() const {return fHnSparseEvtDet;};
54 THnSparseI *GetSparseDebug() const {return fHnSparseDebug;};
55 THnSparseI *GetSparseMCM() const {return fHnSparseMCM;};
58 AliTRDCalChamberStatus *GetCalChamberStatus() const {return fCalChamberStatus;};
60 void DumpToFile(const Char_t *filename, const Char_t *dir="", Bool_t append=kFALSE);
62 Bool_t TestEventHisto(Int_t nevent);
65 TH2D *PlotSparseI(Int_t sm, Int_t side); // Plot fStatus for sm
66 TH2F *MakeHisto2DSmPlEORStatus(AliTRDCalDCS *calDCS, Int_t sm, Int_t pl);
67 TCanvas *PlotHistos2DSmEORStatus(AliTRDCalDCS *calDCS,Int_t sm, const Char_t *name);
70 void SetDebugLevel(Short_t level) { fDebugLevel = level; }
74 Int_t fDetector; // Current detector
75 Int_t fNumberOfTimeBins; // Current number of time bins
76 Int_t fCounterEventNotEmpty; // Counter Events Not Empty
78 AliTRDCalChamberStatus *fCalChamberStatus; // AliTRDCalChamberStatus result
80 THnSparseI *fHnSparseI; // THnSparse for entries in half chambers
81 THnSparseI *fHnSparseHCM; // THnSparse for DCS half chamber status
84 THnSparseI *fHnSparseEvtDet; // THnSparse for entries in half chambers per events
85 THnSparseI *fHnSparseDebug; // THnSparse for half chambers satuts
86 THnSparseI *fHnSparseMCM; // THnSparse for DCS MCM status
90 Short_t fDebugLevel; // Flag for debugging
92 ClassDef(AliTRDCalibChamberStatus,1)