Changeset View
Changeset View
Standalone View
Standalone View
src/EvtGenModels/EvtRareLbToLllFFBase.cpp
/*********************************************************************** | /*********************************************************************** | ||||
* Copyright 1998-2020 CERN for the benefit of the EvtGen authors * | * Copyright 1998-2022 CERN for the benefit of the EvtGen authors * | ||||
* * | * * | ||||
* This file is part of EvtGen. * | * This file is part of EvtGen. * | ||||
* * | * * | ||||
* EvtGen is free software: you can redistribute it and/or modify * | * EvtGen is free software: you can redistribute it and/or modify * | ||||
* it under the terms of the GNU General Public License as published by * | * it under the terms of the GNU General Public License as published by * | ||||
* the Free Software Foundation, either version 3 of the License, or * | * the Free Software Foundation, either version 3 of the License, or * | ||||
* (at your option) any later version. * | * (at your option) any later version. * | ||||
* * | * * | ||||
Show All 24 Lines | |||||
} | } | ||||
EvtRareLbToLllFFBase::EvtRareLbToLllFFBase() : | EvtRareLbToLllFFBase::EvtRareLbToLllFFBase() : | ||||
natural_( "Lambda0", "anti-Lambda0", "Lambda(1520)0", "anti-Lambda(1520)0", | natural_( "Lambda0", "anti-Lambda0", "Lambda(1520)0", "anti-Lambda(1520)0", | ||||
"Lambda(1600)0", "anti-Lambda(1600)0" ) | "Lambda(1600)0", "anti-Lambda(1600)0" ) | ||||
{ | { | ||||
} | } | ||||
bool EvtRareLbToLllFFBase::isNatural( EvtParticle* lambda ) | bool EvtRareLbToLllFFBase::isNatural( const EvtParticle& lambda ) const | ||||
{ | { | ||||
return natural_.contains( lambda->getId() ); | return natural_.contains( lambda.getId() ); | ||||
} | } | ||||
double EvtRareLbToLllFFBase::calculateVdotV( EvtParticle* parent, | double EvtRareLbToLllFFBase::calculateVdotV( const EvtParticle& parent, | ||||
EvtParticle* lambda ) const | const EvtParticle& lambda ) const | ||||
{ | { | ||||
EvtVector4R p4parent; | EvtVector4R p4parent; | ||||
p4parent.set( parent->mass(), 0, 0, 0 ); | p4parent.set( parent.mass(), 0, 0, 0 ); | ||||
EvtVector4R p4lambda = lambda->getP4(); | EvtVector4R p4lambda = lambda.getP4(); | ||||
double M = lambda->mass(); | const double M = lambda.mass(); | ||||
double MB = parent->mass(); | const double MB = parent.mass(); | ||||
return p4parent.cont( p4lambda ) / ( MB * M ); | return p4parent.cont( p4lambda ) / ( MB * M ); | ||||
// return E_Lambda/M_Lambda | // return E_Lambda/M_Lambda | ||||
} | } | ||||
double EvtRareLbToLllFFBase::calculateVdotV( EvtParticle* parent, | double EvtRareLbToLllFFBase::calculateVdotV( const EvtParticle& parent, | ||||
EvtParticle* lambda, | const EvtParticle& lambda, | ||||
const double qsq ) const | const double qsq ) const | ||||
{ | { | ||||
double M = lambda->mass(); | const double M = lambda.mass(); | ||||
double MB = parent->mass(); | const double MB = parent.mass(); | ||||
double E = ( MB * MB - M * M - qsq ) / ( 2. * MB ); | double E = ( MB * MB - M * M - qsq ) / ( 2. * MB ); | ||||
return E / M; | return E / M; | ||||
} | } |