Strict cleanup of the TrdQt interface in order to prepare TRDCuts so that nobody needs to instanciate TrdQt on their own anymore.
WARNING: Yet to be tested and debugged.

- Remove XePressure fields from ACROOT tree. It can be queried from the lookup file, so save memory.

- Remove useless ParticleId field from ACROOT file (legacy code needed for TrdQt until now), can be calculated dynamically from charge & rigidity.

- Remove (confusing) concept of random events from TrdQt. It's not needed. Same for CalculateElectronLikelihoodInSelectedEnergyBin().
  Instead offer a way to calculate the likelihoods for any energy scale (either random rigidity for the random proton likelihoods, or ECAL energy for electrons)
  using the same candidate hits, but another energy scale instead of the default tracker rigidity.

  This way TrdQt itself no longer has to know how many toy MC / random events you want to generate and no longer stores any vectors of the likelihoods.
  They're passed out to the user, who can then calculate only the desired likelihood ratios he/she wants to inspect.

The workflow is much simpler now. TrdQt constructor doesn't need a number of random/mc events anymore.
Only one call to TrdQt Process(particle) for event is needed. It also doesn't need a toy MC particle ID anymore.

Then you can do:

std::vector<std::vector<double> > likelihoodProductsPerSpecies;
trdQt.CalculateToyMcLikelihoods(0 /* Electron */, 100, likelihoodProductsPerSpecies);

for (unsigned int mcEvent = 0; mcEvent < 100; ++mcEvent) {
  const std::vector<double>& likelihoodProductForParticleSpecified = likelihoodProductsPerSpecies.at(mcEvent);
  double electronProtonRatio = Analysis::TrdLikelihoodCalculator::ComputeElectronProtonLikelihood(likelihoodProductForParticleSpecified);
  double heliumElectronRatio = Analysis::TrdLikelihoodCalculator::ComputeHeliumElectronLikelihood(likelihoodProductForParticleSpecified);
  ...

}

to generate 100 ToyMC events using electron toy MC particle id (look into specified PDF).
You can call CalculateToyMcLikelihoods, as often as you want, for any particle ID (<= 7), it has no side-effects.

Another example:

double assumedEnergy = someEnergyDistribution->GetRandom();

std::vector<double> likelihoodProductForParticleSpecified;
trdQt.CalculateLikelihoodsWithSpecificEnergyScale(assumedEnergy, likelihoodProductForParticleSpecified);

double electronProtonRatio = Analysis::TrdLikelihoodCalculator::ComputeElectronProtonLikelihood(likelihoodProductForParticleSpecified);
..

By specifying another energy scale, you can obtain new likelihoods, calculated from the same PDF but from a different rigidity bin.
-> Can be used to generate random events for high energy protons or to evaluate the likelihood for electrons calculated upon the ecal energy insted of the tracker rigidity.
Unify the ParticleId enum and the McParticleId class into one single ParticleId class.
Makes a much nicer interface within TrdQt, for calculating the toy mcs.

We can even refactor it further.
Make ParticleFactory a real factory, aka. a singleton. Let everyone use Analysis::ParticleFactory::Self() instead of creating a particle factory in each program.
TrdQt is now an a production step of the particle factory: Specify UseTrdQt in the production factory steps to let it create a TrdQt object.
Each call to particleFactory->FillHighLevelObjects() fill also call TrdQt::Process() behind the scenes. You can not create a TrdQt object on your own anymore.

This paves the route towards built-in TrdQt cuts, like like the other tof/tracker/ecal cuts.
Merge branch 'dev' into nz_cleanups
Merge branch 'dev' into nz_cleanups
Make this beast build again.
Forgot the last chunk...
Added template for local MC to AMS production scripts
ACQtProductionDriver: Make sure to create temp directory before writing any data to log file.
Update after B598.rd.B620dev production finished
If parameters do not have to be changed they can be const.
Changed cut name. CutNoLayer9XandY was not what its name suggested but a cut on No X hit in Layer 9. Same for layer 1.
First round of comments from code review.
New Lookup File for Dead straw. There is the additional option to exclude noisy straws now as well.
fixed small bugs
fixed bug
fixed another small bug
Put docu in right place.
Fix ws. Could people PLEASE check this before committing!
Make sure options for TRD tracking get parsed correctly.