From PREX Wiki
Revision as of 15:55, 28 April 2010 by Dalton (Talk | contribs) (Slugs)

Jump to: navigation, search

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.

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/

Special Cases

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 [0] .x multirun/obtainBMslopes.C("dither")
root [1] .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 [0] .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 [0] .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 machines

The raw data files for runs were stored at
but at 04:42:27 on September25,2009 Bob changed it so that new data goes to
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 [11848406]
[2009-10-06 10:29:36] Request [11848406] is queued.

Some time after requesting the file, it will be available at


Backend Information

Software flowchart

File:Happex DAQ.gif

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 plots

Two files are used to control what is plot in the slug summaries. Pair tree variables are set up using the
file. The epics variables are set up using the
file. 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!!)
After changes to either of these files, the
file 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 Numbers
Slug Target Comment HWP Wien Flip rate IT Runs Dates Plots Text summary Good Multiplets Total Charge
100 Lead-Diamond Target (production?) IN Right 2383 - 2386
1 Empty Target IN Right
3 Lead-Diamond Target (production) Bad BCMs IN Right 2805 - 2813 2010-04-16 slug 3 plots text output
4 Lead-Diamond Target (production) IN Right 2815 - 2866 2010-04-16 slug 4 plots text output
5 Lead-Diamond Target (production) OUT Right 2867 - 2888, 2902 - 2907 2010-04-17 slug 5 plots text output
6 Lead-Diamond Target (production) IN Right 2908 - 2927 2010-04-18 slug 6 plots text output
7 Lead-Diamond Target (production) OUT Right 2928 - 2941 2010-04-19 to 2010-04-20 slug 7 plots text output
8 Lead-Diamond Target (production) IN Right 2950 - 2992 2010-04-20 slug 8 plots text output
9 Lead-Diamond Target (production) OUT Right 2993 - 3008 2010-04-20 to 2010-04-21 slug 9 plots text output
10 Lead-Diamond Target (production) IN Right 3009 - 3025 2010-04-21 to 2010-04-22 slug 10 plots text output 1074.9K 1953.2mC
11 Lead-Diamond Target (production) OUT Right 3026 - 3061 2010-04-22 to 2010-04-23 slug 11 plots text output 1270.2K 2330.9mC
12 Lead-Diamond Target (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 Target 240 Hz (production) OUT Right 3117 - 3134 2010-04-24 to 2010-04-25 slug 13 plots text output
14 Lead-Diamond Target 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 Target 240 Hz (production) IN Right 3155 - 3160 2010-04-25 slug 93 plots text output 441.3 K 652.4 mC
94 Thick Carbon Target 240 Hz (production) OUT Right 2 40 Hz (production) 3161 - 3171 2010-04-26 slug 94 plots text output 629.1 K 931.2 mC
95 Thick Carbon Target IN Right 240 Hz 1380 3172 - 3175 2010-04-26 slug 95 plots text output
96 Thick Carbon Target IN Right 240 Hz 200 3219 - 3225 2010-04-26 slug 96 plots text output
97 Thick Carbon Target IN Left 240 Hz 3236 - 3241 2010-04-27 slug 96 plots text output 276.9 K 69.0 mC
98 Thick Carbon Target 240 Hz (production) OUT Left 240 Hz 3242 - 3247 2010-04-28 slug 97 plots text output 432.7 K 107.7 mC
99 Thick Carbon Target 240 Hz (production) OUT Left 240 Hz 3253 - 3255 2010-04-28 slug 98 plots text output 254.1 K 431.9 mC
150 Carbon Optics IN Right 2642-2644 2010-04-06
151 Thick Carbon IN Right 2581-2601 2010-04-04
152 Lead-Diamond target IN Right 2649-2652,2663 2010-04-06
153 Lead-Diamond Target OUT Right 2656-2660 2010-04-06
154 Lead-Diamond Target large A_Q OUT Right 2661 2010-04-06
155 Thick Carbon IN Right 2664-2665 2010-04-06