]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/macros/AliXRDPROOFtoolkit.h
Ading toolkit for accesing files on XRD (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  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   // Interface for users with ssh access to the machines
41   //
42   void      FilterSegFault(const char *filter="last");
43   Bool_t    HasSegFault(const char * machine, const char * filter = "last");
44   TTree *   DumpSys(Bool_t verbose=kTRUE);
45   TTree *   DumpSys2(Bool_t verbose=kTRUE);
46   TTree *   DumpFiles(Bool_t verbose=kTRUE);
47   //   
48   void CheckFiles (const char*fileIn, UInt_t checkLevel, const char*treeToRetrieve, const char*varexp, const char*selection);
49   void AddMachine (const char*name);
50   Int_t         fVerbose;          // verbso mode  - print command 
51  private :
52   //
53   //
54   //
55   Int_t Read(char * str, Int_t lenght, FILE *in);  
56  private:
57   vector <const TString *> listeMachine;  // list of slaves         
58   TString       fUserName;              // user name
59   UserGroup_t  *fUserGroup;      // user group info
60   ClassDef(AliXRDPROOFtoolkit, 0); 
61 };
62 #endif