Skip to content
Snippets Groups Projects
Commit 1be4c3cd authored by Bertram Kopf's avatar Bertram Kopf
Browse files

few modifications in Kmatrix formalism

parent 8a5ddd14
No related branches found
No related tags found
No related merge requests found
......@@ -51,7 +51,7 @@ FlatteShape::FlatteShape(std::string ptype, double g1, double g2) :
std::pair <const double, const double> decPairHigh=make_pair(KplusMass,K0Mass);
int size=700;
int size=2000;
double massMin=.5;
double massMax=1.85;
......@@ -130,7 +130,7 @@ FlatteShape::FlatteShape(std::string ptype, double g1, double g2) :
complex<double> currentValLow=theTMatrix(0,0);
cout << "currentMass= " << mass4Vec.M() << endl;
cout << "currentValLow= " << currentValLow << " norm: " << norm(currentValLow) << endl;
complex<double> currentValHigh=theTMatrix(1,1);
complex<double> currentValHigh=theTMatrix(0,1);
cout << "currentValHigh= " << currentValHigh << " norm: " << norm(currentValHigh) << endl;
_histShapeLowKmatr->Fill(mass4Vec.M(), norm(currentValLow) );
......@@ -149,10 +149,10 @@ FlatteShape::FlatteShape(std::string ptype, double g1, double g2) :
vector< complex<double> > rhoFactors=theTMatrix.currentRhoFactors();
complex<double> rhoDiv=rhoFactors[1]/rhoFactors[0];
if(rhoFactors[0].real()>0.) _histShapeLowKmatrRel->Fill(mass4Vec.M(), norm(currentValLowRel)*rhoFactors[0].real() );
if(rhoFactors[0].real()>0.) _argandKmatrLowRelHist->Fill(sqrt(rhoFactors[0].real())*currentValLowRel.real(),sqrt(rhoFactors[0].real())*currentValLowRel.imag());
if(rhoFactors[1].real()>0.) _histShapeHighKmatrRel->Fill(mass4Vec.M(), norm(currentValHighRel)*rhoFactors[1].real() );
if(rhoFactors[1].real()>0.) _argandKmatrHighRelHist->Fill(currentValHighRel.real()*rhoFactors[1].real(),currentValHighRel.imag()*rhoFactors[1].real());
_histShapeLowKmatrRel->Fill(mass4Vec.M(), norm(currentValLowRel)*norm(rhoFactors[0]) );
_argandKmatrLowRelHist->Fill(sqrt(norm(rhoFactors[0]))*currentValLowRel.real(),sqrt(norm(rhoFactors[0]))*currentValLowRel.imag());
_histShapeHighKmatrRel->Fill(mass4Vec.M(), norm(currentValHighRel)*norm(sqrt(rhoFactors[0]*rhoFactors[1])) );
_argandKmatrHighRelHist->Fill(currentValHighRel.real()*sqrt(abs(rhoFactors[0]*rhoFactors[1])),currentValHighRel.imag()*sqrt(abs(rhoFactors[0]*rhoFactors[1])));
complex<double> rhoPoleFactor1=phaseSpaceFac(mass4Vec.M(),decPairLow.first, decPairLow.second);
complex<double> rhoPoleFactor2=phaseSpaceFac(mass4Vec.M(),decPairHigh.first, decPairHigh.second);
......
......@@ -20,6 +20,8 @@ KpoleMatrix::KpoleMatrix(const vector<double>& g_i, const double mass_0, const v
}
}
KpoleMatrix::KpoleMatrix(const KpoleMatrix &theCopy):
Matrix< complex<double> >::Matrix(int(theCopy._g_i.size()), int(theCopy._g_i.size()))
, _orbMom(theCopy._orbMom)
......@@ -62,10 +64,7 @@ void KpoleMatrix::updateMatrix(const double mass){
for (int i=0; i< int(_g_i.size()); ++i){
for (int j=0; j< int(_g_i.size()); ++j){
// this->operator()(i,j)= ( _g_i[i]*sqrt(conj(rhoFactors[i]))*barrierFactors[i]*_g_i[j]*sqrt(rhoFactors[j])*barrierFactors[j])/(_poleMass*_poleMass-mass*mass);
this->operator()(i,j)= ( _g_i[i]*_g_i[j]*sqrt(rhoFactors[i]*barrierFactors[i]*rhoFactors[j]*barrierFactors[j]))/(_poleMass*_poleMass-mass*mass);
// this->operator()(i,j)= ( _g_i[i]*sqrt(rhoFactors[i]*rhoFactors[j])*_g_i[j])/(_poleMass*_poleMass-mass*mass);
// this->operator()(i,j)= (( _g_i[i]*_g_i[j])/(_poleMass*_poleMass-mass*mass))*sqrt(rhoFactors[i]*rhoFactors[j]);
}
}
......@@ -83,7 +82,6 @@ void KpoleMatrix::updateMatrixRel(const double mass){
for (int i=0; i< int(_g_i.size()); ++i){
for (int j=0; j< int(_g_i.size()); ++j){
// this->operator()(i,j) /= sqrt(_rhoPoleFactors[i]*_rhoPoleFactors[j]);
this->operator()(i,j) /= sqrt(rhoFactors[i]*rhoFactors[j]);
}
}
......
......@@ -39,6 +39,8 @@ public:
void updateMatrix(const double mass);
void updateMatrixRel(const double mass);
double poleMass() {return _poleMass;}
vector<double> gFactors() {return _g_i;}
vector< complex<double> > rhoFactors() {return _rhoPoleFactors;}
......
......@@ -9,6 +9,7 @@ TMatrix::TMatrix(const vector<KpoleMatrix>& theKpoles):
_currentRhoFactors.resize(theKpoles[0].NumRows());
}
TMatrix::~TMatrix(){
}
......@@ -36,7 +37,7 @@ void TMatrix::updateMatrix(const double mass){
tmpDenomMatrInv.invert();
Matrix< complex< double > > testMatr=tmpDenomMatrCompl*tmpDenomMatrInv;
// Matrix< complex< double > > testMatr=tmpDenomMatrCompl*tmpDenomMatrInv;
// cout << "testMatr: " << testMatr << endl;
......@@ -60,11 +61,10 @@ void TMatrix::updateMatrixRel(const double mass){
for (it =_Kpoles.begin(); it != _Kpoles.end(); ++it){
it->updateMatrixRel(mass);
// it->updateMatrix(mass);
theKMatrix += (*it);
}
cout << "theKMatrixRel: " << theKMatrix << endl;
// cout << "theKMatrixRel: " << theKMatrix << endl;
Matrix< complex<double> > theRhoMatrix(NumRows(),NumRows());
......
......@@ -19,11 +19,6 @@ class TMatrix : public Matrix< complex<double> > {
public:
// create/copy/destroy:
/// Default Constructor (rank 0)
// TMatrix() : Matrix<double>::Matrix() {}
/// Constructor
TMatrix(const vector<KpoleMatrix>& theKpoles);
......@@ -57,6 +52,7 @@ protected:
vector<KpoleMatrix> _Kpoles;
vector< complex<double> > _currentRhoFactors;
};
//_____________________________________________________________________________
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment