]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSOnlineMonitor.h
Using default Root containers for Root tags bigger than v4-00-01. Removing fast wrapp...
[u/mrichter/AliRoot.git] / PHOS / AliPHOSOnlineMonitor.h
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:
58
59   Bool_t fScanPed ;     //should we analyse pedestal events
60   Bool_t fScanSig;      //should we analyse signal events
61   Bool_t fReconstruct ; //should we reconstruct events
62
63   Int_t fNevents ;      //Number of events processed so far 
64   Int_t fNUpdate ;      //Number of events to update histo 
65
66   TList * fCanvasList ;  //!
67   TList * fHistosList ;  //!
68   
69   TString fInputFile ;
70
71   AliPHOSGeometry   * fGeom ;         //! 
72   AliPHOSConTableDB * fcdb ;          //!
73
74   ClassDef(AliPHOSOnlineMonitor,1)  //PHOS online monitoring  
75
76 };
77
78 #endif // AliPHOSONLINEMONITOR_H