Changeset View
Changeset View
Standalone View
Standalone View
src/EvtGenBase/EvtSemiLeptonicVectorAmp.cpp
Show All 27 Lines | |||||
#include "EvtGenBase/EvtParticle.hh" | #include "EvtGenBase/EvtParticle.hh" | ||||
#include "EvtGenBase/EvtPatches.hh" | #include "EvtGenBase/EvtPatches.hh" | ||||
#include "EvtGenBase/EvtReport.hh" | #include "EvtGenBase/EvtReport.hh" | ||||
#include "EvtGenBase/EvtSemiLeptonicFF.hh" | #include "EvtGenBase/EvtSemiLeptonicFF.hh" | ||||
#include "EvtGenBase/EvtTensor4C.hh" | #include "EvtGenBase/EvtTensor4C.hh" | ||||
#include "EvtGenBase/EvtVector4C.hh" | #include "EvtGenBase/EvtVector4C.hh" | ||||
using std::endl; | using std::endl; | ||||
double gmn( int m, int n ) | |||||
{ | |||||
if ( m != n ) | |||||
return 0; | |||||
if ( m > 0 ) | |||||
return -1; | |||||
return 1; | |||||
} | |||||
void EvtSemiLeptonicVectorAmp::CalcAmp( EvtParticle* parent, EvtAmp& amp, | void EvtSemiLeptonicVectorAmp::CalcAmp( EvtParticle* parent, EvtAmp& amp, | ||||
EvtSemiLeptonicFF* FormFactors ) | EvtSemiLeptonicFF* FormFactors ) | ||||
{ | { | ||||
static EvtId EM = EvtPDL::getId( "e-" ); | static EvtId EM = EvtPDL::getId( "e-" ); | ||||
static EvtId MUM = EvtPDL::getId( "mu-" ); | static EvtId MUM = EvtPDL::getId( "mu-" ); | ||||
static EvtId TAUM = EvtPDL::getId( "tau-" ); | static EvtId TAUM = EvtPDL::getId( "tau-" ); | ||||
static EvtId EP = EvtPDL::getId( "e+" ); | static EvtId EP = EvtPDL::getId( "e+" ); | ||||
static EvtId MUP = EvtPDL::getId( "mu+" ); | static EvtId MUP = EvtPDL::getId( "mu+" ); | ||||
▲ Show 20 Lines • Show All 69 Lines • ▼ Show 20 Lines | if ( l_num == EM || l_num == MUM || l_num == TAUM ) { | ||||
l2 = EvtLeptonVACurrent( parent->getDaug( 2 )->spParentNeutrino(), | l2 = EvtLeptonVACurrent( parent->getDaug( 2 )->spParentNeutrino(), | ||||
parent->getDaug( 1 )->spParent( 1 ) ); | parent->getDaug( 1 )->spParent( 1 ) ); | ||||
} else { | } else { | ||||
EvtGenReport( EVTGEN_ERROR, "EvtGen" ) | EvtGenReport( EVTGEN_ERROR, "EvtGen" ) | ||||
<< "Wrong lepton number" << endl; | << "Wrong lepton number" << endl; | ||||
} | } | ||||
} | } | ||||
EvtVector4C et0 = tds.cont1( parent->getDaug( 0 )->epsParent( 0 ).conj() ); | EvtParticle* D = parent->getDaug( 0 ); | ||||
EvtVector4C et1 = tds.cont1( parent->getDaug( 0 )->epsParent( 1 ).conj() ); | EvtVector4C t0 = D->epsParent( 0 ), t1 = D->epsParent( 1 ), | ||||
EvtVector4C et2 = tds.cont1( parent->getDaug( 0 )->epsParent( 2 ).conj() ); | t2 = D->epsParent( 2 ); | ||||
/* | |||||
EvtVector4R k = D->getP4(); | |||||
std::cout<<t0<<endl; | |||||
std::cout<<t1<<endl; | |||||
std::cout<<t2<<endl; | |||||
std::cout<<t0*t0<<endl; | |||||
std::cout<<t1*t1<<endl; | |||||
std::cout<<t2*t2<<endl; | |||||
std::cout<<t0*t1<<endl; | |||||
std::cout<<t0*t2<<endl; | |||||
std::cout<<t1*t2<<endl; | |||||
for(int i=0;i<4;i++){ | |||||
for(int j=0;j<4;j++){ | |||||
std::cout<<t0.get(i)*t0.get(j) + t1.get(i)*t1.get(j) + t2.get(i)*t2.get(j)<<" "; | |||||
} | |||||
std::cout<<endl; | |||||
} | |||||
for(int i=0;i<4;i++){ | |||||
for(int j=0;j<4;j++){ | |||||
std::cout<<-gmn(i,j)+k.get(i)*k.get(j)/k.mass2()<<" "; | |||||
} | |||||
std::cout<<endl; | |||||
} | |||||
*/ | |||||
EvtVector4C et0 = tds.cont1( t0.conj() ); | |||||
EvtVector4C et1 = tds.cont1( t1.conj() ); | |||||
EvtVector4C et2 = tds.cont1( t2.conj() ); | |||||
amp.vertex( 0, 0, l1.cont( et0 ) ); | amp.vertex( 0, 0, l1.cont( et0 ) ); | ||||
amp.vertex( 0, 1, l2.cont( et0 ) ); | amp.vertex( 0, 1, l2.cont( et0 ) ); | ||||
amp.vertex( 1, 0, l1.cont( et1 ) ); | amp.vertex( 1, 0, l1.cont( et1 ) ); | ||||
amp.vertex( 1, 1, l2.cont( et1 ) ); | amp.vertex( 1, 1, l2.cont( et1 ) ); | ||||
amp.vertex( 2, 0, l1.cont( et2 ) ); | amp.vertex( 2, 0, l1.cont( et2 ) ); | ||||
amp.vertex( 2, 1, l2.cont( et2 ) ); | amp.vertex( 2, 1, l2.cont( et2 ) ); | ||||
return; | return; | ||||
} | } |