]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/READMEshuttle.txt
Minor changes
[u/mrichter/AliRoot.git] / MUON / READMEshuttle.txt
index 7c11ffe8d4b75cf854290e31f18f7456ea5d6c40..602201313feebea569be121e29467de4220f4e55 100644 (file)
@@ -2,7 +2,7 @@
 
 /*! 
 
-\page README_shuttle README shuttle 
+\page README_shuttle Shuttle 
 
 How to test the Shuttle preprocessor(s) for MUON.
 
@@ -33,7 +33,7 @@ Depending on how this one is constructed, and depending on the runtype, it will
 <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
@@ -42,10 +42,18 @@ MCH       GMS                         read GMS alignment files  AliMUONGMSSubpro
 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>
 
 
@@ -59,10 +67,28 @@ We've written an AliMUONPedestalEventGenerator which creates fake pedestal event
 are taken from the Offline Condition DataBase (OCDB) (which is itself fakely filled
 using the 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[] 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[] AliMUONCDB cdb(cdbpath)
 root[] Bool_t defaultValues = kFALSE; // to generate random values instead of plain zeros...
 root[] Int_t startRun = 80;
@@ -78,7 +104,7 @@ I-AliMUONCDB::ManuList: Manu List generated.
 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>
 
@@ -86,6 +112,7 @@ Then use the AliMUONPedestalEventGenerator to produce simulated pedestal events.
 
 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
@@ -106,13 +133,11 @@ per LDC, as will be used in real life), the latter ones being roughly 100 MB eac
 // 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 READMEmchda.txt )
  
 <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>
@@ -139,7 +164,7 @@ So first you need to generate a valid pedestal CDB entry and a valid gain CDB
 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
+const char* cdbpath="local://$ALICE_ROOT/OCDB/SHUTTLE/TestShuttle/TestCDB"; // where to put the CDB
 AliMUONCDB cdb(cdbpath)
 Bool_t defaultValues = kFALSE; // to generate random values instead of plain zeros...
 Int_t gainRun = 80;
@@ -157,7 +182,7 @@ will be n x 4 date files (n is the number of fake injections, currently 9, and 4
 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
@@ -200,5 +225,23 @@ The matrices of TGeoHMatrix type, with TObject::fUniqueID equal to the geometry
 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.
+
 */