[Clas12_verystrange] [EXTERNAL] Procedure for FT electron vertex and angle correction

Geraint Clash geraintclash at gmail.com
Mon Feb 22 09:19:54 EST 2021


Hello,

Below one can find the details for correcting the electron angles using a
new vertex position (a vertex at 0,0,0, is chosen by default)

x = electron[0]->ft(FTCAL)->getX();
y = electron[0]->ft(FTCAL)->getY();
z = electron[0]->ft(FTCAL)->getZ();
z = z + VALZ; //Where VALZ is the new vertex position you want to have for
the electron.

r = sqrt(x*x + y*y + z*z);

This function calculates a new LorentzVector for the electron assuming a
straight line from the new vertex to the hit in the FTCAL.
TLorentzVector Correct_z_position(TLorentzVector e, Double_t x, Double_t y,
Double_t z, Double_t r){

  Double_t px, py, pz;
  TLorentzVector el_corZ;
  Double_t mom=e.E()*e.E()-0.000511*0.000511;
  mom=TMath::Sqrt(mom);

  px = mom*(x/r);
  py = mom*(y/r);
  pz = mom*(z/r);

  el_corZ.SetXYZM(px, py, pz, 0.000511);

  return el_corZ;
}

el_corZ = Correct_z_position(el, x, y, z, r);


In order to calculate the angles at the production vertex, one needs to
swim the electron back to the vertex. This is done by the following two
functions for theta and phi

Double_t Correct_Theta(TLorentzVector e){

  Double_t Th_cor, Corect_Th;

  Th_cor = exp(1.797 - 4.485*e.E()) + exp(-0.8671 - 1.078*e.E());
  Th_cor = TMath::DegToRad()*Th_cor;

  Corect_Th = e.Theta() + Th_cor;

  return Corect_Th;
}

Double_t Correct_Phi(TLorentzVector e){

  Double_t Ph_cor, Corect_Ph;

  Ph_cor = exp(4.918 - 3.828*e.E()) + exp(3.841 - 1.256*e.E()) + exp(2.874
- 0.2195*e.E());
  Ph_cor = TMath::DegToRad()*Ph_cor;

  Corect_Ph = e.Phi() + Ph_cor;

  return Corect_Ph;
}

el_corZ.SetTheta(Correct_Theta(el_corZ));

el_corZ.SetPhi(Correct_Phi(el_corZ));

The sum:

Corect_Ph = e.Phi() + Ph_cor

Assumes inbending data for outbending it would be the following:

Corect_Ph = e.Phi() - Ph_cor

Thanks,
Geraint Clash.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.jlab.org/pipermail/clas12_verystrange/attachments/20210222/92c9a9ad/attachment.html>


More information about the Clas12_verystrange mailing list