Adding "agent" for jobs management (Marian)
[u/mrichter/AliRoot.git] / TPC / macros / AliXRDPROOFtoolkit.h
1 #ifndef _AliXRDPROOFtoolkit
2 #define _AliXRDPROOFtoolkit
3
4 #include <TObject.h>
5 #include <TString.h>
6
7 #include <iostream>
8 #include <vector>
9 #include <TSystem.h>
10
11 using namespace std;
12
13 class TObjArray;
14 class TTree;
15 class TChain;
16 class TDSet;
17
18
19
20 class AliXRDPROOFtoolkit : public TObject
21 {
22   
23
24  public :
25   AliXRDPROOFtoolkit ();
26   void Print(Option_t* option = " ") const;
27   void AddMachine (const char*name);
28  public :
29   //
30   // Interface for low priority users - NO ssh ACCESS to PROOF machines 
31   //
32   TChain * MakeChain(const char*fileIn, const char * treeName, const char *fName=0, Int_t maxFiles=-1, Int_t startFile=0);
33   TChain * MakeChainRandom(const char*fileIn, const char * treeName, const char *fName=0, Int_t maxFiles=-1, Int_t startFile=0);
34   TDSet  * MakeSet(const char*fileIn, const char * treeName, const char *fName=0, Int_t maxFiles=-1);
35   TDSet  * MakeSetRandom(const char*fileIn, const char * treeName,const char *fName=0, Int_t maxFiles=-1);
36   //
37   //
38   //
39   Bool_t ListOfFiles(const char*fileName, const char*path, const char*filter,  Bool_t displayMachine);
40   static Bool_t FilterList(const char*inputList, const char*fileList, Int_t checkLevel);
41   //
42   //
43   //
44   Bool_t  XRDCopyDir(const char * idir, const char * files, const char *odir, Bool_t zip); 
45   //
46   void CheckFiles (const char*fileIn, UInt_t checkLevel, const char*treeToRetrieve, const char*varexp, const char*selection);
47
48   static Int_t  CheckTreeInFile(const char*fileName,const char*treeName, Int_t debugLevel=0, const char *branchName=0);
49   //
50   //
51   // Interface for users with ssh access to the machines
52   //
53   void      FilterSegFault(const char *filter="last");
54   Bool_t    HasSegFault(const char * machine, const char * filter = "last");
55   TTree *   DumpSys(Bool_t verbose=kTRUE);
56   TTree *   DumpSys2(Bool_t verbose=kTRUE);
57   TTree *   DumpFiles(Bool_t verbose=kTRUE);
58   //
59
60   Int_t         fVerbose;          // verbso mode  - print command 
61  private :
62   //
63   //
64   //
65  private:
66   vector <const TString *> listeMachine;  // list of slaves         
67   TString       fUserName;              // user name
68   UserGroup_t  *fUserGroup;      // user group info
69   ClassDef(AliXRDPROOFtoolkit, 0); 
70 };
71 #endif