MINT2
GLass.cpp
Go to the documentation of this file.
1 // author: Philippe d'Argent
2 #include "Mint/GLass.h"
3 #include <iostream>
4 #include <cmath>
5 
6 using namespace std;
7 using namespace MINT;
8 
9 std::complex<double> GLass::BreitWigner(){
10 
11  double q2 = pABSq();
12  double q = sqrt( q2 );
13  double gamma = GofM();
14  double scatteringPhase = phiF() + atan( 2. * a() * q / ( 2. + a() * r() * q2 ) );
15  double resonancePhase = phiR() + atan( mumsMass() * gamma / ( mumsMass() * mumsMass() - mumsRecoMass2() ) );
16  double rho = sqrt( q2 / s );
17  complex<double> returnValue = ( F() * sin( scatteringPhase ) * std::polar(1.,scatteringPhase) +
18  R() * sin( resonancePhase ) * std::polar(1., resonancePhase + 2. * scatteringPhase ) ) / rho;
19 
20  std::vector<int> asi = _theDecay.getVal().asi();
21  double min = getEvent()->eventPattern().sijMin(asi);
22  double max = getEvent()->eventPattern().sijMax(asi);
23  double x = 2.* (mumsRecoMass2() - min)/(max - min) - 1.;
24 
25  returnValue *= exp(alpha1()*x) + exp(alpha2()*x*x) + exp(alpha3()*x*x*x);
26 
27  return returnValue;
28 }
static const double s
virtual std::complex< double > BreitWigner()
Definition: GLass.cpp:9