]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSOnlineMonitor.h
Bug fix for CPV-EMC distance
[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   //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 &);
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