void Shuttle(const char* param = "listen") {
gSystem->Load("libSHUTTLE");
gSystem->Load("$ROOTSYS/lib/libThread");
gSystem->Load("$ALICE_ROOT/SHUTTLE/test/libTest.so");
// AliLog::SetGlobalDebugLevel(1);
AliCDBManager *man = AliCDBManager::Instance();
man->SetDefaultStorage("local://MainCDB");
// man->SetDefaultStorage("alien://DBFolder=ShuttleMainCDB");
AliShuttleConfig config("pcalice290.cern.ch", 389,
"o=alice,dc=cern,dc=ch");
config.SetProcessAll(kTRUE);
config.Print();
AliShuttleTrigger trigger(&config);
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);
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'"<