Allow the user to override the default energy/rigidity scale.
The default energy binning is the AmsPositronFractionPaper2013 binning, and the default rigidity binning is a full-span log binning, according to sagitta resolution.

If you want to change the defaults just call
Cuts::SetDefaultAbsoluteEnergyBinning(myEnergyBinningVector)
Cuts::SetDefaultAbsoluteRigidityBinning(myRigidityBinningVector)

_once_ at the beginning of your main() function, as first thing in your program.
This will influence the binning of all N-1 histograms, etc.
Tune the geomgnetic cut off cots for 100% correctness:
Switch from check aRig > 1.2 * cutOff to lowEdgeOfBinCorrespodingToARig > 1.2 * cutOff.

Together with changes in the TimeTools class this lets us match Valerios/Matteos measuring time computation exactly.
All discussed with Clemens, and last week in eMails with Prof. Schael & Bastian.
Switch E/R from EnergyE (energy corrected for rear leakage) to EnergyD (deposited energy) as suggested by Prof. Schael.
Add CutRequireXandYHitInLayer1IfPresent / CutRequireXandYHitInLayer9IfPresent, so that I can be sure that if TrackerLayerPatternClassification() is 0 (layer 1 + 9 hit, maybe 2) that 1/9 have both x+y measurements.
Merge branch 'dev' into nz_cutoffFixes
Merge remote branch 'origin/mpi_prototype' into nz_cutoffFixes
Revert "Merge remote branch 'origin/mpi_prototype' into nz_cutoffFixes"

This reverts commit 9d347afabe299e2f6ea9fe499ed31d5a7b48175d, reversing
changes made to b9f91e1084d30d5d583a42951fe1706cf5d77cf6.
Minimize diff to dev.
Merge remote branch 'origin/mpi_prototype' into nz_analysis
Merge mpi_prototype.
Make it possible to combine ac_merge & run_parallel_acqt_job.py
When using MPI one gets a lot of output files (eg. 192 root files * 20 MPI jobs = 3840) that need to be merged.
Merging in one go is way too slow, and inefficient. I can now merge all 192 ROOT files of each job first, and then only merge those 20 files. It's much faster this way.
Merge remote branch 'origin/mpi_prototype' into nz_analysis
Merge branch 'dev' into nz_analysis
Stop passing a file list to the McSpectrumScaler, instead handle over a prepared FileManager, with the file list already loaded.
The McSpectrumScaler just has to Reset() the FileManager after using it, and there's no need anymore for a second internal FileManager.

This also works with MPI now. Bastian already had a similar fix but I couldn't find it :-(
Merge branch 'nz_analysis' of portal.physik.rwth-aachen.de:~/repos/ACsoft into nz_analysis
Merge branch 'dev' into nz_analysis
Add Cuts::ManualCut::SetLastCutValue() method to explicitely store the last cut value in the Cut super-class. The intention is that you can do:

Before event-loop:
fTrdActiveLayersCut = new Cuts::ManualCut("TrdQt active layers >= 12");
fTrdPreselectionSelector->RegisterCut(fTrdActiveLayersCut, &theCutValueBinning);

In event-loop:
fTrdActiveLayersCut->Examine(trdQt.GetNumberOfActiveLayers() >= 12);
fTrdActiveLayersCut->SetLastCutValue(trdQt.GetNumberOfActiveLayers());
if (TrdPreselectionSelector->Passes(particle)) { ... }

This way you automatically get histograms of the number of active layers, w/o having to book own histos.
Fix 'cut value distributions' for ManualCuts.

For regular cuts we have to reset the 'fLastCutValue' / 'fLastRigidityOrEnergy' _before_ calling Cut::Passes() / Cut::TestCondition(),
as they are either set in the TestCondition function (if the cut is applicable) or not. That's how we differentiate between non-applicable
cuts and those that really passes the cut, for the N-1 histo / cut value (vs. ISS position) histos filling logic.

Non-regular cuts are ManualCuts and ManualNMinusOneCuts. For those manual cuts the user is required to call Examine() before evaluating
the selector the cut is registered with. If the user also wants cut value distributions, he/she has to call SetLastCutValue() as well before
or after Examine(), so that the cut not only knows the boolean-state, if it passed or not, but also the underlying cut value for filling
the control histograms. Of course when registering the cut a cut value binning has to be passed as well, so that the histos are created.

The 'fLastCutValue' is purely under the control of the user, and has to be given by him/her before evaluating the selector.
We can not call Reset() on such cuts, before calling Cut::Passes() / Cut::TestCondition() as that would reset the value given by the user,
and thus fLastCutValue would always be 'gUnsetValue'. For ManualNMinusOneCuts we explicitely checked that and did not call Reset().

Now that ManualCuts are also allowed to carry cut-value distribution histos, the logic was broken for them. We always Reset() the value
and the histograms remained empty. Instead of adding another exception to Cuts::Selector(), just fold this logic right into Cut::Passes().
It know what kind of cut it is, and eventually calls Reset() or not.

This fixes the problem for real.
Merge branch 'dev' into nz_analysis
Merge branch 'manualcut_cut_value_histo_fixes' into nz_analysis