Forward Hadron Calorimeter

Archive Contacts Discuss Main Members Schedule

 

We'll begin by assuming you have some familiarity with the setup of the cosmic test stand in the high bay (enough that you understand Nathan's introductory web page).

We define 'trigger' as the calorimeter modules that are used in the trigger, typically 4 sets of two, creatively labeled 1A, 1B, 2A, 2B, 3A, 3B, 4A, and 4B.  A 'tower' is one of the calorimeter modules that is being read out to determine its attenuation.

The analysis of the runs is what has changed from Nathan's introduction to the cosmic test stand.  Now we use the code afterburner.cc which

bulletCreates a series of histograms for each tower under each trigger condition.  These histograms are named gauss_x_y where x is the tower number (0-9) and y is the trigger condition (0-3).
bulletFits the signal in these histograms to a Gaussian to extract the mean of the signal and
bulletPlots the signal versus the distance of the trigger from the light-guide and fits this distribution to an exponential to extract the attenuation: Signal = A*exp(-dist/l).
bulletPrints these exponential plots to eps files located in ~/test1/plots/.

You run the code similarly to the way you ran the montest code.  First, start up root.  Then load the afterburner library

root [0] gSystem->Load("libafterburn.so");

Welcome to pmonitor. Type phelp() for help
root [1]

Then load the run number file of interest (or the pool)

root [1] poncsopen("/calodata/run_00567.evt")
(int)0
root [2]

Start the analysis

root [2] pstart()
(int)0
root [3]
Thread .1026 is running

While the analysis is taking it's own sweet time, we should make sure all of the elements are available for the fits.  The afterburner code expects you to provide the positions of all of the trigger modules and the break between the pedestal and signal for both the triggers and towers.  If these files don't exist, then when you ask the afterburner code to do the fits with

root[3] pend(567)

it will spit back at you with

Run #567 is not located in the distances file!
root [4]

So, while the pstart() is still running, you can determine the pedestal positions by simply plotting each and determining by eye the break between the pedestal and signal.  (Yes, yes, I know I should be able to do this in code, but I tried a simple pattern recognition algorithm and it only worked 80% of the time -- if you have the free time, write it yourself.)  So, for example, here is a tower histogram.  And the break is at ~200.

Enter these break points for the triggers in triggerPed.txt located in the ~/test1/ directory.  The format of this file is:

run# trigger_1A trigger_2A trigger_3A trigger_4A trigger_1B trigger_2B trigger_3B trigger_4B

All of the numbers should be integers with spaces between  them.  The break points for the tower is located in (surprise) towerPed.txt.  Here the format is

run# tower_0 tower_2 tower_3 tower_4 tower_5 tower_6 tower_7 tower_8 tower_9

Again, all integers with single spaces.  Simple enough.

Now make sure that the file distances.txt has the appropriate distances for all of the triggers from the light guides of the towers.  Here the format is

run# trigger1_position trigger2_position trigger3_position trigger4_position

Once you have entered all of these numbers you can run pend

root [5] pend(567)

And after some gyrations it returns for you the fitted parameters for the attenuation:

The Attenuation of each of the modules is:
0: -54207.4 +/- 1.07194e+06
1: 235.607 +/- 29.7231
2: 277.56 +/- 35.629
3: 265.714 +/- 22.5564
4: -1.09947e+08 +/- 2.78146e+08
5: 219.778 +/- 45.5353
6: -43866.4 +/- 872055
7: 268.285 +/- 28.7801
8: 247.415 +/- 64.0926
9: 253.012 +/- 38.3682

and amplitude extrapolated to position = 0:

The Amplitude of each of the modules is:
0: 33.4595 +/- 1.5121
1: 256.598 +/- 7.34237
2: 449.234 +/- 13.9301
3: 515.255 +/- 11.0777
4: 194.934 +/- 2.53559
5: 368.959 +/- 20.8053
6: 52.3374 +/- 1.87774
7: 305.276 +/- 8.71742
8: 345.45 +/- 20.5075
9: 182.36 +/- 6.32331

In this particular case, a couple light guides were broken and one of the phototubes wasn't working appropriately.

Further, plots of the fits to the signals are now located in ~/test1/plots/ as .eps files labeled according to the convention: atten_x_y.eps where x = tower # and y = run#.

That should do it for now.  Let me know if you have any questions.



 For problems or questions regarding this web contact Stephen C. Johnson.
Last updated: 08/07/02.