]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/macros/AliXRDPROOFtoolkit.h
58382f0a48ed348ebba254d8fef251f139bdf91e
[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  public :
28   //
29   // Interface for low priority users - NO ssh ACCESS to PROOF machines 
30   //
31   TChain * MakeChain(const char*fileIn, const char * treeName, const char *fName=0, Int_t maxFiles=-1, Int_t startFile=0);
32   TChain * MakeChainRandom(const char*fileIn, const char * treeName, const char *fName=0, Int_t maxFiles=-1, Int_t startFile=0);
33   TDSet  * MakeSet(const char*fileIn, const char * treeName, const char *fName=0, Int_t maxFiles=-1);
34   TDSet  * MakeSetRandom(const char*fileIn, const char * treeName,const char *fName=0, Int_t maxFiles=-1);
35   //
36   // Interface for users with privileges - Possible to use lsrun command 
37   //
38   Bool_t ListOfFiles(const char*fileName, const char*path, const char*filter,  Bool_t displayMachine);
39   //
40   //
41   Bool_t  XRDCopyDir(const char * idir, const char * files, const char *odir, Bool_t zip); 
42
43
44   //
45   // Interface for users with ssh access to the machines
46   //
47   void      FilterSegFault(const char *filter="last");
48   Bool_t    HasSegFault(const char * machine, const char * filter = "last");
49   TTree *   DumpSys(Bool_t verbose=kTRUE);
50   TTree *   DumpSys2(Bool_t verbose=kTRUE);
51   TTree *   DumpFiles(Bool_t verbose=kTRUE);
52   //
53   void CheckFiles (const char*fileIn, UInt_t checkLevel, const char*treeToRetrieve, const char*varexp, const char*selection);
54   void AddMachine (const char*name);
55   Int_t         fVerbose;          // verbso mode  - print command 
56  private :
57   //
58   //
59   //
60   Int_t Read(char * str, Int_t lenght, FILE *in);  
61  private:
62   vector <const TString *> listeMachine;  // list of slaves         
63   TString       fUserName;              // user name
64   UserGroup_t  *fUserGroup;      // user group info
65   ClassDef(AliXRDPROOFtoolkit, 0); 
66 };
67 #endif