]>
Commit | Line | Data |
---|---|---|
518eb852 | 1 | // $Id$ |
2ce5e44e | 2 | |
518eb852 | 3 | /*! |
4 | ||
91509ec6 | 5 | \page README_calib Calibration |
518eb852 | 6 | |
a5cad1a4 | 7 | |
2ce5e44e | 8 | The Offline Condition DataBase is described extensively on ALICE Offline pages. |
9 | ||
a5cad1a4 | 10 | Here you'll find mainly information relevant to the MUON objects in the OCDB, |
11 | and to the AliMUONCDB class (formerly MUONCDB.C macro), which defines a set of functions to read/write | |
2ce5e44e | 12 | MUON information to this CDB. Those functions are not meant to be used |
13 | as black boxes. | |
518eb852 | 14 | |
2ce5e44e | 15 | Please have a closer look before using (especially the ones writing to the CDB...) |
518eb852 | 16 | |
a5cad1a4 | 17 | \section calib_s0 MUON objects in OCDB |
18 | ||
19 | <table> | |
20 | <tr><td>OCDB path</td><td>Subsystem</td><td>Run Type</td><td>FileID</td><td>DAQsource</td><td>Update frequency</td><td>Appox. Size</td></tr> | |
21 | <tr><td>MUON/Calib/RecoParam</td><td>both</td><td>N/A</td><td>N/A</td><td>N/A</td><td>Few per year ?</td><td>5 KB</td></tr> | |
22 | <tr><td>MUON/Calib/MappingData</td><td>both</td><td>N/A</td><td>N/A</td><td>N/A</td><td>Once for all once debugged</td><td>1 MB</td></tr> | |
23 | <tr><td>MUON/Calib/MappingRunData</td><td>both</td><td>N/A</td><td>N/A</td><td>N/A</td><td>Between zero and few per year</td><td>100 KB</td></tr> | |
24 | ||
25 | <tr><td>MUON/Calib/Capacitances</td><td>MCH</td><td>N/A</td><td>N/A</td><td>N/A</td><td>Once for all once debugged</td><td>7 MB</td></tr> | |
26 | <tr><td>MUON/Calib/Gains</td><td>MCH</td><td>CALIBRATION</td><td>GAINS</td><td>LDC</td><td>Once per calibration run</td><td>10 MB</td></tr> | |
27 | <tr><td>MUON/Calib/HV</td><td>MCH</td><td>PHYSICS</td><td>N/A</td><td>N/A</td><td>Once per physics run</td><td>Depends on the number of trips, 10-20 KB normally</td></tr> | |
28 | <tr><td>MUON/Calib/Neighbours</td><td>MCH</td><td>N/A</td><td>N/A</td><td>N/A</td><td>As MappingData</td><td>10 MB</td></tr> | |
29 | <tr><td>MUON/Calib/OccupancyMap</td><td>MCH</td><td>PHYSICS</td><td>OCCUPANCY</td><td>MON</td><td>Once per physics run</td><td>Depends on the number of bad manus, normally 100-200 KB</td></tr> | |
30 | <tr><td>MUON/Calib/Pedestals</td><td>MCH</td><td>PEDESTAL</td><td>PEDESTALS</td><td>LDC</td><td>Once per pedestal run</td><td>7 MB</td></tr> | |
31 | <tr><td>MUON/Calib/RejectList</td><td>MCH</td><td>N/A</td><td>N/A</td><td>N/A</td><td>Few per year</td><td>Depends on the number of bad elements</td></tr> | |
32 | ||
33 | <tr><td>MUON/Calib/GlobalTriggerCrateConfig</td><td>MTR</td><td>?</td><td>?</td><td>?</td><td>?</td><td>?</td></tr> | |
34 | <tr><td>MUON/Calib/LocalTriggerBoardMasks</td><td>MTR</td><td>?</td><td>?</td><td>?</td><td>?</td><td>?</td></tr> | |
35 | <tr><td>MUON/Calib/RegionalTriggerConfig</td><td>MTR</td><td>?</td><td>?</td><td>?</td><td>?</td><td>?</td></tr> | |
36 | <tr><td>MUON/Calib/TriggerDCS</td><td>MTR</td><td>?</td><td>?</td><td>?</td><td>?</td><td>?</td></tr> | |
37 | <tr><td>MUON/Calib/TriggerEfficiency</td><td>MTR</td><td>?</td><td>?</td><td>?</td><td>?</td><td>?</td></tr> | |
38 | <tr><td>MUON/Calib/TriggerLut</td><td>MTR</td><td>?</td><td>?</td><td>?</td><td>?</td><td>?</td></tr> | |
39 | </table> | |
40 | ||
41 | In addition, the following ones were used in the past, but have been discontinued (but are still present in the OCDB, as object removal is not allowed). | |
42 | ||
43 | <table> | |
44 | <tr><td>OCDB path</td></tr> | |
45 | <tr><td>MUON/Calib/DDLStore</td></tr> | |
46 | <tr><td>MUON/CalibGlobalTriggerBoardMasks/</td></tr> | |
47 | <tr><td>MUON/Calib/Mapping</td></tr> | |
48 | <tr><td>MUON/Calib/RegionalTriggerBoardMasks</td></tr> | |
49 | <tr><td>MUON/Calib/RegionalTriggerConfig?</td></tr> | |
50 | </table> | |
51 | ||
52 | \section calib_s1 Calibration data object classes | |
2ce5e44e | 53 | |
54 | We've designed generic data containers to store calibration information, | |
55 | tailored to the way we usually access MUON tracker data, that is, | |
56 | indexed by the pair (detElemId,manuId). | |
a5cad1a4 | 57 | This container is called AliMUONVStore. You can attach a TObject to every and |
2ce5e44e | 58 | each pair (detElemId,manuId). |
518eb852 | 59 | |
2ce5e44e | 60 | For the moment, that TObject is generally of AliMUONVCalibParam type, |
61 | which handles a given number of channels (64 typically) as a group. | |
a5cad1a4 | 62 | There's also 1D versions of AliMUONVStore for data types which only requires indexing |
2ce5e44e | 63 | by 1 value (like trigger masks for instance). |
518eb852 | 64 | |
2ce5e44e | 65 | As the class names suggest (V...), those classes are only interfaces. |
66 | Concrete ones are AliMUON2DMap (used instead of a vector as detElemId are | |
a5cad1a4 | 67 | not contiguous), AliMUON1DArray (for things where indices are |
68 | contiguous) and AliMUON1DMap, and CalibParamNI (VCalibParam | |
69 | storing n integer per channel), CalibParamNF | |
70 | (VCalibParam storing n floats per channel), and CalibParamND (VCalibParam storing n doubles per channel). | |
2ce5e44e | 71 | |
72 | One exception are the HV values from DCS, which are stored "as they come" from | |
73 | the shuttle-dcs interface, as a TMap, where the key is the aliasname (TString), | |
74 | and the value a TObjArray of AliDCSValue. | |
75 | ||
518eb852 | 76 | \section calib_s2 CDB location |
2ce5e44e | 77 | |
78 | One very important notion is that of the DefaultStorage (which you might set with | |
79 | AliCDBManager::Instance()->SetDefaultStorage(path)), which tells the CDB library where | |
80 | the CDB is sitting (either locally on disk, or on the grid). | |
81 | ||
162637e4 | 82 | For local tests, path will be most likely = <code> "local://$ALICE_ROOT/OCDB"</code> |
a5cad1a4 | 83 | (i.e. there is, in svn a slim version of the calibration objects needed |
162637e4 | 84 | for running the MUON code), or <code> "local://$ALICE_ROOT/OCDB/SHUTTLE/TestShuttle/TestCDB </code> |
39012d35 | 85 | for Shuttle testing. |
518eb852 | 86 | |
39012d35 | 87 | When using alien, the path definition can be eg. |
a5cad1a4 | 88 | <code> "alien://folder=/alice/data/2009/OCDB" </code>. |
39012d35 | 89 | |
518eb852 | 90 | \section calib_s3 Writing to CDB |
2ce5e44e | 91 | |
92 | AliMUONCDB class is used to populate the CDB with fake calibration objects for testing purposes. | |
93 | Real calibration data will normally be handled by the Shuttle (see READMEshuttle). | |
94 | ||
a99c3449 | 95 | The various WriteXXX() static methods may be used to populate MUON tracker and trigger |
2ce5e44e | 96 | information. |
97 | A full set of calibration data types can be created from scratch using, from | |
98 | the Root prompt (from within the $ALICE_ROOT/MUON directory to get the correct | |
99 | list of libraries loaded by the loadlibs.C macro) | |
100 | ||
518eb852 | 101 | <pre> |
a5cad1a4 | 102 | root[0] AliMpCDB::LoadAll2(); |
a99c3449 | 103 | root[1] Int_t startRun = 0; |
104 | root[2] Bool_t defaultValues = kTRUE; | |
105 | root[3] AliMUONCDB::WriteTrigger(startRun); | |
106 | root[4] AliMUONCDB::WriteTracker(defaultValues,startRun); | |
518eb852 | 107 | </pre> |
108 | ||
2ce5e44e | 109 | |
518eb852 | 110 | \section calib_s4 Reading the CDB |
2ce5e44e | 111 | |
112 | The actual reading is encapsulated into AliMUONCalibrationData class. | |
a5cad1a4 | 113 | e.g. to read pedestals for run 67138, one would do : |
2ce5e44e | 114 | |
518eb852 | 115 | <pre> |
2ce5e44e | 116 | AliCDBManager::Instance()->SetDefaultStorage(cdbPath); |
a5cad1a4 | 117 | AliMUONVStore* ped = AliMUONCalibrationData::CreatePedestals(67138); |
518eb852 | 118 | </pre> |
2ce5e44e | 119 | |
120 | If you want to plot calibration data (not terribly usefull as it's a really global view), | |
a99c3449 | 121 | use the Plot() function of AliMUONCDB (this require to load the segmentation), e.g. |
2ce5e44e | 122 | |
518eb852 | 123 | <pre> |
a99c3449 | 124 | AliCDBManager::Instance()->SetRun(0); |
125 | AliMUONCDB::LoadMapping(kTRUE); | |
126 | AliMUONCDB::Plot(*ped,"pedestal"); | |
518eb852 | 127 | </pre> |
2ce5e44e | 128 | |
129 | which will create 2 histograms : pedestal_0 (mean) and pedestal_1 (sigma). | |
130 | ||
a5cad1a4 | 131 | A more usefull way to look at calibration data might be the \link README_mchview mchview \endlink program. |
2ce5e44e | 132 | |
095ae052 | 133 | \section calib_s5 A note on status and status map |
134 | ||
135 | A special kind of object is the status map. It would deserve a full documentation | |
136 | (and that will need to be done some day), but for the moment, please have a look | |
137 | at the MUONStatusMap.C macro which can let you play with it. For more information, | |
138 | have a look at the AliMUONPadStatusMaker and AliMUONPadStatusMapMaker. | |
139 | ||
a5cad1a4 | 140 | $Id$ |
141 | ||
518eb852 | 142 | */ |
2ce5e44e | 143 |