GeomWC rigid-body offsets -- working progress

From: Christopher Crawford (chris2@lns.mit.edu)
Date: Tue Mar 28 2006 - 11:35:19 EST


An update and first results on the geometrical offsets of the WC:

GEOMETRY:

The libraries TBLGeomWC and TBLGeometry have been updated to allow
for rigid body transformations of either the entire left sector or
right sector WC, through the 'blastrc' resources:

GeomWC.LeftOffset: 0,0,0,0,0,0 # adjustments to left and right sector
GeomWC.RightOffset: 0,0,0,0,0,0 # X,Y,Z(cm), alpha,beta,gamma(deg)

or their command-line equivalents "GeomWC.LeftOffset=0,0,0,0,0,0",
etc. For Instance, this can be added directly to the autocruncher
COMMAND. Be sure to put no spaces between the commas, as this will
confuse both the command-line interpreter and the parsing of the
offsets. As an aside, also do not include comments on lines with
strings, as they will be included in the string!

The angles alpha, beta, gamma correspond to CCW rotations about the
WC +y axis, the BLAST +z axis, and the WC +z axis, respectively. For
small adjustments the order or rotations is a second-order
correction. For example, d_alpha>0 moves the downstream end farther
from the beamline; d_beta>0 tilts the outside edge of the left
sector up and right sector down; and d_gamma tilts the downstream end
of the left sector down and right sector up.

Thanks, Michael, for pointing out that these adjustments cannot be
applied uniformly to each of the three chambers. Instead, they are
applied to the middle chamber, and the inner/outer ones are
transformed explicitly as a single rigid body. The offsets were
tested with the macro 'BlastLib2/test_wc_geom_adj.C', which looked at
the angles between 4 points in each chamber spanning 3-space, before
and after arbitrary transformations.

There is also a new function TBLGeometry::AdjustWC to set them
further in the code.

NTUPLE:

I wrote and tested a post-DST processor 'BlastLib2/geomfull.cc' to
calculate the derivatives of each of 5 elastic kinematic offsets
(along with the current offsets) event-by-event, using events from an
elastic event-list:
   ( p_e - p_e(th_e), p_p - p_p(th_p), th_p - th_p(th_e), phi_p
- phi_e +/- 180, z_p - z_e )
for electrons in either the left or right sector (10 offsets), as a
function of X,Y,Z,A,B,C in each sector (12 adjustments). A sample
Jacobian for one event is included below. Note that the first two
offsets only change for geometrical adjustments in the same sector,
and that d(delta_z)/d(Z) = +/-1 (at least it should) for adjustment
in the proton/electron sector.

There are still two problems: First dz/dZ != 1 in the electron
sector. I haven't figured out what is wrong, but it may not be
specific to the offset corrections. The second related problem, I
expected two null eigenvectors corresponding to elastic scattering
symmetries in Z and in Phi, but found neither.

Command: root -l geomfull_offsets.C 12673 -n 20 -csnorm +de +dp +dt
+df +dz +print
Entry 0 (run 12673, event 213)

_L offsets + LEFT d/dx d/dy d/dz d/dalpha d/beta
d/dgamma + RIGHT d/dx d/dy d/dz d/dalpha d/beta d/
dgamma
pe -0.019281 0.000000 0.000000 0.000000 0.000000 0.000000
0.000000 0.007016 -0.001364 0.000874 0.000943 -0.004461
0.002421
pp 0.031862 -0.006611 -0.006817 0.000285 0.023947 0.008572
-0.007964 0.000000 0.000000 0.000000 0.000000 0.000000
0.000000
tt 0.650497 -0.136070 -0.075535 0.001808 1.188988 0.103065
-0.009689 -0.073448 0.032066 0.038212 0.802696 0.077736
0.020897
ff -0.660084 0.041375 0.452306 -0.000398 -0.031691 0.214961
0.493497 0.071594 0.552872 0.001038 -0.021576 0.078003
0.413605
zz 0.464627 -0.743655 -0.096612 1.003096 3.252622 0.139978
-0.139421 -1.264678 -0.076465 -1.172769 -5.258923 -0.207254
0.144767
               
+ +

ANALYSIS:

I also wrote an analysis script 'exp/analysis/macros/
geomfull_offsets.C' which fit for the WC offsets which best produced
the observed kinematic offsets.
The analysis cycle consists of Newton-Rhapson iterations of creating
ntuples with the kinematic offsets and derivatives for the current WC
offsets, doing a least-squares fit for the deviation in WC offsets,
and subtracting these in the next iteration until convergence. The
commands executed are logged in 'bud11:~chris2/blast/control/
autocruncher/A_config' and in the header of 'geomfull_offsets.C',
and the ntuples from each iteration are located at 'bud13:/scratch/
bud13/chris2/geomfull/iter*' Taylan, the autocruncher came in real
handy for this!

Separate iterations were done for different weightings of the
events. Plots of the geometrically-corrected kinematic offsets of
each are included. The first used a flat distribution of events by
weighting out the cross section (see plot), resulting in adjustments:
// GeomWC.LeftOffset=0.506,2.665,-0.008,0.089,-0.503,0.399
GeomWC.RightOffset=0.268,-2.824,-0.261,0.017,0.692,0.897
The second set used the elastic distribution unmodified and heavily
weights forward events:
// GeomWC.LeftOffset=0.031,0.568,-0.688,0.140,-0.258,0.393
GeomWC.RightOffset=0.188,-0.910,-0.182,0.011,0.021,0.736
The three plots show offsets before corrections, after flat
corrections, and after c.s.-weighted corrections. They don't look
very good yet.

This is only a preliminary analysis demonstrating the proof-of-
principle. Physics offsets must be included before any hope of
stable geometry offsets. Also, since the fit is a simple least-
squares fit (using means) with no robustness added (medians or fit
peaks), it is very important to handle momentum, which has a one-
sided tail, consistently. The cuts on invariant mass must be used in
this program must be consistent with those used to determine the
radiative corrections to the momentum.

--Chris
_______________________________________

TA-53/MPF-1/D111 P-23 MS H803
LANL, Los Alamos, NM 87545
505-665-9804(o) 665-4121(f) 662-0639(h)
_______________________________________



cs_weight.gif

geomfull_offsets_orig.gif

geomfull_offsets_flat.gif

geomfull_offsets_cs.gif



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