laura is hosted by Hepforge, IPPP Durham
Laura++  v3r2
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauRhoOmegaMix.cc
Go to the documentation of this file.
1 
2 // Copyright University of Warwick 2004 - 2016.
3 // Distributed under the Boost Software License, Version 1.0.
4 // (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 
6 // Authors:
7 // Thomas Latham
8 // John Back
9 // Paul Harrison
10 
15 #include <iostream>
16 
18 #include "LauConstants.hh"
19 #include "LauDaughters.hh"
20 #include "LauParameter.hh"
21 #include "LauRhoOmegaMix.hh"
22 #include "LauResonanceInfo.hh"
23 #include "LauResonanceMaker.hh"
24 
26 
27 
29  const Int_t resPairAmpInt, const LauDaughters* daughters) :
30  LauAbsResonance(resInfo, resPairAmpInt, daughters),
31  model_(resType),
32  rhoMass_(0.0),
33  rhoResRadius_(0.0),
34  rhoParRadius_(0.0),
35  mOmega_(0),
36  mOmega0_(0.0),
37  mOmegaCur_(0.0),
38  wOmega_(0),
39  wOmega0_(0.0),
40  wOmegaCur_(0.0),
41  magB_(0),
42  phiB_(0),
43  delta_(0),
44  useDenom_(kTRUE),
45  doneFirstInit_(kFALSE),
46  rhoRes_(0),
47  omegaRes_(0)
48 {
49 
50  // Create the rho and omega lineshapes depending on the resonance type enumeration.
51  // The narrow omega is always a relativistic Breit-Wigner (RBW), but the broader rho
52  // can either be a RBW or a Gounaris-Sakurai lineshape. The" _1" form for the resonance type
53  // specifies that we want to assume the amplitude denominator correction term is set to 1.
54  // In principle, the rho lineshape can be any resonance defined by the resInfo pointer, so we
55  // use that to extract all relevant information about the first resonance.
56 
57  // We do not need the barrier nor spin factor terms for the components separately, since
58  // they will be added after the lineshapes have been combined
59 
61 
63 
65  rhoType = LauAbsResonance::GS;
66  }
67 
68  rhoRes_ = resMaker.getResonance(daughters, resInfo->getName(), resPairAmpInt, rhoType,
70 
71  LauResonanceInfo* omegaInfo = resMaker.getResInfo("omega(782)");
72  omegaRes_ = resMaker.getResonance(daughters, omegaInfo->getName(), resPairAmpInt, LauAbsResonance::RelBW,
74 
75  // Check to see if we want to set the denominator factor to unity
77  useDenom_ = kFALSE;
78  }
79 
80  // Initialise various parameters that can be used in the model
81  const TString& parNameBase = this->getSanitisedName();
82 
83  // Pole mass of the omega (2nd) resonance. Initialise using the resonance maker (PDG) info
84  mOmega0_ = omegaInfo->getMass()->unblindValue();
85  // Also set the current internal value of the omega mass for initialisation logic
86  mOmegaCur_ = mOmega0_;
87 
88  TString mOmegaName(parNameBase); mOmegaName += "_mOmega";
89  mOmega_ = resInfo->getExtraParameter(mOmegaName);
90  if (!mOmega_) {
91  mOmega_ = new LauParameter(mOmegaName, mOmega0_, 0.0, 100.0, kTRUE);
92  mOmega_->secondStage(kTRUE);
93  resInfo->addExtraParameter(mOmega_);
94  }
95 
96  // Pole width of the omega (2nd) resonance. Initialise using the resonance maker (PDG) info
97  wOmega0_ = omegaInfo->getWidth()->unblindValue();
98  // Also set the current internal value of the omega width for initialisation logic
99  wOmegaCur_ = wOmega0_;
100 
101  TString wOmegaName(parNameBase); wOmegaName += "_wOmega";
102  wOmega_ = resInfo->getExtraParameter(wOmegaName);
103  if (!wOmega_) {
104  wOmega_ = new LauParameter(wOmegaName, wOmega0_, 0.0, 100.0, kTRUE);
105  wOmega_->secondStage(kTRUE);
106  resInfo->addExtraParameter(wOmega_);
107  }
108 
109  // Set the magnitude and phase of the omega amplitude mixing term.
110  // These should be fitted
111  const Double_t magBVal = 1.0;
112  const Double_t phiBVal = 0.0;
113 
114  TString magBName(parNameBase); magBName += "_magB";
115  magB_ = resInfo->getExtraParameter(magBName);
116  if (!magB_) {
117  magB_ = new LauParameter(magBName, magBVal, 0.0, 100.0, kTRUE);
118  magB_->secondStage(kTRUE);
119  resInfo->addExtraParameter(magB_, kTRUE); // the kTRUE here allows this value to vary between B and Bbar - TODO: maybe make this configurable?
120  }
121 
122  TString phiBName(parNameBase); phiBName += "_phiB";
123  phiB_ = resInfo->getExtraParameter(phiBName);
124  if (!phiB_) {
125  phiB_ = new LauParameter(phiBName, phiBVal, -10.0, 10.0, kTRUE);
126  phiB_->secondStage(kTRUE);
127  resInfo->addExtraParameter(phiB_, kTRUE); // the kTRUE here allows this value to vary between B and Bbar - TODO: maybe make this configurable?
128  }
129 
130  // Set the delta parameter for the omega amplitude mixing term. This
131  // is usually fixed but should be varied for systematic error checks.
132  // In theory, this parameter can be complex, but we only use its magnitude
133  // in the mixing amplitude, since its usually very small: (2.15 +- 0.35) MeV/c^2
134  const Double_t deltaVal = 2.15e-3;
135 
136  TString deltaName(parNameBase); deltaName += "_delta";
137  delta_ = resInfo->getExtraParameter(deltaName);
138  if (!delta_) {
139  delta_ = new LauParameter(deltaName, deltaVal, 0.0, 100.0, kTRUE);
140  delta_->secondStage(kTRUE);
141  resInfo->addExtraParameter(delta_);
142  }
143 
144 }
145 
147 {
148 }
149 
151 {
152 
153  // Initialise the two resonances. This is done within each amplitude() function
154  // call and so floating parameters are checked every time, although secondary
155  // initialisation checks will be "skipped" since the parameters will be unchanged
156  // for the given set of kinematic variables/parameters
157  this->initialiseRho();
158  this->initialiseOmega();
159 
160 }
161 
163 {
164  rhoRes_->initialise();
165 
166  // Keep track of the current pole mass and barrier factor terms so that
167  // we can reinitialise the rho resonance if they change
168  rhoMass_ = rhoRes_->getMass();
171 
172 }
173 
175 {
176  // Set the pole mass and width of the omega resonance if this has changed
177  // using the parameters mOmega_ and wOmega_
178 
179  Double_t newOmegaM(-1.0), newOmegaW(-1.0);
180  const Int_t newOmegaSpin(-1);
181 
182  // See if the new pole mass is different from the current value
183  Double_t tmpOmegaM = mOmega_->unblindValue();
184  if (fabs(tmpOmegaM - mOmegaCur_) > 1e-10) {
185  newOmegaM = tmpOmegaM;
186  }
187 
188  // See if the new pole width is different from the current value
189  Double_t tmpOmegaW = wOmega_->unblindValue();
190  if (fabs(tmpOmegaW - wOmegaCur_) > 1e-10) {
191  newOmegaW = tmpOmegaW;
192  }
193 
194  // If any parameter is negative, they are unchanged
195  omegaRes_->changeResonance(newOmegaM, newOmegaW, newOmegaSpin);
196 
197  Bool_t changedOmegaM(kFALSE);
198  if (newOmegaM > -1.0) {
199  changedOmegaM = kTRUE;
200  }
201 
202  // Let the omega resonance pointer know if the mass or width are fixed or floating
203  if (doneFirstInit_ == kFALSE) {
204 
205  omegaRes_->fixMass(this->fixmOmegaValue());
207 
208  // We do not need to use the spin terms for the omega lineshape, since we
209  // use those from the rho for the full amplitude later on
210  omegaRes_->ignoreSpin(kTRUE);
211 
212  // We want to ignore momentum-dependent width effects: just use the constant pole width
213  omegaRes_->ignoreMomenta(kTRUE);
214 
215  // And we also need to ignore barrier scaling
217 
218  // Initialise the omega resonance pointer
220 
221  doneFirstInit_ = kTRUE;
222 
223  } else {
224 
225  // Reinitialise the omega resonance pointer only if we have changed
226  // its pole mass. It has no barrier factor
227 
228  if (changedOmegaM == kTRUE) {
230  }
231 
232  }
233 
234  // Keep track of the current values of the mass and width of the omega (floating/fixed)
235  mOmegaCur_ = tmpOmegaM;
236  wOmegaCur_ = tmpOmegaW;
237 
238 }
239 
241 
242  // This function overrides and returns the complex dynamical amplitude for the
243  // rho-omega mass mixing amplitude given the kinematics
244 
245  // Check to see if we need to reinitialise the rho resonance pointer
246  const Double_t resMass = rhoRes_->getMass();
247  const Double_t resRadius = rhoRes_->getResRadius();
248  const Double_t parRadius = rhoRes_->getParRadius();
249 
250  if ( ( (!this->fixMass()) && fabs(resMass - rhoMass_) > 1e-10) ||
251  ( (!this->fixResRadius()) && fabs(resRadius - rhoResRadius_) > 1e-10 ) ||
252  ( (!this->fixParRadius()) && fabs(parRadius - rhoParRadius_) > 1e-10 ) ) {
253 
254  this->initialiseRho();
255 
256  }
257 
258  // Always check the initialisaton of the omega resonance in case we have varied
259  // its mass/width via the fit parameters
260  this->initialiseOmega();
261 
262  // First, get the amplitude of the first (rho) resonance.
263  // This will include the full barrier and spin terms
264  const LauComplex rhoAmp = rhoRes_->amplitude(kinematics);
265 
266  // Next, get the amplitude of the second (omega) resonance. This ignores barrier
267  // and spin terms, and uses the pole width only (no momentum dependence)
268  const LauComplex omegaAmp = omegaRes_->amplitude(kinematics);
269 
270  // The Delta parameter, which we assume is purely real. Theoretically, delta can
271  // be complex, but in practice we only use its (usually small) magnitude
272  const Double_t Delta = (resMass + mOmegaCur_)*this->getdeltaValue();
273 
274  // The B amplitude term
275  const Double_t magBVal = this->getmagBValue()*Delta;
276  const Double_t phiBVal = this->getphiBValue();
277  const LauComplex BTerm = LauComplex(magBVal*cos(phiBVal), magBVal*sin(phiBVal));
278 
279  // The mass mixing term
280  const LauComplex unity(1.0, 0.0);
281  const LauComplex mixingTerm = BTerm*omegaAmp + unity;
282 
283  // Now form the full amplitude
284  LauComplex resAmplitude = rhoAmp*mixingTerm;
285 
286  // Add the mixing correction denominator term if required
287  if (useDenom_) {
288 
289  // Here, we need to disable the rho barrier & spin factors, since they are
290  // only needed for the numerator term of the full amplitude. Note that we still
291  // need to use the momentum-dependent width (with its resonance barrier term)
292 
293  // Disable barrier scaling factors for the amplitude (not width)
295  // Also ignore spin terms for now
296  rhoRes_->ignoreSpin(kTRUE);
297 
298  const LauComplex rhoAmp2 = rhoRes_->amplitude(kinematics);
299 
300  // Reinstate barrier scaling and spin term flags
301  rhoRes_->ignoreBarrierScaling(kFALSE);
302  rhoRes_->ignoreSpin(kFALSE);
303 
304  // Denominator term
305  const LauComplex DeltaSq = LauComplex(Delta*Delta, 0.0);
306  const LauComplex denomTerm = unity - DeltaSq*rhoAmp2*omegaAmp;
307 
308  // Modify the full amplitude
309  resAmplitude = resAmplitude/denomTerm;
310 
311  }
312 
313  return resAmplitude;
314 
315 }
316 
317 LauComplex LauRhoOmegaMix::resAmp(Double_t mass, Double_t spinTerm)
318 {
319  std::cerr << "ERROR in LauRhoOmegaMix : This method should never be called." << std::endl;
320  std::cerr << " : Returning zero amplitude for mass = " << mass << " and spinTerm = " << spinTerm << "." << std::endl;
321  return LauComplex(0.0, 0.0);
322 }
323 
324 const std::vector<LauParameter*>& LauRhoOmegaMix::getFloatingParameters() {
325 
326  this->clearFloatingParameters();
327 
328  if ( ! this->fixmOmegaValue() ) {
329  this->addFloatingParameter( mOmega_ );
330  }
331 
332  if ( ! this->fixwOmegaValue() ) {
333  this->addFloatingParameter( wOmega_ );
334  }
335 
336  if ( ! this->fixmagBValue() ) {
337  this->addFloatingParameter( magB_ );
338  }
339 
340  if ( ! this->fixphiBValue() ) {
341  this->addFloatingParameter( phiB_ );
342  }
343 
344  if ( ! this->fixdeltaValue() ) {
345  this->addFloatingParameter( delta_ );
346  }
347 
348  if ( ! this->fixMass() ) {
349  this->addFloatingParameter( this->getMassPar() );
350  }
351 
352  if ( ! this->fixWidth() ) {
353  this->addFloatingParameter( this->getWidthPar() );
354  }
355 
356  if ( ! this->fixResRadius() ) {
357  this->addFloatingParameter( this->getResBWFactor()->getRadiusParameter() );
358  }
359 
360  if ( ! this->fixParRadius() ) {
361  this->addFloatingParameter( this->getParBWFactor()->getRadiusParameter() );
362  }
363 
364  return this->getParameters();
365 }
366 
367 void LauRhoOmegaMix::setResonanceParameter(const TString& name, const Double_t value) {
368 
369  // Set various parameters for the lineshape
370  if (name == "mOmega") {
371  this->setmOmegaValue(value);
372  std::cout << "INFO in LauRhoOmegaMix::setResonanceParameter : Setting parameter mOmega = " << this->getmOmegaValue() << std::endl;
373  } else if (name == "wOmega") {
374  this->setwOmegaValue(value);
375  std::cout << "INFO in LauRhoOmegaMix::setResonanceParameter : Setting parameter wOmega = " << this->getwOmegaValue() << std::endl;
376  } else if (name == "magB") {
377  this->setmagBValue(value);
378  std::cout << "INFO in LauRhoOmegaMix::setResonanceParameter : Setting parameter magB = " << this->getmagBValue() << std::endl;
379  } else if (name == "phiB") {
380  this->setphiBValue(value);
381  std::cout << "INFO in LauRhoOmegaMix::setResonanceParameter : Setting parameter phiB = " << this->getphiBValue() << std::endl;
382  } else if (name == "delta") {
383  this->setdeltaValue(value);
384  std::cout << "INFO in LauRhoOmegaMix::setResonanceParameter : Setting parameter delta = " << this->getdeltaValue() << std::endl;
385  } else {
386  std::cerr << "WARNING in LauSigmaRes::setResonanceParameter: Parameter name "<<name<<" not recognised. No parameter changes made." << std::endl;
387  }
388 
389 }
390 
392 
393  if (name == "mOmega") {
394  if ( mOmega_->fixed() ) {
395  mOmega_->fixed( kFALSE );
396  this->addFloatingParameter( mOmega_ );
397  } else {
398  std::cerr << "WARNING in LauRhoOmegaMix::floatResonanceParameter: Parameter "<<name<<" already floating. No parameter changes made." << std::endl;
399  }
400  } else if (name == "wOmega") {
401  if ( wOmega_->fixed() ) {
402  wOmega_->fixed( kFALSE );
403  this->addFloatingParameter( wOmega_ );
404  } else {
405  std::cerr << "WARNING in LauRhoOmegaMix::floatResonanceParameter: Parameter "<<name<<" already floating. No parameter changes made." << std::endl;
406  }
407  } else if (name == "magB") {
408  if ( magB_->fixed() ) {
409  magB_->fixed( kFALSE );
410  this->addFloatingParameter( magB_ );
411  } else {
412  std::cerr << "WARNING in LauRhoOmegaMix::floatResonanceParameter: Parameter "<<name<<" already floating. No parameter changes made." << std::endl;
413  }
414  } else if (name == "phiB") {
415  if ( phiB_->fixed() ) {
416  phiB_->fixed( kFALSE );
417  this->addFloatingParameter( phiB_ );
418  } else {
419  std::cerr << "WARNING in LauRhoOmegaMix::floatResonanceParameter: Parameter "<<name<<" already floating. No parameter changes made." << std::endl;
420  }
421  } else if (name == "delta") {
422  if ( delta_->fixed() ) {
423  delta_->fixed( kFALSE );
424  this->addFloatingParameter( delta_ );
425  } else {
426  std::cerr << "WARNING in LauRhoOmegaMix::floatResonanceParameter: Parameter "<<name<<" already floating. No parameter changes made." << std::endl;
427  }
428  }
429 
430 }
431 
433 
434  if (name == "mOmega") {
435  return mOmega_;
436  } else if (name == "wOmega") {
437  return wOmega_;
438  } else if (name == "magB") {
439  return magB_;
440  } else if (name == "phiB") {
441  return phiB_;
442  } else if (name == "delta") {
443  return delta_;
444  } else {
445  std::cerr << "WARNING in LauRhoOmegaMix::getResonanceParameter: Parameter name "<<name<<" not reconised." << std::endl;
446  return 0;
447  }
448 }
449 
450 void LauRhoOmegaMix::setmOmegaValue(const Double_t mOmega) {
451  mOmega_->value( mOmega );
452  mOmega_->genValue( mOmega );
453  mOmega_->initValue( mOmega );
454 }
455 
456 void LauRhoOmegaMix::setwOmegaValue(const Double_t wOmega) {
457  wOmega_->value( wOmega );
458  wOmega_->genValue( wOmega );
459  wOmega_->initValue( wOmega );
460 }
461 
462 void LauRhoOmegaMix::setmagBValue(const Double_t magB) {
463  magB_->value( magB );
464  magB_->genValue( magB );
465  magB_->initValue( magB );
466 }
467 
468 void LauRhoOmegaMix::setphiBValue(const Double_t phiB) {
469  phiB_->value( phiB );
470  phiB_->genValue( phiB );
471  phiB_->initValue( phiB );
472 }
473 
474 void LauRhoOmegaMix::setdeltaValue(const Double_t delta) {
475  delta_->value( delta );
476  delta_->genValue( delta );
477  delta_->initValue( delta );
478 }
479 
virtual const std::vector< LauParameter * > & getFloatingParameters()
Retrieve the resonance parameters, e.g. so that they can be loaded into a fit.
virtual void initialise()=0
Initialise the model.
TString getName() const
Retrieve the name of the resonant particle.
virtual LauComplex resAmp(Double_t mass, Double_t spinTerm)
This is not called, amplitude is used directly instead.
LauParameter * getMassPar()
Get the mass parameter of the resonance.
Bool_t fixed() const
Check whether the parameter is fixed or floated.
void initialiseOmega()
Initialise the omega resonance.
LauParameter * getMass() const
Retrieve the mass of the resonant particle.
Bool_t fixWidth() const
Get the status of resonance width (fixed or released)
Double_t getMass() const
Get the mass of the resonance.
void changeResonance(const Double_t newMass, const Double_t newWidth, const Int_t newSpin)
Allow the mass, width and spin of the resonance to be changed.
File containing declaration of LauResonanceInfo class.
ClassImp(LauAbsCoeffSet)
Bool_t fixwOmegaValue() const
Fix the omega pole width parameter value.
LauParameter()
Default constructor.
Definition: LauParameter.cc:30
Bool_t fixmOmegaValue() const
Fix the omega pole mass parameter value.
Class for defining the properties of a resonant particle.
const TString & name() const
The parameter name.
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:33
LauParameter * getWidth() const
Retrieve the width of the resonant particle.
LauParameter * delta_
delta parameter of the omega mixing contribution
File containing declaration of LauDaughters class.
void setwOmegaValue(const Double_t wOmega)
Set the omega pole width parameter.
LauParameter * wOmega_
Pole width of the omega contribution.
Double_t rhoParRadius_
Previous value of the parents barrier radius of the rho resonance.
LauParameter * mOmega_
Pole mass of the omega contribution.
void setmagBValue(const Double_t magB)
Set the omega B magnitude mixing parameter.
Double_t mOmegaCur_
Current value of the omega pole mass (floating or fixed)
Bool_t fixdeltaValue() const
Fix the omega mixing parameter delta value.
Double_t rhoMass_
Previous value of the pole mass of the rho resonance.
Bool_t fixmagBValue() const
Fix the omega B magnitude mixing parameter value.
Bool_t fixResRadius() const
Get the status of resonance barrier radius (fixed or released)
Double_t getParRadius() const
Get the radius of the parent barrier factor.
Bool_t fixMass() const
Get the status of resonance mass (fixed or released)
LauParameter * phiB_
B phase parameter of the omega mixing contribution.
Double_t rhoResRadius_
Previous value of the barrier radius of the rho resonance.
virtual LauParameter * getResonanceParameter(const TString &name)
Access the given resonance parameter.
void addFloatingParameter(LauParameter *param)
Add parameter to the list of floating parameters.
LauBlattWeisskopfFactor * getParBWFactor()
Get the centrifugal barrier for the parent decay.
Singleton factory class for creating resonances.
Bool_t fixphiBValue() const
Fix the omega B phase mixing parameter value.
Double_t getdeltaValue() const
Get the omega mixing parameter delta.
Double_t wOmegaCur_
Current value of the omega pole mass (floating or fixed)
File containing declaration of LauBlattWeisskopfFactor class.
File containing declaration of LauResonanceMaker class.
File containing declaration of LauRhoOmegaMix class.
Double_t getwOmegaValue() const
Get the omega pole width parameter value.
File containing declaration of LauParameter class.
virtual LauComplex amplitude(const LauKinematics *kinematics)
Get the complex dynamical amplitude.
std::vector< LauParameter * > & getParameters()
Access the list of floating parameters.
LauParameter * getWidthPar()
Get the width parameter of the resonance.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:35
Bool_t ignoreMomenta() const
Get the ignore momenta flag.
virtual ~LauRhoOmegaMix()
Destructor.
Class for defining the rho-omega resonance mixing model.
Double_t getmOmegaValue() const
Get the omega pole mass parameter value.
void setdeltaValue(const Double_t delta)
Set the omega mixing parameter delta.
LauAbsResonance * omegaRes_
Pointer to the omega (second) resonance lineshape.
LauResonanceModel
Define the allowed resonance types.
Double_t getResRadius() const
Get the radius of the resonance barrier factor.
LauAbsResonance * getResonance(const LauDaughters *daughters, const TString &resName, const Int_t resPairAmpInt, const LauAbsResonance::LauResonanceModel resType, const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory=LauBlattWeisskopfFactor::Default)
Create a resonance.
Bool_t fixParRadius() const
Get the status of parent barrier radius (fixed or released)
Bool_t useDenom_
Boolean to specify if we want to use the denominator factor.
void initialiseRho()
Initialise the rho resonance.
void fixWidth(const Bool_t parFixed)
Fix or release the resonance width.
void setmOmegaValue(const Double_t mOmega)
Set the omega pole mass parameter.
Abstract class for defining type for resonance amplitude models (Breit-Wigner, Flatte etc...
virtual void setResonanceParameter(const TString &name, const Double_t value)
Set value of the various parameters.
Bool_t doneFirstInit_
Boolean to specify if we have performed the first initialisation.
Double_t initValue() const
The initial value of the parameter.
File containing LauConstants namespace.
LauParameter * magB_
B magnitude parameter of the omega mixing contribution.
LauAbsResonance * rhoRes_
Pointer to the rho (or first) resonance lineshape.
LauBlattWeisskopfFactor * getResBWFactor()
Get the centrifugal barrier for the resonance decay.
Double_t unblindValue() const
The unblinded value of the parameter.
void setphiBValue(const Double_t phiB)
Set the omega B phase mixing parameter.
Class for defining a complex number.
Definition: LauComplex.hh:47
Class for calculating 3-body kinematic quantities.
Double_t value() const
The value of the parameter.
Double_t getmagBValue() const
Get the omega B magnitude mixing parameter.
static LauResonanceMaker & get()
Get the factory instance.
void fixMass(const Bool_t parFixed)
Fix or release the resonance mass.
Bool_t ignoreSpin() const
Get the ignore spin flag.
virtual LauComplex amplitude(const LauKinematics *kinematics)
Calculate the complex amplitude.
virtual void initialise()
Initialise the model.
Double_t genValue() const
The value generated for the parameter.
virtual void floatResonanceParameter(const TString &name)
Allow the various parameters to float in the fit.
Double_t getphiBValue() const
Get the omega B phase mixing parameter.
LauResonanceInfo * getResInfo(const TString &resName) const
Get the information for the given resonance name.
Bool_t ignoreBarrierScaling() const
Get the ignore barrier factor scaling flag.
void clearFloatingParameters()
Clear list of floating parameters.