#if !defined(__CINT__) || defined(__MAKECINT__)
+/// \ingroup macros
+/// \file TestMUONPreprocessor.C
+/// \brief The macro for testing the shuttle preprocessors
+///
/// This macro runs the test preprocessor for MUON.
/// It uses AliTestShuttle to simulate a full Shuttle process
///
/// here by CreateDCSAliasMap() for tracker HV).
///
/// To play with it, you'll have to set/modify several lines, to
-/// a) select input files, using shuttle->AddInputFile()
-/// b) select run type, using shuttle->AddInputRunParameter() (the run type
-/// dictates which task is really performed by the MUONPreprocessor
+/// - a) select input files, using shuttle->AddInputFile()
+/// - b) select run type, using shuttle->AddInputRunParameter() (the run type
+/// dictates which task is really performed by the MUONPreprocessor
///
/// You must load relevant libraries (besides normal MUON ones) before
/// compiling this macro :
-///
+/// <pre>
/// gSystem->Load("$ALICE_ROOT/SHUTTLE/TestShuttle/libTestShuttle");
/// gSystem->Load("libMUONshuttle.so");
+/// </pre>
///
+/// For more information on usage, please see the \ref README_shuttle page.
///
-/// For more information on usage, please see READMEshuttle.
-///
-// By Laurent Aphecetche, SUBATECH Nantes
+/// \author Laurent Aphecetche, SUBATECH Nantes
#include "TestMUONPreprocessor.h"
#include "TRandom.h"
#endif
-void TestMUONPreprocessor(Int_t runNumber=80, const char* runType="PEDESTAL_RUN")
+void TestMUONPreprocessor(Int_t runNumber=80, const char* runType="CALIBRATION")
{
// runType can be :
//
- // PEDESTAL_RUN -> pedestals
- // ELECTRONICS_CALIBRATION_RUN -> gains
+ // PEDESTAL -> pedestals
+ // CALIBRATION -> gains
// PHYSICS -> HV
// GMS
AliTestShuttle::SetMainCDB(inputCDB);
AliTestShuttle::SetMainRefStorage("local://$ALICE_ROOT/SHUTTLE/TestShuttle/TestReference");
- // Create DCS HV aliases
- TMap* dcsAliasMap = CreateDCSAliasMap(inputCDB);
+ TString rt(runType);
+ rt.ToUpper();
- if ( dcsAliasMap )
+ if ( rt.Contains("PHYSICS") )
{
- // now give the alias map to the shuttle
- shuttle->SetDCSInput(dcsAliasMap);
- }
+ // Create DCS HV aliases
+ TMap* dcsAliasMap = CreateDCSAliasMap(inputCDB, runNumber);
+ if ( dcsAliasMap )
+ {
+ // now give the alias map to the shuttle
+ shuttle->SetDCSInput(dcsAliasMap);
+ }
+ }
printf("Test Shuttle temp dir: %s\n", AliShuttleInterface::GetShuttleTempDir());
printf("Test Shuttle log dir: %s\n", AliShuttleInterface::GetShuttleLogDir());
// AddInputFile(<system>, <detector>, <id>, <source>, <local-file>)
// In this example we add 4 files originating from different LDCs but with the same id (PEDESTALS)
- shuttle->AddInputFile(AliTestShuttle::kDAQ,"MCH","PEDESTALS","LDC0","$ALICE_ROOT/MUON/data/LDC0.ped");
- shuttle->AddInputFile(AliTestShuttle::kDAQ,"MCH","PEDESTALS","LDC1","$ALICE_ROOT/MUON/data/LDC1.ped");
- shuttle->AddInputFile(AliTestShuttle::kDAQ,"MCH","PEDESTALS","LDC2","$ALICE_ROOT/MUON/data/LDC2.ped");
- shuttle->AddInputFile(AliTestShuttle::kDAQ,"MCH","PEDESTALS","LDC3","$ALICE_ROOT/MUON/data/LDC3.ped");
+// shuttle->AddInputFile(AliTestShuttle::kDAQ,"MCH","PEDESTALS","LDC0","$ALICE_ROOT/MUON/data/LDC0.ped");
+// shuttle->AddInputFile(AliTestShuttle::kDAQ,"MCH","PEDESTALS","LDC1","$ALICE_ROOT/MUON/data/LDC1.ped");
+// shuttle->AddInputFile(AliTestShuttle::kDAQ,"MCH","PEDESTALS","LDC2","$ALICE_ROOT/MUON/data/LDC2.ped");
+// shuttle->AddInputFile(AliTestShuttle::kDAQ,"MCH","PEDESTALS","LDC3","$ALICE_ROOT/MUON/data/LDC3.ped");
+
+ shuttle->AddInputFile(AliTestShuttle::kDAQ,"MCH","PEDESTALS","LDC0","$HOME/Alice/Online/GAINRUN/raw.81.LDC0.ped");
+ shuttle->AddInputFile(AliTestShuttle::kDAQ,"MCH","PEDESTALS","LDC1","$HOME/Alice/Online/GAINRUN/raw.81.LDC1.ped");
+ shuttle->AddInputFile(AliTestShuttle::kDAQ,"MCH","PEDESTALS","LDC2","$HOME/Alice/Online/GAINRUN/raw.81.LDC2.ped");
+// shuttle->AddInputFile(AliTestShuttle::kDAQ,"MCH","PEDESTALS","LDC3","$HOME/Alice/Online/GAINRUN/raw.81.LDC3.ped");
- shuttle->AddInputFile(AliTestShuttle::kDAQ,"MCH","GAINS","LDC0","$ALICE_ROOT/MUON/data/LDC0.gain");
- shuttle->AddInputFile(AliTestShuttle::kDAQ,"MCH","GAINS","LDC1","$ALICE_ROOT/MUON/data/LDC1.gain");
- shuttle->AddInputFile(AliTestShuttle::kDAQ,"MCH","GAINS","LDC2","$ALICE_ROOT/MUON/data/LDC2.gain");
- shuttle->AddInputFile(AliTestShuttle::kDAQ,"MCH","GAINS","LDC3","$ALICE_ROOT/MUON/data/LDC3.gain");
+// shuttle->AddInputFile(AliTestShuttle::kDAQ,"MCH","GAINS","LDC0","$HOME/Desktop/Jean-Luc Charvet/run000001191_MCH_ldc-MTRK-S1-0_GAINS");
+
+// shuttle->AddInputFile(AliTestShuttle::kDAQ,"MCH","GAINS","LDC0","$HOME/Desktop/Jean-Luc Charvet/run000001183_MCH_ldc-MTRK-S1-0_GAINS");
+
+ shuttle->AddInputFile(AliTestShuttle::kDAQ,"MCH","GAINS","LDC0","$HOME/Alice/Online/GAINRUN/LDC0.gain");
+// shuttle->AddInputFile(AliTestShuttle::kDAQ,"MCH","GAINS","LDC1","$ALICE_ROOT/MUON/data/LDC1.gain");
+// shuttle->AddInputFile(AliTestShuttle::kDAQ,"MCH","GAINS","LDC2","$ALICE_ROOT/MUON/data/LDC2.gain");
+// shuttle->AddInputFile(AliTestShuttle::kDAQ,"MCH","GAINS","LDC3","$ALICE_ROOT/MUON/data/LDC3.gain");
// and GMS file
shuttle->AddInputFile(AliTestShuttle::kDCS,"MCH","GMS","GMS","$ALICE_ROOT/MUON/data/GMS.root");
shuttle->AddInputFile(AliTestShuttle::kDAQ,"MTR","REGIONAL","LDC0","$ALICE_ROOT/MUON/data/MtgRegionalCrate-1.dat");
shuttle->AddInputFile(AliTestShuttle::kDAQ,"MTR","GLOBAL","LDC0","$ALICE_ROOT/MUON/data/MtgGlobalCrate-1.dat");
shuttle->AddInputFile(AliTestShuttle::kDAQ,"MTR","LUT","LDC0","$ALICE_ROOT/MUON/data/MtgLocalLut-1.dat");
- shuttle->AddInputFile(AliTestShuttle::kDAQ,"MTR","CURRENT","LDC0","$ALICE_ROOT/MUON/data/MtgCurrent.dat");
+ shuttle->AddInputFile(AliTestShuttle::kDAQ,"MTR","EXPORTED","LDC0","$ALICE_ROOT/MUON/data/ExportedFiles.dat");
// The shuttle can read run parameters stored in the DAQ run logbook.
// To test it, we must provide the run parameters manually. They will be retrieved in the preprocessor
shuttle->Process();
}
-TMap* CreateDCSAliasMap(const char* inputCDB)
+TMap* CreateDCSAliasMap(const char* inputCDB, Int_t runNumber)
{
/// Creates a DCS structure for MUON Tracker HV
///
{
undefStorage = kTRUE;
man->SetDefaultStorage(inputCDB);
+ man->SetRun(runNumber);
}
// Load mapping