]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/READMEshuttle.txt
example macros for EVE analysis using new ListAnalyser (Ben)
[u/mrichter/AliRoot.git] / MUON / READMEshuttle.txt
index e519dd09e70acbb6d8f9e87ed6bf6d0f599494af..8bd1b899daea9ad8fdda170badb80f4491df6449 100644 (file)
@@ -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>
 
 
@@ -57,17 +65,35 @@ Two options here. You can either use a pre-done set of ASCII pedestals files (ge
  
 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) :
@@ -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 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>
@@ -139,13 +164,13 @@ 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
-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) :
@@ -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,6 +225,22 @@ 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.
 
 */