#include "EvtGenModels/EvtLambdaB2LambdaV.hh" #include "EvtGenBase/EvtRandom.hh" #include "EvtGenBase/EvtPatches.hh" #include #include #include #include #include "EvtGenBase/EvtGenKine.hh" #include "EvtGenBase/EvtParticle.hh" #include "EvtGenBase/EvtPDL.hh" #include "EvtGenBase/EvtReport.hh" using std::fstream ; //************************************************************************ //* * //* Class EvtLambdaB2LambdaV * //* * //************************************************************************ //DECLARE_ALGORITHM_FACTORY( EvtLambdaB2LambdaV ); EvtLambdaB2LambdaV::EvtLambdaB2LambdaV() { //set facility name fname="EvtGen.EvtLambdaB2LambdaV"; } //------------------------------------------------------------------------ // Destructor //------------------------------------------------------------------------ EvtLambdaB2LambdaV::~EvtLambdaB2LambdaV() {} //------------------------------------------------------------------------ // Method 'getName' //------------------------------------------------------------------------ std::string EvtLambdaB2LambdaV::getName() { return "LAMBDAB2LAMBDAV"; } //------------------------------------------------------------------------ // Method 'clone' //------------------------------------------------------------------------ EvtDecayBase* EvtLambdaB2LambdaV::clone() { return new EvtLambdaB2LambdaV; } //------------------------------------------------------------------------ // Method 'initProbMax' //------------------------------------------------------------------------ void EvtLambdaB2LambdaV::initProbMax() { //maximum (case where C=0) double Max = 1+fabs(A*B); report(DEBUG,fname.c_str())<<" PDF max value : "< Lambda J/psi"< anti-Lambda J/psi"< Lambda rho0"< anti-Lambda rho0"< Lambda omega"< anti-Lambda omega"< Lambda rho-omega-mixing"< anti-Lambda rho-omega-mixing"<getP4(); V->getP4(); report(INFO,fname.c_str())<<" LambdaB px: "<init(getDaugs()[0],q_lambda); V ->init(getDaugs()[1],q_V ); //computate pdf double pdf = 1 + A*B*cos(theta) + 2*A*real(C*EvtComplex(cos(phi),sin(phi)))*sin(theta); report(DEBUG,fname.c_str())<<" LambdaB decay pdf value : "<max2) Max=max1; else Max=max2; } report(DEBUG,fname.c_str())<<" PDF max value : "< p+ pi-"< anti-p- pi+"< Lambda J/psi"< anti-Lambda J/psi"< Lambda rho0"< anti-Lambda rho0"< Lambda omega"< anti-Lambda omega"< Lambda rho-omega-mixing"< anti-Lambda rho-omega-mixing"<init(getDaugs()[0],q_proton); pion ->init(getDaugs()[1],q_pion ); //computate pdf //double pdf = 1 + A*B*cos(theta) - EvtConst::pi/2.0*C*A*real(D*EvtComplex(cos(phi),sin(phi)))*sin(theta); double pdf = 1 + A*B*cos(theta) + 2*A*real(D*EvtComplex(cos(phi),sin(phi)))*sin(theta); report(DEBUG,fname.c_str())<<" Lambda decay pdf value : "<0) Max=2*(1-A); else Max=1+A; } else { if ((3*A-1)>=0) Max=2*A; else Max=1-A; } report(DEBUG,fname.c_str())<<" PDF max value : "< mu+ mu-"< pi+ pi-"< pi+ pi-"< pi+ pi-"<init(getDaugs()[0],q_Vp); Vm->init(getDaugs()[1],q_Vm); //computate pdf double pdf = 0; if (Vtype==VID::JPSI) { //leptonic case pdf = (1-3*A)*cos(theta)*cos(theta) + (1+A); } else { //hadronic case pdf = (3*A-1)*cos(theta)*cos(theta) + (1-A); } report(DEBUG,fname.c_str())<<" V decay pdf value : "<