Changeset View
Changeset View
Standalone View
Standalone View
src/EvtGenModels/EvtPi0Dalitz.cpp
Show First 20 Lines • Show All 59 Lines • ▼ Show 20 Lines | void EvtPi0Dalitz::initProbMax() | ||||
q2Max *= q2Max; | q2Max *= q2Max; | ||||
const int steps = 20000; | const int steps = 20000; | ||||
const double step = ( q2Max - q2Min ) / steps; | const double step = ( q2Max - q2Min ) / steps; | ||||
double maxProb = 0; | double maxProb = 0; | ||||
for ( int ii = 0; ii < steps; ++ii ) { | for ( int ii = 0; ii < steps; ++ii ) { | ||||
double q2 = q2Min + ii * step; | double q2 = q2Min + ii * step; | ||||
const double mSqDiff = m_m0Sq - q2; | const double mSqDiff = m_m0Sq - q2; | ||||
const double q2Sq = q2 * q2; | const double q2Sq = q2 * q2; | ||||
double prob = ( q2Max - q2 ) * ( q2Max - q2 ) * ( q2 - q2Min ) / | double prob = ( q2Max - q2 ) * ( q2Max - q2 ) * ( q2 - q2Min ) / ( q2Sq ); | ||||
( q2Sq ); | |||||
prob *= ( 1.0 / ( mSqDiff * mSqDiff + m_m0SqG0Sq ) ); | prob *= ( 1.0 / ( mSqDiff * mSqDiff + m_m0SqG0Sq ) ); | ||||
// When generating events, we do not start from phase-space, but | // When generating events, we do not start from phase-space, but | ||||
// add some pole to it, weight of which is taken into account | // add some pole to it, weight of which is taken into account | ||||
// elsewhere | // elsewhere | ||||
prob /= 1.0 + m_poleSize / ( q2Sq ); | prob /= 1.0 + m_poleSize / ( q2Sq ); | ||||
if ( prob > maxProb ) { | if ( prob > maxProb ) { | ||||
maxProb = prob; | maxProb = prob; | ||||
} | } | ||||
} | } | ||||
setProbMax( maxProb * 1.05 ); | setProbMax( maxProb * 1.05 ); | ||||
} | } | ||||
void EvtPi0Dalitz::init() | void EvtPi0Dalitz::init() | ||||
{ | { | ||||
// check that there are 0 arguments | // check that there are 0 arguments | ||||
checkNArg( 0 ); | checkNArg( 0 ); | ||||
checkNDaug( 3 ); | checkNDaug( 3 ); | ||||
▲ Show 20 Lines • Show All 54 Lines • Show Last 20 Lines |