#include <TTimeStamp.h>
#include <TObjString.h>
#include <TSystem.h>
+#include <TList.h>
ClassImp(TestHMPIDPreprocessor)
}
//________________________________________________________________________________________
-UInt_t TestHMPIDPreprocessor::Process(TMap* /*valueMap*/)
+Bool_t TestHMPIDPreprocessor::ProcessDCS()
{
-// process data retrieved by the Shuttle
+// Initialize preprocessor
+
+ TString runType = GetRunType();
+ if(runType == "LED") return kFALSE;
+ return kTRUE;
+}
- //TIter iter(valueMap);
- //TPair* aPair;
- //while ((aPair = (TPair*) iter.Next())) {
- //aPair->Print();
- //}
- //AliCDBMetaData metaData;
- //metaData.SetComment("This is a test!");
- // return Store(valueMap, &metaData);
+//________________________________________________________________________________________
+UInt_t TestHMPIDPreprocessor::Process(TMap* /*valueMap*/)
+{
+// process data retrieved by the Shuttle
- // DAQ
- TList* filesources = GetFileSources(AliShuttleInterface::kDAQ, "DAQFile");
+ Bool_t result = kFALSE;
- if(!filesources) {
- AliError(Form("No sources found for thresholds.txt for run %d !", fRun));
- return 0;
+ // Get run type and start the processing algorithm accordingly
+ TString runType = GetRunType();
+ if (runType.Length()==0)
+ {
+ Log("Undefined run type!");
+ return 1;
}
- AliInfo("Here's the list of sources for thresholds.txt");
- filesources->Print();
-
- TIter iter(filesources);
- TObjString* source;
- int i=0;
- UInt_t result = 0;
- while((source=dynamic_cast<TObjString*> (iter.Next()))){
- printf("\n\n Getting file #%d\n",++i);
- //if(i==1) continue;
- TString filename = GetFile(AliShuttleInterface::kDAQ, "DAQFile", source->GetName());
- if(!filename.Length()) {
- AliError(Form("Error: retrieval of file from source %s failed!", source->GetName()));
- delete filesources;
- return 0;
- }
- TString command = Form("more %s",filename.Data());
- gSystem->Exec(command.Data());
+ Log(Form("Run type: %s", runType.Data()));
- // STORAGE! The First file name will be stored into CDB, the second into reference storage
- TObjString filenameObj(filename);
- AliCDBMetaData metaData;
- if(i==1) result = Store("Calib", "DAQData", &filenameObj, &metaData);
- if(i==2) result = StoreReferenceData("Calib", "RefData", &filenameObj, &metaData);
+ if (runType == "PHYSICS")
+ {
+ // DAQ
+ TList* filesources = GetFileSources(AliShuttleInterface::kDAQ, "DAQFile");
- }
- delete filesources;
-
- // DCS
- TString filename = GetFile(AliShuttleInterface::kDCS, "DCSFile", 0);
- if(!filename.Length()) {
- AliError(Form("Error: retrieval of file from DCS failed!"));
- return 0;
- }
- TString command = Form("more %s", filename.Data());
- gSystem->Exec(command.Data());
-
- // STORAGE! The First file name will be stored into CDB, the second into reference storage
- TObjString filenameObj(filename);
- AliCDBMetaData metaData;
- result = Store("Calib", "DCSData", &filenameObj, &metaData);
+ if(!filesources) {
+ AliError(Form("No sources found for thresholds.txt for run %d !", fRun));
+ return 2;
+ }
- // HLT
- filesources = GetFileSources(AliShuttleInterface::kHLT, "HLTFile");
+ AliInfo("Here's the list of sources for thresholds.txt");
+ filesources->Print();
+
+ TIter iter(filesources);
+ TObjString* source;
+ int i=0;
+ while((source=dynamic_cast<TObjString*> (iter.Next()))){
+ printf("\n\n Getting file #%d\n",++i);
+ //if(i==1) continue;
+ //TString filename = GetFile(AliShuttleInterface::kDAQ, "DAQFile", source->GetName());
+ TString filename = "DAQfile.txt";
+ if(!filename.Length()) {
+ AliError(Form("Error: retrieval of file from source %s failed!", source->GetName()));
+ delete filesources;
+ return 3;
+ }
+ TString command = Form("more %s",filename.Data());
+ gSystem->Exec(command.Data());
+
+ // STORAGE! The First file name will be stored into CDB, the second into reference storage
+ TObjString filenameObj(filename);
+ AliCDBMetaData metaData;
+ if(i==1) result = Store("Calib", "DAQData", &filenameObj, &metaData);
+ if(i==2) result = StoreReferenceData("Calib", "RefData", &filenameObj, &metaData);
- if(!filesources) {
- Log(Form("No sources found for HLTFile for run %d !", fRun));
- return 0;
- }
+ }
+ delete filesources;
- AliInfo("Here's the list of sources for HLTFile");
- filesources->Print();
+ } else if (runType == "PEDESTALS")
+ {
- TIter iter2(filesources);
- i = 0;
- while((source=dynamic_cast<TObjString*> (iter2.Next()))){
- printf("\n\n Getting file #%d\n",++i);
- //if(i==1) continue;
- TString filename = GetFile(AliShuttleInterface::kHLT, "HLTFile", source->GetName());
+ // DCS
+ TString filename = GetFile(AliShuttleInterface::kDCS, "DCSFile", 0);
if(!filename.Length()) {
- AliError(Form("Error: retrieval of file from source %s failed!", source->GetName()));
- delete filesources;
- return 0;
+ AliError(Form("Error: retrieval of file from DCS failed!"));
+ return 4;
}
- TString command = Form("more %s",filename.Data());
+ TString command = Form("more %s", filename.Data());
gSystem->Exec(command.Data());
// STORAGE! The First file name will be stored into CDB, the second into reference storage
TObjString filenameObj(filename);
AliCDBMetaData metaData;
- if(i==1) result = Store("Calib", "HLTData", &filenameObj, &metaData);
- if(i==2) result = StoreReferenceData("Calib", "RefHLTData", &filenameObj, &metaData);
+ result = Store("Calib", "DCSData", &filenameObj, &metaData);
+
+ } else if (runType == "LED")
+ {
+
+ // HLT
+ TList* filesources = GetFileSources(AliShuttleInterface::kHLT, "HLTFile");
+ if(!filesources) {
+ Log(Form("No sources found for HLTFile for run %d !", fRun));
+ return 5;
+ }
+
+ AliInfo("Here's the list of sources for HLTFile");
+ filesources->Print();
+
+ TIter iter(filesources);
+ int i = 0;
+ TObjString* source;
+ while((source=dynamic_cast<TObjString*> (iter.Next()))){
+ printf("\n\n Getting file #%d\n",++i);
+ //if(i==1) continue;
+ //TString filename = GetFile(AliShuttleInterface::kHLT, "HLTFile", source->GetName());
+ TString filename="HLTfile.txt";
+ if(!filename.Length()) {
+ AliError(Form("Error: retrieval of file from source %s failed!", source->GetName()));
+ delete filesources;
+ return 6;
+ }
+ TString command = Form("more %s",filename.Data());
+ gSystem->Exec(command.Data());
+
+ // STORAGE! The First file name will be stored into CDB, the second into reference storage
+ TObjString filenameObj(filename);
+ AliCDBMetaData metaData;
+ if(i==1) result = Store("Calib", "HLTData", &filenameObj, &metaData);
+ if(i==2) result = StoreReferenceData("Calib", "RefHLTData", &filenameObj, &metaData);
+
+ }
+ delete filesources;
+ } else {
+ Log(Form("Unknown run type: %s", runType.Data()));
}
- delete filesources;
-
- return result;
+ if(!result)
+ {
+ Log("Storage error!");
+ return 100;
+ }
+
+ return 0;
}