o) Adding time out to the execution of the preprocessors: The Shuttle forks and the...
[u/mrichter/AliRoot.git] / SHUTTLE / Shuttle.C
CommitLineData
cb343cfd 1Bool_t Shuttle(const char* param = "listen") {
d477ad88 2
4f0ab988 3 // WARNING: if ldap is built with ssl support it may cause confilcts with the
4 // AliEn interface. If this happens, grid storage activation must be done BEFORE
5 // loading LDAP libraries!!!
6
7 gSystem->Load("libRLDAP.so");
d477ad88 8 gSystem->Load("libSHUTTLE");
d477ad88 9 gSystem->Load("$ROOTSYS/lib/libThread");
57f50b3c 10 gSystem->Load("$ALICE_ROOT/SHUTTLE/test/libTest.so");
d477ad88 11
12// AliLog::SetGlobalDebugLevel(1);
13
4f0ab988 14 // Setting local CDB and reference storage locations
2bb7b766 15 AliShuttle::SetMainCDB("alien://user=aliprod?folder=colla/GridShuttleCDB");
16 AliShuttle::SetMainRefStorage("alien://user=aliprod?folder=colla/GridShuttleRefStorage");
17
18// AliShuttle::SetMainCDB("local://testLeakCDB");
19// AliShuttle::SetMainRefStorage("local://testLeakRef");
20
4f0ab988 21 AliShuttle::SetLocalCDB("local://LocalShuttleCDB");
2bb7b766 22 AliShuttle::SetLocalRefStorage("local://LocalShuttleRefStorage");
4f0ab988 23
2bb7b766 24 AliShuttle::SetProcessDCS(kFALSE);
4f0ab988 25
26
27// AliCDBManager *man = AliCDBManager::Instance();
28// man->SetDefaultStorage("local://MainCDB");
57f50b3c 29// man->SetDefaultStorage("alien://DBFolder=ShuttleMainCDB");
d477ad88 30
4f0ab988 31
32 AliShuttleConfig config("pcalice290.cern.ch", 389, "o=alice,dc=cern,dc=ch");
4b4eb769 33 config.SetProcessAll(kTRUE);
34 config.Print();
d477ad88 35
4b4eb769 36 AliShuttleTrigger trigger(&config);
d477ad88 37
38 AliShuttle* shuttle = trigger.GetShuttle();
4b4eb769 39
d477ad88 40 // Add here detectors preprocessor ...
4f0ab988 41 TestTPCPreprocessor *tpcPrep = new TestTPCPreprocessor("TPC",shuttle);
42 TestITSPreprocessor *itsPrep = new TestITSPreprocessor("ITS",shuttle);
57f50b3c 43 TestRICHPreprocessor *richPrep = new TestRICHPreprocessor("RICH",shuttle);
d477ad88 44
45 TString paramStr(param);
46
47 if (paramStr.IsDigit()) {
48 Int_t run = paramStr.Atoi();
49 trigger.Collect(run);
50 } else if (paramStr == "new") {
cb343cfd 51 Bool_t result = trigger.Collect();
d477ad88 52 } else if (paramStr == "listen") {
53 trigger.Run();
54 } else {
55 cout<<"Bad parameter: "<<param<<endl;
56 cout<<"Parameter options: "<<endl;
57 cout<<"<run> - collect data for the given run"<<endl;
58 cout<<"new - collect data only for the new runs"<<endl;
d477ad88 59 cout<<"listen - start listening for DAQ notification"<<endl;
60 cout<<"<empty parameter> - the same as 'listen'"<<endl;
61 }
62
63 AliCDBManager::Destroy();
64}
65
66