]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/AliTRDCalibChamberStatus.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[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
b2277aa2 20#include <AliTRDtrackV1.h>
21
6c1053a8 22class AliRawReader;
23
24class AliTRDCalChamberStatus;
25class AliRawReader;
d6a1ec13 26class AliTRDCalDCSv2;
6c1053a8 27
28
29struct eventHeaderStruct;
30
31class AliTRDCalibChamberStatus : public TObject {
32
33public:
34
35 AliTRDCalibChamberStatus();
36 AliTRDCalibChamberStatus(const AliTRDCalibChamberStatus &ped);
37 virtual ~AliTRDCalibChamberStatus();
38
39 AliTRDCalibChamberStatus& operator = (const AliTRDCalibChamberStatus &source);
40
92df0132 41 void ProcessTrack(const AliTRDtrackV1 * trdTrack);
6c1053a8 42 void ProcessEvent(AliRawReader *rawReader, Int_t nevents_physics);
068b874f 43
6c1053a8 44 void Init();
17aa2935 45 void AnalyseHisto(Int_t limit=200, Double_t chamberlimit=0.05);
92df0132 46 void CheckEORStatus(const AliTRDCalDCSv2 *calDCS);
6c1053a8 47
92df0132 48 void Add(const AliTRDCalibChamberStatus *calibChamberStatus);
6c1053a8 49
50 Int_t GetNumberEventNotEmpty() const { return fCounterEventNotEmpty; };
fd50bb14 51
6c1053a8 52 THnSparseI *GetSparseI() const {return fHnSparseI;};
53 THnSparseI *GetSparseHCM() const {return fHnSparseHCM;};
54 // for fDebugLevel>0
55 THnSparseI *GetSparseEvtDet() const {return fHnSparseEvtDet;};
56 THnSparseI *GetSparseDebug() const {return fHnSparseDebug;};
57 THnSparseI *GetSparseMCM() const {return fHnSparseMCM;};
58
b2277aa2 59 void SetSparseI(THnSparseI *sparse) { fHnSparseI=sparse; }
6c1053a8 60
61 AliTRDCalChamberStatus *GetCalChamberStatus() const {return fCalChamberStatus;};
62
63 void DumpToFile(const Char_t *filename, const Char_t *dir="", Bool_t append=kFALSE);
64
65 Bool_t TestEventHisto(Int_t nevent);
66
fd50bb14 67 // Plot
68 TH2D *PlotSparseI(Int_t sm, Int_t side); // Plot fStatus for sm
92df0132 69 TH2F *MakeHisto2DSmPlEORStatus(const AliTRDCalDCSv2 *calDCS, Int_t sm, Int_t pl);
d6a1ec13 70 TCanvas *PlotHistos2DSmEORStatus(AliTRDCalDCSv2 *calDCS,Int_t sm, const Char_t *name);
fd50bb14 71
6c1053a8 72 // Debug
73 void SetDebugLevel(Short_t level) { fDebugLevel = level; }
74
75 private:
76
77 Int_t fDetector; // Current detector
78 Int_t fNumberOfTimeBins; // Current number of time bins
79 Int_t fCounterEventNotEmpty; // Counter Events Not Empty
80
81 AliTRDCalChamberStatus *fCalChamberStatus; // AliTRDCalChamberStatus result
82
83 THnSparseI *fHnSparseI; // THnSparse for entries in half chambers
84 THnSparseI *fHnSparseHCM; // THnSparse for DCS half chamber status
85
86 // for fDebugLevel>0
87 THnSparseI *fHnSparseEvtDet; // THnSparse for entries in half chambers per events
88 THnSparseI *fHnSparseDebug; // THnSparse for half chambers satuts
89 THnSparseI *fHnSparseMCM; // THnSparse for DCS MCM status
90
92df0132 91 TCanvas *fC1; // Canvas to plot
fd50bb14 92
6c1053a8 93 Short_t fDebugLevel; // Flag for debugging
94
95 ClassDef(AliTRDCalibChamberStatus,1)
96
97};
dc67f7d2 98#endif
99
068b874f 100