8 auto pcross = [K, LA](TLorentzVector
F) {
9 return 2. * LA.Dot(K) *
F.Dot(K) - LA.Dot(
F) * K.Dot(K);
16 return A1*2*NU.Dot(LB)*pcross(LBD) + A2*2*NU.Dot(LBD)*pcross(LB) + A3*LB.Dot(LB)*pcross(NU);
24 return 8 * K.Dot(LA) * PI.Dot(LB) * K.Dot(N) * PI.Dot(N) \
25 -4 * K.Dot(LA) * PI.Dot(LB) * K.Dot(PI) * N.Dot(N) \
26 -4 * K.Dot(K) * PI.Dot(LB) * LA.Dot(N) * PI.Dot(N) \
27 +2 * K.Dot(K) * PI.Dot(LB) * LA.Dot(PI) * N.Dot(N) \
28 -4 * K.Dot(LA) * PI.Dot(PI) * K.Dot(N) * LB.Dot(N) \
29 +2 * K.Dot(LA) * PI.Dot(PI) * K.Dot(LB) * N.Dot(N) \
30 +2 * K.Dot(K) * PI.Dot(PI) * LA.Dot(N) * LB.Dot(N) \
31 -1 * K.Dot(K) * PI.Dot(PI) * LA.Dot(LB) * N.Dot(N);
36 4 * K.Dot(LA) * K.Dot(PI) * LB.Dot(PI) \
37 -2 * K.Dot(K) * LA.Dot(PI) * LB.Dot(PI) \
38 -2 * K.Dot(LA) * K.Dot(LB) * PI.Dot(PI) \
39 +1 * K.Dot(K) * LA.Dot(LB) * PI.Dot(PI)
59 TLorentzVector K(TVector3(0, 0, pNA * mK / mN), mK * sqrt(1 + pNA * pNA / (mN*mN)));
60 TLorentzVector LA(TVector3(0, 0, pNA * mK / mN), sqrt(mA*mA + pNA * pNA * mK * mK / (mN * mN)));
61 TLorentzVector
N(TVector3(0, 0, 0), mN);
65 double sign = mN > mA ? 1 : -1;
66 TLorentzVector LB(TVector3(0, 0, sign * pPB), sqrt(mB * mB + pPB * pPB));
67 TLorentzVector
PI(TVector3(0, 0, -sign * pPB), sqrt(mP * mP + pPB * pPB));
double twobody_momentum(double parent_mass, double childA_mass, double childB_mass)
double HNLNuDiLepLNVDalitz(TLorentzVector K, TLorentzVector LA, TLorentzVector LB, TLorentzVector LBD, TLorentzVector NU)
double HNLLepPiLNVDalitz(TLorentzVector K, TLorentzVector LA, TLorentzVector N, TLorentzVector PI, TLorentzVector LB)
process_name largeant stream1 can override from command line with o or output physics producers generator N
double HNLLepPiDalitzMax(double mK, double mA, double mN, double mP, double mB)
double HNLLepPiLNCDalitz(TLorentzVector K, TLorentzVector LA, TLorentzVector N, TLorentzVector PI, TLorentzVector LB)