"Upload MUON Tracker pedestals to OCDB"),
fPedestals(0x0),
fConfig(0x0),
-fConfigChanged(kFALSE)
+fConfigChanged(kFALSE),
+fTooFewEvents(kFALSE)
{
/// default ctor
}
delete fConfig;
fConfig = new AliMUON2DMap(kTRUE);
- Master()->Log(Form("Reading pedestal files for Run %d startTime %ld endTime %ld",
+ fTooFewEvents = kFALSE;
+
+ Master()->Log(Form("Reading pedestal files for Run %d startTime %u endTime %u",
run,startTime,endTime));
TList* sources = Master()->GetFileSources(kSystem,kId);
if (!n)
{
Master()->Log("Failed to read any pedestals");
+
delete fPedestals;
fPedestals = 0;
delete fConfig;
fConfig = 0;
+
+ // OK, we did not get our pedestals. Check if the ped run itself
+ // was bad, i.e. too few events
+ TString nevents(Master()->GetRunParameter("totalEvents"));
+
+ if ( nevents.Atoi() < 50 )
+ {
+ Master()->Log(Form("The run had only %d events, so the failure to read pedestals is normal",nevents.Atoi()));
+ // too few events, failure is normal, returns OK.
+ fTooFewEvents = kTRUE;
+ return kTRUE;
+ }
+
+ // no ped, but run looks clean, that's an error
return kFALSE;
}
if (!fPedestals || !fConfig)
{
- // this is the only reason to fail for the moment : getting no pedestal or no config
- // at all.
- return 1;
+ if ( fTooFewEvents )
+ {
+ // ped run was too short, no reason to complain about that, it's "normal"
+ // not to have pedestals in that case.
+ return 0;
+ }
+ else
+ {
+ // this is the only reason to fail for the moment : getting no pedestal or no config
+ // at all.
+ return 1;
+ }
}
AliMUON2DStoreValidator validator;