<pre>
detName runType task to be done worker class (AliMUONVSubprocessor child)
--------------------------------------------------------------------------------------------------------
-MCH PEDESTAL_RUN read ASCII ped files AliMUONPedestalSubprocessor
+MCH PEDESTAL read ASCII ped files AliMUONPedestalSubprocessor
and put them into OCDB
MCH GMS read GMS alignment files AliMUONGMSSubprocessor
MCH PHYSICS read DCS HV values and AliMUONHVSubprocessor
put them into OCDB
-MCH ELECTRONICS_CALIBRATION_RUN read ASCII gain files prototype only = AliMUONGainSubprocessor
+MCH CALIBRATION read ASCII gain files AliMUONGainSubprocessor
and put them into OCDB
+
+MTR CALIBRATION read date files (masks, AliMUONTriggerSubprocessor
+ crates, and LUT)
+ and put them in OCDB
-MTR to be defined to be defined to be done
+MTR PHYSICS read date files as in AliMUONTriggerDCSSubprocessor
+ CALIBRATION,
+ read DCS HV and currents
+ and put them in OCDB
+
</pre>
We've written an AliMUONPedestalEventGenerator which creates fake pedestal events. The pedestal values
are taken from the Offline Condition DataBase (OCDB) (which is itself fakely filled
-using the WritePedestals() method of AliMUONCDB class
+using the static WritePedestals() method of AliMUONCDB class
-So first generate a valid pedestal CDB entry by using the AliMUONCDB class
+So first generate a valid pedestal CDB entry by using the AliMUONCDB class. There's one
+ little trick : you should first point to the "default" OCDB (local://$ALICE_ROOT/OCDB) in
+ order to get the mapping loaded, then only you can play with another OCDB.
+ Or, alternatively, you can put the mapping stuff in the test OCDB, like this :
+
+<pre>
+root[] AliMpDDLStore::ReadData(); // read mapping from ASCII files
+root[] const char* cdbpath="local://$ALICE_ROOT/OCDB/SHUTTLE/TestShuttle/TestCDB"; // where to put the CDB
+root[] AliCDBManager::Instance()->SetDefaultStorage(cdbpath);
+root[] AliMpCDB::WriteMpSegmentation();
+root[] AliMpCDB::WriteDDLStore();
+</pre>
+If you've not put the mapping in the test database, then you must start with the default OCDB, load the mapping, and then only switch to the
+ test database :
+
<pre>
-root[] const char* cdbpath="local://$ALICE_ROOT/SHUTTLE/TestShuttle/TestCDB"; // where to put the CDB
-root[] AliMUONCDB cdb(cdbpath)
+root[] AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT/OCDB"); // only if you've not put the mapping in test OCDB
+root[] AliCDBManager::Instance()->SetRun(0); // only if you've not put the mapping in test OCDB
+root[] AliMpCDB::LoadDDLStore(); // only if you've not put the mapping in test OCDB
+// below are lines to be executed whatever you did with the mapping...
+root[] const char* cdbpath="local://$ALICE_ROOT/OCDB/SHUTTLE/TestShuttle/TestCDB"; // where to put the CDB
+root[] AliCDBManager::Instance()->SetDefaultStorage(cdbpath);
root[] Bool_t defaultValues = kFALSE; // to generate random values instead of plain zeros...
root[] Int_t startRun = 80;
root[] Int_t endRun = 80;
-root[] cdb.WritePedestals(defaultValues, startRun, endRun);
+root[] AliMUONCDB::WritePedestals(defaultValues, startRun, endRun);
</pre>
Expected output is (don't worry about the warnings, they are harmless) :
I-AliMUONCDB::MakePedestalStore: 16828 Manus and 1064008 channels.
I-AliMUONCDB::WritePedestals: Ngenerated = 1064008
I-AliCDBManager::Init: AliEn classes enabled in Root. AliCDBGrid factory registered.
-I-AliCDBManager::SetDefaultStorage: Setting Default storage to: local://$ALICE_ROOT/SHUTTLE/TestShuttle/TestCDB
+I-AliCDBManager::SetDefaultStorage: Setting Default storage to: local://$ALICE_ROOT/OCDB/SHUTTLE/TestShuttle/TestCDB
I-AliCDBLocal::PutEntry: CDB object stored into file ($ALICE_ROOT)/SHUTTLE/TestShuttle/TestCDB/MUON/Calib/Pedestals/Run80_80_v0_s0.root
</pre>
Usage (from the Root prompt) :
<pre>
+AliMpCDB::LoadDDLStore2(); // load mapping from "default" OCDB=local://$ALICE_ROOT/OCDB
AliCDBManager::Instance()->SetDefaultStorage(cdbpath); // so you will read
// back pedestals values generated in the previous step
const char* dateFileName = "raw.date"; // base filename for the output
// FIXME : instructions below should be replaced with usage of MUONTRKda
//
-The raw.date.LDC* files are then processed using the makeped online program
-(currently found, pending an agreement on where to put online programs under cvs,
- under /afs/cern.ch/user/a/abaldiss/public/v16; Please contact Alberto to check
- it's the latest version) which outputs manus-*.ped ASCII files (one per LDC) :
+The raw.date.LDC* files are then processed using the DA online program (which is not built by default, but must be made
+ explicitely using make daqDA-MCH from $ALICE_ROOT, and requires some DATE setup..., see \ref README_mchda )
<pre>
- makeped -f raw.date.LCDi -a LDCi.ped (i=0,1,2,3)
+ MUONTRKda.exe -f raw.date.LCDi -a LDCi.ped (i=0,1,2,3)
(repeat for each LDC)
</pre>
entry by using the AliMUONCDB class, from the Root prompt:
<pre>
-const char* cdbpath="local://$ALICE_ROOT/SHUTTLE/TestShuttle/TestCDB"; // where to put the CDB
-AliMUONCDB cdb(cdbpath)
+const char* cdbpath="local://$ALICE_ROOT/OCDB/SHUTTLE/TestShuttle/TestCDB"; // where to put the CDB
+root[] AliCDBManager::Instance()->SetDefaultStorage(cdbpath);
Bool_t defaultValues = kFALSE; // to generate random values instead of plain zeros...
Int_t gainRun = 80;
Int_t pedRun = 81;
-cdb.WritePedestals(defaultValues, pedRun, pedRun);
-cdb.WriteGains(defaultValues, gainRun, gainRun);
+AliMUONCDB::WritePedestals(defaultValues, pedRun, pedRun);
+AliMUONCDB::WriteGains(defaultValues, gainRun, gainRun);
</pre>
Expected output is (don't worry about the warnings, they are harmless) :
Usage (again, from the Root prompt) :
<pre>
-const char* cdbpath="local://$ALICE_ROOT/SHUTTLE/TestShuttle/TestCDB"; // where to get the CDB
+const char* cdbpath="local://$ALICE_ROOT/OCDB/SHUTTLE/TestShuttle/TestCDB"; // where to get the CDB
AliCDBManager::Instance()->SetDefaultStorage(cdbpath); // so you will read
// back pedestals and gain values generated in the previous step
const char* dateFileName = "raw.date"; // base filename for the output
module Id, are put in a TClonesArray and saved in the Root file with a
key "GMSarray".
+
+\section shuttle_s7 Trigger DCS
+
+HV and currents DCS values are created in CreateDCSAliasMap() of TestMUONPreprocessor.C
+As done in Tracker HV, you might want to modify this function to create a given set of
+error conditions in order to test whether the TriggerDCSSubprocessor is reacting
+properly to those errors.
+
+COMMENT: the trigger subprocessor requires trigger .dat files to be present.
+In order to test only the DCS values when the remaining trigger files are not present,
+a workaround is put in the TestMUONPreprocessor.C which creates fake date files.
+This results in some "ERROR" flags appearing in the LOG file (for masks and LUT),
+which are absolutely expected.
+The fake date files are automatically removed at the end of the macro.
+
+
This chapter is defined in the READMEshuttle.txt file.
*/