[BLAST_SHIFTS] Telemarketing for tof_eff.C and cc_eff.C

From: zhangchi (zhangchi@general.lns.mit.edu)
Date: Sun Oct 27 2002 - 09:50:58 EST


Hi, this is to everyone who are and will take TOF efficiency shifts.

In short, this is how to run the two macos tof_eff.C and cc_eff.C:
> root ntuple.C ???? ???? ????-????
> root tof_eff.C ???? ????

A long story, I updated the two macros this morning. The goal was to
incorporate new cuts Tancredi and Vitaliy initiated. During the morning
shift yesterday, we probably had a shower event between event44000 and
45000 in run 2347. TOF efficiency was about 50% for these 1000 events,
while everywhere eles, it was ~90%. Therefore, Tancredi and Vitaliy made
cuts to eliminate showers. I incorporated their work into the two macros.
If you look at the cuts, they involve multiple TOF's and multiple CC's but
it is relatively easy and straight forward to implement them through
TBLCut and its derived classes. I hope those classes will help people to
device complicated cuts with less effort.

Other changes majorly aimed at making the codes more portable. As the
result, one can specify which TOF's are being calibrated through changing
a line looks like:
        int I0=4, sect=0;
I0 will be the starting TOF number, currently 4, 0 for the runs concerning
TOF 0-4. would be 8 if we end up doing 8-11. sect=0 for left and 1 for
right.

Other than that, the script can be run without change unless new cuts need
to be implemented.

Compare to codes running from commis-????.dat, open and reading a ntuple
is much faster since it is not a sequential process of events, also
because you can skip all the scalor/Epics events which make the majority
of the file under current running condition.
        
The same changes are made to cc_eff.C. However, as I said in the run
summary, I do not think the denominator in the efficiency can be correctly
determined in a straight forward manner.

Additional features is anything supported from Chris's script init.C --
such as chaining mutiple runs, since both macros simply process init.C first.
Many thanks to Chris who implemented init.C which offers a whole array of
nice features.

Unfortunately the flexibility is achieved in the price of less readable
code. There are now a few loops so you need to keep track of some i and
j's.

Unfortunately it is very hard to implement a safe library for CINT simply
because there is no compile stage, therefore any error ends up in run
time. I have to admit that very bad segfaults may result so some of you may end
up hating me. Under those cases, please ^Z to suspend root and kill it
afterward. Sometimes a few ^C plus a few .q will kill the console at all.

I hope in the following few days, TBLCut will make your life a bit easier.
If you want to be creative in using them, please refer to the class
definitions in TBLCut_base.h, TBLCut_tree.h. which are in BlastLib2. I am
also available for technical supports.

Chi



This archive was generated by hypermail 2.1.2 : Mon Feb 24 2014 - 14:07:28 EST