#include "AliMUONCalibParamNF.h"
#include "AliMUONCalibParamNI.h"
#include "AliMUONConstants.h"
+#include "AliMUONTrackerIO.h"
#include "AliMUONTriggerEfficiencyCells.h"
#include "AliMUONTriggerLut.h"
#include "AliMUONVStore.h"
#include "AliMUONVCalibParam.h"
#include "AliMUONVCalibParam.h"
+#include "AliMUONGlobalCrateConfig.h"
+#include "AliMUONRegionalTriggerConfig.h"
#include "AliMpCDB.h"
#include "AliMpConstants.h"
#include "AliMpDDLStore.h"
-#include "AliMpDEIterator.h"
+#include "AliMpManuStore.h"
#include "AliMpDEManager.h"
#include "AliMpDetElement.h"
+#include "AliMpFiles.h"
#include "AliMpHVNamer.h"
#include "AliMpManuIterator.h"
#include "AliMpSegmentation.h"
{
/// ctor
// Load mapping
- if ( ! AliMpCDB::LoadMpSegmentation() ) {
+ if ( ! AliMpCDB::LoadDDLStore() ) {
AliFatal("Could not access mapping from OCDB !");
}
+
+ if ( ! AliMpCDB::LoadManuStore() ) {
+ AliFatal("Could not access run-dependent mapping from OCDB !");
+ }
}
//_____________________________________________________________________________
{
/// Read the capacitance values from file and append them to the capaStore
- AliCodeTimerAuto(Form("file=%s",file));
-
- ifstream in(gSystem->ExpandPathName(file));
- if (in.bad()) return 0;
-
- Int_t ngenerated(0);
-
- char line[1024];
- Int_t serialNumber(-1);
- AliMUONVCalibParam* param(0x0);
-
- while ( in.getline(line,1024,'\n') )
- {
- if ( isdigit(line[0]) )
- {
- serialNumber = atoi(line);
- param = static_cast<AliMUONVCalibParam*>(capaStore.FindObject(serialNumber));
- if (param)
- {
- AliError(Form("serialNumber %d appears several times !",serialNumber));
- capaStore.Clear();
- break;
- }
- param = new AliMUONCalibParamNF(2,AliMpConstants::ManuNofChannels(),serialNumber,0,1.0);
- Bool_t ok = capaStore.Add(param);
- if (!ok)
- {
- AliError(Form("Could not set serialNumber=%d",serialNumber));
- continue;
- }
- continue;
- }
- Int_t channel;
- Float_t capaValue;
- Float_t injectionGain;
- sscanf(line,"%d %f %f",&channel,&capaValue,&injectionGain);
- AliDebug(1,Form("SerialNumber %10d Channel %3d Capa %f injectionGain %f",
- serialNumber,channel,capaValue,injectionGain));
- param->SetValueAsFloat(channel,0,capaValue);
- param->SetValueAsFloat(channel,1,injectionGain);
- ++ngenerated;
- }
-
- in.close();
-
- return ngenerated;
+ return AliMUONTrackerIO::ReadCapacitances(file,capaStore);
}
//_____________________________________________________________________________
++nmanus;
AliMpDetElement* de = AliMpDDLStore::Instance()->GetDetElement(detElemId);
- Int_t serialNumber = de->GetManuSerialFromId(manuId);
+ Int_t serialNumber = AliMpManuStore::Instance()->GetManuSerial(detElemId, manuId);
if ( serialNumber <= 0 ) continue;
AliCodeTimerAuto("");
Int_t ngenerated(0);
- // Generate fake mask values for 234 localboards and put that into
+ // Generate fake mask values for all localboards and put that into
// one single container (localBoardMasks)
- for ( Int_t i = 1; i <= 234; ++i )
+ for ( Int_t i = 1; i <= AliMpConstants::TotalNofLocalBoards(); ++i )
{
AliMUONVCalibParam* localBoard = new AliMUONCalibParamNI(1,8,i,0,0);
for ( Int_t x = 0; x < 2; ++x )
//_____________________________________________________________________________
Int_t
-AliMUONCDB::MakeRegionalTriggerMaskStore(AliMUONVStore& rtm) const
+AliMUONCDB::MakeRegionalTriggerConfigStore(AliMUONRegionalTriggerConfig& rtm) const
{
- /// Make a regional trigger masks store. Mask is set to FFFF for each local board (Ch.F.)
+ /// Make a regional trigger config store. Mask is set to FFFF for each local board (Ch.F.)
AliCodeTimerAuto("");
- Int_t ngenerated(0);
- for ( Int_t i = 0; i < 16; ++i )
- {
- AliMUONVCalibParam* regionalBoard = new AliMUONCalibParamNI(1,1,i,0,0);
-
- regionalBoard->SetValueAsInt(0,0,0xFFFF);
- ++ngenerated;
-
- rtm.Add(regionalBoard);
+ if ( ! rtm.ReadData(AliMpFiles::LocalTriggerBoardMapping()) ) {
+ AliErrorStream() << "Error when reading from mapping file" << endl;
+ return 0;
}
-
- return ngenerated;
+
+ return rtm.GetNofTriggerCrates();
}
+
//_____________________________________________________________________________
Int_t
-AliMUONCDB::MakeGlobalTriggerMaskStore(AliMUONVCalibParam& gtm) const
+AliMUONCDB::MakeGlobalTriggerConfigStore(AliMUONGlobalCrateConfig& gtm) const
{
- /// Make a global trigger masks store. All masks (disable) set to 0x00 for each Darc board (Ch.F.)
+ /// Make a global trigger config store. All masks (disable) set to 0x00 for each Darc board (Ch.F.)
AliCodeTimerAuto("");
- Int_t ngenerated(0);
-
- for ( Int_t j = 0; j < 2; ++j )
- {
- gtm.SetValueAsInt(j,0,0x00);
- ++ngenerated;
- }
- return ngenerated;
+ return gtm.ReadData(AliMpFiles::GlobalTriggerBoardMapping());
}
+
//_____________________________________________________________________________
AliMUONTriggerLut*
AliMUONCDB::MakeTriggerLUT(const char* file) const
{
/// Write a given object to OCDB
- AliCDBId id(calibpath,startRun,endRun);
- AliCDBMetaData md;
- md.SetAliRootVersion(gROOT->GetVersion());
- md.SetComment(gSystem->ExpandPathName(filename));
- md.SetResponsible("Uploaded using AliMUONCDB class");
- AliCDBManager* man = AliCDBManager::Instance();
- man->SetDefaultStorage(fCDBPath);
- man->Put(object,id,&md);
+ TString comment(gSystem->ExpandPathName(filename));
+
+ WriteToCDB(object, calibpath, startRun, endRun, comment.Data());
}
//_____________________________________________________________________________
{
/// Write a given object to OCDB
+ TString comment;
+ if ( defaultValues ) comment += "Test with default values";
+ else comment += "Test with random values";
+
+ WriteToCDB(object, calibpath, startRun, endRun, comment.Data());
+}
+
+//_____________________________________________________________________________
+void
+AliMUONCDB::WriteToCDB(TObject* object, const char* calibpath, Int_t startRun, Int_t endRun,
+ const char* comment, const char* responsible)
+{
+ /// Write a given object to OCDB
+
AliCDBId id(calibpath,startRun,endRun);
AliCDBMetaData md;
md.SetAliRootVersion(gROOT->GetVersion());
- if ( defaultValues )
- {
- md.SetComment("Test with default values");
- }
- else
- {
- md.SetComment("Test with random values");
- }
- md.SetResponsible("AliMUONCDB tester class");
-
+ md.SetComment(comment);
+ md.SetResponsible(responsible);
AliCDBManager* man = AliCDBManager::Instance();
- man->SetDefaultStorage(fCDBPath);
+ if (!man->IsDefaultStorageSet()) man->SetDefaultStorage(fCDBPath);
man->Put(object,id,&md);
}
for ( Int_t i = 0; i < nofPadNeighbours; ++i )
{
- AliMpPad* pad = static_cast<AliMpPad*>(tmp.UncheckedAt(i));
+ AliMpPad* p = static_cast<AliMpPad*>(tmp.UncheckedAt(i));
Int_t x;
// Bool_t ok =
- calibParam->PackValues(pad->GetLocation().GetFirst(),pad->GetLocation().GetSecond(),x);
+ calibParam->PackValues(p->GetLocation().GetFirst(),p->GetLocation().GetSecond(),x);
// if (!ok)
// {
// AliError("Could not pack value. Something is seriously wrong. Please check");
{
/// Write local trigger masks to OCDB
- AliMUONVStore* ltm = new AliMUON1DArray(235);
+ AliMUONVStore* ltm = new AliMUON1DArray(AliMpConstants::TotalNofLocalBoards()+1);
Int_t ngenerated = MakeLocalTriggerMaskStore(*ltm);
AliInfo(Form("Ngenerated = %d",ngenerated));
if (ngenerated>0)
//_____________________________________________________________________________
void
-AliMUONCDB::WriteRegionalTriggerMasks(Int_t startRun, Int_t endRun)
+AliMUONCDB::WriteRegionalTriggerConfig(Int_t startRun, Int_t endRun)
{
/// Write regional trigger masks to OCDB
- AliMUONVStore* rtm = new AliMUON1DArray(16);
- Int_t ngenerated = MakeRegionalTriggerMaskStore(*rtm);
+ AliMUONRegionalTriggerConfig* rtm = new AliMUONRegionalTriggerConfig();
+ Int_t ngenerated = MakeRegionalTriggerConfigStore(*rtm);
AliInfo(Form("Ngenerated = %d",ngenerated));
if (ngenerated>0)
{
- WriteToCDB("MUON/Calib/RegionalTriggerBoardMasks",rtm,startRun,endRun,true);
+ WriteToCDB("MUON/Calib/RegionalTriggerConfig",rtm,startRun,endRun,true);
}
delete rtm;
}
+
//_____________________________________________________________________________
void
-AliMUONCDB::WriteGlobalTriggerMasks(Int_t startRun, Int_t endRun)
+AliMUONCDB::WriteGlobalTriggerConfig(Int_t startRun, Int_t endRun)
{
/// Write global trigger masks to OCDB
- AliMUONVCalibParam* gtm = new AliMUONCalibParamNI(1,2,1,0,0);
+ AliMUONGlobalCrateConfig* gtm = new AliMUONGlobalCrateConfig();
- Int_t ngenerated = MakeGlobalTriggerMaskStore(*gtm);
+ Int_t ngenerated = MakeGlobalTriggerConfigStore(*gtm);
AliInfo(Form("Ngenerated = %d",ngenerated));
if (ngenerated>0)
{
- WriteToCDB("MUON/Calib/GlobalTriggerBoardMasks",gtm,startRun,endRun,true);
+ WriteToCDB("MUON/Calib/GlobalTriggerCrateConfig",gtm,startRun,endRun,true);
}
delete gtm;
}
+
//_____________________________________________________________________________
void
AliMUONCDB::WriteTriggerLut(Int_t startRun, Int_t endRun)
{
/// Writes all Trigger related calibration to CDB
WriteLocalTriggerMasks(startRun,endRun);
- WriteRegionalTriggerMasks(startRun,endRun);
- WriteGlobalTriggerMasks(startRun,endRun);
+ WriteRegionalTriggerConfig(startRun,endRun);
+ WriteGlobalTriggerConfig(startRun,endRun);
WriteTriggerLut(startRun,endRun);
WriteTriggerEfficiency(startRun,endRun);
}
WriteCapacitances(defaultValues,startRun,endRun);
WriteNeighbours(startRun,endRun);
}
+