]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/vertexingHF/LoadLibraries.C
Go back to working dir if par compilation fails, this helps debugging (AndreaR)
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / LoadLibraries.C
1 void LoadLibraries(Bool_t useParFiles=kFALSE) {
2
3   gSystem->Load("libTree.so");
4   gSystem->Load("libGeom.so");
5   gSystem->Load("libPhysics.so");
6   gSystem->Load("libVMC.so");
7   gSystem->Load("libSTEERBase.so");
8   gSystem->Load("libESD.so");
9   gSystem->Load("libAOD.so"); 
10   gSystem->Load("libANALYSIS.so");
11   gSystem->Load("libANALYSISalice.so");
12   gSystem->Load("libCORRFW.so");
13   gSystem->Load("libPWG3base.so");
14   gSystem->Load("libPWG3vertexingHF.so");
15
16   if(useParFiles) {
17     setupPar("STEERBase");
18     setupPar("ESD");
19     setupPar("AOD");
20     setupPar("ANALYSIS");
21     setupPar("ANALYSISalice");
22     setupPar("CORRFW");  
23     setupPar("PWG3vertexingHF");
24   }
25
26   return;
27 }
28 //------------------------------------------------------------------------
29 Int_t setupPar(const char* pararchivename) {
30   ///////////////////
31   // Setup PAR File//
32   ///////////////////
33
34   if (pararchivename) {
35     char processline[1024];
36     TString base = gSystem->BaseName(pararchivename);
37     TString dir  = gSystem->DirName(pararchivename);
38     TString ocwd = gSystem->WorkingDirectory();
39     // Move to dir where the par files are and unpack 
40     gSystem->ChangeDirectory(dir.Data());
41     sprintf(processline,".! tar xvzf %s.par",base.Data());
42     gROOT->ProcessLine(processline);
43     // Move to par folder                           
44     gSystem->ChangeDirectory(base.Data());
45
46     // check for BUILD.sh and execute                
47     if (!gSystem->AccessPathName("PROOF-INF/BUILD.sh")) {
48       printf("*******************************\n");
49       printf("*** Building PAR archive    ***\n");
50       printf("*******************************\n");
51
52       if (gSystem->Exec("PROOF-INF/BUILD.sh")) {
53         Error("runAnalysis","Cannot Build the PAR Archive! - Abort!");
54         gSystem->ChangeDirectory(ocwd.Data());
55         return -1;
56       }
57     }
58     // check for SETUP.C and execute                
59     if (!gSystem->AccessPathName("PROOF-INF/SETUP.C")) {
60       printf("*******************************\n");
61       printf("*** Setup PAR archive       ***\n");
62       printf("*******************************\n");
63       // If dir not empty, set the full include path 
64       if (dir.Length()) {
65         sprintf(processline, ".include %s", pararchivename);
66         gROOT->ProcessLine(processline);
67       }
68       gROOT->Macro("PROOF-INF/SETUP.C");
69     }
70     gSystem->ChangeDirectory(ocwd.Data());
71   }
72   return 1;
73 }