79 double L = 2.0 * log(
w / 0.000511 );
80 double alpha = 1 / 137.0;
88 double minResMass = md1 + md2;
92 minResMass = minResMass + md3;
96 double pgmax = (
s - minResMass * minResMass ) / ( 2.0 *
w );
100 double k = fabs( pgz );
107 double mres = p4res.
mass();
118 if ( mres <= 3.9 ) sigma = 0.00001;
120 bool sigmacomputed(
false );
132 5. / 9. * ( 1. - 1. * sqrt( ( 4.18 - mres ) * ( 4.18 - mres ) ) / ( 4.3 - 4.18 ) );
134 else if ( mres > 4.07 && mres <= 4.18 ) { sigma *= 5. / 9.; }
135 else if ( mres <= 4.07 && mres > 4.03 )
138 ( 5. / 9. - 1.5 / 9. * sqrt( ( 4.07 - mres ) * ( 4.07 - mres ) ) / ( 4.07 - 4.03 ) );
140 else if ( mres <= 4.03 && mres >= 4.013 )
142 sigma *= ( 3.5 / 9. -
143 3.5 / 9. * sqrt( ( 4.03 - mres ) * ( 4.03 - mres ) ) / ( 4.03 - 4.013 ) );
145 else { sigma = 0.00001; }
146 sigmacomputed =
true;
161 if ( mres >= 4.2 ) { sigma *= 1.5 / 9.; }
162 else if ( mres > 4.06 && mres < 4.2 )
164 sigma *= ( ( 1.5 / 9. +
165 2.5 / 9. * sqrt( ( 4.2 - mres ) * ( 4.2 - mres ) ) / ( 4.2 - 4.06 ) ) );
167 else if ( mres >= 4.015 && mres < 4.06 )
169 sigma *= ( ( 4. / 9. +
170 3. / 9. * sqrt( ( 4.06 - mres ) * ( 4.06 - mres ) ) / ( 4.06 - 4.015 ) ) );
172 else if ( mres < 4.015 && mres >= 3.9 )
174 sigma *= ( ( 7. / 9. -
175 7 / 9. * sqrt( ( 4.015 - mres ) * ( 4.015 - mres ) ) / ( 4.015 - 3.9 ) ) );
177 else { sigma = 0.00001; }
178 sigmacomputed =
true;
186 if ( mres > ( 2.112 + 2.112 ) ) { sigma = 0.4; }
193 sigmacomputed =
true;
204 if ( mres > 4.26 ) { sigma = 0.05; }
205 else if ( mres > 4.18 && mres <= 4.26 )
208 ( 0.05 + 0.95 * sqrt( ( 4.26 - mres ) * ( 4.26 - mres ) ) / ( 4.26 - 4.18 ) );
210 else if ( mres > 4.16 && mres <= 4.18 ) { sigma *= 1 / 9.; }
211 else if ( mres <= 4.16 && mres > 4.08 )
212 { sigma *= 1 / 9. * ( 1 - sqrt( ( 4.16 - mres ) * ( 4.16 - mres ) ) / ( 4.16 - 4.08 ) ); }
213 else if ( mres <= ( 4.08 ) ) { sigma = 0.00001; }
214 sigmacomputed =
true;
226 sigmacomputed =
true;
236 sigmacomputed =
true;
243 if ( mres > 4.03 ) { sigma *= 0.5 / 9.; }
244 else { sigma = 0.00001; }
245 sigmacomputed =
true;
249 if ( !sigmacomputed )
252 <<
"VPHOTOVISRHI: This model requires daughters to be listed in a particular order."
254 <<
"The following are acceptable:" << endl
255 <<
"D0 anti-D0" << endl
257 <<
"D*0 anti-D0" << endl
258 <<
"anti-D*0 D0" << endl
261 <<
"D*0 anti-D*0" << endl
263 <<
"D_s+ D_s-" << endl
264 <<
"D_s*+ D_s-" << endl
265 <<
"D_s*- D_s+" << endl
266 <<
"D_s*+ D_s*-" << endl
267 <<
"(D* D pi can be in any order)" << endl
268 <<
"Aborting..." << endl;
272 if ( sigma < 0 ) sigma = 0.0;
279 static int count = 0;
288 double norm = sqrt( sigma );
virtual EvtVector4C epsParent(int i) const
virtual void init(EvtId part_n, const EvtVector4R &p4)=0
EvtVector4R getP4Restframe()
EvtParticle * getDaug(int i)
virtual EvtVector4C eps(int i) const