The thisacsoft.(c)sh scripts now set the ACROOTLOOKUPS variable to cvmfs if
it was not set before or is empty.
Merge remote-tracking branch 'origin/bachlechner/acrootlookupDefault' into dev

closes #1768
Merge branch 'dev' into acqt_600
Fix forge issue 1707.

Remove all the Cut*HasUseful*Cuts etc, that I only added for testing in LeptonAnalysis.
Also remove the particle matching cuts, which are completly specific to my analysis and are not of general interest.
SerialIOBackend: Fix bug when processing ACQt 6.0.0 files.

SerialIOBackend only worked for the first ACQt file in the list, but
then the following assertion in IOBackend.C:131 fired:

assert(fCurrentChunk >= 0 && fCurrentChunk < (int)acqtFile.fileHeader->ChunkHeaders().size());

This is a regression from 9c64d37c2373e93013bdde2ec42e4f82782abb36.
fCurrentChunk was never reset for SerialIOBackend between file
transitions.

This only mattered when processing ACQt 6.0.0 files because
fCurrentChunk is not used for ACQt 5 files.
Use std::numeric_limits<int>::max() instead of INT_MAX.

INT_MAX has been causing problems for some people.
Merge remote-tracking branch 'origin/dev' into acqt_600
MC generator spline track is onlyl build if the AMS version is at least 620.
Introduce AMSRootParticleFactory, aiming to fix bug #1733.

AMS users want to pass their AMSEventR, EcalShowerR, TrTrackR, .. objects to the factory,
instead of digging with AC::Event datastructures. This factory allows for that.

Also make the amsroot_acsoft_examle program do more useful things. People want to use TrdQt
and evaluate likelihoods in following four combinations, which the program now illustrates:
- Tracker track based likelihood with rigidity as energy scale
- Tracker track based likelihood with ecal energy as energy scale
- TRD standalone track based likelihood with rigidity as energy scale
- TRD standalone track based likelihood with ecal energy as energy scale

I'm comitting this early for feedback.

TODO:
- Complete for all subdetectors (RICH, TOF, ...)
- Make the interface easier
Stop pulling in root.h whenever you use the FileManager, no need to.
Begin to simplify the amsroot_acsoft_example to remove unneeded boiler-plate code.
Cleanup documentation, don't dump progress output for every event.
Avoid having to call FileManagerController::Self()->SetRunType() manually, the ACQtProducer should take care in OnTheFlyProductionMode.

Bastian & co: Please double check that this is the right approach, and doesn't break the regular producer. I fail to see why, but we should check twice.
Add support to pass a BetaHR to AMSRootParticleFactory
Add support to pass a RichRingR to AMSRootParticleFactory
Reduce boiler-plate code even more. Wrap Particle/EventFactory in new AMSRootSupport class, to make the gbatch interface simpler.
Revert the possible harmful 5a595c31bc3b779b8b0413e65ee135f8fa9ba070, and let AMSRootSupport propagate the run type.

That's it - I'm done.
Introduce SwitchToSpecificTrackFitByAlgorithmPatternRefit / SwitchToSpecificTrackFitById, as requested by Thorsten.

gbatch users can execute their special track fits and just let us know about the fit id to use for a certain track.
They have to make sure on their own that the passed fit id is belonging to the right TrTrackR object that they set..
There's no way for us to validate this.
Only produce the 1,0,1 track fit per default, when using AMSRootSupport
Replace AddTrackFits on-the-fly production mode with AddTrackFitsForChargeConfusionMVA.

Two reasons:
- Producing all track fits is way too slow, and no-one will ever use this.
- We get into trouble with double-defined track fits, if someone sets both AddTrackFits and AddTrackFitsForChargeConfusionMVA.
  I initially started to make sure that there is only one track fit for a certain kind (algo|patt|refit|parthyp) but we still have trouble
  with associating tracker track coordinates to these fits... - to make a long story short, I dropped the idea that combining the two
  settings should be possible by just removing the sledgehammer "AddTrackFits".