28 const char* secondary_spectro,
29 const char* primary_kine,
32 fSpectroName(secondary_spectro), fSpectro(NULL),
33 fPrimaryName(primary_kine), fPrimary(NULL)
69 {
"th_xq",
"Polar angle of detected particle with q (rad)",
71 {
"ph_xq",
"Azimuth of detected particle with scattering plane (rad)",
73 {
"th_bq",
"Polar angle of recoil system with q (rad)",
"fTheta_bq" },
74 {
"ph_bq",
"Azimuth of recoil system with scattering plane (rad)",
76 {
"xangle",
"Angle of detected particle with scattered electron (rad)",
78 {
"pmiss",
"Missing momentum magnitude (GeV), nuclear physics "
79 "definition (-pB)",
"fPmiss" },
80 {
"pmiss_x",
"x-component of p_miss wrt q (GeV)",
"fPmiss_x" },
81 {
"pmiss_y",
"y-component of p_miss wrt q (GeV)",
"fPmiss_y" },
82 {
"pmiss_z",
"z-component of p_miss, along q (GeV)",
"fPmiss_z" },
83 {
"emiss_nuc",
"Missing energy (GeV), nuclear physics definition "
84 "omega-Tx-Tb",
"fEmiss_nuc" },
85 {
"emiss",
"Missing energy (GeV), ENGINE definition "
86 "omega-Mt-Ex",
"fEmiss" },
87 {
"Mrecoil",
"Invariant mass of recoil system (GeV)",
"fMrecoil" },
88 {
"MMpi",
"Missing mass under assumption hadron is a pion (GeV)",
"fMMpi" },
89 {
"MMK",
"Missing mass under assumption hadron is a kaon (GeV)",
"fMMK" },
90 {
"MMp",
"Missing mass under assumption hadron is a proton (GeV)",
"fMMp" },
91 {
"Erecoil",
"Total energy of recoil system (GeV)",
"fErecoil" },
92 {
"Prec_x",
"x-component of recoil system in lab (GeV/c)",
"fB.X()" },
93 {
"Prec_y",
"y-component of recoil system in lab (GeV/c)",
"fB.Y()" },
94 {
"Prec_z",
"z-component of recoil system in lab (GeV/c)",
"fB.Z()" },
95 {
"tx",
"Kinetic energy of detected particle (GeV)",
"fTX" },
96 {
"tb",
"Kinetic energy of recoil system (GeV)",
"fTB" },
97 {
"px_cm",
"Magnitude of X momentum in CM system (GeV)",
"fPX_cm" },
98 {
"thx_cm",
"Polar angle of X in CM system wrt q (rad)",
"fTheta_x_cm" },
99 {
"phx_cm",
"Azimuth of X in CM system wrt q (rad)",
"fPhi_x_cm" },
100 {
"thb_cm",
"Polar angle of recoil systm in CM wrt q (rad)",
102 {
"phb_cm",
"Azimuth of recoil system in CM wrt q (rad)",
"fPhi_b_cm" },
103 {
"tx_cm",
"Kinetic energy of X in CM (GeV)",
"fTX_cm" },
104 {
"tb_cm",
"Kinetic energy of B in CM (GeV)",
"fTB_cm" },
105 {
"t_tot_cm",
"Total CM kinetic energy",
"fTtot_cm" },
106 {
"MandelS",
"Mandelstam s for secondary vertex (GeV^2)",
"fMandelS" },
107 {
"MandelT",
"Mandelstam t for secondary vertex (GeV^2)",
"fMandelT" },
108 {
"MandelU",
"Mandelstam u for secondary vertex (GeV^2)",
"fMandelU" },
153 if( !
IsOK() )
return -1;
160 if( !trkifo || !trkifo->
IsOK() )
return 1;
242 if (
fMX > 0.12957018 &&
fMX < 0.14957018 ){
248 else if (
fMX > 0.483677 &&
fMX < 0.503677 ){
254 else if (
fMX > 0.92828 &&
fMX < 0.94828 ){
292 x_cm_vect *= rot_to_A1;
332 prefix[0] = tolower(
GetName()[0]);
342 cout <<
"THcSecondaryKine particleMASS: " <<
fMX << endl;
Option_t Option_t TPoint TPoint const char mode
ClassImp(VDC::AnalyticTTDConv) using namespace std
R__EXTERN class THcParmList * gHcParms
static Int_t DefineVarsFromList(const void *list, EType type, EMode mode, const char *def_prefix, const TObject *obj, const char *prefix, const char *here, const char *comment_subst="")
THaAnalysisObject * FindModule(const char *name, const char *classname, bool do_error=true)
void PrintInitError(const char *here)
virtual void Clear(Option_t *opt="")
virtual void TransportToLab(Double_t p, Double_t th, Double_t ph, TVector3 &pvect) const
Double_t GetTheta() const
THaTrackInfo * GetTrackInfo()
A standard Hall C spectrometer apparatus.
Int_t LoadParmValues(const DBRequest *list, const char *prefix="")
Retrieve parameter values from the parameter cache.
Class for the Calculate kinematics of scattering of the primary (beam) particle. These are usually th...
Double_t GetOmega() const
const FourVect * GetA1() const
const FourVect * GetQ() const
const FourVect * GetA() const
const FourVect * GetP1() const
Class for the Calculate kinematics of scattering of the secondary (hadron) particle.
THcPrimaryKine * fPrimary
virtual void Clear(Option_t *opt="")
virtual Int_t DefineVariables(EMode mode=kDefine)
virtual ~THcSecondaryKine()
Double_t fOopCentralOffset
virtual Int_t Process(const THaEvData &)
THcSecondaryKine(const char *name, const char *description, const char *secondary_spectro="", const char *primary_kine="", Double_t secondary_mass=0.0)
THcHallCSpectrometer * fSpectro
virtual Int_t ReadDatabase(const TDatime &date)
void SetPrimary(const char *name)
void SetSpectrometer(const char *name)
Double_t Angle(const TVector3 &v) const
void SetXYZT(Double_t x, Double_t y, Double_t z, Double_t t)
void Boost(const TVector3 &)
void SetVectM(const TVector3 &spatial, Double_t mass)
const char * GetName() const override
TRotation & SetZAxis(const TVector3 &axis)
const char * Data() const
double beta(double x, double y)
RVec< PromoteType< T > > abs(const RVec< T > &v)
RVec< PromoteTypes< T0, T1 > > pow(const RVec< T0 > &v, const T1 &y)
LVector boost(const LVector &v, const BoostVector &b)
Expr< UnaryOp< Sqrt< T >, Expr< A, T, D, D2, R >, T >, T, D, D2, R > sqrt(const Expr< A, T, D, D2, R > &rhs)