/*
$Log$
+Revision 1.17 2007/08/28 16:03:30 acolla
+Restored to v1.14:
+
+
+Function Bool_t GetHLTStatus() added to preprocessor interface. It will return
+the status of HLT read from the run logbook.
+
+Revision 1.16 2007/08/22 09:20:50 hristov
+Updated QA classes (Yves)
+
+Revision 1.14 2007/05/30 06:35:21 jgrosseo
+Adding functionality to the Shuttle/TestShuttle:
+o) Function to retrieve list of sources from a given system (GetFileSources with id=0)
+o) Function to retrieve list of IDs for a given source (GetFileIDs)
+These functions are needed for dealing with the tag files that are saved for the GRP preprocessor
+Example code has been added to the TestProcessor in TestShuttle
+
Revision 1.13 2007/04/12 08:26:33 jgrosseo
updated commment
#include "AliPreprocessor.h"
#include <TString.h>
-#include <TList.h>
#include <TMap.h>
+#include <TObjString.h>
#include "AliLog.h"
#include "AliCDBMetaData.h"
fRun(-1),
fStartTime(0),
fEndTime(0),
- fShuttle(shuttle)
+ fShuttle(shuttle),
+ fRunTypes()
{
SetTitle(Form("AliPreprocessor for %s subdetector.", detector));
}
fShuttle->RegisterPreprocessor(this);
+
+ fRunTypes.SetOwner(kTRUE);
}
//______________________________________________________________________________________________
if(!offlineDetName) return 0;
return fShuttle->StoreReferenceFile(GetName(), localFile, gridFileName);
}
+
+//______________________________________________________________________________________________
+Bool_t AliPreprocessor::StoreRunMetadataFile(const char* localFile, const char* gridFileName)
+{
+ //
+ // Stores Run metadata file to the Grid, in the run folder
+ //
+ // Only GRP can call this function.
+
+ TString detName(GetName());
+ if (detName != "GRP")
+ {
+ Log("StoreRunMetadataFile - Sorry, only Panos has this privilege.");
+ return kFALSE;
+ }
+ return fShuttle->StoreRunMetadataFile(localFile, gridFileName);
+}
//______________________________________________________________________________________________
const char* AliPreprocessor::GetFile(Int_t system, const char* id, const char* source)
return fShuttle->GetRunType();
}
+
+//______________________________________________________________________________________________
+Bool_t AliPreprocessor::GetHLTStatus()
+{
+ // Return HLT status (ON or OFF)
+ // Converts the HLT status from the status string read in the run logbook (not just a bool)
+ // The call is delegated to AliShuttleInterface
+
+ return fShuttle->GetHLTStatus();
+
+}
+
+//______________________________________________________________________________________________
+void AliPreprocessor::AddRunType(const char* runType)
+{
+ // adds the given run type to the list of run types that are processed
+ // this function should be called in the constructor of the derived preprocessor
+
+ if (!runType)
+ return;
+
+ fRunTypes.Add(new TObjString(runType));
+}
+
+//______________________________________________________________________________________________
+Bool_t AliPreprocessor::AliPreprocessor::ProcessRunType()
+{
+ // searches for the current run type in the list of run types that are processed by this
+ // preprocessor. The list is populated by AddRunType
+
+ const char* runType = GetRunType();
+
+ Log(Form("Checking if run type %s is in the list of run types to be processed by this preprocessor...", runType));
+
+ if (fRunTypes.GetEntries() == 0)
+ Log("WARNING! There are no run types defined. This preprocessor will never run.");
+
+ if (fRunTypes.FindObject(runType))
+ {
+ Log("Run type found. Processing this run.");
+ return kTRUE;
+ }
+
+ Log("Run type not found. Skipping this run.");
+ return kFALSE;
+}