Changeset View
Standalone View
src/LauKMatrixProdSVP.cc
Show First 20 Lines • Show All 88 Lines • ▼ Show 20 Lines | LauComplex LauKMatrixProdSVP::amplitude(const LauKinematics* kinematics) | ||||
if (useProdAdler_) {adlerZero = thePropagator_->getAdlerZero();} | if (useProdAdler_) {adlerZero = thePropagator_->getAdlerZero();} | ||||
amp.rescale(SVPTerm*adlerZero); | amp.rescale(SVPTerm*adlerZero); | ||||
return amp; | return amp; | ||||
} | } | ||||
const std::vector<LauParameter*>& LauKMatrixProdSVP::getFloatingParameters() | |||||
{ | |||||
this->clearFloatingParameters(); | |||||
Int_t nChannels = thePropagator_->getNChannels(); | |||||
for (int jChannel = 0 ; jChannel < nChannels ; jChannel++) | |||||
{ | |||||
LauParameter& par_f_ = thePropagator_->getScatteringParameter(channelIndex_, jChannel); | |||||
if ( !par_f_.fixed() ) | |||||
this->addFloatingParameter( &par_f_ ); | |||||
tlatham: As above, please add the braces. | |||||
} | |||||
LauParameter& par_s0Prod_ = thePropagator_->gets0Prod(); | |||||
if ( !par_s0Prod_.fixed() ) | |||||
{ | |||||
this->addFloatingParameter( &par_s0Prod_ ); | |||||
} | |||||
return this->getParameters(); | |||||
} | |||||
tlathamUnsubmitted Done Inline ActionsMight we also want to provide the option to float s_0^scatt and the m_0, s_A, s_A0 parameters? tlatham: Might we also want to provide the option to float s_0^scatt and the m_0, s_A, s_A0 parameters? | |||||
johndanAuthorUnsubmitted Done Inline ActionsI don't think I have a use-case for this, but could imagine that others might. I will wait for @jback 's reply before adding the functions to expose the parameters, and adding them to getFloatingParameters()... johndan: I don't think I have a use-case for this, but could imagine that others might. I will wait for… | |||||
jbackUnsubmitted Done Inline ActionsWe could float these parameters, although we must ensure that s_0^scatt is always negative. The slowly varying part must have an amplitude that is of the form 1/(s + x), where x is a positive number. Otherwise we would get 1/(s - |x|), which is resonance behaviour with a pole at s = x. jback: We could float these parameters, although we must ensure that s_0^scatt is always negative. The… | |||||
johndanAuthorUnsubmitted Done Inline Actions@jback, by "require always negative", are you suggesting something more strict than a default upper-bound for the parameter? johndan: @jback, by "require always negative", are you suggesting something more strict than a default… | |||||
jbackUnsubmitted Done Inline ActionsWe could apply an upper bound for s_0^scatt = 0. jback: We could apply an upper bound for s_0^scatt = 0. | |||||
johndanAuthorUnsubmitted Done Inline ActionsHow do we do that when, by default, we will simply create this parameter as LauParameter(name,value) and not with some bounds. Isn't it safe simply to require that the person who floats this parameter knows to set the bounds meaningfully? johndan: How do we do that when, by default, we will simply create this parameter as `LauParameter(name… | |||||
jbackUnsubmitted Done Inline ActionsYes, I think this makes sense. The person should only accept solutions when s_0^scatt is negative to ensure no resonance behaviour is occurring for the slowly-varying parts (SVPs). Furthermore, a hard-coded upper limit of zero will also more than likely cause unstable fit convergence. jback: Yes, I think this makes sense. The person should only accept solutions when s_0^scatt is… | |||||
No newline at end of file |
As above, please add the braces.