18 using namespace genie;
23 double W,
int L,
double mass,
double width0,
double norm)
42 double m_2 = TMath::Power(mass, 2);
43 double mN_2 = TMath::Power(mN, 2);
44 double W_2 = TMath::Power(W, 2);
48 double m_aux1= TMath::Power(mN+mPi, 2);
49 double m_aux2= TMath::Power(mN-mPi, 2);
52 double BRgamma0 = 0.006;
54 double widPi0 = width0*BRPi0;
55 double widgamma0= width0*BRgamma0;
58 double EgammaW= (W_2-mN_2)/(2*W);
59 double Egammam= (m_2-mN_2)/(2*m);
69 if(W_2>m_aux1) pPiW = TMath::Sqrt((W_2-m_aux1)*(W_2-m_aux2))/(2*
W);
71 double pPim = TMath::Sqrt((m_2-m_aux1)*(m_2-m_aux2))/(2*
m);
79 double fgammaW= 1/(TMath::Power(1+EgammaW*EgammaW/0.706, 2));
80 double fgammam= 1/(TMath::Power(1+Egammam*Egammam/0.706, 2));
83 double EgammaW_3=TMath::Power(EgammaW, 3);
84 double Egammam_3=TMath::Power(Egammam, 3);
85 double fgammaW_2=TMath::Power(fgammaW, 2);
86 double fgammam_2=TMath::Power(fgammam, 2);
89 double width = widPi0*TMath::Power((pPiW/pPim),3)+widgamma0*(EgammaW_3*fgammaW_2/(Egammam_3*fgammam_2));
91 double width_2 = TMath::Power( width, 2);
92 double W_m_2 = TMath::Power( W-mass, 2);
94 double bw = (0.5/
kPi) * (width/norm) / (W_m_2 + 0.25*width_2);
100 double W,
int L,
double mass,
double width0,
double norm)
119 double m_2 = TMath::Power(mass, 2);
120 double mN_2 = TMath::Power(mN, 2);
121 double mPi_2 = TMath::Power(mPi, 2);
122 double W_2 = TMath::Power(W, 2);
125 double qpW_2 = ( TMath::Power(W_2 - mN_2 - mPi_2, 2) - 4*mN_2*mPi_2 );
126 double qpM_2 = ( TMath::Power(m_2 - mN_2 - mPi_2, 2) - 4*mN_2*mPi_2 );
127 if(qpW_2 < 0) qpW_2 = 0;
128 if(qpM_2 < 0) qpM_2 = 0;
129 double qpW = TMath::Sqrt(qpW_2) / (2*
W);
130 double qpM = TMath::Sqrt(qpM_2) / (2*mass);
131 double width = width0 * TMath::Power( qpW/qpM, 2*L+1 );
134 double width_2 = TMath::Power( width, 2);
135 double W_m_2 = TMath::Power( W-mass, 2);
137 double bw = (0.5/
kPi) * (width/norm) / (W_m_2 + 0.25*width_2);
142 double W,
double mass,
double width,
double norm)
157 double width_2 = TMath::Power( width, 2);
158 double W_m_2 = TMath::Power( W-mass, 2);
161 double bw = (0.5/
kPi) * (width/norm) / (W_m_2 + 0.25*width_2);
double BreitWigner(double W, double mass, double width, double norm)
THE MAIN GENIE PROJECT NAMESPACE
static const double kNucleonMass
static const double kPi0Mass
double BreitWignerLGamma(double W, int L, double mass, double width0, double norm)
double BreitWignerL(double W, int L, double mass, double width0, double norm)
auto norm(Vector const &v)
Return norm of the specified vector.