Hi, Aaron
sorry almost forgot.
I think you asked for my cut for theta-phi acceptance.
Here is what I did. dumped all events in flrpm into 2-d histograms of
fwl:twl and fwr:twr. fit slices of them to trapzoids. located the phi
values where the distribution reaches full height and half height. fit
these to quadratics.
all Deuterium runs from July were used(so the code drags for about an hour
to do everything). the code is in ~zhangchi/edel/acceptance.C
in acceptance1/2.eps, the 2-D histograms are show with the fitted
"acceptance" red is full height and black is half height of course.
I ended up using the half-height boundary shown by the black curves.
ph_up_left = 2.29165e0 + 4.94839e-1*th - 4.88751e-3*th^2;
ph_down_left = 3.89486e0 - 7.92655e-1*th + 8.12530e-3*th^2;
ph_up_right = 1.60592e0 + 5.37255e-1*th - 5.35664e-3*th^2;
ph_down_right = 4.20110e0 - 8.00596e-1*th + 8.03415e-3*th^2;
add 180 for right sector. silly me forgot to write down the functions for
the red lines, but anoter 2 deg inward will generally do.
further down to details, I define th0 to be where the curves go flat
(dphi_max/dth=0). for electron, the quardratic function is used when
th<th0, then PHI(th0) is used for larger theta. the opposite for
deuterons, i.e. use the function when th>th0 and use the maximal phi
acceptance for forward D.
These cuts reduces my ed counts by about 10%. I did not go to the tight
red lines to avoid cutting away to many statistics. these cuts did not
make much of a difference in my results. with these cuts, the resolution
is slightly better, for instance my 3-sigma coplanarity cut reduces from
2.8 deg to 2.7 deg :), My Pzz fitted from data gets raised by 0.6-sigma.
So the improvement is probably rather psychological than anything.
Also, I decided to use -15 to +18 part of the target. According to the
surveyed target field map, the holding field at the +-20cm end deviates
from the average value by quite a bit. This cuts my counts by another 10%
BTW, splined target angle curve can be obtained from DGen:
Beam* beam = init_beam(1);
Target* targ = init_targ(m_deuteron, "kine.init");
Deuteron_EL* Deut = new Deuteron_EL(1,1,spinthd,spinphd,1,*beam,
*targ);
double theta_s = targ->Theta_S(z); // spline interpolated spin angle
// from 47 deg suveyed profile
theta_s *= 32/47; // brutal force scale to 32 with no defendible
// reasons
Deut->SetSpinDir(entry.sthd[i]); // tell DGen to use the new angle
// Deuteron_EL has a function to return theta* using electron
// scattering angle. one can implement appropriate functions for
// EEP and so on.
Cheers.
Chi
This archive was generated by hypermail 2.1.2 : Mon Feb 24 2014 - 14:07:32 EST