/* $Id$ */
+class TFile;
+class TFolder;
+class TGrid;
+class TServerSocket;
+class TSocket;
+class TTimer;
+class TTree;
+
+#include <TObjArray.h>
#include <TObject.h>
-#include <TSystem.h>
#include <TString.h>
-#include <TObjArray.h>
+#include <TSystem.h>
-class AliRawReader;
-class AliTPCParam;
+class AliESDEvent;
class AliITSgeom;
+class AliRawReader;
class AliRunLoader;
-class TFile;
-class TGrid;
-class TTimer;
-class TServerSocket;
-class TFolder;
-class TTree;
-#ifdef ALI_HLT
+class AliTPCParam;
class AliLevel3;
-class AliL3Hough;
-#endif
+class AliHLTHough;
class AliMonitorProcess : public TObject {
public:
AliMonitorProcess(const char* alienHost,
const char* alienDir,
+ const char* selection = "ALL",
const char* fileNameGalice = "galice.root");
- AliMonitorProcess(const AliMonitorProcess& process);
- AliMonitorProcess& operator = (const AliMonitorProcess& process);
virtual ~AliMonitorProcess();
static const char* GetRevision();
static Int_t GetPort() {return fgkPort;};
private:
+ AliMonitorProcess(const AliMonitorProcess& process);
+ AliMonitorProcess& operator = (const AliMonitorProcess& process);
+
Bool_t CheckForNewFile();
Bool_t ProcessFile();
Int_t GetNumberOfEvents(const char* fileName) const;
- Bool_t ReconstructTPC(AliRawReader* rawReader);
- Bool_t ReconstructITS(AliRawReader* rawReader);
- Bool_t ReconstructV0s();
-#ifdef ALI_HLT
+ Bool_t ReconstructTPC(AliRawReader* rawReader, AliESDEvent* esd);
+ Bool_t ReconstructITS(AliRawReader* rawReader, AliESDEvent* esd);
+ Bool_t ReconstructV0s(AliESDEvent* esd);
+#ifdef ENABLE_ALIMONITORPROCESS_HLT
void CreateHLT(const char* fileName);
void CreateHLTHough(const char* fileName);
-#endif
Bool_t ReconstructHLT(Int_t iEvent);
Bool_t ReconstructHLTHough(Int_t iEvent);
+#endif // ENABLE_ALIMONITORPROCESS_HLT
Bool_t WriteHistos();
void StartNewRun();
void CheckForConnections();
- void BroadcastHistos();
+ void BroadcastHistos(TSocket* toSocket = NULL);
void SetStatus(EStatus status);
+ Bool_t IsSelected(const char* name) const
+ {return (fSelection.Contains(name) || fSelection.Contains("ALL"));}
static const Int_t fgkPort; // port number for client connections
+ TString fSelection; // selection of monitor histograms
TGrid* fGrid; // pointer to AliEn
TString fAlienDir; // name of alien directory
AliRunLoader* fRunLoader; // the current run loader
AliITSgeom* fITSgeom; // ITS parameters
TString fLogicalFileName; // logical AliEn file name
TString fFileName; // physical file name
-#ifdef ALI_HLT
AliLevel3* fHLT; // the HLT tracker
- AliL3Hough* fHLTHough; // the HLT hough transformer
-#endif
+ AliHLTHough* fHLTHough; // the HLT hough transformer
+
UInt_t fRunNumber; // current run number
UInt_t fSubRunNumber; // current part (=resets per run)
EStatus fStatus; // current status
Bool_t fStopping; // stop of process requested or not
+ class AliMonitorInterruptHandler : public TSignalHandler {
+ public:
+ AliMonitorInterruptHandler(AliMonitorProcess* process);
+ virtual ~AliMonitorInterruptHandler() {};
+ virtual Bool_t Notify();
+ private:
+ AliMonitorProcess* fProcess; // process to notify
+
+ AliMonitorInterruptHandler(const AliMonitorInterruptHandler& handler); // Not implemented
+ AliMonitorInterruptHandler& operator =
+ (const AliMonitorInterruptHandler& handler); // Not implemented
+
+ };
+
+ AliMonitorInterruptHandler* fInterruptHandler; // interrupt handler
+
ClassDef(AliMonitorProcess, 0) // class for performing the monitoring
};