Ashutosh asked today about how to do the interERP adjustment on events
with three adjacent supermodules hit. As we all know, DREAM will only
do the adjustment if only two supermodules are hit, and the
supermodules must be adjacent. However, in many cases it is
straightforward to make the adjustment for three supermodules in your
user software.
The straightforward case must involve supermodules which are all
available and calibrated on the same microvax -- i.e. they must be
chosen from one of the following lists:
o MV1: N,1,2
o MV2: any of 2,3,4,5
o MV3: 5,6,S
In these cases, you may adjust each hit box with
meantime = meantime + erp_inter_slope(imv,ism)*intererptdc(imv,ism) -
erp_inter_offset(imv,ism)
where 1<=imv<=3 and 0<=ism<=7. erp_inter_slope and erp_inter_offset
are obtained from the CALMOD KEEP sequence ERPCM_SM. The intererptdc
values must be obtained from somewhere; in DREAM, they are stored at
certain locations in the ERPF bank (see SAERPH for an example of
accessing them).
<<<Of course, this is the same formula to use if you want to
reconstruct TOF between just two adjacent SMs in a case where a
spurious hit on another SM caused DREAM to not do the adjustment.>>>
Unfortunately the above procedure will not work for 1,2,3 or 4,5,6
events because no slope and offset are computed for MV2 SM1 or MV2 SM6
in the standard calibrations. If you want to go after those events, I
see two ways to try it:
o Probably the easier way to get 1,2,3 events is to use the microvax
2 intererptdc to adjust SM2 and SM3, then use the microvax 1
intererptdc to figure out how to adjust SM1. If the MV2 SM2
adjustment is a, the MV1 SM2 adjustment is b and the MV1 SM1
adjustment is c, if you adjust the SM1 times by a-b+c I believe you
will get all the TOFs correct -- i.e. on SM1,
meantime = meantime + (eis(1,1)*itdc(1,1) - eio(1,1)) +
(eis(2,2)*itdc(2,2) - eio(2,2)) -
(eis(1,2)*itdc(1,2) - eio(1,2))
(where I have abbreviated erp_inter_slope = eis, intererptdc = itdc,
erp_inter_offset = eio).
o Alternatively, you can try to identify a few multi-SM events that
will allow you to compute your own calibration constants for MV2
SM1. Once you have those constants, you can adjust the event using
just the MV2 intererptdc.
NOTE -- I haven't tested any of the algorithms I describe here; I'm
just talking off the top of my head....
ALSO NOTE -- the code in DREAM requiring hit SMs be adjacent is not
very robust; DREAM will also adjust events with hits only on SM1 and
SM4 as well as events with hits only on SM3 and SM6.
Bob