]>
Commit | Line | Data |
---|---|---|
f4374ddc | 1 | #ifndef ALIPHOSONLINEMONITOR_H |
2 | #define ALIPHOSONLINEMONITOR_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
8 | //_________________________________________________________________________ | |
9 | // Simple class for online mnitoring | |
10 | // | |
11 | //*-- Author: D.Peressouno (RRC KI) | |
12 | ||
13 | ||
14 | // --- ROOT system --- | |
15 | #include "TDialogCanvas.h" | |
16 | class TList ; | |
17 | class TString ; | |
18 | class TClonesArray; | |
19 | // --- Standard library --- | |
20 | ||
21 | // --- AliRoot header files --- | |
22 | class AliPHOSGeometry ; | |
23 | class AliPHOSConTableDB ; | |
24 | ||
25 | class AliPHOSOnlineMonitor: public TDialogCanvas{ | |
26 | ||
27 | public: | |
28 | AliPHOSOnlineMonitor() ; // ctor | |
29 | AliPHOSOnlineMonitor(const char * dataname) ; // ctor | |
30 | virtual ~AliPHOSOnlineMonitor() ; // dtor | |
31 | ||
32 | virtual void Apply(const char *action=""); //Overloaded function to | |
33 | //handle butons | |
34 | void SetInputFile(const char * filename = "run1.dat") ; //Open new input file | |
35 | void DrawPedestals(); //Scans pedestals in current file | |
36 | void DrawSpectrum(const char * opt); //Plot spectrum of all registered particles" | |
37 | void DrawMinv() ; //Plot invariant mass distribution | |
38 | void DrawTriggers() ; //Plot invariant mass distribution | |
39 | void DrawEdep(Int_t mod,const char * opt) ;//Plots energy deposition per crystal for module | |
40 | void Go() ; | |
41 | void Clean() ; //Cleans all histograms | |
42 | void Reset() ; //Removes all canvas and histograms | |
43 | ||
44 | void WriteHistograms(const char * filename = "onlineout.root") ; | |
45 | ||
46 | void SetConTableDB(const char * filename = "ConTableDB.root") ; | |
47 | ||
48 | private: | |
49 | void MakeButtons(void) ; //Function to make menu and buttons | |
50 | ||
51 | void ScanDigits() ; | |
52 | void ScanTrigger(Int_t trig) ; | |
53 | void ScanPedestals(TClonesArray * digits) ; | |
54 | void ScanEdep(TClonesArray * digits) ; | |
55 | void ScanRecon(TClonesArray * recParticles) ; | |
56 | ||
57 | private: | |
43fbaae1 | 58 | //They call Fatal, but they are private, user will have compile time error instead |
59 | //of run-time error. Fatal - because it's not clear, should I copy canvases, | |
60 | //hists etc. | |
61 | AliPHOSOnlineMonitor(const AliPHOSOnlineMonitor &); | |
62 | AliPHOSOnlineMonitor & operator = (const AliPHOSOnlineMonitor &); | |
f4374ddc | 63 | |
64 | Bool_t fScanPed ; //should we analyse pedestal events | |
65 | Bool_t fScanSig; //should we analyse signal events | |
66 | Bool_t fReconstruct ; //should we reconstruct events | |
67 | ||
68 | Int_t fNevents ; //Number of events processed so far | |
69 | Int_t fNUpdate ; //Number of events to update histo | |
70 | ||
71 | TList * fCanvasList ; //! | |
72 | TList * fHistosList ; //! | |
73 | ||
74 | TString fInputFile ; | |
75 | ||
76 | AliPHOSGeometry * fGeom ; //! | |
77 | AliPHOSConTableDB * fcdb ; //! | |
78 | ||
79 | ClassDef(AliPHOSOnlineMonitor,1) //PHOS online monitoring | |
80 | ||
81 | }; | |
82 | ||
83 | #endif // AliPHOSONLINEMONITOR_H |