]>
Commit | Line | Data |
---|---|---|
1 | // $Id$ | |
2 | ||
3 | /*! \page README_mchview Tracker visualisation program | |
4 | ||
5 | A visualisation program, \link mchview.cxx mchview \endlink, is now available to display, in two dimensions | |
6 | (3D visu being done within the EVE framework), the tracker chambers. | |
7 | ||
8 | \section mchview_install Installing the program | |
9 | ||
10 | \em mchview should be installed together with the rest of AliRoot. Two points should be noted though. | |
11 | \em mchview is using two external files to run properly. One is a resource file $HOME/.mchviewrc, used | |
12 | to "configure" the program and keep some history of the user interaction with it (e.g. the list of recent | |
13 | data sources used). The other one is a Root file, padstore.root (default name, can be changed with the resource file), | |
14 | which contains lots of precomputed information (like the contours that are being displayed, the geometry transformations, | |
15 | etc...). By default, \em mchview will look for this file in the current directory. If it's not there, it will | |
16 | ask if it's OK to create it. Be warned that this will take a while (but is only done once). | |
17 | If you install a new version of \em mchview, it is recommended to delete this file first, before lauching \em mchview again. | |
18 | ||
19 | \section mchview_navigation Navigating the display | |
20 | ||
21 | When starting \em mchview (and after the padstore.root file has been created for the first time), | |
22 | you'll be presented with two tabs. The first one allow to navigate within the detector, and the | |
23 | second one to select data sources to be displayed. | |
24 | The first tab offers a global view of the 10 tracking chambers. On the right you'll see | |
25 | a color palette (used in the display of data sources, see later). On the top (from left to right) are | |
26 | navigation buttons (backward and forward), and radio buttons to select the kind of view you'd like : you can | |
27 | view things for a given cathode or for a given plane. Note that in some instances those buttons maybe inactive. | |
28 | On the bottom are three groups of radio buttons, labelled "responder", "outline" and "plot", followed by data source buttons (see later) : | |
29 | Each group will contain a number of buttons corresponding to different view levels of the detector (e.g. detection element, manu, buspatch, etc...). | |
30 | In \em mchview jargon, what is displayed on screen is called a "painter". The meaning of responder, outline and plot is as follow : | |
31 | ||
32 | - responder (only one selected at a time) is the type of painter that responds to mouse events. When you mouse over responder painters, they'll | |
33 | be highlighted (bold yellow line around them), and some information about them will be displayed in the top right corner. | |
34 | If you click on a responder painter, a new view will open to show only this painter. If you meta-click (button2 on a mouse, or alt-click on a Mac for instance) | |
35 | on a responder painter, a new view will open, showing the clicked painter and its "dual" (the other cathode or other plane, depending on how the first one | |
36 | was defined). | |
37 | ||
38 | - outline (multiple selection possible) indicates which painter(s) should be outlined. When starting the program, only manus are outlined, but you | |
39 | can outline the detection elements, the chambers, etc... | |
40 | ||
41 | - plot (see later about plotting and data sources) indicates at which level you want to see the data. | |
42 | ||
43 | On the bottom left is a group button used to select which data source should be displayed (empty until you select a data source, see next section). | |
44 | Next to it will be a list of buttons to select exactly what to plot from a data source (once you've selected a data source only). | |
45 | ||
46 | Note that whenever you click on a painter and get a new view, you get use the navigation buttons (top left) to go forward and backward, as in | |
47 | a web browser for instance. Note also that the \em mchview menu bar contains a "History" menu where you can see (and pick a view) all the views that were opened. | |
48 | ||
49 | Even before selecting something to plot, at this stage you could use the program to familiarize yourself with the detector structure (aka mapping). | |
50 | ||
51 | \section mchview_datasource Specifying the data source | |
52 | ||
53 | The second tab of the \em mchview allows to select one or several data sources. | |
54 | Each data source, in turn, will provide one or more "things" to be plotted. | |
55 | The number of "things" actually depends on the data source. | |
56 | For instance, a raw data source will allow to plot the mean and the sigma of the pad charges. | |
57 | ||
58 | Be warned that this part of the program is likely to evolve, as you'll for sure notice that the interface is quite crude for the moment. | |
59 | ||
60 | From top to bottom, you'll see group of frames used to : | |
61 | ||
62 | - select from a list of recently used source | |
63 | ||
64 | - select a raw data source (either by typing in its full pathname, or opening a file dialog). | |
65 | The second line in this group is to specify that you want to calibrate the data. Check one of the calibrate buttons, and specify the | |
66 | location of the OCDB to be used. If that field is not empty (and the corresponding entry is correct, of course), | |
67 | the raw data will be calibrated. | |
68 | The last line in that group is a single check button, to instruct the program to produce histograms of the data (see \ref mchview_histogramming) | |
69 | ||
70 | - select an OCDB data source (pedestals, gains, capacitances) | |
71 | ||
72 | In all the frames, once you've selected or entered the needed information, you'll click on the "Create data source" button, | |
73 | and a new data source line will appear in the bottom of that tab (and in also in the first tab, that data source will now | |
74 | be selectable for plotting). Each data source line indicates the short name of the data source, the full path, and a list of buttons to run, stop, rewind and | |
75 | remove. Run/Stop/Rewind is only selectable for data sources where the notion of event means something (e.g. for pedestals it won't). | |
76 | The short name of the data source is as follow : | |
77 | ||
78 | - RAW# : raw data for run # | |
79 | - RAW(#) : raw data for simulated run (where run number is always 0, so # here is the number of such data sources opened at the same time) | |
80 | - HRAW# (or HRAW(#)) : as above, but with histogramming turned on | |
81 | - (H)CALZ# (or (H)CALZ(#)): as above, but for data where pedestal subtraction has been done (and no gain correction whatsoever) | |
82 | - (H)CALG# : for data where pedestal subtraction and gain correction has been applied (but no channel-per-channel capacitance correction done) | |
83 | - (H)CALC# : for data where pedestal subtraction and full gain correction (including channel-dependent capacitance correction) applied | |
84 | ||
85 | Note that all the file paths can be local ones or alien ones, if you have a correctly installed alien, and you use a short wrapped to call the \em mchview program. | |
86 | For instance : | |
87 | <pre> | |
88 | alias mchl $HOME/mchview.alien | |
89 | </pre> | |
90 | ||
91 | where mchview.alien is a little script : | |
92 | <pre> | |
93 | #!/bin/sh | |
94 | test=`alien-token-info | grep -c expired` | |
95 | if [ $test -gt 0 ]; then | |
96 | echo "Token expired. Getting a new token" | |
97 | alien-token-destroy | |
98 | alien-token-init | |
99 | elif [ ! -e /tmp/gclient_env_$UID ]; then | |
100 | echo "Getting a token" | |
101 | alien-token-init | |
102 | fi | |
103 | if [ ! -e /tmp/gclient_env_$UID ]; then | |
104 | echo "No token. Exiting" | |
105 | exit | |
106 | fi | |
107 | source /tmp/gclient_env_$UID | |
108 | export alien_API_USER=youralienuserid # only needed if different from your local username | |
109 | mchview $* | |
110 | </pre> | |
111 | ||
112 | \section mchview_histogramming Histogramming | |
113 | ||
114 | Starting at version 0.9 of the \em mchview program, you can now produce histograms of the raw adc values, while running over the | |
115 | data. For this you have to check the "histogram" button when creating the data source. Please note that turning on the histogram will slow down | |
116 | a bit the data reading. | |
117 | Histograms produced by the program are as compact as possible in order to fit in memory (so they are *not* plain TH1 objects). | |
118 | Plain TH1 objects are produced later on (on request only), and should be deleted as soon as possible (you have to realize that | |
119 | 1 million TH1 of 4096 channels has no chance to fit in memory...) | |
120 | Access to the histograms can be done through the GUI, using the right click on any painter. | |
121 | For extra flexibily, you can also use the root prompt (of the \em mchview program itself). | |
122 | First get the data object, and then ask the data object to create the histogram(s) you want. Remember to delete those histograms as soon | |
123 | as you no longer need them : | |
124 | ||
125 | <pre> | |
126 | AliMUONPainterRegistry* reg = AliMUONPainterRegistry::Instance(); | |
127 | reg->Print(); | |
128 | AliMUONVTrackerData* data = reg->FindDataSource("HRAW(1)"); | |
129 | TH1* h = data->CreateChannelHisto(707,1025,63); | |
130 | h->Draw(); | |
131 | delete h; | |
132 | h = data->CreateManuHisto(707,1025); | |
133 | etc... | |
134 | </pre> | |
135 | ||
136 | You can get histograms for all levels (except PCB) : channel, manu, bus patch, detection element, chamber. See AliMUONVTrackerData doc. for the methods. | |
137 | ||
138 | \section mchview_savingprinting Saving and printing | |
139 | ||
140 | From the File menu of the \em mchview application, you can use SaveAs and PrintAs popups to respectively save the current data sources (meaning you can quit | |
141 | the program and start again with the same filled data sources, without having to rerun on the source) and print the current display. | |
142 | Printing needs a little bit of polishing (e.g. getting a nice and descriptive title would help a lot), but it's better than nothing. | |
143 | Note that the \em mchview application now has a \em --use option to reload a previously saved .root file (same effect as using the File/Open menu). | |
144 | ||
145 | \section mchview_warnings Important warnings. Please read. | |
146 | ||
147 | IMPORTANT WARNINGS | |
148 | ||
149 | In principle, you could have several raw data sources running at the same time. This is NOT currently working. You can have several data sources opened | |
150 | at the same time, but not running at the same time. (this has to do with AliRawReader not being thread-safe for the moment). | |
151 | ||
152 | Once you have one or more data sources added, you can go back to first tab and start looking at the data ;-) | |
153 | ||
154 | This chapter is defined in the READMEmchview.txt file. | |
155 | ||
156 | */ |