const Int_t kDiffCutTemp = 5; // discard temperature differences > 5 degrees
const TString kPedestalRunType = "PEDESTAL"; // pedestal run identifier
const TString kPhysicsRunType = "PHYSICS"; // physics run identifier
-const TString kStandAloneRunType = "STANDALONE"; // standalone run identifier
-const TString kAmandaTemp = "PT_%d_TEMPERATURE"; // Amanda string for temperature entries
+const TString kStandAloneRunType = "STANDALONE_BC"; // standalone run identifier
+const TString kAmandaTemp = "PT_%02d.Temperature"; // Amanda string for temperature entries
//const Double_t kFitFraction = 0.7; // Fraction of DCS sensor fits required
const Double_t kFitFraction = -1.0; // Don't require minimum number of fits during commissioning
// define run types to be processed
AddRunType(kPedestalRunType);
AddRunType(kPhysicsRunType);
- AddRunType(kStandAloneRunType);
}
//______________________________________________________________________________________________
AliCDBEntry* entry = GetFromOCDB("Config", "Preprocessor");
if (entry) fConfEnv = (TEnv*) entry->GetObject();
if ( fConfEnv==0 ) {
- Log("AliEMCALPreprocsessor: Preprocessor Config OCDB entry missing.\n");
+ Log("AliEMCALPreprocessor: Preprocessor Config OCDB entry missing.\n");
fConfigOK = kFALSE;
return;
}
entry = GetFromOCDB("Config", "Temperature");
if (entry) confTree = (TTree*) entry->GetObject();
if ( confTree==0 ) {
- Log("AliEMCALPreprocsessor: Temperature Config OCDB entry missing.\n");
+ Log("AliEMCALPreprocessor: Temperature Config OCDB entry missing.\n");
fConfigOK = kFALSE;
return;
}
UInt_t dcsResult=0;
if (errorHandling == "OFF" ) {
if (!dcsAliasMap) dcsResult = kReturnCodeNoEntries;
- if (dcsAliasMap->GetEntries() == 0 ) dcsResult = kReturnCodeNoEntries;
+ else if (dcsAliasMap->GetEntries() == 0 ) dcsResult = kReturnCodeNoEntries;
status = new TParameter<int>("dcsResult",dcsResult);
resultArray->Add(status);
}
else {
if (!dcsAliasMap) return kReturnCodeNoInfo;
- if (dcsAliasMap->GetEntries() == 0 ) return kReturnCodeNoInfo;
+ else if (dcsAliasMap->GetEntries() == 0 ) return kReturnCodeNoInfo;
}
+
TString runType = GetRunType();
// Temperature sensors are processed by AliEMCALCalTemp
TString tempConf = fConfEnv->GetValue("Temperature","ON");
tempConf.ToUpper();
- if (tempConf != "OFF" ) {
+ if (tempConf != "OFF" && dcsAliasMap ) {
UInt_t tempResult = MapTemperature(dcsAliasMap);
result=tempResult;
status = new TParameter<int>("tempResult",tempResult);
// PEDESTAL ENTRIES:
- if(runType == kPedestalRunType) {
+ if ( runType == kPedestalRunType ) {
Int_t numSources = 1;
Int_t pedestalSource[2] = {AliShuttleInterface::kDAQ, AliShuttleInterface::kHLT} ;
TString source = fConfEnv->GetValue("Pedestal","DAQ");
if ( source == "HLT") pedestalSource[0] = AliShuttleInterface::kHLT;
if (!GetHLTStatus()) pedestalSource[0] = AliShuttleInterface::kDAQ;
if (source == "HLTDAQ" ) {
- numSources=2;
- pedestalSource[0] = AliShuttleInterface::kHLT;
- pedestalSource[1] = AliShuttleInterface::kDAQ;
+ numSources=2;
+ pedestalSource[0] = AliShuttleInterface::kHLT;
+ pedestalSource[1] = AliShuttleInterface::kDAQ;
}
if (source == "DAQHLT" ) numSources=2;
UInt_t pedestalResult=0;
for (Int_t i=0; i<numSources; i++ ) {
- pedestalResult = ExtractPedestals(pedestalSource[i]);
- if ( pedestalResult == 0 ) break;
+ pedestalResult = ExtractPedestals(pedestalSource[i]);
+ if ( pedestalResult == 0 ) break;
}
result += pedestalResult;
status = new TParameter<int>("pedestalResult",pedestalResult);
}
// SIGNAL/LED ENTRIES:
-
- if( runType == kPhysicsRunType || runType == kStandAloneRunType ) {
+ if( runType == kPhysicsRunType ) {
Int_t numSources = 1;
Int_t signalSource[2] = {AliShuttleInterface::kDAQ,AliShuttleInterface::kHLT} ;
TString source = fConfEnv->GetValue("Signal","DAQ");
if ( source == "HLT") signalSource[0] = AliShuttleInterface::kHLT;
if (!GetHLTStatus()) signalSource[0] = AliShuttleInterface::kDAQ;
if (source == "HLTDAQ" ) {
- numSources=2;
- signalSource[0] = AliShuttleInterface::kHLT;
- signalSource[1] = AliShuttleInterface::kDAQ;
+ numSources=2;
+ signalSource[0] = AliShuttleInterface::kHLT;
+ signalSource[1] = AliShuttleInterface::kDAQ;
}
if (source == "DAQHLT" ) numSources=2;
UInt_t signalResult=0;
for (Int_t i=0; i<numSources; i++ ) {
- signalResult = ExtractSignal(signalSource[i]);
- if ( signalResult == 0 ) break;
+ signalResult = ExtractSignal(signalSource[i]);
+ if ( signalResult == 0 ) break;
}
result += signalResult;
status = new TParameter<int>("signalResult",signalResult);
metaData.SetBeamPeriod(0);
metaData.SetResponsible(kMetaResponsible);
metaData.SetComment("Preprocessor AliEMCAL status.");
- Store("Calib", "PreprocStatus", resultArray, &metaData, 0, kFALSE);
+ Bool_t storeOK = Store("Calib", "PreprocStatus", resultArray, &metaData, 0, kFALSE);
resultArray->Delete();
- return 0;
+ result = 0;
+ if ( !storeOK ) result=1;
+ return result;
}
else {
return result;
UInt_t result=0;
//
// Read pedestal file from file exchange server
- // Keep original entry from OCDB in case no new pedestals are available
+ // Only store if new pedestal info is available
//
- AliCaloCalibPedestal *calibPed=0;
- AliCDBEntry* entry = GetFromOCDB("Calib", "Pedestals");
- if (entry) calibPed = (AliCaloCalibPedestal*)entry->GetObject();
- if ( calibPed==NULL ) {
- Log("AliEMCALPreprocsessor: No previous EMCAL pedestal entry available.\n");
- calibPed = new AliCaloCalibPedestal(AliCaloCalibPedestal::kEmCal);
- }
-
+ AliCaloCalibPedestal *calibPed = new AliCaloCalibPedestal(AliCaloCalibPedestal::kEmCal);
+ calibPed->Init();
+
TList* list = GetFileSources(sourceFXS,"pedestals");
if (list && list->GetEntries()>0) {
- calibPed->Reset(); // let's make a fresh start before possibly adding stuff below
-
// loop through all files from LDCs
int changes = 0;
UInt_t result=0;
//
// Read signal file from file exchange server
- // Keep original entry from OCDB in case no new signal are available
+ // Only store if new signal info is available
//
- AliCaloCalibSignal *calibSig=0;
- AliCDBEntry* entry = GetFromOCDB("Calib", "Signal");
- if (entry) calibSig = (AliCaloCalibSignal*)entry->GetObject();
- if ( calibSig==NULL ) {
- Log("AliEMCALPreprocsessor: No previous EMCAL signal entry available.\n");
- calibSig = new AliCaloCalibSignal(AliCaloCalibSignal::kEmCal);
- }
+ AliCaloCalibSignal *calibSig = new AliCaloCalibSignal(AliCaloCalibSignal::kEmCal);
TList* list = GetFileSources(sourceFXS,"signal");
if (list && list->GetEntries()>0) {
-
- calibSig->Reset(); // let's make a fresh start before possibly adding stuff below
-
+
// loop through all files from LDCs
int changes = 0;
metaData.SetResponsible(kMetaResponsible);
metaData.SetComment(kMetaComment);
- Bool_t storeOK = Store("Calib", "Signal", calibSig, &metaData, 0, kFALSE);
+ Bool_t storeOK = Store("Calib", "LED", calibSig, &metaData, 0, kFALSE);
if ( !storeOK ) result++;
}
}