#include "AliMUONCalibParamND.h"
#include "AliMUONCalibrationData.h"
#include "AliMUONDigitCalibrator.h"
+#include "AliMUONLogger.h"
#include "AliMUONRawStreamTrackerHP.h"
#include "AliMUONTrackerData.h"
#include "AliMpDDLStore.h"
fRunNumber(0),
fIsRunning(kFALSE),
fIsOwnerOfRawReader(kFALSE),
-fIsEventByEvent(kFALSE)
+fIsEventByEvent(kFALSE),
+fLogger(0x0)
{
+/// Root IO ctor
}
//_____________________________________________________________________________
fRunNumber(runNumber),
fIsRunning(kFALSE),
fIsOwnerOfRawReader(kFALSE),
-fIsEventByEvent(kFALSE)
+fIsEventByEvent(kFALSE),
+fLogger(0x0)
{
/// Ctor in which this object will NOT be the owner of the reader
/// and can NOT apply rewind to it, nor use Next on it.
fRunNumber(0),
fIsRunning(kFALSE),
fIsOwnerOfRawReader(kTRUE),
-fIsEventByEvent(kFALSE)
+fIsEventByEvent(kFALSE),
+fLogger(0x0)
{
/// Ctor in which we take the ownership of the rawReader, so we can rewind
/// and advance it as we wish
fRunNumber(0),
fIsRunning(kFALSE),
fIsOwnerOfRawReader(kTRUE),
-fIsEventByEvent(kFALSE)
+fIsEventByEvent(kFALSE),
+fLogger(0x0)
{
+ /// Ctor from raw data reader
if (fRawReader)
{
fRawReader->NextEvent(); // to be sure to get run number available
Double_t xmin, Double_t xmax)
{
/// "designated constructor"
- Bool_t calibrate = ( fOCDBPath.Length() > 0 );
+
+ Bool_t calibrate = ( strlen(calibMode) > 0 );
TString name;
TString type("RAW");
if ( scalib == "GAIN" ) type = "CALC";
if ( scalib == "NOGAIN" ) type = "CALZ";
if ( scalib == "GAINCONSTANTCAPA") type = "CALG";
+ if ( scalib == "INJECTIONGAIN" ) type = "CALE";
}
if ( !fRunNumber )
// out of sync)
// But with the current CDBManager implementation, I don't know how to solve
// this better (e.g. to avoid clearing cache messages and so on).
+
+ AliCDBStorage* storage(0x0);
- AliCDBStorage* storage = AliCDBManager::Instance()->GetDefaultStorage();
-
- if ( storage->GetURI() != fOCDBPath.Data() )
+ if ( fOCDBPath.Length() > 0 )
{
- AliCDBManager::Instance()->SetDefaultStorage(fOCDBPath.Data());
+ storage = AliCDBManager::Instance()->GetDefaultStorage();
+
+ if ( storage && ( storage->GetURI() != fOCDBPath.Data() ) )
+ {
+ AliCDBManager::Instance()->SetDefaultStorage(fOCDBPath.Data());
+ }
}
fCalibrationData->Pedestals();
fCalibrationData->HV();
fCalibrationData->Capacitances();
- if ( storage->GetURI() != fOCDBPath.Data() )
+ if ( storage && ( storage->GetURI() != fOCDBPath.Data() ) )
{
AliCDBManager::Instance()->SetDefaultStorage(storage);
}
//_____________________________________________________________________________
AliMUONTrackerDataMaker::~AliMUONTrackerDataMaker()
{
+/// dtor
+
delete fOneEventData;
delete fAccumulatedData;
if ( fIsOwnerOfRawReader ) delete fRawReader;
return kFALSE;
}
- AliCodeTimerAuto("");
+ AliCodeTimerAuto("",0);
static Int_t nphysics(0);
static Int_t ngood(0);
/// duplicate this critical piece of calibration code !
///
- AliCodeTimerAuto("");
+ AliCodeTimerAuto("",0);
AliMUONRawStreamTrackerHP stream(fRawReader);
-
+
stream.DisableWarnings();
-// stream.EnabbleErrorLogger();
+ stream.DisableRawReaderErrorLogger();
+ stream.DisableMUONErrorLogger();
+
+ if (fLogger)
+ {
+ stream.EnableMUONErrorLogger();
+ stream.SetMUONErrorLogger(fLogger);
+ stream.SetLoggingDetailLevel(AliMUONRawStreamTrackerHP::kMediumErrorDetail);
+ }
const Int_t nddls = AliDAQ::NumberOfDdls("MUONTRK");
TArrayI nevents(nddls);
{
if ( fDigitCalibrator->IsValidDigit(detElemId, manuId, manuChannel) )
{
- charge = fDigitCalibrator->CalibrateDigit(detElemId, manuId, manuChannel,adc,3.0);
+ charge = fDigitCalibrator->CalibrateDigit(detElemId, manuId, manuChannel,adc);
+ }
+ else
+ {
+ charge = 0.0;
}
}
{
fAccumulatedData->Add(*fOneEventData,&nevents);
}
-
+
return !badEvent;
}