![]() |
|
|||
File indexing completed on 2025-07-26 09:10:50
0001 // Stephen JD Kay - University of York 0002 // Stephen.Kay@york.ac.uk 0003 // 01/07/25 0004 // Header file for a generic method of calculating teXBABE as defined by the tRECO convention 0005 // This offers an alternative to ePIC_ExcKinUtils where ONLY teXBABE is defined and calculated - https://github.com/eic/snippets/blob/main/Exclusive/ePIC_ExcKinUtils.h 0006 // Method expects a three body final state where the expected baryon (BA) state is known and the scattered electron (eSc) and other hadronic state(s) X, are measured and well known 0007 0008 PxPyPzEVector Vec_BACorr; 0009 0010 // Explicit method to calculate teXBABE. Inputs are the detected scattered electron, detected X, detected baryon (BA), mass of the expected baryon, Electron beam and hadron beam 0011 // All inputs OTHER than the BA mass are expected as PxPyPzEVectors 0012 Double_t Calc_teXBABE(PxPyPzEVector Vec_eSc, PxPyPzEVector Vec_X, PxPyPzEVector Vec_BA, Double_t Mass_BA, PxPyPzEVector Vec_EBeam, PxPyPzEVector Vec_HBeam){ 0013 PxPyPzEVector Vec_PMiss = (Vec_EBeam + Vec_HBeam) - (Vec_eSc + Vec_X); 0014 // "Correct" the BA vector - utilise knowledge of the final state and the POSITION resolution of the original BA track 0015 Vec_BACorr.SetPxPyPzE(Vec_PMiss.P()*sin(Vec_BA.Theta())*cos(Vec_BA.Phi()), Vec_PMiss.P()*sin(Vec_BA.Theta())*sin(Vec_BA.Phi()), Vec_PMiss.P()*cos(Vec_BA.Theta()), sqrt(pow(Vec_PMiss.P(),2)+(pow(Mass_BA,2)))); 0016 Vec_teXBABE = ; 0017 Double_t t_eXBABE = -1*((Vec_HBeam - Vec_BACorr).mag2()); 0018 return(t_eXBABE); 0019 } 0020 0021 // Shortened method to calculate teXBABE where inputs are PMiss, BA vector, BA mass and HBeam only 0022 Double_t Calc_teXBABE(PxPyPzEVector Vec_PMiss, PxPyPzEVector Vec_BA, Double_t Mass_BA, PxPyPzEVector Vec_HBeam){ 0023 // "Correct" the BA vector - utilise knowledge of the final state and the POSITION resolution of the original BA track 0024 Vec_BACorr.SetPxPyPzE(Vec_PMiss.P()*sin(Vec_BA.Theta())*cos(Vec_BA.Phi()), Vec_PMiss.P()*sin(Vec_BA.Theta())*sin(Vec_BA.Phi()), Vec_PMiss.P()*cos(Vec_BA.Theta()), sqrt(pow(Vec_PMiss.P(),2)+(pow(Mass_BA,2)))); 0025 Double_t t_eXBABE = -1*((Vec_HBeam - Vec_BACorr).mag2()); 0026 return(t_eXBABE); 0027 } 0028 0029 // Shortest method, inputs are corrected BA vector and HBeam only 0030 Double_t Calc_teXBABE(PxPyPzEVector Vec_BACorr, PxPyPzEVector Vec_HBeam){ 0031 Double_t t_eXBABE = -1*((Vec_HBeam - Vec_BACorr).mag2()); 0032 return(t_eXBABE); 0033 }
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |