Merge remote-tracking branch 'origin/master'
antok: Fix a small bug in the beamfileGenerator.

There was a comparison between unsigned integer and long in the
beamfileGeneratorHelpers which went unnoticed until now, fix it.
antok: Better interface for generateBeamfile.

Add command line options to specify the output and config file when generating
a beamfile.
antok: Fix critical bug in beamfile generator.

The sigmas were calculated wrongly by orders of magnitude, because bin size was
not divided by the bin content, but by the total number of events. Fix it. Also
introduce a cut on the beam energy directly in generateBeamfile, which allows
to use data without exclusivity cut applied.
antok: Port fix for FindPython.cmake.

Port an update for FindPython.cmake from rootpwa. This contains a fix for
systems with a custom python installation, which was not correctly found
before.
antok: gen_kin for generated Monte Carlo.

Add some code so that the histograms produced by gen_kin can also be easily
produced for the generated Monte Carlo tree. This is useful to obtain the
acceptance in the variables plotted by gen_kin.
antok: Format output of cmake.

Add some status messages and empty lines to the output of cmake for antok to
make it more readable.
antok: Fix a bug in the beamfileGeneratorHelpers.

Fix a bug in the debug printing which was missing one of the coordinates of the
5d bin when printing it.
antok: Add generateBeamfileTest.

Add a second version of generateBeamFile for testing purposes. This version,
instead of calculating the relevant values stored in the beamfile, just loads
the data from a tree, making it possible to load "artificial" beamfiles (i.e.
beamfile trees which have been generated randomly in one way or another). This
file will probably be removed again once testing is complete.
antok: Fix sigma calculation in generateBeamfile.

The way the sigmas were calculated introduced a dependency on the coordinate
which was used first in the adaptive binning (more precisely, on the coordinate
which was used for the last bin division). Fix this by changing the method with
which the sigmas are calculated.
antok: Rename beamfileGeneratorHelpers.{cxx/h}.

Rename the beamfileGeneratorHelpers files to conform with the file name
convention in the src/ directory.
antok: Propagate file rename from last commit.

Change the file names in all the relevant files to make compilation work again
(did not do that in last commit to have a clean rename).
antok: Work on the beamfile generator.

Modify generateBeamfile.cxx so that it can easily be switched between
processing data with different numbers of final state particles. Also change
back to the way the sigmas were calculated earlier (dividing edge length of the
bin by the number of entries in it), as it seems to be more correct. Fix the
problems from before by making sure that the bins were divided an equal number
of times in all dimensions.

In the beamfile_filtering.yaml, add the NoCut. It is not used but it is
convenient to have it in there for quick processing.
antok: Revise beamfileGenerator.

Revise the 5 dimensional bin and move it to its own file. It now collects a lot
more information: it knows which bins are its neighbors and if it is a bin on
the edge of the phase space volume. It also does some calculations which were
done in the getAdaptiveBins() function before. Change the memory management of
the 5d bins, they are now all held by shared_ptrs.

In addition, add some cosmetic changes here and there.

In a next step, the calculation of the sigmas will be changed to take the
additional information into account.
antok: Revise sigma calculation yet again.

Revise the sigma calculation again from scratch: the method implemented now is
a mixture between the two tried before: the idea is to calculate a
hyperrectangle for every event which has a volume equal to the mean volume per
event and the same ratios of edge lengths as the bin the event is located in.
This should make the sigma calculation independent of bin size and content.

Also add a debug flag to the 5d bin class and make several smaller mainly
cosmetic changes. Harmonize generateBeamfile and generateBeamfileTest.
antok: Add some feature to the beamfile generator.

Add the possibility to add indentation to print() of the five dimensional bin.
This allows on the one hand to print the neighbors of a bin when printing the
bin itself (implement this as optional) as the neighbors can be indented. On
the other hand, one can show the depth in the adaptive binning recursion by
indenting the printing proportional to the depth of the recursion.

Also add some more information to the output TTree, it being the bin volume,
the "edgeity" (the number of coordinates the bin is at the lower or upper edge)
and the number of neighbors.

Simplify the areWeNeighbors function quite significantly, with it producing the
same results. The only thing changes is that bins which have overlap (they
share some common volume) are now recognized as neighbors which was not the
case before.
antok: Move stuff around in the beamfileGenerator.

Move the events in the bins into the fiveDimBin class itself. This makes a lot
of interfaces a lot more elegant, however, a lot of code had to be touched to
do it. Also move the "edgeity" calculation to the 5d bin and prepare for a
different sigma calculation in case of edge bins.
antok: Sigma calculation for edge bins.

Add sigma calculation for bins on the edge of the phase space: if the bin in
question has neighboring bins which are not on the edge, take the mean of their
sigmas as the sigma. In case there are no such neighbors, take the closet
events for every event and calculate the sigma by looking at the volume of the
5-ball they are in.

There is some old commented code still in the sigma calculation, will be
deleted in the next commit.
antok: Remove commented code.

Remove a cruder method for the sigma calculation in the edge bins, which had
been commented anyway but checked in to not lose the code.
antok: Split the 5d coord class in seperate file.

Split the 5d coordinate class into a seperate file so that it is usable in root
scripts. Before, the inclusion of shared_ptr.hpp in the
beamfile_generator_helpers.h prevented using the class in root.