Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new massDependences and expansions #171

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

fkrinner
Copy link
Contributor

@fkrinner fkrinner commented Jun 3, 2016

Mass dependences:

  • Polynomial
  • Fourier mode
  • Sawtooth
  • Arbitrary TFormula

Expansions:

  • Taylor
  • Fourier
  • Chebyshev
  • Sawtooth (no extra code was necessary for this, works automatically with the new sawtooth mass-dependence and the old bin-expansion)


const double M = parent->lzVec().M();

if (_mMin <= M && M < _mMax) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

&& -> and please (you could also change it in the binnedMassDependence while you are at it).

fkrinner and others added 8 commits June 17, 2016 08:53
Add a polynomial mass dependece with arbitrary complex coefficients
Add a complex exponential mass dependence (fourier mode)
Add an arbitrary mass dependence, that uses two TFormulae as real and
imag part
Add a sawtooth mass dependence to allow not only
zeroth but also first order extractions in freed
isobar fits
Remove some 'std::' despite a 'using namespace std'.
Add the new mass dependencies to the python interface.
@suhlatwork
Copy link
Contributor

Could you please check suhlatwork/ROOTPWA@d9728c1? Mostly my changes are cosmetic, but:

  • classes from boost that have a C++11 counterpart need the explicit boost:: namespace (shared_ptr, tuples, ...)
  • the mMin and mMax parameters have been moved out of the fourier and chebyshev expansions as they are not used in the expansion itself

I still see potential issues with

  • the arbitrary mass dependence has a non working example. Formulas may not contain the / character (and probably others) as they are interpreted as a directory. I think this should be removed entirely
  • the three new expansions: If I remember correctly we decided at the time of adding the expansions that the name variable inside the expansion was supposed to be the variable that is added instead of the expand.

@suhlatwork
Copy link
Contributor

The commit you just added (5701792) is already included in master.

@fkrinner
Copy link
Contributor Author

Did not intend to, sorry.
Thanks for noticing.

@@ -142,6 +144,7 @@ namespace rpwa {
double getMassMax() const { return _mMax; }

private:

Copy link
Contributor

@bgrube bgrube Aug 1, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doxygen comment for class:
trivial flat mass dependence over a range
->
flat mass dependence over given mass range; zero amplitude outside (rectangle function)

if (not setting->lookupValue(expandTypeName, expandType)) {
printErr << "no expand type given." << std::endl;
printErr << "no expand type given." << endl;
Copy link
Contributor

@bgrube bgrube Aug 1, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

expand -> expansion (everywhere)
if it is not fatal, it should be printWarn (everywhere)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants