TFile f(fileName.Data());
if ( ! f.IsOpen() ) {
Master()->Log(Form("Cannot open file %s",fileName.Data()));
- return 0;
+ return 1;
}
// Get array with matrices
TClonesArray* array = (TClonesArray*)f.Get(fgkMatrixArrayName);
if ( ! array ) {
Master()->Log(Form("TClonesArray not found in file %s",fileName.Data()));
- return 0;
+ return 2;
}
// Convert matrices into Alice alignment objects
metaData.SetResponsible("");
metaData.SetComment("This preprocessor fills GMS alignment objects.");
- UInt_t result = Master()->Store("SHUTTLE", "GMS", data, &metaData, 0, 0);
+ Bool_t result = Master()->Store("SHUTTLE", "GMS", data, &metaData, 0, 0);
// Clear MisAlignArray in transformer
fTransformer.ClearMisAlignmentData();
- return result;
+ return (result!=kTRUE);
}
//
{
// this is the only reason to fail for the moment : getting no Gain
// at all.
- return 0;
+ return 1;
}
AliMUON2DStoreValidator validator;
metaData.SetComment("Computed by AliMUONGainSubprocessor $Id$");
Bool_t validToInfinity = kTRUE;
- UInt_t result = Master()->Store("Calib", "Gains", fGains, &metaData, 0, validToInfinity);
+ Bool_t result = Master()->Store("Calib", "Gains", fGains, &metaData, 0, validToInfinity);
- return result;
+ return ( result != kTRUE ); // return 0 if everything is ok
}
//_____________________________________________________________________________
if (!hvPair)
{
++aliasNotFound;
-// Master()->Log(Form("WARNING Did not find expected alias (%s)",aliasName.Data()));
}
else
{
if (!values)
{
++valueNotFound;
-// Master()->Log(Form("WARNING Could not get values for alias (%s)",aliasName.Data()));
}
else
{
if ( kNoAliases )
{
Master()->Log("ERROR : no DCS values found");
- return 0;
+ return 1;
}
if ( aliasNotFound )
Bool_t validToInfinity(kFALSE);
- UInt_t result = Master()->Store("Calib","HV",&hv,&metaData,0,validToInfinity);
+ Bool_t result = Master()->Store("Calib","HV",&hv,&metaData,0,validToInfinity);
- return result;
+ return ( result != kTRUE); // return 0 if everything is ok
}
{
// this is the only reason to fail for the moment : getting no pedestal
// at all.
- return 0;
+ return 1;
}
AliMUON2DStoreValidator validator;
metaData.SetComment("Computed by AliMUONPedestalSubprocessor $Id$");
Bool_t validToInfinity = kTRUE;
- UInt_t result = Master()->Store("Calib", "Pedestals", fPedestals, &metaData, 0, validToInfinity);
+ Bool_t result = Master()->Store("Calib", "Pedestals", fPedestals, &metaData, 0, validToInfinity);
- return result;
+ return ( result != kTRUE ); // return 0 if everything is ok.
}
//_____________________________________________________________________________
//_____________________________________________________________________________
AliMUONPreprocessor::AliMUONPreprocessor(const char* detName, AliShuttleInterface* shuttle)
: AliPreprocessor(detName, shuttle),
- fSubprocessors(new TObjArray())
+ fSubprocessors(new TObjArray()),
+ fProcessDCS(kFALSE)
{
/// ctor
}
{
/// Empty our subprocessor list
fSubprocessors->Clear();
+ fProcessDCS = kFALSE;
}
//_____________________________________________________________________________
void
-AliMUONPreprocessor::Add(AliMUONVSubprocessor* sub)
+AliMUONPreprocessor::Add(AliMUONVSubprocessor* sub, Bool_t processDCS)
{
/// Add a subprocessor to our list of workers
fSubprocessors->Add(sub);
+ if ( processDCS == kTRUE ) fProcessDCS = processDCS;
}
//_____________________________________________________________________________
virtual UInt_t Process(TMap* dcsAliasMap);
virtual void Print(Option_t* opt="") const;
+ virtual Bool_t ProcessDCS() { return fProcessDCS; }
+
/// Publish AliPreprocessor::Log function
void Log(const char* message) { AliPreprocessor::Log(message); }
{ return AliPreprocessor::GetFileSources(system,id); }
/// Publish AliPreprocessor::Store function
- UInt_t Store(const char* pathLevel2, const char* pathLevel3, TObject* object,
+ Bool_t Store(const char* pathLevel2, const char* pathLevel3, TObject* object,
AliCDBMetaData* metaData,
Int_t validityStart = 0, Bool_t validityInfinite = kFALSE)
{
AliMUONPreprocessor(const char* detName, AliShuttleInterface* shuttle);
virtual ~AliMUONPreprocessor();
- void Add(AliMUONVSubprocessor* subProcessor);
+ void Add(AliMUONVSubprocessor* subProcessor, Bool_t processDCS=kFALSE);
void ClearSubprocessors();
private:
private:
TObjArray* fSubprocessors; //!< sub processors to execute
+ Bool_t fProcessDCS; //!< whether the current subprocessor(s) needs DCS or not
- ClassDef(AliMUONPreprocessor,1) // MUON Shuttle preprocessor
+ ClassDef(AliMUONPreprocessor,2) // MUON Shuttle preprocessor
};
#endif
}
else if ( runType == "PHYSICS" ) // FIXME : check the name
{
- Add(fHVSubprocessor); // to be called only for physics runs
+ Bool_t useDCS(kTRUE);
+ Add(fHVSubprocessor,useDCS); // to be called only for physics runs
Log("INFO-Will run HV subprocessor");
}
else
// To test it, we must provide the run parameters manually. They will be retrieved in the preprocessor
// using GetRunParameter function.
// In real life the parameters will be retrieved automatically from the run logbook;
-// shuttle->AddInputRunType("MCH", "PEDESTAL_RUN");
- shuttle->AddInputRunType("MCH","ELECTRONICS_CALIBRATION_RUN");
- // shuttle->AddInputRunType("MCH", "GMS");
+ shuttle->SetInputRunType("PEDESTAL_RUN");
+ //shuttle->SetInputRunType("ELECTRONICS_CALIBRATION_RUN");
+ //shuttle->SetInputRunType("GMS");
+ //shuttle->SetInputRunType("PHYSICS");
// PEDESTAL_RUN -> pedestals
// ELECTRONICS_CALIBRATION_RUN -> gains
// PHYSICS ? -> HV
TMap* aliasMap = new TMap;
aliasMap->SetOwner(kTRUE);
- return aliasMap;
-
TRandom random(0);
AliMUONHVNamer hvNamer;