37 const Int_t resPairAmpInt,
58 const Double_t B1Val( 23.6 );
59 const Double_t B2Val( 29.4 );
60 const Double_t B3Val( 0.6 );
61 const Double_t C1Val( 34.39 );
62 const Double_t C2Val( 4.4 );
63 const Double_t C3Val( -32.9 );
64 const Double_t C4Val( -16. );
65 const Double_t C5Val( 7.4 );
66 const Double_t D0Val( 0.59 );
67 const Double_t D1Val( -0.38 );
68 const Double_t D2Val( 0.12 );
69 const Double_t D3Val( -0.09 );
70 const Double_t F1Val( -0.043 );
71 const Double_t F2Val( -0.008 );
72 const Double_t F3Val( -0.28 );
73 const Double_t F4Val( 0.026 );
76 TString B1Name( parNameBase );
84 TString B2Name( parNameBase );
88 B2_ =
new LauParameter( B2Name, B2Val, -100., 100., kTRUE );
92 TString B3Name( parNameBase );
96 B3_ =
new LauParameter( B3Name, B3Val, -100., 100., kTRUE );
101 TString C1Name( parNameBase );
105 C1_ =
new LauParameter( C1Name, C1Val, -100., 100., kTRUE );
109 TString C2Name( parNameBase );
113 C2_ =
new LauParameter( C2Name, C2Val, -100., 100., kTRUE );
117 TString C3Name( parNameBase );
121 C3_ =
new LauParameter( C3Name, C3Val, -100., 100., kTRUE );
125 TString C4Name( parNameBase );
129 C4_ =
new LauParameter( C4Name, C4Val, -100., 100., kTRUE );
133 TString C5Name( parNameBase );
137 C5_ =
new LauParameter( C5Name, C5Val, -100., 100., kTRUE );
142 TString D0Name( parNameBase );
146 D0_ =
new LauParameter( D0Name, D0Val, -100., 100., kTRUE );
150 TString D1Name( parNameBase );
154 D1_ =
new LauParameter( D1Name, D1Val, -100., 100., kTRUE );
158 TString D2Name( parNameBase );
162 D2_ =
new LauParameter( D2Name, D2Val, -100., 100., kTRUE );
166 TString D3Name( parNameBase );
170 D3_ =
new LauParameter( D3Name, D3Val, -100., 100., kTRUE );
174 TString F1Name( parNameBase );
178 F1_ =
new LauParameter( F1Name, F1Val, -100., 100., kTRUE );
182 TString F2Name( parNameBase );
186 F2_ =
new LauParameter( F2Name, F2Val, -100., 100., kTRUE );
190 TString F3Name( parNameBase );
194 F3_ =
new LauParameter( F3Name, F3Val, -100., 100., kTRUE );
198 TString F4Name( parNameBase );
202 F4_ =
new LauParameter( F4Name, F4Val, -100., 100., kTRUE );
236 C0_ = phi00( sqr_tmax[1] * sqr_tmax[1], 1 ) + C1_->
value() - C2_->
value() + C3_->
value() -
238 F0_ = g00( sqr_tmax[1] * sqr_tmax[1], 1 ) + F1_->
value() - F2_->
value() + F3_->
value() -
241 std::cout <<
"##### B = " << this->
B1_->
value() <<
", " << this->B2_->
value() <<
", "
242 << this->B3_->
value() << std::endl;
243 std::cout <<
"##### C = " << this->C1_->
value() <<
", " << this->C2_->
value() <<
", "
244 << this->C3_->
value() <<
", " << this->C4_->
value() <<
", " << this->C5_->
value()
246 std::cout <<
"##### D = " << this->D0_->
value() <<
", " << this->D1_->
value() <<
", "
247 << this->D2_->
value() <<
", " << this->D3_->
value() << std::endl;
248 std::cout <<
"##### F = " << this->F1_->
value() <<
", " << this->F2_->
value() <<
", "
249 << this->F3_->
value() <<
", " << this->F4_->
value() << std::endl;
255 if ( mass < sqr_tmax[1] )
257 if ( mass > sqr_tmax[1] && mass < sqr_tmax[2] )
260 std::cout <<
" ERROR MASS = " << mass <<
" out of limmits mI, mII" << std::endl;
264 Double_t sqr_t = mass;
265 Double_t mag = this->g00( sqr_t, i );
266 Double_t phase = this->phi00( sqr_t, i );
268 return LauComplex( mag * TMath::Cos( phase ), mag * TMath::Sin( phase ) );
271 Double_t LauRescattering2Res::pn(
const Double_t x_,
const Double_t n )
const
277 return 2 * x_ * pn( x_, n - 1 ) - pn( x_, n - 2 );
280 Double_t LauRescattering2Res::x(
const Double_t sqr_t,
const Int_t i )
const
282 return 2.0 * ( sqr_t - sqr_tmin[i] ) / ( sqr_tmax[i] - sqr_tmin[i] ) - 1.0;
285 Double_t LauRescattering2Res::phi00(
const Double_t sqr_t,
const Int_t i )
const
287 Double_t x_t = x( sqr_t, i );
290 return B0_ * this->pn( x_t, 0 ) +
B1_->
value() * this->pn( x_t, 1 ) +
291 B2_->
value() * this->pn( x_t, 2 ) + B3_->
value() * this->pn( x_t, 3 );
294 return C0_ * this->pn( x_t, 0 ) + C1_->
value() * this->pn( x_t, 1 ) +
295 C2_->
value() * this->pn( x_t, 2 ) + C3_->
value() * this->pn( x_t, 3 ) +
296 C4_->
value() * this->pn( x_t, 4 ) + C5_->
value() * this->pn( x_t, 5 );
301 Double_t LauRescattering2Res::g00(
const Double_t sqr_t,
const Int_t i )
const
303 Double_t x_t = x( sqr_t, i );
306 return D0_->
value() * this->pn( x_t, 0 ) + D1_->
value() * this->pn( x_t, 1 ) +
307 D2_->
value() * this->pn( x_t, 2 ) + D3_->
value() * this->pn( x_t, 3 );
310 return F0_ * this->pn( x_t, 0 ) + F1_->
value() * this->pn( x_t, 1 ) +
311 F2_->
value() * this->pn( x_t, 2 ) + F3_->
value() * this->pn( x_t, 3 ) +
312 F4_->
value() * this->pn( x_t, 4 );
322 if ( ! this->fixB1Parameter() ) {
325 if ( ! this->fixB2Parameter() ) {
328 if ( ! this->fixB3Parameter() ) {
332 if ( ! this->fixC1Parameter() ) {
335 if ( ! this->fixC2Parameter() ) {
338 if ( ! this->fixC3Parameter() ) {
341 if ( ! this->fixC4Parameter() ) {
344 if ( ! this->fixC5Parameter() ) {
348 if ( ! this->fixD0Parameter() ) {
351 if ( ! this->fixD1Parameter() ) {
354 if ( ! this->fixD2Parameter() ) {
357 if ( ! this->fixD3Parameter() ) {
361 if ( ! this->fixF1Parameter() ) {
365 if ( ! this->fixF2Parameter() ) {
369 if ( ! this->fixF3Parameter() ) {
373 if ( ! this->fixF4Parameter() ) {
383 if (
name ==
"B1" ) {
384 this->setB1Parameter(
value );
385 std::cout <<
"INFO in LauRescattering2Res::setResonanceParameter : Setting NRAmplitude B1 = "
386 << this->getB1Parameter() << std::endl;
387 }
else if (
name ==
"B2" ) {
388 this->setB2Parameter(
value );
389 std::cout <<
"INFO in LauRescattering2Res::setResonanceParameter : Setting NRAmplitude B2 = "
390 << this->getB2Parameter() << std::endl;
391 }
else if (
name ==
"B3" ) {
392 this->setB3Parameter(
value );
393 std::cout <<
"INFO in LauRescattering2Res::setResonanceParameter : Setting NRAmplitude B3 = "
394 << this->getB3Parameter() << std::endl;
395 }
else if (
name ==
"C1" ) {
396 this->setC1Parameter(
value );
397 std::cout <<
"INFO in LauRescattering2Res::setResonanceParameter : Setting NRAmplitude C1 = "
398 << this->getC1Parameter() << std::endl;
399 }
else if (
name ==
"C2" ) {
400 this->setC2Parameter(
value );
401 std::cout <<
"INFO in LauRescattering2Res::setResonanceParameter : Setting NRAmplitude C2 = "
402 << this->getC2Parameter() << std::endl;
403 }
else if (
name ==
"C3" ) {
404 this->setC3Parameter(
value );
405 std::cout <<
"INFO in LauRescattering2Res::setResonanceParameter : Setting NRAmplitude C3 = "
406 << this->getC3Parameter() << std::endl;
407 }
else if (
name ==
"C4" ) {
408 this->setC4Parameter(
value );
409 std::cout <<
"INFO in LauRescattering2Res::setResonanceParameter : Setting NRAmplitude C4 = "
410 << this->getC4Parameter() << std::endl;
411 }
else if (
name ==
"C5" ) {
412 this->setC5Parameter(
value );
413 std::cout <<
"INFO in LauRescattering2Res::setResonanceParameter : Setting NRAmplitude C5 = "
414 << this->getC5Parameter() << std::endl;
415 }
else if (
name ==
"D0" ) {
416 this->setD0Parameter(
value );
417 std::cout <<
"INFO in LauRescattering2Res::setResonanceParameter : Setting NRAmplitude D0 = "
418 << this->getD0Parameter() << std::endl;
419 }
else if (
name ==
"D1" ) {
420 this->setD1Parameter(
value );
421 std::cout <<
"INFO in LauRescattering2Res::setResonanceParameter : Setting NRAmplitude D1 = "
422 << this->getD1Parameter() << std::endl;
423 }
else if (
name ==
"D2" ) {
424 this->setD2Parameter(
value );
425 std::cout <<
"INFO in LauRescattering2Res::setResonanceParameter : Setting NRAmplitude D2 = "
426 << this->getD2Parameter() << std::endl;
427 }
else if (
name ==
"D3" ) {
428 this->setD3Parameter(
value );
429 std::cout <<
"INFO in LauRescattering2Res::setResonanceParameter : Setting NRAmplitude D3 = "
430 << this->getD3Parameter() << std::endl;
431 }
else if (
name ==
"F1" ) {
432 this->setF1Parameter(
value );
433 std::cout <<
"INFO in LauRescattering2Res::setResonanceParameter : Setting NRAmplitude F1 = "
434 << this->getF1Parameter() << std::endl;
435 }
else if (
name ==
"F2" ) {
436 this->setF2Parameter(
value );
437 std::cout <<
"INFO in LauRescattering2Res::setResonanceParameter : Setting NRAmplitude F2 = "
438 << this->getF2Parameter() << std::endl;
439 }
else if (
name ==
"F3" ) {
440 this->setF3Parameter(
value );
441 std::cout <<
"INFO in LauRescattering2Res::setResonanceParameter : Setting NRAmplitude F3 = "
442 << this->getF3Parameter() << std::endl;
443 }
else if (
name ==
"F4" ) {
444 this->setF4Parameter(
value );
445 std::cout <<
"INFO in LauRescattering2Res::setResonanceParameter : Setting NRAmplitude F4 = "
446 << this->getF4Parameter() << std::endl;
448 std::cerr <<
"WARNING in LauRescattering2Res::setResonanceParameter: Parameter name not reconised. No parameter changes made."
455 if (
name ==
"B1" ) {
460 std::cerr <<
"WARNING in LauRescattering2Res::floatResonanceParameter: Parameter already floating. No parameter changes made."
463 }
else if (
name ==
"B2" ) {
464 if ( B2_->
fixed() ) {
465 B2_->
fixed( kFALSE );
468 std::cerr <<
"WARNING in LauRescattering2Res::floatResonanceParameter: Parameter already floating. No parameter changes made."
471 }
else if (
name ==
"B3" ) {
472 if ( B3_->
fixed() ) {
473 B3_->
fixed( kFALSE );
476 std::cerr <<
"WARNING in LauRescattering2Res::floatResonanceParameter: Parameter already floating. No parameter changes made."
479 }
else if (
name ==
"C1" ) {
480 if ( C1_->
fixed() ) {
481 C1_->
fixed( kFALSE );
484 std::cerr <<
"WARNING in LauRescattering2Res::floatResonanceParameter: Parameter already floating. No parameter changes made."
487 }
else if (
name ==
"C2" ) {
488 if ( C2_->
fixed() ) {
489 C2_->
fixed( kFALSE );
492 std::cerr <<
"WARNING in LauRescattering2Res::floatResonanceParameter: Parameter already floating. No parameter changes made."
495 }
else if (
name ==
"C3" ) {
496 if ( C3_->
fixed() ) {
497 C3_->
fixed( kFALSE );
500 std::cerr <<
"WARNING in LauRescattering2Res::floatResonanceParameter: Parameter already floating. No parameter changes made."
503 }
else if (
name ==
"C4" ) {
504 if ( C4_->
fixed() ) {
505 C4_->
fixed( kFALSE );
508 std::cerr <<
"WARNING in LauRescattering2Res::floatResonanceParameter: Parameter already floating. No parameter changes made."
511 }
else if (
name ==
"C5" ) {
512 if ( C5_->
fixed() ) {
513 C5_->
fixed( kFALSE );
516 std::cerr <<
"WARNING in LauRescattering2Res::floatResonanceParameter: Parameter already floating. No parameter changes made."
519 }
else if (
name ==
"D0" ) {
520 if ( D0_->
fixed() ) {
521 D0_->
fixed( kFALSE );
524 std::cerr <<
"WARNING in LauRescattering2Res::floatResonanceParameter: Parameter already floating. No parameter changes made."
527 }
else if (
name ==
"D1" ) {
528 if ( D1_->
fixed() ) {
529 D1_->
fixed( kFALSE );
532 std::cerr <<
"WARNING in LauRescattering2Res::floatResonanceParameter: Parameter already floating. No parameter changes made."
535 }
else if (
name ==
"D2" ) {
536 if ( D2_->
fixed() ) {
537 D2_->
fixed( kFALSE );
540 std::cerr <<
"WARNING in LauRescattering2Res::floatResonanceParameter: Parameter already floating. No parameter changes made."
543 }
else if (
name ==
"D3" ) {
544 if ( D3_->
fixed() ) {
545 D3_->
fixed( kFALSE );
548 std::cerr <<
"WARNING in LauRescattering2Res::floatResonanceParameter: Parameter already floating. No parameter changes made."
551 }
else if (
name ==
"F1" ) {
552 if ( F1_->
fixed() ) {
553 F1_->
fixed( kFALSE );
556 std::cerr <<
"WARNING in LauRescattering2Res::floatResonanceParameter: Parameter already floating. No parameter changes made."
559 }
else if (
name ==
"F2" ) {
560 if ( F2_->
fixed() ) {
561 F2_->
fixed( kFALSE );
564 std::cerr <<
"WARNING in LauRescattering2Res::floatResonanceParameter: Parameter already floating. No parameter changes made."
567 }
else if (
name ==
"F3" ) {
568 if ( F3_->
fixed() ) {
569 F3_->
fixed( kFALSE );
572 std::cerr <<
"WARNING in LauRescattering2Res::floatResonanceParameter: Parameter already floating. No parameter changes made."
575 }
else if (
name ==
"4F" ) {
576 if ( F4_->
fixed() ) {
577 F4_->
fixed( kFALSE );
580 std::cerr <<
"WARNING in LauRescattering2Res::floatResonanceParameter: Parameter already floating. No parameter changes made."
584 std::cerr <<
"WARNING in LauRescattering2Res::fixResonanceParameter: Parameter name not reconised. No parameter changes made."
591 if (
name ==
"B1" ) {
593 }
else if (
name ==
"B2" ) {
595 }
else if (
name ==
"B3" ) {
597 }
else if (
name ==
"C1" ) {
599 }
else if (
name ==
"C2" ) {
601 }
else if (
name ==
"C3" ) {
603 }
else if (
name ==
"C4" ) {
605 }
else if (
name ==
"C5" ) {
607 }
else if (
name ==
"D0" ) {
609 }
else if (
name ==
"D1" ) {
611 }
else if (
name ==
"D2" ) {
613 }
else if (
name ==
"D3" ) {
615 }
else if (
name ==
"F1" ) {
617 }
else if (
name ==
"F2" ) {
619 }
else if (
name ==
"F3" ) {
621 }
else if (
name ==
"F4" ) {
624 std::cerr <<
"WARNING in LauRescattering2Res::getResonanceParameter: Parameter name not reconised."
630 void LauRescattering2Res::setB1Parameter(
const Double_t B1 )
637 void LauRescattering2Res::setB2Parameter(
const Double_t B2 )
644 void LauRescattering2Res::setB3Parameter(
const Double_t B3 )
651 void LauRescattering2Res::setC1Parameter(
const Double_t C1 )
658 void LauRescattering2Res::setC2Parameter(
const Double_t C2 )
665 void LauRescattering2Res::setC3Parameter(
const Double_t C3 )
672 void LauRescattering2Res::setC4Parameter(
const Double_t C4 )
679 void LauRescattering2Res::setC5Parameter(
const Double_t C5 )
686 void LauRescattering2Res::setD0Parameter(
const Double_t D0 )
693 void LauRescattering2Res::setD1Parameter(
const Double_t D1 )
700 void LauRescattering2Res::setD2Parameter(
const Double_t D2 )
707 void LauRescattering2Res::setD3Parameter(
const Double_t D3 )
714 void LauRescattering2Res::setF1Parameter(
const Double_t F1 )
721 void LauRescattering2Res::setF2Parameter(
const Double_t F2 )
728 void LauRescattering2Res::setF3Parameter(
const Double_t F3 )
735 void LauRescattering2Res::setF4Parameter(
const Double_t F4 )