X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=SHUTTLE%2FShuttle.C;h=d9285d75747d73faa610d04fcd86e4119de3eca3;hb=b44d42aef3ae7543fdd2d313a9d91fea53c13d82;hp=657f198e4fa90bd9eb3224deb596741ab50ce07b;hpb=2bb7b766a5d5ad24dfcc7fe8b86f2fcc7e8d3a1b;p=u%2Fmrichter%2FAliRoot.git diff --git a/SHUTTLE/Shuttle.C b/SHUTTLE/Shuttle.C index 657f198e4fa..d9285d75747 100644 --- a/SHUTTLE/Shuttle.C +++ b/SHUTTLE/Shuttle.C @@ -1,72 +1,131 @@ -void Shuttle(const char* param = "listen") { +Bool_t Shuttle(const char* param = "listen", const char* dets=0) { // WARNING: if ldap is built with ssl support it may cause confilcts with the // AliEn interface. If this happens, grid storage activation must be done BEFORE // loading LDAP libraries!!! + gSystem->Load("libRAliEn.so"); gSystem->Load("libRLDAP.so"); + gSystem->Load("libMonaLisa"); gSystem->Load("libSHUTTLE"); - gSystem->Load("$ROOTSYS/lib/libThread"); - gSystem->Load("$ALICE_ROOT/SHUTTLE/test/libTest.so"); + gSystem->Load("libThread"); +// gSystem->Load("$ALICE_ROOT/SHUTTLE/test/libTest.so"); -// AliLog::SetGlobalDebugLevel(1); - - // Setting local CDB and reference storage locations - AliShuttle::SetMainCDB("alien://user=aliprod?folder=colla/GridShuttleCDB"); - AliShuttle::SetMainRefStorage("alien://user=aliprod?folder=colla/GridShuttleRefStorage"); - -// AliShuttle::SetMainCDB("local://testLeakCDB"); -// AliShuttle::SetMainRefStorage("local://testLeakRef"); - - AliShuttle::SetLocalCDB("local://LocalShuttleCDB"); - AliShuttle::SetLocalRefStorage("local://LocalShuttleRefStorage"); + AliLog::SetGlobalDebugLevel(2); + + const char* pwd = gSystem->pwd(); + + if( !gSystem->Getenv("SHUTTLE_DIR")) + { + printf("Setting base SHUTTLE folder to %s\n", pwd); + gSystem->Setenv("SHUTTLE_DIR", pwd); + } else { + printf("Shuttle base folder is %s\n", gSystem->Getenv("SHUTTLE_DIR")); + } - AliShuttle::SetProcessDCS(kFALSE); +// Setting local CDB and reference storage locations + AliShuttle::SetMainCDB("alien://user=aliprod?folder=testShuttle/OCDB"); + AliShuttle::SetMainRefStorage("alien://user=aliprod?folder=testShuttle/Reference"); +// AliShuttle::SetMainCDB("local://$SHUTTLE_DIR/LocalShuttleCDB"); +// AliShuttle::SetMainRefStorage("local://$SHUTTLE_DIR/LocalShuttleRefStorage"); -// AliCDBManager *man = AliCDBManager::Instance(); -// man->SetDefaultStorage("local://MainCDB"); -// man->SetDefaultStorage("alien://DBFolder=ShuttleMainCDB"); + AliShuttle::SetLocalCDB("local://$SHUTTLE_DIR/LocalShuttleCDB"); + AliShuttle::SetLocalRefStorage("local://$SHUTTLE_DIR/LocalShuttleRefStorage"); +// Setting Shuttle log and temp folders + AliShuttle::SetShuttleLogDir("$SHUTTLE_DIR/log"); + AliShuttle::SetShuttleTempDir("$SHUTTLE_DIR/temp"); + + + + AliShuttle::SetProcessDCS(kTRUE); - AliShuttleConfig config("pcalice290.cern.ch", 389, "o=alice,dc=cern,dc=ch"); +// AliShuttleConfig config("pcalice290.cern.ch", 389, "o=alice,dc=cern,dc=ch"); + AliShuttleConfig config("pcalishuttle01.cern.ch", 389, "", "", "o=alice,dc=cern,dc=ch"); config.SetProcessAll(kTRUE); config.Print(); - AliShuttleTrigger trigger(&config); + AliShuttleTrigger trigger(&config, 100000); AliShuttle* shuttle = trigger.GetShuttle(); // Add here detectors preprocessor ... - TestTPCPreprocessor *tpcPrep = new TestTPCPreprocessor("TPC",shuttle); - TestITSPreprocessor *itsPrep = new TestITSPreprocessor("ITS",shuttle); - TestRICHPreprocessor *richPrep = new TestRICHPreprocessor("RICH",shuttle); - TString paramStr(param); + TString detector = dets; - if (paramStr.IsDigit()) { - Int_t run = paramStr.Atoi(); - trigger.Collect(run); - } else if (paramStr == "new") { - trigger.CollectNew(); - } else if (paramStr == "all") { - trigger.CollectAll(); - } else if (paramStr == "listen") { - trigger.Run(); - } else if (paramStr.BeginsWith("lastrun=")) { - Int_t run = TString(paramStr(8, paramStr.Length()-7).Data()).Atoi(); - cout << run << endl; - trigger.SetNewLastRun(run); - } else { - cout<<"Bad parameter: "< - collect data for the given run"< - sets last run manually. use with caution!" << endl; - cout<<" - the same as 'listen'"<Load("libPHOSshuttle"); + new AliPHOSPreprocessor(shuttle); } + if (detector.Contains("CPV")) + new AliCPVPreprocessor(shuttle); + if (detector.Contains("HMP")) + new AliHMPIDPreprocessor(shuttle); + if (detector.Contains("EMC")) + new AliEMCALPreprocessor(shuttle); + if (detector.Contains("MCH")) + new AliMUONPreprocessor(shuttle); + if (detector.Contains("MTR")) + new AliMTRPreprocessor(shuttle); + if (detector.Contains("FMD")) + new AliFMDPreprocessor(shuttle); + if (detector.Contains("ZDC")) + new AliZDCPreprocessor(shuttle); + if (detector.Contains("PMD")) + new AliPMDPreprocessor("PMD", shuttle); + if (detector.Contains("T00")) + { + gSystem->Load("libT0shuttle"); + new AliT0Preprocessor("T00", shuttle); + } + if (detector.Contains("V00")) + new AliVZEROPreprocessor(shuttle); + if (detector.Contains("GRP")) + new AliGRPPreprocessor(shuttle); + +// AliTOFPreprocessor *tofPrep = new AliTOFPreprocessor(shuttle); +// AliTRDPreprocessor *trdPrep = new AliTRDPreprocessor(shuttle); +// AliGRPPreprocessor *grpPrep = new AliGRPPreprocessor(shuttle); + + TString paramStr(param); + + TStopwatch stopwatch; + stopwatch.Start(); + + if (paramStr.IsDigit() || paramStr == "-1") { + Int_t run = paramStr.Atoi(); + trigger.Collect(run); + } else if (paramStr == "new") { + Bool_t result = trigger.Collect(); + } else if (paramStr == "listen") { + trigger.Run(); + } else { + cout<<"Bad parameter: "< - collect data for the given run"< - the same as 'listen'"<