The Weekly Analysis Coordinator (WAC) is a rotating position of 1 week each. The wac is required to perform their functions every morning. THIS INCLUDES WEEKENDS! The plots need to be up by NOON so that people can think about the results for the meeting.
- 1 Jobs of the WAC
- 2 Special Cases
- 3 Raw Data Files
- 4 Backend Information
- 5 Slugs
Jobs of the WAC
A) Check the new runs
Check all the runs taken since the last wac summary.[apar@adaql4 ~/prex/pan]$ view [runnumber]
Do a reprompt if there is any doubt about the initial offline analysis. This is not necessary for every run.[apar@adaql4 ~/prex/pan]$ reprompt [runnumber]
Look carefully through the output and try to spot problems. For example, Ahmed noticed large outliers in the bcm double differences and this helped us to learn that the dac glitch on the 18 bit ADCs was causing problems.
B) Update the run database
For every run the database of runs must be updated. The database structure is as follows.+-------------------+------------+------+-----+-------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------------+------------+------+-----+-------------------+----------------+ | WACentriesID | int(11) | | PRI | NULL | auto_increment | | RunInfo_RunNumber | int(11) | YES | MUL | NULL | | | WACname | tinytext | YES | | NULL | | | WACEntryTime | timestamp | YES | | CURRENT_TIMESTAMP | | | WACcomment | longtext | YES | | NULL | | | LeftDETeventLo | int(11) | YES | | NULL | | | LeftDETeventHi | int(11) | YES | | NULL | | | RightDETeventLo | int(11) | YES | | NULL | | | RightDETeventHi | int(11) | YES | | NULL | | | Slug | int(11) | YES | | NULL | | | SlowSign | tinyint(2) | YES | | NULL | | | Production | tinyint(4) | YES | | NULL | | +-------------------+------------+------+-----+-------------------+----------------+
The database can be interacted with using the addWACentry.pl script in the wac directory:addWACentry.pl -n [username] -r [runnumber]
C) Produce the slug summary
Once the database is up to date, the slug summary is produced using the summary.pl script in the wac directory. This will produce the summary root (~/prex/ROOTfiles/parity10_000X_slug.root) file and the summary text file (http://www.jlab.org/~adaq/prex/prompt_output/).summary.pl -t slug -s [slugnumber]
D) Produce the slug plots
Once the slug summary has been produced, the slug plots are produced using the makePlots.pl script in the wac directory. This will produce plots at http://www.jlab.org/~adaq/prex/slug_output/[apar@adaql4 ~]$ gowac ****** This directory for WAC analysis (WACs only, please) ****** [apar@adaql4 ~/prex/wac]$ [apar@adaql4 ~/prex/wac]$ makePlots.pl --type slug --slug 6
Beware of clobbering, don't run two instances of makePlots.pl at the same time. They WILL clobber each other.
E) Update the slug list
Update the details in the slugs table.
F) Make the cumulative slug plots
In order to make the cumulative slug plots, you must go to the WAC directory:[apar@adaql4 ~]$ gowac ****** This directory for WAC analysis (WACs only, please) ****** [apar@adaql4 ~/prex/wac]$
Run the following command with the parameter (in this case 9) being the latest slug number.[apar@adaql4 ~/prex/wac]$ slugSummary 9
A set of plots will be located here: http://www.jlab.org/~adaq/prex/slug_output/slug_cumulative/
Dithering and Regression
Before you start, make sure that the runlist.txt is up to date. If you are not sure then log onto any apar adaq(6-10) machines and do the following
[apar@adaql6 ~/prex/wac]$ gowac [apar@adaql6 ~/prex/wac]$ getrunlist.pl Connection successful: handle: DBI::db=HASH(0x8af5628) Obtained 247 run entries. Coping runlist to web location. Thank you for using getrunlist.pl. [apar@adaql6 ~/prex/wac]$
This will update the runlist.txt.
Generating dither/regress slope rootfiles
parity10_####_regress_M.root is required to generate regress slope root files.
parity10_####_dither.root is required to generate dither slope root files.
So make sure all the necessary runs are prompted properly, and necessary .root files generated. Then in the wac directory:
[apar@adaql6 ~/prex/wac]$ root root  .x multirun/obtainBMslopes.C("dither") root  .x multirun/obtainBMslopes.C("regress","runlist.txt","lead","M")
This will generate dither_lead.root for dithering and regress_leadM.root in the wac directory. octainBMslopes.C looks at all the runs listed in the runlist for which the respective dither/regress root files exist. So as a wac, you need to ensure that the runlist has been properly updated for necessary cuts, and only include production runs. If the runlist is bad, then the slope root files will have some runs with big outlier slopes that cannot be cut out the the cuts defined in the slope root file.
Generating dither/regress slope plots
The may be complaints for runs if the dithering was off for that run or they were replayed without regression enabled. Once this is done, the plots are produced as follows.
[apar@adaql6 ~/prex/wac]$ ./utils/makeRegDitPlots.pl
Generating dither slope text files
Before making any slug rootfiles, we need to generate appropriate dither slope text files from the runs in that particular slope. The slopes from this text file are used to dither correct the data for that particular slug. If the text files are not generated before generating the slug rootfiles, then the slug data will not be dither corrected. We need dither slopes rootfile to generate slope text files. So make sure the dither slope rootfile is generated as outlined above. To generate the slope text file
[apar@adaql6 ~/prex/wac]$root root  .x multirun/avgSlopes.C(##)
This will generate avgSlopes_lead_dither_slug##.res file where ## is the slug number.
We can also generate slope text files for specified range of runs as
[apar@adaql6 ~/prex/wac]$root root  .x multirun/avgSlopes.C(##,**)
where ## is the initial run number, and ** is the final run number. This will generate avgSlopes_lead_dither_runs##_**.res.
All the slope text files are in ~/prex/wac/dither_5x5_slopes.
Reprompting a lot of runs
On rare occasions it may be necessary to reprompt a whole bunch of runs. This can be accomplished in two steps.
1. First get a list of the runs to be reprompted. So, for example, all the runs in slug 5 can be obtained as follows.[apar@adaql5 ~/prex/pan]$ gowac ****** This directory for WAC analysis (WACs only, please) ****** [apar@adaql5 ~/prex/wac]$ grep -P '\t5\t' runlist.txt | cut -f1 | xargs echo 2867 2868 2869 2870 2871 2872 2873 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2903 2904 2905 2906 2907
2. Next use the following command.[apar@adaql5 ~/prex/wac]$ gopan ****** This directory for ONLINE analysis (Shift-Workers only, please) ****** [apar@adaql5 ~/prex/pan]$ [apar@adaql5 ~/prex/pan]$ [apar@adaql5 ~/prex/pan]$ ./utils/prompt.pl --forcepan --forcereg --forcedit --conf '' --batch 2867 2868 2869 2870 2871 2872 2873 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2903 2904 2905 2906 2907
Raw Data Files
from the adaq machinesThe raw data files for runs were stored at
/adaql1/data2/parity/but at 04:42:27 on September25,2009 Bob changed it so that new data goes to
/adaql1/data4/parity/from run 12660 onwards.
from the silo
After some time these files are automatically removed. Once that happens, in order to view them you will have to retrieve them from the silo. This can be done as follows, from any ifarml machine.
ifarml5> jcache /mss/halla/parity/raw/parity09_12227.dat [2009-10-06 10:29:36] Submitting request  [2009-10-06 10:29:36] Request  is queued.
Some time after requesting the file, it will be available at
Choosing the data that goes into slug summaries
The data that goes into the root file output for the slug summary is controlled with the following file:
The data that goes into the text file output is set with:
Now, the text file output is generated from the root file, so, anything that appears in slug.C must also appear in chooser.txt for it to work.
Choosing what is plotted in the slug summary plotsTwo files are used to control what is plot in the slug summaries. Pair tree variables are set up using the
~/prex/pan/panguin/wac_slug.cfgfile. The epics variables are set up using the
~/prex/wac/epicsplot/doepicsplot.Cfile. The latter is messy, but it should be reasonably clear how to change things. Make sure that any epics variable that are need appear in all of the following files.
/adaqfs/home/apar/scripts/fastEpicsLogger (Don't mess around with this file if you are not an expert. You can hang up the DAQ if you are not careful!!) /adaqfs/home/apar/db/misc/Prex.miscAfter changes to either of these files, the
~/prex/wac/recent_slug_plots/index.htmlfile needs to be updated to reflect the correct number of pages that are produced as output. This is the file that eventually displays the plots as a web page.
View the Runlist.
HWP OUT is 0 in epics and 1 in the WAC database.
HWP IN is 1 in epics and -1 in the WAC database.
|Slug||Target||Comment||HWP||Wien||Flip rate||IT||Runs||Dates||Plots||Text summary||Good Multiplets||Total Charge|
|100||Lead-Diamond||(production?)||IN||Right||2383 - 2386|
|3||Lead-Diamond||(production) Bad BCMs||IN||Right||2805 - 2813||2010-04-16||slug 3 plots||text output|
|4||Lead-Diamond||(production)||IN||Right||2815 - 2866||2010-04-16||slug 4 plots||text output|
|5||Lead-Diamond||(production)||OUT||Right||2867 - 2888, 2902 - 2907||2010-04-17||slug 5 plots||text output|
|6||Lead-Diamond||(production)||IN||Right||2908 - 2927||2010-04-18||slug 6 plots||text output|
|7||Lead-Diamond||(production)||OUT||Right||2928 - 2941||2010-04-19 to 2010-04-20||slug 7 plots||text output|
|8||Lead-Diamond||(production)||IN||Right||2950 - 2992||2010-04-20||slug 8 plots||text output|
|9||Lead-Diamond||(production)||OUT||Right||2993 - 3008||2010-04-20 to 2010-04-21||slug 9 plots||text output|
|10||Lead-Diamond||(production)||IN||Right||3009 - 3025||2010-04-21 to 2010-04-22||slug 10 plots||text output||1074.9K||1953.2mC|
|11||Lead-Diamond||(production)||OUT||Right||3026 - 3061||2010-04-22 to 2010-04-23||slug 11 plots||text output||1270.2K||2330.9mC|
|12||Lead-Diamond||(production)||IN||Right||3062 - 3073, 3077 - 3083||2010-04-22 to 2010-04-23||slug 12 plots||text output||1270.2K||2330.9mC|
|13||Lead-Diamond||240 Hz (production)||OUT||Right||3117 - 3134||2010-04-24 to 2010-04-25||slug 13 plots||text output|
|14||Lead-Diamond||240 Hz (production)||IN||Right||3135 - 3140||2010-04-25 to 2010-04-25||slug 14 plots||text output||281.4 K||491.7 mC|
|91||Thick Carbon||(production)||OUT||Right||3084-3098||2010-04-23 to 2010-04-24||slug 91 plots||text output|
|92||Thick Carbon||(production)||IN||Right||3099 - 3110||2010-04-24||slug 92 plots||text output|
|93||Thick Carbon||IN||Right||240 Hz||3155 - 3160||2010-04-25||slug 93 plots||text output||441.3 K||652.4 mC|
|94||Thick Carbon||OUT||Right||240||3161 - 3171||2010-04-26||slug 94 plots||text output||629.1 K||931.2 mC|
|95||Thick Carbon||IN||Right||240 Hz||1380||3172 - 3175||2010-04-26||slug 95 plots||text output|
|96||Thick Carbon||IN||Right||240 Hz||200||3219 - 3225||2010-04-26||slug 96 plots||text output|
|97||Thick Carbon||IN||Left||240 Hz||3236 - 3241||2010-04-27||slug 97 plots||text output||276.9 K||69.0 mC|
|98||Thick Carbon||OUT||Left||240 Hz||3242 - 3247||2010-04-28||slug 98 plots||text output||432.7 K||107.7 mC|
|99||Thick Carbon||OUT||Left||240 Hz||3253 - 3255||2010-04-28||slug 99 plots||text output||254.1 K||431.9 mC|