37 const char* secondary_spectro,
38 const char* primary_kine,
47 fMX(secondary_mass), fSpectroName(secondary_spectro), fSpectro(nullptr),
48 fPrimaryName(primary_kine), fPrimary(nullptr)
83 {
"th_xq",
"Polar angle of detected particle with q (rad)",
85 {
"ph_xq",
"Azimuth of detected particle with scattering plane (rad)",
87 {
"th_bq",
"Polar angle of recoil system with q (rad)",
"fTheta_bq" },
88 {
"ph_bq",
"Azimuth of recoil system with scattering plane (rad)",
90 {
"xangle",
"Angle of detected particle with scattered electron (rad)",
92 {
"pmiss",
"Missing momentum magnitude (GeV), nuclear physics "
93 "definition (-pB)",
"fPmiss" },
94 {
"pmiss_x",
"x-component of p_miss wrt q (GeV)",
"fPmiss_x" },
95 {
"pmiss_y",
"y-component of p_miss wrt q (GeV)",
"fPmiss_y" },
96 {
"pmiss_z",
"z-component of p_miss, along q (GeV)",
"fPmiss_z" },
97 {
"emiss",
"Missing energy (GeV), nuclear physics definition "
98 "omega-Tx-Tb",
"fEmiss" },
99 {
"Mrecoil",
"Invariant mass of recoil system (GeV)",
"fMrecoil" },
100 {
"Erecoil",
"Total energy of recoil system (GeV)",
"fErecoil" },
101 {
"Prec_x",
"x-component of recoil system in lab (GeV/c)",
"fB.X()" },
102 {
"Prec_y",
"y-component of recoil system in lab (GeV/c)",
"fB.Y()" },
103 {
"Prec_z",
"z-component of recoil system in lab (GeV/c)",
"fB.Z()" },
104 {
"tx",
"Kinetic energy of detected particle (GeV)",
"fTX" },
105 {
"tb",
"Kinetic energy of recoil system (GeV)",
"fTB" },
106 {
"px_cm",
"Magnitude of X momentum in CM system (GeV)",
"fPX_cm" },
107 {
"thx_cm",
"Polar angle of X in CM system wrt q (rad)",
"fTheta_x_cm" },
108 {
"phx_cm",
"Azimuth of X in CM system wrt q (rad)",
"fPhi_x_cm" },
109 {
"thb_cm",
"Polar angle of recoil systm in CM wrt q (rad)",
111 {
"phb_cm",
"Azimuth of recoil system in CM wrt q (rad)",
"fPhi_b_cm" },
112 {
"tx_cm",
"Kinetic energy of X in CM (GeV)",
"fTX_cm" },
113 {
"tb_cm",
"Kinetic energy of B in CM (GeV)",
"fTB_cm" },
114 {
"t_tot_cm",
"Total CM kinetic energy",
"fTtot_cm" },
115 {
"MandelS",
"Mandelstam s for secondary vertex (GeV^2)",
"fMandelS" },
116 {
"MandelT",
"Mandelstam t for secondary vertex (GeV^2)",
"fMandelT" },
117 {
"MandelU",
"Mandelstam u for secondary vertex (GeV^2)",
"fMandelU" },
148 if( !
IsOK() )
return -1;
152 if( !trkifo || !trkifo->
IsOK() )
return 1;
242 x_cm_vect *= rot_to_A1;
284 if( err )
return err;
293 LoadDBvalue(
f, date, tag.
Data(),
fMX );
294 if(
fMX <= 0.0 )
fMX = 0.938;
Option_t Option_t TPoint TPoint const char mode
virtual Int_t ReadRunDatabase(const TDatime &date)
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)
virtual FILE * OpenRunDBFile(const TDatime &date)
void PrintInitError(const char *here)
virtual void Clear(Option_t *opt="")
const FourVect * GetQ() const
Double_t GetOmega() const
const FourVect * GetA1() const
const FourVect * GetA() const
const FourVect * GetP1() const
void SetPrimary(const char *name)
THaTrackingModule * fSpectro
void SetSpectrometer(const char *name)
virtual ~THaSecondaryKine()
THaSecondaryKine(const char *name, const char *description, const char *secondary_spectro="", const char *primary_kine="", Double_t secondary_mass=0.0)
virtual Int_t Process(const THaEvData &)
virtual void Clear(Option_t *opt="")
THaPrimaryKine * fPrimary
virtual Int_t DefineVariables(EMode mode=kDefine)
virtual Int_t ReadRunDatabase(const TDatime &date)
const TVector3 & GetPvect() const
THaTrackInfo * GetTrackInfo()
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)
TRotation & SetZAxis(const TVector3 &axis)
const char * Data() const
double beta(double x, double y)
LVector boost(const LVector &v, const BoostVector &b)