]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/READMECDB
Better selection between menus
[u/mrichter/AliRoot.git] / MUON / READMECDB
CommitLineData
aa9dd72b 1$Id$
2
e661d480 3The Offline Condition DataBase is described extensively on ALICE Offline pages.
4
de01cdf0 5Here you'll find only information relevant to the AliMUONCDB class
6 (formerly MUONCDB.C macro), which defines a set of functions to read/write
7 MUON information to this CDB. Those functions are not meant to be used
8 as black boxes.
9Please have a closer look before using (especially the ones writing to the CDB...)
e661d480 10
11-------
12Calibration data objects
13-------
14
15We've designed generic data containers to store calibration information,
de01cdf0 16tailored to the way we usually access MUON tracker data, that is,
17indexed by the pair (detElemId,manuId).
18This container is called AliMUONV2DStore. You can attach a TObject to every and
19each pair (detElemId,manuId).
20For the moment, that TObject is generally of AliMUONVCalibParam type,
21 which handles a given number of channels (64 typically) as a group.
22There's also an AliMUONV1DStore for data types which only requires indexing
23by 1 value (like trigger masks for instance).
24As the class names suggest (V...), those classes are only interfaces.
25Concrete ones are AliMUON2DMap (used instead of a vector as detElemId are
26not contiguous) for the V2DStore, AliMUON1DArray (for things where indices are
27contiguous) and AliMUON1DMap for the V1DStore, and CalibParamNI (VCalibParam
28storing n integer per channel), and CalibParamNF
29(VCalibParam storing n floats per channel).
e661d480 30
de01cdf0 31One exception are the HV values from DCS, which are stored "as they come" from
32the shuttle-dcs interface, as a TMap, where the key is the aliasname (TString),
33and the value a TObjArray of AliDCSValue.
e661d480 34
de01cdf0 35For trigger, the same virtual container idea applies,
36except we're using 1D container (AliMUONV1DStore, for masks) or specific ones (for LUT
37and efficiency)
e661d480 38
39--------
40CDB location
41--------
42
de01cdf0 43One very important notion is that of the DefaultStorage (which you might set with
e661d480 44 AliCDBManager::Instance()->SetDefaultStorage(path)), which tells the CDB library where
45 the CDB is sitting (either locally on disk, or on the grid).
46
de01cdf0 47For local tests, path will be most likely = local://$ALICE_ROOT/MUON
48(i.e. there is, in CVS a slim version of the calibration objects needed
e661d480 49 for running the MUON code), or local://$ALICE_ROOT/SHUTTLE/TestShuttle/TestCDB for Shuttle testing.
50
51-------
52Writing to CDB
53-------
54
de01cdf0 55AliMUONCDB class is used to populate the CDB with fake calibration objects for testing purposes.
e661d480 56Real calibration data will normally be handled by the Shuttle (see READMEshuttle).
57
de01cdf0 58The various WriteXXX() methods may be used to populate MUON tracker and trigger
59information.
60A full set of calibration data types can be created from scratch using, from
61the Root prompt (from within the $ALICE_ROOT/MUON directory to get the correct
62list of libraries loaded by the loadlibs.C macro)
63
64root[0] AliMUONCDB cdb;
65root[1] Int_t startRun = 0;
66root[2] Bool_t defaultValues = kTRUE;
67root[3] cdb.WriteTrigger(startRun);
68root[4] cdb.WriteTracker(defaultValues,startRun);
69
e661d480 70------
71Reading the CDB
72------
73
74The actual reading is encapsulated into AliMUONCalibrationData class.
75e.g. to read pedestals for run 4567, one would do :
76
77AliCDBManager::Instance()->SetDefaultStorage(cdbPath);
78AliMUONCalibrationData cd(4567);
79AliMUONV2DStore* ped = cd.Pedestals();
80
de01cdf0 81If you want to plot calibration data (not terribly usefull as it's a really global view),
82 use the Plot() function of AliMUONCDB, e.g.
e661d480 83
de01cdf0 84AliMUONCDB cdb(cdbpath);
85cdb.Plot(*ped,"pedestal")
e661d480 86
87which will create 2 histograms : pedestal_0 (mean) and pedestal_1 (sigma).
88
de01cdf0 89You might also be interested in the AliMUONStoreHelper::Diff() method
90which generates an AliMUONV2DStore containing the difference
91(either absolute or relative) of two AliMUONV2DStore.
e661d480 92
93