std::cerr << "ERROR in LauDabbaRes::checkDaughterTypes : Dabba model is using daughters \"" << nameDaug1 << "\" and \"" << nameDaug2 << "\" that are not a D meson and a pion." << std::endl;
std::cerr << "ERROR in LauKappaRes::checkDaughterTypes : Kappa model is using daughters \"" << nameDaug1 << "\" and \"" << nameDaug2 << "\" that are not a kaon and a pion." << std::endl;
b1_ = new LauParameter( b1Name, b1Val, 0.0, 100.0, kTRUE );
+ b1_->secondStage(kTRUE);
resInfo->addExtraParameter( b1_ );
}
TString b2Name(parNameBase);
b2Name += "_b2";
b2_ = resInfo->getExtraParameter( b2Name );
if ( b2_ == 0 ) {
b2_ = new LauParameter( b2Name, b2Val, 0.0, 100.0, kTRUE );
+ b2_->secondStage(kTRUE);
resInfo->addExtraParameter( b2_ );
}
TString aName(parNameBase);
aName += "_A";
a_ = resInfo->getExtraParameter( aName );
if ( a_ == 0 ) {
a_ = new LauParameter( aName, aVal, 0.0, 10.0, kTRUE );
+ a_->secondStage(kTRUE);
resInfo->addExtraParameter( a_ );
}
TString m0Name(parNameBase);
m0Name += "_m0";
m0_ = resInfo->getExtraParameter( m0Name );
if ( m0_ == 0 ) {
m0_ = new LauParameter( m0Name, m0Val, 0.0, 10.0, kTRUE );
+ m0_->secondStage(kTRUE);
resInfo->addExtraParameter( m0_ );
}
}
LauSigmaRes::~LauSigmaRes()
{
}
void LauSigmaRes::initialise()
{
this->checkDaughterTypes();
Double_t resSpin = this->getSpin();
if (resSpin != 0) {
std::cerr << "WARNING in LauSigmaRes::initialise : Resonance spin is " << resSpin << "." << std::endl;
std::cerr << " : Sigma amplitude is only for scalers, resetting spin to 0." << std::endl;
this->changeResonance( -1.0, -1.0, 0 );
}
}
void LauSigmaRes::checkDaughterTypes() const
{
// Check that the daughter tracks are the same type. Otherwise issue a warning
// and set the type to be pion for the Sigma distribution.
Int_t resPairAmpInt = this->getPairInt();
if (resPairAmpInt < 1 || resPairAmpInt > 3) {
std::cerr << "WARNING in LauSigmaRes::checkDaughterTypes : resPairAmpInt = " << resPairAmpInt << " is out of the range [1,2,3]." << std::endl;
return;
}
const TString& nameDaug1 = this->getNameDaug1();
const TString& nameDaug2 = this->getNameDaug2();
if (!nameDaug1.CompareTo(nameDaug2, TString::kExact)) {
// Daughter types agree. Find out if we have pion or kaon system
if (!nameDaug1.Contains("pi")) {
std::cerr << "ERROR in LauSigmaRes::checkDaughterTypes : Sigma model is using daughters \""<<nameDaug1<<"\" and \""<<nameDaug2<<"\", which are not pions." << std::endl;