The REC Project

REC v23r2

The REC v23r2 Full Release Notes

2018-04-17 Rec v23r2

This version uses Lbcom v22r0p2, LHCb v44r2, Gaudi v29r4 and LCG_93 with ROOT 6.12.06

<

p> This version is released on 2018-patches branch.

Built relative to Rec v23r1, with the following changes:

Enhancements

Bug fixes

2018-04-05 Rec v23r1

This version uses Lbcom v22r0p1, LHCb v44r1, Gaudi v29r3 and LCG_93 with ROOT 6.12.06

<

p> This version is released on 2018-patches branch.

Built relative to Rec v23r0, with the following changes:

Bug fixes

Code modernisations and cleanups

Monitoring changes

2018-03-07 Rec v23r0

This version uses Lbcom v22r0, LHCb v44r0, Gaudi v29r3 and LCG_93 with ROOT 6.12.06

<

p> This version is released on 2018-patches branch.

Built relative to Rec v22r1, with the following changes:

New features

Enhancements

Bug fixes

Code modernisations and cleanups

2017-10-17 RecSys v22r1

This version uses Gaudi v29r0, LHCb v43r1 and Lbcom v21r1 (and LCG_91 with ROOT 6.10.06)

This version is released on master branch. The previous release on master branch was Rec v22r0. This release contains all the changes that were made in Rec v21r6 and Rec v21r6p1 (released on 2017-patches branch, see corresponding release notes), as well as the additional changes described in this file.

Change to compiler support

As from this release, support for gcc7 is added
Note that C++17 is not yet fully supported, waiting for support from ROOT

[MR !731] Fix gcc7 buffer overflow warning

[MR !729] Fix gcc7 initialisation warning in MuonTrackAlign

[MR !719] ChargedProtoANNPID - gcc7 Warning Suppression + Merge yPID libs into one

[MR !714] Fix support for CPU dispatching with GCC7 on older CPUs that do not support AVX.
Follows LHCb!848.

[MR !709] Fix gcc7 compilation error in DefaultVeloHitManager.h

[MR !710] ChargedProtoANNPID - Fix json.hpp for gcc7

[MR !708] Suppress compilation warnings from Boost headers

Packaging changes

[MR !760] Remove use of the temporary Kernel/TemplatedGenVector LHCb package

Changes to configuration

[MR !766] Change default pA/AA GEC cut from 80k to 20k Velo clusters

Code optimisations

[MR !607] Disable boost pool allocators

Bug fixes and cleanups

[MR !696] Fix Calo counter names broken by MR !627

[MR !659] Fixed track checking in VeloIPResolutionMonitor
In case an empty set of tracks was found in the TES, the message reporting that no tracks were there was not displayed.

[MR !763] Fix untested StatusCodes uncovered by gaudi/Gaudi!386

Monitoring changes

[MR !747] Add additional variables to VPTrackMonitor

Code modernisations

[MR !730] Minor fixes to PrPixelModule
- Direct member initialisation (also fixes uninitialised variable warning from gcc7)
- Remove empty destructor
- Make the class final

[MR !723] Follow modernization of TrackEvent (LHCb!858)
- TrackFunctor functors no longer require a template argument to instantiate them
- make internal VertexTrack final
- use boost::optional instead of std::pair<bool,T>
- prefer STL algorithms over raw loops
- prefer direct member initialization
- fully qualify enums

[MR !718] Follow CaloHypo change in LHCb!852, plus some modernization
- update calls to CaloHypo::setPosition, following lhcb/LHCb!852
- remove unnecessary #include
- prefer auto
- avoid repeated searches in maps
- prefer range-based for loops
- avoid heap storage if stack will do
- replace std::auto_ptr with std::unique_ptr

[MR !720] Change from class to struct in IMuonRawBuffer. Follows MR LHCb!847

[MR !690] Inline functions in TMVA for PatLLT, add debug statement to TrackAssociator

[MR !670] Modernize TrackMonitors
- replace BOOST_FOREACH with range-based for loops
- replace boost::assign with (implicit) std::initializer_list
- remove unused headers
- prefer auto
- avoid repeated calculations of chi2().prob()

[MR !671] Modernize TrackIdealPR
- remove explicit trivial destructors
- prefer (implicit) std::initializer_list over boost::assign
- make static map const
- remove unused headers

[MR !672] Modernize TrackCheckers - remove unused headers
- replace BOOST_FOREACH with ranger-based for loops
- prefer Gaudi::Property
- prefer inherited constructors
- prefer implicit destructors over explicit trivial ones
- make static maps const
- prefer auto
- replace repetitive code with a lambda

[MR !681] TrackRungeKuttaExtrapolator: Implement both toStream and toString instead of just toStream

[MR !673] Modernize VeloRecMonitors
- remove unused headers
- prefer STL algorithms over raw loops
- replace BOOST_FOREACH with range-based for loops
- prefer lambdas over bind

[MR !663] Adapt to strict TrajPoca interface
Follows LHCb!785

[MR !716] Modernize VeloClusterPosition
- Prefer implicit compiler generated destructors
- Prefer inherited constructors
- Prefer boost::optional over std::unique_ptr
- Prefer Gaudi::Property over Gaudi::Property
- Qualify VeloClusterPosition as final
- Remove unneccesary finalize implementation

Changes to tests and documentation

[MR !711] RichFuture examples update.

[MR !679] Update test reference to match LHCb!795

[v22r0.md] Fix bug in dependencies documentation

2017-07-11 RecSys v22r0

This version uses Gaudi v28r2, LHCb v43r0 and Lbcom v21r0 (and LCG_88 with ROOT 6.08.06)

This version is released on master branch. The previous release on master branch was Rec v21r3. This release contains all the changes that were made in Rec v21r4 and Rec v21r5 (released on 2017-patches branch, see corresponding release notes), as well as the additional changes described in this file.

Change to compiler support

As from this release, support for gcc49 is dropped
This means that C++14 is now fully supported

Thread safety

[MR !593] Make TMVA NN in PrForward stateless

Code optimisations

[MR !572] Rich MaPMT improvements following [LHCb!618]
[MR !598] Rich: adapt to streamlining of TrackSegment of LHCb!691, removing the segment type

Bug fixes and cleanups

[MR !644] Fixed typo in CaloPi0Monitor leading to bad photon counts

[MR !637] Fixed logging of lack of vertices in VeloIPResolutionMonitor
In case an empty set was in the TES, nothing was reported

[MR !579] PrFitPolinomial: fixed compilation warning that could have lead to memory corruption

[MR !576] Fix old RICH pixel sorting
Fixes an issue with the pixel sorting in the old RICH sequence, that affects the Upgrade productions only.

[MR !625] Ignore some warnings coming from the Boost library

Code modernisations

[MR !639] Modernize for Gaudi::Property in Muon
[MR !631] Modernize for Gaudi::Property in Hlt
[MR !627, !633] Modernize for Gaudi::Property in Calo
[MR !611] Modernize TrackExtrapolators
[MR !618] Replace StaticArray with boost::container::static_vector
[MR !651] Remove include of obsolete header files

[MR !595] Rich remove residual aerogel code from track segment maker
[MR !588] RichRecTrack tools remove unused pd panel pointer

Changes to tests

[MR !585] Fix LumiAlgs tests for Gaudi/master in backwards compatible way
[MR !650] Increase VMEM test failure threshold to 1.4GB, to avoid false alarms

2017-09-06 RecSys v21r6p1

This version uses Gaudi v28r2, LHCb v42r6p1 and Lbcom v20r6p1 (and LCG_88 with ROOT 6.08.06)

This version is released on 2017-patches branch.

Bug fixes

[MR !707] Fix MuonID compilation warnings in clang and gcc7

[MR !738] RichFutureRecPixelAlgorithms - Add out of bounds checks
Add some additional checks to make sure no out-of-bounds read access to vectors are performed in PixelBackgroundsEstiAvHPD, related to MR LHCb!873

2017-08-28 RecSys v21r6

This version uses Gaudi v28r2, LHCb v42r6 and Lbcom v20r6 (and LCG_88 with ROOT 6.08.06)

This version is released on 2017-patches branch.

New features

[MR !707] Add the MVATool to compute and store a BDT variable in the MuonPID

[MR !724] RichCKResolutionFitter - Add hyperbolic background option
For use online during the refractive index calibration

[MR !691] Add standalone CK resolution fitter utility
Allows Cherenkov resolution fit used in Panoptes for the online refractive index calibration to be reused in other scenarios, like DQ monitoring or the alignment

Code improvements

[MR !668, !674, !682] Refactor of TrackVectorFit
No changes to physics performance

[MR !646] Fix code ndentation warnings in yPID

Bug fixes

[MR !707] Fix bug in MuonID upgrade configuration, that was overestimating the efficiency

[MR !700] Fix TrackStateProvider trackID method to only use track memory address
Improves the way the unique track ID is computed. The previous implementation did not always produce a unique ID

Monitoring changes

[MR !693] Reduce CaloReco verbosity

[MR !676] Add RICH per PD Cherenkov resolution plots
Disabled by default

Changes to tests

[MR !703, !656] Increase lumi9mergesmallfiles VMEM test failure threshold to 1.5 GB, to avoid false alarms

2017-07-04 RecSys v21r5

This version uses Gaudi v28r2, LHCb v42r5 and Lbcom v20r5 (and LCG_88 with ROOT 6.08.06)

This version is released on 2017-patches branch.

Change to release notes format

As from this release, the file LbcomSys/doc/release.notes is frozen
Instead, there will be a file per release in the new ReleaseNotes directory. e.g. this file is called ReleaseNotes/v21r5.md

New features

[MR !629, !602, !634] Add Yandex PID classifiers to ANNPID
See LBPID-27

Bug fixes

[MR !642, !641] Fix for use of DecayTreeFitter on 2015/2016 turbo
On turbo 2015/2016 there are only two states on the track, namely at the beamline and at rich2. For the trajectory approximation used in DTF for Long-Long Ks, this is not enough. Add a state at the end of the Velo.

[MR !623] ProtoParticle Moni : Fix the conversion of the track type enum to string

[MR !615, !614] Calo2MC tool : fix bug that affect the merged-pi0 matching based on CaloHypo Linker table

Monitoring changes

[MR !622] Fix Tracking timing plots by adding missing sequences to timing list

Changes to tests

[MR !620] Increase slightly memory threshold of mergesmallfiles test failure




=== old style release notes ===

Package: RecSys
Package Coordinator: Marco Cattaneo
Purpose: LHCb reconstruction packages.
         This project groups together all the reconstruction packages needed
         by one or more LHCb applications.

BEWARE:

2017-05-31 RecSys v21r4

This version uses Gaudi v28r2, LHCb v42r4 and Lbcom v20r4 (and LCG_88 with ROOT 6.08.06)

This version is released on 2017-patches branch.

Performance optimisations

[MR !571] TrackVectorFitter: process chunks in a more convenient way to avoid clone checking. Gains [1-5]% in speed for TVF depending on dataset.
Compared to TMF (approx values): magup2016: -18%, upgrade-baseline: -2%.
to_process is populated with chunks of size BatchSize.
BatchSize is defaulted to 50 after parameter exploration.
Population of nodes in TVF casts smooth state vector only once (very small gain).

Bug fixes

[MR !582] PrFitPolinomial.cpp: fixed small compilation warning that could have lead to memory corruption

Monitoring changes

[MR !599] Add per panel Cherenkov resolution plots
[MR !578] Use force=True when PrintOn/PrintOff combination is used
PrintOff() following PrintOn() does not always restore print level as, per default, PrintOn() will not decrease LogFilter.printing_level if it is already 0. However, PrintOff() will increase it unconditionally. The fix (without touching Gaudi) is to use PrintOn(force=True).
Also removed some lone PrintOff()s.
[MR !564] Add a header in PrChecker and PrChecker2 printout
This makes it possible to (sensibly) use a findReferenceBlock() validator. Right now there is no proper signature line as the first line contains performance numbers that might change.

2017-04-26 RecSys v21r3

This version uses Gaudi v28r2, LHCb v42r3 and Lbcom v20r3 (and LCG_88 with ROOT 6.08.06)

This version is released on master branch.

New or changed functionalities

[MR !561] Compute and store the new Muon chi2 with correlated hits in the MuonIDAlgLite
and store (empty) the new MVA operators. Follows the change in the MuonPID Event Model, LHCb!581
[MR !553] Streamline PatBBDTSeedClassifier implementation
and move the computation of observables for a track from PatLongLivedTracking to PatBBDTSeedClassifier so that the observables are (almost by construction) in sync with the BDT implementation.
[MR !547] (Hopefully) final version of final classifier for PatLLT
[MR !550] add TrackStateVertex::setWeight method
[MR !539] Added IPrMatchTool Interface to allow flexibility for future branc
IMatchTool was shared between PatMatch and PrMatch. To allow more flexibility a new interface IPrMatchTool is added to Pr/PrAlgorithms

Performance optimisations

[MR !554] Kalman keep node store
Keeps the node store (Updated states) for the lifetime of the track
[MR !542] Use 'always inline' attribute to force compiler to inline functions used by CPU dispatch methods.

Bug fixes

[MR !560] Rich future use long long int for truncation
Fixes a small issue with double truncation, that is resolved by using long long int instead of just int.
[MR !555] Fix unprotected debug in PatLongLivedTracking.cpp
[MR !552] Cleanup some debugs in VeloClusterPosition.cpp
[MR !551] RICH Future : Fix build platform differences.
A number of fixes to address some differences seen between the opt and dbg builds in the nightly tests.
Now truncate the Cherenkov theta and phi precision to 7 d.p. More than enough physics wise, but removes noise due to small instabilities due to opt using -O3 and dbg not.
Update a number of MC monitors to properly handle situations where a Track object has multiple possible MCParticles associated to it. Works around issues due to Relations sorting not being stable.
Relies on LHCb!592.
[MR !548] Kalman batch processing
Fixed coverity warnings.
Fixed performance issues of TrackVectorFitter by processing tracks in batches.
Batch size is configurable and defaulted to 100.
[MR !549] Fix a bug in CCE scan analysis code (shanzhen-CCE)
[MR !544] Fix out of bounds array acces in NShared calculation
[MR !545] Fix FPE in CaloTools due to sqrt(-x) in AVX2+FMA builds
Adds protection to GammaPi0SeparationTool to prevent taking the square root of a negative number

Changes to tests

[MR !543] Replace GaudiTest.py by GaudiTesting - see LHCBPS-1692

Code modernisations and cleanups

[MR !559] Removed PrCheatedVelo.cpp and PrCheatedVelo.h

2017-03-29 RecSys v21r2

This version uses Gaudi v28r2, LHCb v42r2 and Lbcom v20r2 (and LCG_88 with ROOT 6.08.06)

This version is released on master branch.

New or changed functionalities

[MR !535] Add defaults for 2017 and 2018 DataType, remove MC09 and DC06
in ChargedProtoANNPID and LumiAlgs configuration
[MR !532, !534] Consistent fit for VeloTT tracks
Introduces a final fit in PatVeloTTHybridTool, that should make it reproducible in the TrackStateInitTool.
See LHCBPS-1711
[MR !505] Update of PatLongLivedTracking
Contains the updates presented in the T&A 7.2.2017, plus some sanity cuts
[MR !445] Remove PatDownstream
```PatDownstream``` algorithm is obsolete. Remove it from (Run1) reconstruction sequences and replace it with ```PatLongLivedTracking``` as in Run2
[MR !489] Added ignore-flag checks in PatAddTTCoord and PatVeloTTHybridTool to work with FlagHitsForPatternReco
[MR !497, !526, !528] Addition of TrackVectorFitter (package Tr/TrackVectorFit)
TrackFitter that processes several tracks utilizing vector units
Options of TrackVectorFitter are for the most part the same as for TrackMasterFitter.
Requires LHCb!551
[MR !497] TrackVectorFitter deployment: changes that affect TrackMasterFitter
TrackBestTrackCreator processes tracks in stages now.
```operator()(LHCb::Track&)``` and ```operator()(std::vector>&)``` have been added to TrackFitter.
Fixed a small bug in TrackMasterFitter by which the filter status of the first node was never reset upon updating transports.
[MR !517] Update RecConf configurables to default to RICHFUTURE.
[MR !500] Update RICH decoding settings to use DB for RICHFUTURE but not the old sequence
[MR !417] New code for FT geometry v6.1
[MR !525] PrMatchNN updated Neural Net
Magnet parameters were set incorrectly before, fixed now.
Removed inefficient NN variables.
Cuts are optimized to reduce ghost rate and timing.
Slight reduction in efficiencies is expected.
[MR !522] Modified PrFitParameters.cpp and PrFitTool.cpp following the Tr/PatFitParams example
[MR !523] Added PrFitMatchParams to PrFitParams
Algorithm to get the parameters for the upgrade matching algorithm

Performance optimisations

[MR !527] RichFuture - Test for AVX2 support + minor quartic cleanup
[MR !515] RichFuture ray tracing and Quartic solving improvements
Relies on LHCb!565 and Lbcom!123
Uses the new vectorised ray tracing to trace the Cherenkov cones.
Uses a faster Quartic solver
Together these save about 40% of the RICH reconstruction time. PID performance is statistically the same but not bit-wise identical.
[MR !490] Adapt to Rich future event data streamline changes in lhcb/LHCb!546
[MR !485] Avoid (slow) calls to the transport service in `RichTrackFunctionalCherenkovResolutions`
Done by caching the radiation length / unit path length during initialise.
Results in the algorithm being much faster, and means the RICH no longer cares what detector geometry is used (other than for this initial caching).

Bug fixes

[MR !519] Fix sign error in PatLongLivedTracking (changes efficiencies at per mille level)
[MR !516] Protect uninit momentum in CaloPIDsChecker fix
Avoid string comparison in track type selection in CaloPIDsChecker.cpp in order to avoid a problem with gcc6.2 optimization, see details in lhcb/Rec!419#note_181451
[MR !496] Fix a small bug in the RichFuture configuration
A custom particles list passed to the reco sequence configuration was overridden by the monitoring configuration.
[MR !502] Fixed small bug in MuonTTTrack
[MR !494] Fix CommonMuonStation assert in debug build running with upgrade geometry
An assert was failing in the debug builds when running with the upgrade geometry because the wrong boundaries being used when sorting hits. In the upgrade M1 is removed and M2 is now the station with index 0. The M1 boundaries were being used.
This MR fixes this by ensuring the right set of boundaries is used. The boundaries themselves were hard-coded and are now a property.
[MR !521, !488] PrLongLivedTracking bug fixes
Add a missing std::abs, to correctly calculate the deviation of the hits.
Initialize m_mvaVal member variable, to avoid comparison with an uninitialized value,
Correctly update the X-projection before calculating the MVA value for a Track
[MR !503] Fix floating point exceptions in PrVeloUTTool, PrCounter2 and PrTTCounter.
Also modernize PrLHCbID2MCParticle a bit

Monitoring changes

[MR !538] Changes for Rich alignment
RichRecQC: Added new set of tkCuts to Configuration.py called "TightMirror" and corresponding new Monitor called PhotonMonitoringAlignOnline
RichAlignment: decreased Max GhostProb cut to 0.5
See RICH-7
[MR !518] Old RICH Monitoring - Downgrade exception to warning when sequencer not set.
[MR !468] Fix Residual and Occupancy plots in FT ClustersResidual tool to account for all MCHits in the Linker
Fix ranges of plotting and also looking to all elements in the Linker, not only the most contributing one.
[MR !485] Extend the RichFuture monitoring python utilities to allow for different histogram sets
similar to how the old monitoring worked.

Changes to tests

[MR !536] Do not use git conddb in lumi0conddbchecker test
Forces the use of COOL also when Git CondDBs are available, as this test uses a custom COOL CondDB layer (not supported by Git CondDB) to test lumi algorithms.
[MR !515] Move various RichFuture test applications to a new package called Rich/RichRecTests.

Code modernisations and cleanups

[MR !512] Remove PrDownstream and PrMatch
[MR !511] Remove PatVeloTTHybridTrack
[MR !492] Added backward compatibility hack for gaudi/Gaudi!273
[MR !486] Remove from RichFuture quartic reconstruction algorithm option to ignore secondary mirrors.

2017-02-01 RecSys v21r1

This version uses Gaudi v28r1, LHCb v42r1 and Lbcom v20r1 (and LCG_87 with ROOT 6.08.02)

This version is released on master branch.

New or improved functionality

[MR !427] Import RichFuture functional packages from future branch
Requires lhcb/LHCb!512
[MR !448] RichFuture - Improved pmt support
Predicted pixel signal algorithm now uses the new `DeRichPD` pixel area access methods added in lhcb/LHCb!522 . This means this algorithm now transparently takes HPD/PMT differences into account.
Update track CK theta resolution algorithm - see MR message for detailed description of this change
[MR !457] Update RecSummaryAlg to use the new RichFuture decoded data via the TES when available, instead of the provider.
Requires lhcb/LHCb!527
[MR !456] RichFuture - Add track and cluster GEC cuts, and 'OnlineBrunel' mode.
[MR !460] RichFuture - Use the new IMirrorSegFinderLookUpTable interface.
Based on lhcb/LHCb!529 and lhcb/Lbcom!115.
[MR !463] Fix an infrequent DLL warning from Rich Future Global PID
Fixes "WARNING Rich::Future::Rec::GlobalPID::WriteRichPIDs:: Track has non-zero best deltaLL value StatusCode=FAILURE"
[MR !423] [LHCBPS-1681] Replace temporary version of Track1DTabFunc (temporarily added in !394)
The ghost probability (Tr/TrackTools/*/TrackNNGhostId.* and Tr/TrackTools/*/Run2GhostId.*) used the 1D tabulated function from RichDet which is being replaced (lhcb/LHCb!451). This MR is a standalone implementation of a 1 dimensional tabulated function for the ghost probability, taking into account that (from run2 onwards) the tabulation binning is equidistant in y [sic].
[MR !471] Updated PatLongLivedParams for new resolution studies
[MR !470] Added function to PatDebugTTTruthTool that checks if track is downstream reconstructible

Code speedups

[MR !401] Get rid of unnecessary if in PatAddTTCoord
[MR !424] PatMatchTool speedup
Improve timing of PatMatchTool by buffering the state in the inner loop. Gains about 45% according to callgrind.
[MR !453] Speedup in PrMatchToolNN
Change double to float
Sort states according to extrapolated y-position
Use binary searches to only calculate chi2 and MVA value for close states.
Do some C++11 changes
Use new method for Gaudi::Property.
[MR !459] Tr/TrackTools/src/UpgradeGhostId.cpp: Reserve sufficiently large vector for MLP observables
Based on https://indico.cern.ch/event/600120/contributions/2444101/attachments/1398576/2133160/Ghost_Probability_for_upgrade.pdf it seems there is a lot of time to be gained by pre-allocating sufficient memory for the vector of observables.
[MR !479] Speed up (factor 10) the RICH future emitted photon yield algorithm

Bug fixes

[MR !389] CaloSelectCluster.h: Fix uninitialized pointer
[MR !469] Fix VeloTrackMonitorNT
Bug fix: the arguments for the position function of VeloClusterPosition should be the global point of the hit, not the track first state as it used to be.

Monitoring changes

[MR !418] RichTools: improve debug
[MR !414] Update current RichRecoQC to ignore MC type when deciding the assumed type, to be consistent with real data
[MR !442] Add new RICH Future MC truth Cherenkov resolution monitor
Relies on lhcb/LHCb!517
[MR !462] Rich future monitors renamed to match current
To ease deployment of the new RICH sequence at the pit, the monitor names are updated to match those used in the old sequence, as then the DQ and monitoring will be blind to the change.
Also This add a 'Tight' resolution monitor, that uses restrictive track cuts to get a cleaned up sample, used for the n-1 calibration online.

Changes to tests

[MR !420] LumiAlgs lumi2reader test: update reference to follow Gaudi v28r1

Thread safety

[MR !440] Changes to Tf/FastVelo and Tf/PatVelo to make the code thread safe
Remove mutable variables giving state to PatVeloSpaceTool
Adapt FastVeloTracking and HitManager to use the new TES object defined in lhcb/LHCb!516 rather than the deleted DeVeloSensor::Tell1EventInfo.
See also LHCBPS-1680
[MR !454] Make VeloHitManager, TrackVelodEdxCharge and VeloClusterPosition thread safe
Removed unnecessary mutables from VeloHitManager
Made TrackVelodEdxCharge counters thread safe
Removed unnecessary internal state from VeloClusterPosition tool.
See also LHCBPS-1680

Code modernisations and cleanups

[MR !428] Fully qualify enum values (see lhcb/LHCb!513)
[MR !386] Modernize HltMonitors
replace BOOST_FOREACH with range-based for loop
replace boost/assign/list_of with (implicit) std::initializer_list
do not implement derived methods that just call their base class version
prefer STL algorithms over raw loops
prefer implicit destructors
remove obsolete SVN/CVS keywords
prefer lambda callbacks over member function callbacks
prefer .empty() over comparison with ""
[MR !430] Modernize HitManagers & hit comparison operators
Always sort hits in hitmanagers as they are added, avoid sorting on demand, and make it impossible to use inconsistent comparisons.
Replace templated binary comparisons classes with non-templated classes, with templated operator() instead.
Make sure that the same comparison classes can be used for std::sort and std::lower_bound
replace BOOST_FOREACH with range-based for loop
[MR !385] Modernize PrAlgorithms
prefer auto
remove use of BOOST_FOREACH
prefer range-based for loops
prefer implicit destructors
prefer direct member initialization
prefer emplace_back over push_back
prefer inheriting from extends over virtual inheritance
add final
remove inclusion of unused header Event/TrackFunctor.h
prefer assignement over hard-wired set of push_backs
[MR !384] Modernize PatAlgorithms,PatKernel,TsaAlgorithms,TsaKernel
prefer implicit destructors
add final
prefer auto
avoid deprecated std::binary_function
prefer non-template comparison class with templated operator()
replace boost/array with std::array
prefer call-by-value-followed-by-move over call-by-const-ref-followed-by-copy
prefer removing items from vectors over copying selected items
[MR !433] Modernize PatAlgorithms
prefer implicit destructors
prefer Gaudi::Property
remove obsolete CVS/SVN keywords
prefer inheriting constructors (requires on !432)
prefer standalone function in anonymous namespace over member functions which do not interact with their class
prefer STL algorithms
prefer assignment of std::initializer_list over repeated push_backs
[MR !446] Modernize RecInterfaces
prefer DeclareInterface
prefer inheritance of extend_interfaces over virtual inheritance
prefer struct
remove obsolete CVS/SVN keywords
[MR !383] Modernize TrackInterfaces, TrackExtrapolators, TrackKernel, TrackTools, TrackUtils
prefer STL algorithms over raw loops
prefer auto
add ( ) around ?:
prefer inheriting from extends over virtual inheritance
prefer inheriting from extend_interfaces over virtual inheritance
prefer DeclareInterfaceID over explicit interface ID definition
prefer struct over class when there are only public methods
remove include of unused Event/TrackFunctor.h
prefer std::make_unique
add final
[MR !432] Modernize TrackInterfaces
prefer struct
prefer extend_interfaces
prefer DeclareInterfaceID
make ISTSpilloverTool const correct
[MR !382] Modernize TrackCheckers
replace BOOST_FOREACH with range-based for loop
do not cast if not neccesary
do not include unused header "Event/TrackFunctor.h"
[MR !438] Modernize TrackExtrapolators
prefer Gaudi::Property
prefer direct member initialization
prefer inherited constructors
remove disable of warnings for Intel compiler (warning should be fixed by 'using' statement)
prefer std::make_unique over standalone equivalent
prefer implicit destructors
do not cache msgLevel(MSG::DEBUG)
[MR !437] Modernize TrackProjectors
prefer Gaudi::Property
prefer inheriting from extends over explicit virtual inheritance
prefer direct member initialization
prefer inherited constructors
remove obsolete SVN/CVS keywords
[MR !436] Modernize TrackTools
prefer inheriting constructors
prefer implicit destructors
prefer Gaudi::Property
prefer direct member initialization
prefer standalone functions in anonymous namespace over member functions that do not access any class data and/or methods
prefer STL algorithms over raw loops
prefer std::unique_ptr over raw pointers + explicit delete
prefer switch over if-then-elseif-elseif-else
prefer range-based for loops
move loop invariants out of loop body
remove obsolete SVN/CVS keywords
prefer auto
add final
prefer emplace_back
prefer inheriting from extends over virtual inheritance
prefer std::initializer_list over boost::assign
prefer std::unique_ptr and move semantics over std::shared_ptr and copy
prefer std::make_unique
prefer range-based for loops over BOOST_FOREACH
do not cache msgLevel(MSG::DEBUG)
[MR !447] Modernize TrackIDs
prefer std::numeric_limits over boost equivalent
prefer direct member initialization
prefer static_assert over BOOST_STATIC_ASSERT
prefer table lookup over if-else-if as table can be re-used for inverse lookup -- which is now guaranteed consistent and needs less source code ( note: generated code is equivalent, see https://godbolt.org/g/cCzjsm )
add UNLIKELY
[MR !435] Modernize TrackUtils
prefer auto
prefer implicit destructors
prefer range-based for loops, avoid BOOST_FOREACH
add final
prefer direct member initialization
avoid boost/lambda
prefer insert followed by inplace-merge over set_union
prefer adjacent_find over unique so the fixup required can start at the first duplication
prefer lambda over boost/bind
[MR !434] Modernize TfKernel and TfTools
remove const from resetUsedFlagOfHits
add resetUsedFlagOfHits to hit creators
prefer Gaudi::Property
avoid use of protected data members
use single precision dummy r-t relation
[MR !443] RecAlgs: Prefer Gaudi::Property
[MR !444] LumiAlgs: Prefer Gaudi::Property
[MR !439] Prefer Gaudi::Property in RichFuture
Also convert `#ifdef` header guards to cleaner `#pragma once`.
[MR !397] Remove cmt directories as CMT is no longer supported as from Gaudi v28r0
[MR !410] Fix misleading indentation warnings
Fix misleading indentation warnings in PatAlgorithms, TrackMonitors, PrAlgorithms
TrackExtrapolators, RichRecPhotonTools, RichFutureRecPhotonAlgorithms: suppress compilation warnings from Eigen
[MR !441] Improved a doxygen comment in PatLongLivedParams, which was not particularly helpful...
[MR !429] Remove whitespaces at end of line

2016-11-30 RecSys v21r0

This version uses Gaudi v28r0, LHCb v42r0 and Lbcom v20r0 (and LCG_86 with ROOT 6.08.00)

This version is released on master branch.

Packaging changes

[MR !268] Migrate Phys/LoKiTracks from Phys to Rec/LoKiTrack in Rec
[MR !261] Move QuarticSolver.h to RichRecUtils to allow sharing with future algorithms
[MR !210] Split up Rich/RichRecBase into 4 smaller packages
RichRecUtils - Small utilities.
RichRecEvent - The XML based transient event model used in the RICH Reco.
RichRecInterfaces - Tool interfaces
RichRecBase - tool and algorithm base classes.

Algorithm improvements

[MR !379] Simplify LumiSequence: prefer single decoder, single filter
Prefer single decoder instance, used in four sequences, over cloning four identical instances, configured identically except for their instance name
Prefer single filter instance, used in four sequences, over cloning four identical instances, configured identically except for their instance name
Prefer direct member initialization
[MR !346]Merge UpgradeTracking into Master
This release contains all updates made to upgrade tracking that are used in tracking performance update note.
UpgradeTracking branch was removed after this merge
[MR !306] Don't use Track.flags to check for backwardness in BeamGasVertexMonitor
Now, determine backwardness as done in the FastVeloTracking by looking at the hits.
[MR !295, !289 !280, !247] Backport several small improvements from RichFuture to the current algorithms
[MR !255] Backport RichRadCorrLocalPositions updates from RichFuture
[MR !267] Update Tf/PatAlgorithms to use make_array introduced in LHCbKernel with lhcb/LHCb!342

New functionality

[MR !278] Propagated option for simplified geometry through upgrade tracking configuration
Setting `TrackSys().ExpertTracking = [ "simplifiedGeometry" ]` switches on the simplified geometry for the fast and best stage in the upgrade tracking.
Off by default for now.
[MR !250] Fix the MuonIDAlgLite to take into account the upgrade geometry.
[MR !208] Added CaloCluster saturation and barycenter info in NeutralProtoParticle
This will allow to replay the Calo Correction starting from ProtoP info, i.e. without the full reconstruction
[MR !226] Added TrackSTEPExtrapolator
Added a new variant of the Runge-Kutta as used by ATLAS.
[MR !211] PatFitParams: added files 'PatLongLivedParams' to determine parameters/resolutions for PatLongLivedTracking

Bug fixes

[MR !366] Fix MCParticle cloning in TrackIPResolutionCheckerNT.cpp
Bug exposed by lhcb/LHCb!430
[MR !358] Fixed PVResolution
Several issues with column types in tuples
Increased track size array from 100 to 500 (was running out of space every tenth event in 2015 data used in tests)
Many optimisations (copying tracks twice just to count number of left/right was not ideal)
[MR !358] In VeloOccupancyMontior fixed coverity error about Time of check/Time of use when doing mkdir (now one operation)
[MR !339] VeloTrackMonitorNT: Fix untested StatusCodes and unprotected debug()s.
Plus some flyby modernisation

Monitoring changes

[MR !374] TrackMonitors: added options for IT+TT the CCE scan taken on 2016-10-25
[MR !358] Fixed VeloTrackMonitor to work with online tracks
so that the 2nd metal layer effects monitoring histograms are produced in the BrunelOnline environment (uses lite not full clusters in fits)
[MR !302] Minor debug updates to Rich/RichRecTools
[MR !301] Various minor debugging updates to current Rich/RichRecPhotonTools
[MR !299] Improved ostream overloading for Rich PhotonSpectra

Changes to tests

[MR !239] Update tests to remove obsolete exclusions and add forward compatibility with next Gaudi release
[MR !227] Remove obsolete configurables test, was checking integrity of SVN project recursive checkout

Code modernizations and cleanups

[MR !319, !360, !238, !231 !220] Modernize Calo
Follow changes in LHCb which add const to interfaces (see lhcb/LHCb!412)
Update forward declarations following lhcb/LHCb!231
Remove unused header inclusion of "Event/TrackFunctor.h"
Remove CVS/SVN keywords
Prefer range-based for loops
Prefer emplace_back
Prefer std::unique_ptr over raw pointer + explicit delete
Prefer nullptr
Avoid C-style casts
Re-order logic to take advantage of short-circuiting
Prefer direct member initialization
Prefer auto
Prefer assignment to vector over explicit series of push_back
Prefer assignment of std::initializer list over clear + series of push_backs
Prefer std::max over a macro
Prefer static const for static, constant data
Do not cast if not needed
Prefer extends over explicit virtual inheritance
Add const
Do not implement derived classes that just invoke their base class version
Prefer STL algorithms
Add final to classes
Prefer override over virtual
Remove explicit destructors when the implicit destructor is sufficient
Prefer getIfExists over exists + get
Prefer SmartIF
Prefer call-back handler over explicit syncing in initialize
Do not explicitly invoke default constructors in constructor
Replace obsolete std::auto_ptr with std::unique_ptr
Consolidate applications of calibrations into 'apply'
Prefer struct over class with all public members
Remove deprecated std::unary_function
[MR !221] Modernize CaloPIDs
Replace BOOST_STATIC_ASSERT with static_assert
Replace INHERITS with std::is_base_of
Do not invoke default constructors in constructors
[MR !315, !320] Modernize FastVelo
Prefer implicit destructors
Prefer direct member initialization
Prefer STL algorithms over raw loops
Prefer range-based for loops
Avoid C-style casts
Prefer auto
Add override instead of virtual
Add final
Removed the algorithms that are unused elsewhere in LHCb code: FastVeloDecoding, FastSTDecoding, FastValidateWithTT and the associated tool FastTTValidateTool
[MR !318, !326] Modernize LumiAlgs
Prefer struct for Interfaces
Use DeclareInterface, extends
Add final
Prefer implicit destructors
Remove SVN/CVS keywords
Remove virtual functions which only call baseclass implementations
Prefer override
Prefer direct member initialization
Prefer insert over loop with push_back
Prefer getIfExists over exists/get
Prefer range-based for loops
Update lumi2reader reference to follow these changes
[MR !252, !275, !277, !279] Modernize Muon
Change memory layout: use vectors of values instead of vectors of pointers to values allocated on the heap. Carefully reserve all vectors to ensure that the addresses of the values are stable.
Add const when possible
Prefer struct over class for interfaces with only public methods
Prefer DeclareInterfaceID
Remove obsolete SVN keywords
When returning 'owning pointers' do so using std::unique_ptr
Add final
MuonLogHit: replace vector of either one or two pointers with std::pair
Prefer implicit destructors
Prefer STL algorithms over raw loops
Prefer auto
Minimize scope of variables
In 'factory functions' return the created object instead of using an OUT parameter and returning a StatusCode
[MR !317] Modernize MuonID
Prefer direct member initialization
Add const
Prefer implicit destructors
Remove SVN/CVS keywords
Prefer inheritance from extends over virtual inheritance
Prefer struct for interface
Prefer emplace_back over push_back
Prefer std::unique_ptr over raw pointer + explicit delete
Prefer STL algorithms over raw loops
Prefer range-based for loops
Prefer auto
[MR !361] Modernize PatPV
Prefer struct for classes with only public data/methods
Remove SVN/CVS keywords
Prefer direct member initialization
Remove trivial destructors
Prefer range-based loops
Add final
[MR !359] Cleanup PrCounter2 and PrTTCounter
Fix some untested ```StatusCode```s
Remove unnecessary member variables
Fix uninitialised variable bug
Move member initialisations to declaration
Remove trivial destructor
[MR !215] Do not duplicate finalize pure virtual
finalize is already pure virtual in IAlgTool -- no need to repeat so in IPrCounter (which inherits from IAlgTool)
[MR !216] Modernize PrMCTools
Do not explicilty implement functions the compiler will generate implicitly
Do not keep variables with a lifetime scope of an event as members
Prefer std::unique_ptr over raw pointer and delete
Default arguments should be specified in declaration, not definition
Prefer override over virtual
Do not keep constants as member variable, but as static const in an anonymous namepsace
Prefer range-based for loops
Prefer for loop over while
Prefer getIfExists over exists/get combo
Do not check for duplicates while inserting (which is quadratic) but use sort / unique (which is logarithmic)
[MR !371] Clean up some final/override statements in Rich packages
[MR !343] RichRecBase: use unsigned long long for photon tallies
[MR !283] Remove an obsolete setting of a job options location in RichRecSys
[MR !270] Clean up the RICH photon predicted signal tool
[MR !356] Modernize TrackFitEvent
Prefer implicit destructors
Prefer direct member initialization
Remove unneccessary static
Prefer STL algorithms
Prefer range-based loops
Add final
[MR !362] Modernize TrackMonitors
Add final
Remove unneeded gsl_math include
Prefer implicit destructors
Prefer STL algorithms
Prefer lambda for predicates
Prefer auto
[MR !222] Modernize TrackProjectors
Prefer direct member initialization
Prefer auto
Do explicitly implement destructor which are implicitly generated
Remove obsolete SVN keywords
Prefer STL algorithms over for loops
When modifying a property, use setProperty instead of direct assignment
Add constexpr
Prefer struct over class with only public members
[MR !224] Modernize TrackTools
DelegatingTrackSelector: delegate constructor to baseclass
Prefer override over virtual
Prefer inheritance from extends<> over virtual public inheritance
Remove use of boost::assign
Do not expliciitly implement destructors which would be generated implicitly
[MR !316, !223] Modernize TrackUtils
Prefer (implicit) std::initializer_list over boost::assign
Prefer implicit destructors
Prefer STL algorithms over raw loops
Prefer SmartIF instead of raw pointers to Services
Prefer range-based loops
Prefer override over virtual
Prefer lambda over boost::lambda
Prefer single std::sort over two std::stable_sort
Prefer (implicit) std::initializer_list over boost::assign
Add final if possible
Remove SVN keywords
Prefer vector assignment over set of push_backs
Replace BOOST_FOREACH with STL algorithms
[MR !314] Remove unused IFunctionTool interface and modernize PtTransporter
[MR !287] Fix struct/class mismatch and minor code modernisations in Tf/TsaAlgorithms, Tr/TrackTools, Tr/TrackCheckers
[MR !358] Modernize VeloRecMonitors
Removed empty destructor
Simplified constructors
Used auto
Removed unused variables
Better array initialisation
Used C++11 lambdas rather than boost lambda and bind.
Remove m_binary and replace with LHCb::Math::sqrt_12
Initialise all pointers in class to nullptr explicitly
Removed $Id: lines from headers
Removed WIN32 #pragmas
Removed commented out subroutines
[MR !328] Fix missing overrides warnings
[MR !292 !274] Remove unused variables exposed by lhcb/LHCb!387 and lhcb/LHCb!337
[MR !286] Removed unused include, deprecated in gaudi/Gaudi!182
[MR !245] Fix a few clang warnings

Code changes to follow changes in LHCb and Gaudi

[MR !378] Prepare for update to RICH 1D interpolator (in lhcb/LHCb!451)
[MR !352] Adapt to the new re-entrant TransportSvc calls (in lhcb/LHCb!422)
[MR !277] Fix class/struct mismatches introduced by MRs lhcb/LHCb!337, lhcb/LHCb!338
Also initialise nullptr at declaration, remove empty finalize
[MR !237] Prepare for DetDesc modernization
Do not commit to the specific return type of DetDesc::services -- only to its semantics
[MR !231] Follow modernization of CaloInterfaces in lhcb/LHCb!291
Do not request CaloInterfaces link library
Do not include CaloUtil.h
[MR !229] Adapt to HPD->PD name changes in lhcb/LHCb!289
[MR !210] Adapt to Split up of Rich/RichKernel (see lhcb/LHCb!239)

2016-09-06 RecSys v20r1

This version uses Gaudi v27r1, LHCb v41r1 and Lbcom v19r1 (and LCG_84 with ROOT 6.06.02)

This version is released on master branch.

Algorithm improvements

[MR !122] LHCBPS-1620: Calo HLT Speed update
A few small speed improvements, to how trig functions are used
[MR !193] Implement counter switch in calo reco packages
Speeds up reconstruction by switching off most counters by default
[MR !138] RICH Optimisations for a 'Ultimate speed' tuning
Some more technical optimisations, that have no impact on PID performance, but are slightly beneficial for HLT2.
Saves about 3% of the RICH timing, so roughly 20% * 3% = ~0.5% in HLT2.
[MR !114, !120] RICH Reconstruction Speedups
Faster RICH Global PID minimisation through use of additional data caches.
Optimisation of the pixel background tool.
Change IRichPhotonReconstruction reconstructPhoton() to return a boolean instead of StatusCode
[MR !109] ANNPID: Use std algorithm instead of simple loop to fill MVA inputs. Faster...

New functionality

[MR !110] Add new tool "RichFlippedDetailedTrSegMakerFromRecoTracks".
Creates the RICH segments in the same way as the standard tool, but then flips the track state information in X and Y.
Useful for background studies.

Bug fixes

[MR !192] Fix bug whereby CCEscan property was not initialised in PatVeloPhiHitManager.cpp
This bug was causing CCE scan to be called when not explicitly required. The flag has now been initialised to false.
[MR !147] Properly initialise cached variables for Deuteron Rich PID
Fixes a few bugs where deuteron was not being properly considered.
The only significant one is in RichSellmeirFunc as this is the only one actively used in production.
There are also a few minor performance tweaks as well.
[MR !119] Fix PrForwardTracking.cpp to always create an output tracks container even if there are no input tracks

Fixes to tests

[MR !200] Rich: don't print pointer values in debug statements
As it just leads to annoying diffs in platform comparisons...
[MR !196] Update LumiCheckCondDB to print times using UTC instead of 'local' time
Using local time means the QM test results differ depending on the time zone they are run in..
As a side product perform a little algorithm clean up at the same time.
[MR !131] Streamline DumpLumiEvents
Change specification of input file so it also works outside CERN
Improve const-correctness
Flag potential double delete...
[MR !171, !168] RecSys: Update configurables list in Configurables test reference

Code modernisation and cleanups

[MR !201] Rec/RecAlgs : C++11 cleanup
[MR !199] GlobalReco C++11 cleanup.
[MR !198] Update Rec/ChargedProtoANNPID
Adds some final specifiers, removes default destructor implementations and use STL algorithms more.
[MR !190] Modernize Track{To,From}DST
Invert lookup-tables to simply things
Partition in-situ instead of using map of vectors
Avoid extra clone of states
[MR !189] Streamline Run2 GhostID
Make TMVA ReadMLP constructor const correct
Prefer std::vector over int*
Prefer std::unique_ptr over raw pointer + delete
Streamline variablenames lookup
[MR !184] TrackFitEvent: make event model classes 'final' when possible
Qualify event model classes as 'final'
const fix in VPMeasurement
And a bit of C++11 modernization
[MR !167] Migrate ITrackVertexer to return std::unique_ptr
Update implementations and users of ITrackVertexer accordingly (which implicitly fixes a memory leak in the Velo monitor code)
[MR !162, !186] Consolidate MeasurementProviders
Remove initialize,nominalZ from IMeasurementProvider (not needed)
IMeasurementProvider::addToMeasurments: use range of LHCbIDs instead of vector of LHCbIDs
Increase interface version number of IMeasurementProvider
Replace VPMeasurementProvider with MeasurementProviderT
Streamline MeasurementProviderT, reduce duplication of code
[MR !166] Modernize TrackV0Finder
Prefer STL algorithms
Prefer std::unique_ptr over raw pointers
Prefer range based loops
Remove superfluous destructor
[MR !152] Hit creator cleanup
Eliminate redundant vector of sorted OT hits
Remove redundant destructors
Remove region-wise OT decoding
Use generic callback to get access to ST clusters
Add some LIKELY / UNLIKELY hints
[MR !112, !107] Further consolidation of HitManagers and OT/ST hit cleaners
[MR !155] Modernize PatVeloTT
Remove redundant destructors, initalize and finalize methods
Flag local data classes as 'final', remove virtual destructors
Replace lookup table which is in every single PatVTTTrack by use of 'popcount'
Prefer emplace_back over push_back
Prefer STL algortihms over raw loops
Reduce scope of local variables as much as possible
Reserve vectors with reasonable defaults if possible
Prefer removing 'in situ' over copying selected items followed by assignment to the original
Make PatVeloTT::matchingTracks linear instead of quadratic in the number of hits
[MR !153] C++11 modernization PatSeedFit
Remove unneccessary interfaceID
Qualify virtual function implementation declarations with override instead of virtual
Prefer direct member initialization
Prefer nullptr over 0
Prefer unnamed namespace for local sortadaptor
Prefer emplace_back over push_back
Prefer switch over if
[MR !135] Modernization of TrackUtils
Replace BOOST_FOREACH with range-based for
Remove redundant destructor
Replace some virtual with override
[MR !108] Use C++14 generic, variadic lambda to implement vectorization in PatFwdTool
[MR !159] HltMonitors: Adapt to use of either string or DataObjectHandleBase as property
[MR !183] Various RICH Improvements
[MR !178] RichPIDMerge : C++11 modernise.
[MR !177] RichENNRingFinder : C++11 modernisations
[MR !174] RichGlobalPID: Fix a clang virtual warning
[MR !158] Miscellaneous C++11 updates to the RICH reconstruction.
Convert a number of properties previously using STL vectors to fixed sized STL arrays. Better type (size) safety and a small performance improvement.
Add a common base class for all photon predictors in RichRecPhotonTools.
Add some more virtual specifiers (might cause some warnings with clang if I missed some...)
[MR !151] Rich: improvements along the lines or MR !147, with better member initialisation.
[MR !160] Adapt to modernization changes in CaloDataFunctor
See MR lhcb/LHCb!174
[MR !170] TrackV0Finder: add for gcc 6
[MR !125] Fix compilation with GCC 6.1
See LHCBPS-1622
[MR !175, !173] Fix Clang compilation warnings
VeloCCEScanMonitor: fix -Wabsolute-value and -Wsign-compare warnings
DefaultVeloPhiHitManager, DefaultVeloRHitManager, IOTHitCreator are class, not struct
Prefer nullptr over NULL in initialisation
Remove unnecessary includes
Cleanup indentation
[MR !127] Minor backward compatible change in CaloEMuPIDMon.cpp to work around an issue with gaudi/Gaudi!182
[MR !104] Added .gitignore and .gitattributes
See LHCBPS-1599

2016-07-04 RecSys v20r0

This version uses Gaudi v27r1, LHCb v41r0 and Lbcom v19r0 (and LCG_84 with ROOT 6.06.02)

This version is released on master branch. It contains a merge of the contents of v19r3p1 (from 2016-patches branch) plus the following changes

Upgrade reconstruction

[MR !96] Merge branch 'upgrade-mergedMaster' into 'master'
Replace old (upgrade TDR) upgrade tracking sequence by latest version from upgrade tracking task force
N.B. This is a major change. All work leading to this is documented in the commit messages of this Merge Request
[MR !101] ConfiguredMuonIDs.py: Revert to MuonIDAlg for Upgrade gemoetry
Temporarily revert to MuonIDAlg for DataType="Upgrade" reconstruction, because MuonIDAlgLite does not yet support the upgrade geometry
Remove obsolete MC09 use case

Tracking

[MR !98] Make the setting of the sign of pT of Velo only tracks deterministic
Added code to set the pT of the VELO only tracks with a sign based on the first strip in the first cluster rather than the track key (which was random). Also an option to reverse the sign for mag up/mag down MC comparisons. (TrackTools/src/TrackStateInitTool, TrackUtils/src/TrackPrepareForFit, TrackUtils/src/TrackPrepareVelo). See discussion in LHCBPS-1547.
[MR !84] Make naming of STOfflinePosition tools more consistent in STOfflineConf.py
See LHCBPS-1575 (TrackSys/RecoTracking.py, TrackSys/RecoTrackingRun2.py, TrackTools/src/MeasurementProviderT.cpp)

Calo

Add pi0 mass per cell
(CaloMoniDst/src/CaloPi0Monitor.cpp)
[MR !70] Remove obsolete algorithm CaloMergedPi0Alg
Replaced by CaloMergedPi0.cpp at the time of Stripping 21 update
[MR !69] CaloReco cleanups
CaloCorrectionBase: remove redundant counter, see LHCBPS-1529
CaloMergedPi0Alg: fix possible uninitialised variable issue (Coverity ID 65169)
CaloReco: Multiple fixes to uninitialised members warnings from Coverity

Rich

[MR !97] Rich calibration update
Some minor updates to the calibration scripts for 2016 running (RichAlignment)

ST

[MR !50] Fixed bug in STPerformance.py
TrackMonitors
Put IT/TTrackMonitor and STEfficiency files to the latest version
Added information on expected coordinates of a hit from track extrapolation in STTractTuple algorithm, Efficiency mode.
STPerformance as Sequence
Added CCE scan from 2016-04-23
Downgraded a message from Warning to Info in STEfficiency

Velo

[MR !80] Add plots for VELO offline DQ monitoring
A few new plots were added to VeloClusterMonitor class, for Offline VELO DQ monitoring purpose. Old VeloClusterMonitor class was also cleaned up. New plots are protected with an option that by default it switched off to prevent Brunel calling it, and switched on only in Vetra for offline DQ monitoring.

Code Cleanups

[MR !100] Fix various clang warnings
In PatAlgorithms, PatVelo, TfTools, TrackExtrapolators, TrackTools
[MR !99] Replace endreq by endmsg
In MuonID, PrMCTools, RichAlignment, TrackAssociators, TrackCheckers, TrackExtrapolators, TrackFitter, TrackMonitors
[MR !86] Cleanup HitManagers
After https://gitlab.cern.ch/lhcb/Hlt/merge_requests/97, the decoding-on-demand is no longer used, and the hit managers can be simplified:
  • remove (now unused) 'prepareHitsInWindow'
  • remove (now unused) 'prepareHits(iterator)'
  • remove IStationSelector
And some additional modernization:
  • add range accessors (instead of two accessors for 'begin' and 'end') and use them in range-based for loops
  • prefer struct over class with only public methods/data
  • remove trivial destructors
  • remove trivial finalize methods
  • prefer stl algorithms over explicit loop
  • prefer emplace_back over push_back where appropriate
  • remove #if __GCCXML__
  • add 'final' qualifier where possible
  • prefer bitset<4> over array

2016-06-06 RecSys v19r3p1

This version uses Gaudi v27r1, LHCb v40r2 and Lbcom v18r2 (and LCG_84 with ROOT 6.06.02)

This version is released only on 2016-patches branch

Calo

[MR 63] Add protection to avoid repeated Condition registration. Affects only the case when running Moore from TCK.
(CaloReco/src/CaloCorrectionBase.cpp)
Fixes LHBPS-1529

2016-05-31 RecSys v19r3

This version uses Gaudi v27r1, LHCb v40r2 and Lbcom v18r2 (and LCG_84 with ROOT 6.06.02)

This version is released only on 2016-patches branch

Tracking

[MR 44] Fixed bug that caused wrong hits to be flagged as used in PatLongLivedTracking. Small improvement in performance (permille level) expected.
(Tf/PatAlgorithms/src/PatLongLivedTracking.cpp)
[MR 46] Remove info messages from TrackMasterFitter
As per the conventions, we shouldn't produce info outside initialize/finalize. The debug messages remain.
(TrackFitter/src/TrackMasterFitter.cpp)
[MR 24] Use TrackSys to configure public tracking tools TrackMasterExtrapolator and TrackStateProvider
Added function to TrackSys to configure public tracking tools like TrackMasterExtrapolator and TrackStateProvider. The setup depends on the DataType and expert options. This function is called during apply_configuration. Removed duplicated code from RecoTracking and RecoTrackingRun2. This commit is intended to give DaVinci, Brunel and Moore a common place to configure tools consistently. See [LHCBPS-1506].
Added an option to skip the setup of the tracking sequence, as this is not needed in Moore.
Fixed expert option for Run1 DataTypes: useSimplifiedGeometry was true as soon as any expert option was set.
(TrackSys/Configuration.py, TrackSys/RecoTracking.py, TrackSys/RecoTrackingRun2.py)

Rich

[MR 33] Turn off by default the active HPD check in PixelCreatorBase.
Means the reconstruction will create hits for all HPDs, regardless of the content of the inactive HPD list. The list will still be used elsewhere, to determine quantities such as the track acceptance factors, which is its main purpose.
(RichRecBase/src/base/RichPixelCreatorBase.cpp)
[MR 54], [MR 40], [MR 27] Improvements to the HPD image fitting used to create the HPD image calibration constants.
Add an explicit check on the intensity variation inside the fitted image region, to decide if an S-Curve correction is required
More improvements to the memory management. Include in the returned fit result object shared pointers to the various histograms used during the fitting procedure. Removes the need for callers to recreate them if required, as now they can just directly access those used internally by the fit itself.
Add a new processing mode, which normalises the histograms using a SCurve (tanh) method, effectively removing areas of very high intensity, which can cause the Sobel filter some problems. Better approach than the old (although still there) Log(z) as it does not effect the extracted radius in the same way, and is more accurate. The returned errors are also much more realistic.
Create the HPD image histograms on demand if required. This closes a potential loop hole (that so far as never been hit) where the list of HPDs changes between initialisation and the event loop.
C++ cleanups
No impact on the reconstruction, either HLT or offline, is expected as these algorithms are not used as part of the reconstruction sequence.
(Multiple files in RichHPDImageAnalysis)
[MR 6] RICH Alignment configuration changes, to match what is used at the pit
Needed to integrate alignment monitoring into HLT2 monitoring. See [LHCBPS-1515]
(RichAlignment/Configuration.py)

Velo

[MR 52] Changes for VeloCCEConfigTool
Changes to use the new VeloCCEConfigTool, replacing FindKilledSensors (PatVelo/src/PatVeloGeneralTracking.{cpp,h}, PatVelo/src/PatVeloPhiHitManager.{cpp,h}, PatVelo/src/PatVeloRHitManager.(cpp,h})
Added VeloCCEScanMonitor for creating ntuples for the VELO CCE scan (VeloCCEScanMonitor.{cpp,h}

2016-04-18 RecSys v19r2

This version uses Gaudi v27r1, LHCb v40r1 and Lbcom v18r1 (and ROOT 6.06.02)

- Packages added:    Event/TrackEvent v6r7 - patch to LHCb v40r1
- Packages modified: Rich/RichRecMonitors v2r39, Tf/PatAlgorithms v5r1, 
    Tr/TrackExtrapolators v2r42, Tr/TrackKernel v3r1, Tr/TrackMonitors v2r14,
    Tr/TrackUtils v6r7

- In Event/TrackEvent v6r7
  . Fixed another bug in 'State::linearTransportTo'

- In Tf/PatAlgorithms v5r1
  . New tuning for PatForwardTool after tuning on 2015 data

- In Rich/RichRecMonitors v2r39
  . Do not compute refractive index for 0 energy photons in photon signal monitor.

- In Tr/TrackExtrapolators v2r42
  . TrackStateProvider: Change default of property CacheStatesOnDemand to false.

- In Tr/TrackKernel v3r1
  . Optimization of cov transport in CubicStateInterpolationTraj
  . Added option to add track with weight in TrackStateVertex

- In Tr/TrackMonitors v2r14
  . Added STPerformance.py. Adds histograms necessary for ST Performance analysis
    monitoring (Efficiency and Residual).
    To be used for Online performance analysis.

- In Tr/TrackUtils v1r65
  . TrackV0Finder: adapt to velo-only PV
  . Add algorithm MoveRecVertexTracks to copy the tracks participating in
   RecVertices to a new container and update the vertex' track pointers.

2016-03-23 RecSys v19r1

This version uses Gaudi v27r1, LHCb v40r1 and Lbcom v18r1 (and ROOT 6.06.02)

- Packages modified: Calo/CaloPIDs v5r22, Calo/CaloReco v5r28, 
    Calo/CaloTools v6r13, Muon/MuonID v10r1, Muon/MuonTrackMonitor v2r10,
    Pr/PrAlgorithms v1r18, Pr/PrPixel v1r14, Rec/ChargedProtoANNPID v2r15,
    Rec/GlobalReco v6r55, Rec/LumiAlgs v9r12, Rec/RecConf v2r24,
    Rich/RichGlobalPID v3r26, Rich/RichIFBAnalysis v1r5,
    Rich/RichParticleSearch v1r13, Rich/RichRecAlgorithms v2r22,
    Rich/RichRecBase v4r24, Rich/RichRecMCAlgorithms v1r7,
    Rich/RichRecMCTools v2r34, Rich/RichRecMonitors v2r38,
    Rich/RichRecPhotonTools v1r21, Rich/RichRecQC v2r74, Rich/RichRecSys v5r10,
    Rich/RichRecTools v4r30, Rich/RichRecTrackTools v1r42, Tf/FastVelo v1r25,
    Tf/PatAlgorithms v5r0, Tf/PatKernel v2r11, Tf/PatVelo v3r34,
    Tf/PatVeloTT v4r9, Tf/TfKernel v2r35, Tf/TfTools v1r20p2, Tf/TrackSys v9r13,
    Tr/TrackCheckers v4r23, Tr/TrackExtrapolators v2r41, Tr/TrackFitter v5r8,
    Tr/TrackInterfaces v6r0, Tr/TrackMCTools v2r13, Tr/TrackMonitors v2r13,
    Tr/TrackTools v6r2, Tr/TrackUtils v1r64, Tr/PatPV v3r31

- In Calo/CaloPIDs v5r22
  . CaloPIDs configurable :  add slots to configure the Accepted Track::Types 
  . src : add counter per track type in match algs

- In Calo/CaloPIDs v5r22, Calo/CaloReco v5r28, Calo/CaloTools v6r13
  . Fix clang warning in friend declarations of ToolFactory (class->struct)

- In Calo/CaloReco v5r28
  . CaloProcessor configurables : add slots to configure the Accepted Track::Types
                                  at CaloPID level
  . CaloMergedPi0 : replace setOuputLevel with setProperty("OutputLevel", ...)
                    to please Gaudi v27r1
  . Configuration.py : - fix :  propagate cluster mask to SplitClusters
                       - Fix EnergyTags & PositionTags property setting
                       - revert change done in v5r27 : the exception handling to
                         check TES was intentional, to avoid triggering the
                         splitcluster onDemand with another instance of the same
                         algorithm !

- In Muon/MuonID v10r1
  . Add the default constructor for CommonMuonHit so a dictionary for it
    can be generated and it can be used in GaudiPython.
  . DistMuIDTool: replace (internal) std::vector with std::bitset<4>

- In Muon/MuonTrackMonitor v2r10, Rec/RecConf v2r24, Tf/TrackSys v9r13
  . Extend Run 2 support to all Run2 data types (2015,2016,2017,2018)
    Currently all years treated like 2015.

- In Pr/PrAlgorithms v1r18
  . Timing improvements for the Hybrid Seeding (~30% average, cure the max timing
    of a factor 3 from clone removal)
  . Implementation of SIMDLine fitter and BloomFilter ( not optimized yet )
  . Clean up HybridSeeding code to avoid 6 nested loops to find the best 1-hit
    per layer combination starting from one hough cluster
  . Inline the comparators used to do the sorting
  . Follow const-ification of interface

- In Pr/PrPixel v1r14
  . Follow change in DeVP (r202920).

- In Rec/ChargedProtoANNPID v2r15
  . Add an FPE Guard to compiler TMVA response call, to protect against 
    exceptions from things like exp(large number) within the TMVA generated code. 
  . Add 'official' V1 tuning for Run 2 data. "MC15TuneV1". This is now the
    default for 2015 data onwards (which includes the Upgrade...).
  . Add a new Run 1 tuning based on MC12 samples. Called "MC12TuneV4" this
    uses the same input variables as for the Run 2 tuning, so with Velo dE/dx
    and track likelihood removed. It also provides a more balanced set of tunes
    attempting to take the best of the V2 and V3 MC12 tunes.
    Default Run 1 tune is, for the moment, still "MC12TuneV2"
  . Add RICH Deuteron DLL and threshold variables.
  . Optimise a bit the MC12TuneV2 networks, as a test to see what can be gained.
    o Remove redundant input vector size test, that in terms of the use of the
      TMVA C++ classes in this library can never fail.
    o Remove an unused loop variable.
    Saves in total about 16% (according to valgrind)
  . Add some nexcept qualifiers.
  . Update InTrackExInfo and InRecSummary to pass correct enum rather than int.
  . Replace raw pointers with std::unique_ptr or std::shared_ptr as required.
  . Protect against missing RecSummary data objects.
  . Make TES location for the RecSummary a configurable property.

- In Rec/GlobalReco v6r55
  . Add RICH Deuteron DLL and threshold variables to expert tuple monitor.

- In Rec/LumiAlgs v9r12
  . Update test references to follow Gaudi v27r1 changes in output

- In Rec/RecConf v2r24
  . Add double threshold for radial cut in PV reconstruction
  . RecSysConf: Remove Velo tracks in FittedHLT1VeloTracks container that don't
    belong to a PV. 
    This is done for all Run2, also for 2015 (which was originally not the case).

- In Rich/RichGlobalPID v3r26
  . Some minor optimisations of the likelihood minimisation
    o Implicitly start the log(exp(x)-1) interpolation table from x=0 instead of
      x=. Allows for some instructions to be removed when computing
      the table index from x.
    o Remove some unused data members from the table data object.
    o Remove some local temporaries from LikelihoodTool::deltaLogLikelihood.
  . Add some direct member initialisation.

- In Rich/RichIFBAnalysis v1r5
  . Modernise a bit, and make blind to the underlying type use for clusters.

- In Rich/RichIFBAnalysis v1r5, Rich/RichRecBase v4r24
  . Adapt to change in clustering interface, which now returns an 
    std::unique_ptr managing the cluster object, to enforce memory management.

- In Rich/RichRecBase v4r24, Rich/RichParticleSearch v1r13,
     Rich/RichRecMCTools v2r34, Rich/RichRecTrackTools v1r42
  . Remove (and adapt to removal of) old backwards compatibility typedefs.

- In Rich/RichRecAlgorithms v2r22
  . Add new algorithm Rich::Rec::ClearEvent that clears out the transient
    event objects as required.

- In Rich/RichRecBase v4r24
  . Add new clear() method to creator tool interfaces, to allow the transient
    event information to be cleared out when required.
  . Remove some unneccessary string data members from the Reco base class,
    to save memory.
  . Small cleanup to track creator base class.
  . Adapt to change in pixel class due to using smart points for internal
    memory management.
  . Add a new definition to RichDetParams.h
  . Prefer aliases to typedefs.
  . Properly enforce support for arithemic types only in RichPhotonSpectra
    using type traits.

- In Rich/RichRecMCTools v2r34, Rich/RichRecTrackTools v1r42
  . make FinishEvent() and InitNewEvent() methods const.

- In Rich/RichRecMonitors v2r38, Rich/RichRecTools v4r30, 
     Rich/RichRecTrackTools v1r42, Rich/RichRecMCAlgorithms v1r7
  . Adapt to changes in ray tracing enums.

- In Rich/RichRecMonitors v2r38
  . Add a new monitor, RichTrackRayTraceTest that is designed to compare
    directly reconstructed (Quartic) to ray trace information, to look for
    biases etc.
  . Modernise a few more monitors.
  . Add some additional histograms to RichPhotonRecoCompare to investigate
    'bad' photons.

- In Rich/RichRecPhotonTools v1r21, Rich/RichRecTrackTools v1r42
  . Adapt to changes in DeRichBeamPipe.
  . Adapt to the move of some basic methods to a utility header file 
    in Rich/RichKernel.

- In Rich/RichRecPhotonTools v1r21
  . Use new base class method to access mass hypothesis ring creator.
  . Update Quartic reconstruction tool to perform intersection with a sphere
    instead of a plane for the secondary mirrors when appropriate.
  . Add a property to RichPhotonRecoUsingCKEstiFromRadius to allow the
    inter-ring interpolation to be turned on/off via options.
  . Improve the reconstruction in RichPhotonRecoUsingCKEstiFromRadius to 
    interpolate both in Cherenkov phi, and (new) radius.
  . Update the adaptive photon reconstruction to more efficiently disable when 
    it is not active for a given radiator, by avoiding virtual function calls.

- In Rich/RichRecQC v2r74
  . Add configuration for new RichPhotonRayTraceTest monitor.
  . Fix RichPIDQC to remove hard coded assumptions on the number of PID types
    (was 6). This broke when deuteron was added as an option.
  . Increase precision to 3 d.p. in RichPIDQC summary table printout.

- In Rich/RichRecSys v5r10
  . Add new option to the RICH configurable to turn on the clearing of the
    transient event information at the end of the reconstruction sequence.
    Should not be used (default is off) if monitoring is required, but 
    potentially useful for the HLT in minimising the memory footprint.
  . Propagate properly custom options for the ray tracing, mass hypothesis and
    expected track signal tools.
  . Enable by default Deuteron.
  . Update RichPID version number from 1 to 2, to reflect the fact the data
    objects have changed in structure (an additional float in the DLL vector
    for the Deuteron hypothesis).

- In Rich/RichRecTools v4r30
  . Add new clear() method to mass hypothesis ring creator.
  . Access mass hypo ring creator via new base class method.
  . Update TabulatedSignalDetectionEff to use the MassHypothesisRingCreator
    mass hypothesis rings, instead of performing its own ray tracing, to
    save CPU due to ring reuse.
  . Use the emitted photon spectra, not the detected one, when computing the
    average CK theta value for a given segment/hypothesis, when creating the
    CK rings in MassHypothesisRingCreator.

- In Rich/RichRecTrackTools v1r42
  . Only set the average photon energy in SegmentCreator if the value determined
    is valid (greater than 0).
  . Speed up the ExpectedTrackSignal::hasRichInfo by limiting it on only
    checking the lightest hypothesis (largest CK ring).
  . Adapt to removal of typedefs in RichDet.
  . Add a flag to RichDetailedTrSegMakerFromRecoTracks to turn on/off the
    State sanity checks. Default now off to save CPU.
  . (Experimental) use of move semantics when constructing 
    LHCb::RichTrackSegment in RichDetailedTrSegMakerFromRecoTracks.
    (There appears to be a modest improvement from using this on the
    Rich::RadIntersection::Vector vector.)
  . Set the Deuteron threshold information in ExpectedTrackSignal.

- In Tf/FastVelo v1r25
  . Adapt FastVeloDecoding and FastSTDecoding to search the raw events in the
    correct locations.

- In Tf/PatAlgorithms v5r0
  . Implemented 2 neural nets. One that replaces the quality parameter when
    switched on, the other before the fit of XCandidates that (if switched on) is
    only used in the SecondLoop
  . Clustering: MaxXCandidateSize now depends on the number of hit XPlanes
  . removed chi2 after XFit, since chi2 in the XFit was sufficient
  . added new chi2 for stereo fit
  . updated config file
  . Put in protection against empty layers in PatAddTTCoord (again...).
  . PatForwardTool: Reimplement option to use momentum estimate to guide the
    Forward tracking. Can be activated with option UseProperMomentumEstimate.
  . Adapt PatAddTTCoord and PatLongLivedTracking for the changes in
    TTStationHitManager
  . PatForward: Use OTHitCreator to get the number of OT hits. This will trigger
    the creation of all OT hits, if not done before. Since we do not cut tight on
    the number of hits the hits are created anyways later for almost all events
    and one avoids double work.
  . Fix three bugs in PatLongLivedTracking, change chi2-cut in x-layers fit,
    implement some speedups

- In Tf/PatAlgorithms v5r0, Tf/PatKernel v2r11, Tr/TrackMCTools v3r13
  . Add more debugging tools for PatLongLivedTracking

- In Tf/PatVelo v3r34
  . Changes to PatVeloGeneralTracking, PatVeloRHitManager and
    PatVeloPhiHitManager for VELO CCE scan running
  . Addition of FindKilledSensors

- In Tf/PatVeloTT v4r9
  . Fix a wrong 'weight' in PatVeloTTHybridTool.
  . Speed improvements of PatVeloTTHybridTool (and some efficiency improvements),
    cleanup of PatVeloTTHybrid, fixing a memory leak in PatVeloTT.
  . Only rebuild Bdl tables on magnet polarity or current change.

- In Tf/TfKernel v2r35
  . Separate treatment of sorted hits in layers and hits in regions, as only the
    former is used for the pattern recognition (and doing both is time consuming)
  . Adapt IndexedHitContainer to deal with stations and layers only.
  . Make sure ranges refer to the right container...

- In Tf/TfTools v1r20p2
  . Add a missing override qualifier

- In Tf/TrackSys v9r13
  . RecoTrackingRun2: Activate SimplifiedGeometry in TrackStateProvider by default.
    Can be overwritten by ExpertOptions. See https://its.cern.ch/jira/browse/LHCBPS-1499
  . Remove calculation of TrackLikelihood from 2016 on per default

- In Tr/TrackExtrapolators v2r41
  . Simplify TrackRungeKuttaExtrapolator
  . Vectorise TrackRungeKuttaExtrapolator using the Eigen Math library.
    Leads to a 25% improvement in extrapolation speed.

- In Tr/TrackFitter v5r8
  . TrackMasterFitter: Implement property MaxUpdateTransports to restrict maximum
    number of transport updates. Default is the same as number of iterations
    to not change fitter behaviour by default.

- In Tr/TrackInterfaces v6r0
  . Major change: const-ify interfaces, use extend_interfaces

- In Tf/FastVelo v1r25, Tf/PatAlgorithms v5r0,,Tf/PatVelo v3r34,
     Tf/PatVeloTT v4r9, Tr/TrackCheckers v4r23, Tr/TrackFitter v5r8,
     Tr/TrackTools v6r1
  . Follow const-ification of Tr/TrackInterfaces

- In Tr/TrackMonitors v2r13
  . Change histogram range in TrackVertexMonitor and TrackPV2HalfMonitor
  . Code style fix for STEfficiency.cpp (coverity fix)
  . Fixed a bug in STEfficiency.cpp for TT sectors (Efficiency was filled several
    times for some sectors)
  . Replaced TH2DSummaryHist by TH1DSummaryHist in STEfficiency algorithm. 
    Removed "DrawProfile" option for this algorithm.
  . Fixed a bug with missing TT sectors number 26 in 2D histograms.
    (TTTrackMonitor, STEfficiency, STTrackTuple)

- In Tr/TrackTools v6r2
  . Run2GhostID: Use OTHitCreator instead OTRawBankDecoder to get the total 
    number of OT hits. This avoids a duplication of work.
  . Adapt to modernization of DeFTFibreMat

- In Tr/TrackUtils v1r64
  . TrackCloneCleaner, TrackBuildCloneTable, TrackV0Finder: Add possibility
    to run with several input locations.
  . Protect against non-existing input location in TrackContainerCleaner,
    add two counters.

- In Tr/PatPV v3r31
  . Add new options to PVOfllineTool which allow to set double radial treshold:
    o BeamSpotRHighMultiplicityCut: relaxed cut for PV with many associated tracks
    o BeamSpotRMultiplicityTreshold: multiplicity treshold to switch between
                                     tight and relaxed cut. 

- In Pr/PrAlgorithms v1r18, Rich/RichRecAlgorithms v2r22, Rich/RichRecQC v2r74,
     Rich/RichRecTrackTools v1r42, Tf/PatVelo v3r34, Tf/PatVeloTT v4r9,
     Tr/TrackCheckers v4r23, Tr/TrackExtrapolators v2r41, Tr/TrackFitter v5r8,
     Tr/TrackTools v6r1
  . C++11 modernizations and cleanups

2016-01-29 RecSys v19r0

This version uses Gaudi v27r0, LHCb v40r0 and Lbcom v18r0 (and ROOT 6.06.00)

- Packages modified: Calo/CaloMoniDst v5r21, Calo/CaloPIDs v5r21,
    Calo/CaloReco v5r27, Calo/CaloTools v6r12, Muon/MuonID v10r0,
    Muon/MuonInterfaces v2r0, Muon/MuonPIDChecker v5r6, Muon/MuonTools v6r0,
    Muon/MuonTrackAlign v1r10p2, Muon/MuonTrackRec v4r0, Pr/PrAlgorithms v1r17,
    Pr/PrKernel v1r10, Pr/PrMCTools v2r12, Pr/PrVeloUT v2r4,
    Rec/ChargedProtoANNPID v2r13, Rec/LumiAlgs v9r11, Rec/RecAlgs v3r4,
    Rich/RichENNRingFinder v1r6, Rich/RichGlobalPID v3r25,
    Rich/RichHPDImageAnalysis v1r19, Rich/RichRecBase v4r23,
    Rich/RichRecMCTools v2r33, Rich/RichRecMonitors v2r37,
    Rich/RichRecPhotonTools v1r20, Rich/RichRecQC v2r73, Rich/RichRecSys v5r9,
    Rich/RichRecTools v4r29, Rich/RichRecTrackTools v1r41, Tf/PatAlgorithms v4r45,
    Tf/PatVelo v3r33, Tf/PatVeloTT v4r8, Tf/TrackSys v9r12,
    Tr/TrackExtrapolators v2r40, Tr/TrackFitEvent v6r6, Tr/TrackInterfaces v5r0,
    Tr/TrackKernel v3r0, Tr/TrackMonitors v2r12, Tr/TrackProjectors v3r4,
    Tr/TrackTools v6r0, Tr/TrackUtils v1r63, Tr/PatPV v3r30,
    Velo/VeloRecMonitors v2r34

- In Calo/CaloMoniDst v5r21
  . Fix untested StatusCodes
  . Replace explicit boost::assign::list_of with implicit std::initializer_list

- In Calo/CaloPIDs v5r21
  . CaloPhotonMatch,CaloElectronMatch, CaloBremMatch tools : 
    o move m_position and m_plane data members to the base tool (CaloTrackMatch)
      and invoke a BeginEvent reset 
    o fixes the (rare) initialization issues producing difference in the offline
      versus online reconstruction

- In Calo/CaloReco v5r27
  . CaloCorrectionBase.cpp: add workaround to prevent wierd FPE with clang
  . Avoid the use of exception handling to find out whether there already is an 
    object on the TES...

- In Calo/CaloTools v6r12
  . Calo2MCTool : change default MC association to rely on CaloHypo->MC Linker.
    In case the Linker doesn't exist the chain 
    CaloHypo->CaloCluster->CaloDigit->MC is used (assuming the reconstruction
    version is consistent with the original CaloHypos)
  . CaloHypoEstimator.cpp: reorganise an if clause to avoid an FPE with clang

- In Muon/MuonID v9r19, v10r0
  . Follow changes in MuonInterfaces to pass MuonTileID by value instead of
    by pointer
  . Removed (invalid) link to component library MuonTrackRec.
  . New IMuonMatchTool interface for track/muon matching with 2 implementations:
    MuonChi2MatchTool  (computes chi2 properly, taking correlations into account,
                       and chooses best muon hits combination based on this chi2)
    MuonKalmanMatchTool (extends Kalman fit through muon stations)
  . New generic IMuonIDTool with implementation MuonIDPlusTool, to start 
    developing new approaches to muonID
  . New MuonIDPlusAlg algorithm, using MuonIDPlusTool
  . Add option to MakeMuonTool to compute chi2 properly (using MuonChi2MatchTool)

- In Muon/MuonID v10r0, Muon/MuonInterfaces v2r0, Muon/MuonPIDChecker v5r6,
     Muon/MuonTools v6r0, Muon/MuonTrackRec v4r0, Rec/ChargedProtoANNPID v2r13,
     Rich/RichENNRingFinder v1r6, Rich/RichGlobalPID v3r25,
     Rich/RichHPDImageAnalysis v1r19, Rich/RichRecBase v4r23,
     Rich/RichRecMonitors v2r37, Rich/RichRecPhotonTools v1r20,
     Rich/RichRecQC v2r73, Rich/RichRecTools v4r29, Rich/RichRecTrackTools v1r41,
     Tr/TrackFitEvent v6r6, Tr/TrackMonitors v2r12, Tr/TrackTools v6r0,
     Tr/TrackUtils v1r63, Tr/PatPV v3r30
  . C++11 code modernisation (see package release notes for details)

- In Muon/MuonInterfaces v2r0
  . Major change: make MuonTrack const correct
  . Add more const to MuonHit methods
  . Major change: pass MuonTileID by value instead of by pointer
    o MuonTileID is 32 bits, pointers are 64 bit, saving memory
    o avoids additional dereferencing, improves data locality
    o easier to optimize for the compiler

- In Muon/MuonInterfaces v2r0, Muon/MuonTools v6r0, Muon/MuonTrackRec v4r0
  . prefer extend_interfaces

- In Muon/MuonTools v6r0, Muon/MuonTrackRec v4r0
  . Major change: follow constification of IMuonFastPosTool interface
  . Follow changes in MuonInterfaces:
    o pass MuonTileID by value
    o add const where possible

- In Muon/MuonTrackAlign v1r10p2, Tr/TrackTools v6r0
  . Remove #include of unused MuonTile.h

- In Pr/PrAlgorithms v1r17
  . Updated  PrSeedingXLayers, PrSeedTrack to use cubic track fit model
  . Fixed timing bug in PrForwardTool (removed matchStereoHit method)
  . By default the HybridSeeding algorithm will not pick as input the tracks from
    the Forward tracking ( too high ghosts )
  . Suppress info messages, showed only if m_printSettings is True
  . Correct default parametrisation which was applying division for 0
  . Throw an exception if m_nCases >3 
  . Fully retuned to be compatible to provide reproducible results with the
    Internal Note
  . Stereo2 switched on by default
  . Change default parameters for HybridSeeding to keep ghost rate under control
    for stereo2 = True
  . Fix bug in PrPlaneCounter
  . Fix unusued private variables to suppress clang warnings                
  . Add the PrHybridSeeding algorithm : New seeding algorithm for the upgrade.
  . Add the PrPlaneHybridCounter.h to count the number of layers on track.
  . Add the PrLineFitterY.h to fit lines using only u/v stereo hits based on a
    x-z projection.
  . Add the PrHybridSeedTrack class being the track object handled by the Hybrid
    Seeding.
  . Add method to the PrGeometryTool.h to accept PrHybridSeedTrack as input.

- In Pr/PrKernel v1r10
  . Added new member variables and function to set them to IPrCounter 
    to be able to write the statistics table to a tex-file in PrChecker2

- In Pr/PrMCTools v2r12
  . Made tex table compatible with lhcb template, added caption and label
  . Added option to write the statistics table to a tex-file in PrChecker2
  . Implemented writing of statistics table to tex file in PrCounter2
  . Rewrote some for-loops as C++11 range based loops in PrChecker2
  . Fix PlotResidual binning in PrPlotFTHits taking all the time the higher
    contribution to cluster.
  . Add flag to PrChecker to switch between upgrade and non-upgrade location for
    LHCbID linker table.
  . Add option to PrPlotFTHits to plot the residual state for Seed and Forward 
    Tracks
  . Add option to PrPlotFTHits to plot the Occupancy in the detector splitting
    contributions from Noise / SpillOver / MCParticle
  . Add the PrClustersResidual tool which produce different nTuples to check the
    residual between Clusters and MCHits and provides some branches filled for
    further studies in a ROOT environment to study the track behavior in the SciFi

- In Pr/PrMCTools v2r12, Pr/PrVeloUT v2r4
  . Use std::abs instead of abs for float argument, to silence clang warning

- In Pr/PrVeloUT v2r4
  . Bugfix: crash if Velo container is empty

- In Rec/LumiAlgs v9r11
  . Modify LumiEventTuple to output all kinds of lumi events, not only random.
    Old behavior is achieved with setting OnlyRandom to True. Logic with
    ArrayColumns=True is improved (always add lc_20 and lc_21 columns).
  . Switch off LoKi welcome banner and update tests accordingly

- In Rec/RecAlgs v3r4
  . Read in RecSummary with number of ghost tracks from TrackBestTrackCreator and
    add it to other track variables (in RecSummaryAlg).

- In Rich/RichRecBase v4r23
  . Remove variable name from various default methods to avoid unused variable
    warnings.
  . Add explicit move semantics to TrackID, PhotonKey and PhotonSpectra.
  . Comment out all messaging calls in the Photon Creator base class.  
  . Save the ray-traced segment PD hit point in radiator corrected local
    coordinates in the RichRecSegment object.
  . Add the azimuthal phi value to each RichRecPointOnRing object.
  . Update the RichRecRing 'closest points' methods to return the two points
    either side, in azimuthal phi, of the requested angle.
  . Update the emission point tool interface to prove methods using only a track
    segment. 
  . Add some wrapper methods to interfaces that hide const_cast'ing in one place
  . Add a new definition to RichDetParams.h

- In Rich/RichRecMCTools v2r33
  . Add an option to TruePhotonEmissionPoint to allow the computation of an
    average segment emission point, from all associated MC photons, to be
    turned on/off.
  . Improve the TruePhotonEmissionPoint tool to provide MC based estimates
    in a few more cases. For instance if only a track segment is passed it
    now computes the average value from all photons emitted from that segment.

- In Rich/RichRecMonitors v2r37
  . Add a few more plots to RichCherenkovAngleMonitor to help understand Rec-MC
    differences with the various different photon reconstruction tools.
  . Add a new monitor, PhotonRecoCompare, that explicitly compares, photon by 
    photon, candidates created by different reconstruction tools.

- In Rich/RichRecPhotonTools v1r20
  . Move deBeam() method from RichPhotonRecoUsingQuarticSoln to shared
    base class RichPhotonRecoBase.
  . Comment out all messaging calls in the Photon Creators, for CPU reasons.
  . Add an option to the RichPhotonRecoUsingCKEstiFromRadius tool to allow
    the rejection of of ambiguous photons, where the two calibration points
    either side of the pixel hit used different mirror segments.
  . Update the Adaptive photon reconstruction tool to fallback to the slow
    (Quartic) tool when the fast one returns failure, such as when the
    option to reject ambigous photons is enabled.
  . Improve further the RichPhotonRecoUsingCKEstiFromRadius tool to instead of
    simply using the calibration data from the nearest (in Cherenkov phi)
    calibration data point to perform a fast interpolation using the two 
    nearest calibration points.
  . Update the photon reconstruction tools to always use the tool interface
    to determine the best emission point estimate, rather than to determine
    this directly from the track segment.
  . Improved caching in RichPhotonRecoUsingCKEstiFromRadius and
    RichAdaptivePhotonReco to avoid a few runtime calculations.
  . Add new Adaptive photon reconstruction tool that delegates to either the
    fast (Estimation from ray traced CK rings) or full (Quartic) photon
   .reconstruction depending on the track momentum. Switches to the full
    tool only for tracks close to saturation, where resolution is most critical.
  . Improve the photon reconstruction tools using ray traced CK rings by
    instead of just always using the lightest (largest) ring as the source of
    calibration points, pick the best (closest) to the pixel in question.
  . Reinstate the CK theta bias corrections in the Quartic and CK mass ring
    photon reconstruction tools, to make sure both are consistent such that the
    'Rec-MC' resolution distribution peaks at 0.
  . Convert QuarticSolver::solve calls RichPhotonRecoUsingQuarticSoln back
    to double precision, to fix FPE problems with clang.
  . Use some constexpr calculations in QuarticSolver.

- In Rich/RichRecQC v2r73
  . Add configuration for a new monitor to compare photon reconstruction tools.

- In Rich/RichRecSys v5r9
  . Add a configuration flag to make sure the MC association information for
    tracks is prepared before the RICH reconstruction sequence. Default is off.
  . Fix option to run an algorithm to preload the TES with the raw input tracks
  . Add new configuration parameters to allow the number of ray trace photons
    per CK mass hypothesis ring to be set.
  . Propagate custom options for groupConfig.richTools().photonReco()

- In Rich/RichRecTools v4r29
  . Compute the bailout number of ray-tracing attempts in 
    RichRayTraceCherenkovCone based on a fraction of the total number requested,
     rather than as a fixed number.
  . Rename job option in RayTraceCherenkovCone "BailoutFraction" to refect its 
    new meaning.
  . Update the Cherenkov cone tool to determine the best guess photon emission
    point using the tool interface rather than directly from the track segment.
  . Slightly change how the number of ray trace photons to use in 
    MassHypothesisRingCreator is determined.
  . Calculate the saturated CK theta values from the refractive index 
    information rather than hardcode the values.

- In Rich/RichRecTrackTools v1r41
  . Update the Cherenkov angle tool to determine the best guess photon emission
    point using the tool interface rather than directly from the track segment.

- In Tf/PatAlgorithms v4r45
  . Replace StaticArray in PatSeedTrack and PatSeedTool with 
    boost::container::static_vector
  . Fix bug in PatForward 2nd loop: hits following a not selected OT hit are
    skipped, and if the not selected hit is the last one, the loop termination
    fails, and things go horribly out-of-bounds... 
  . PatSeedingTool: fix clang warning (no changes in performance)
  . Improve/simplify vectorization in PatFwdTool using new scatter_invoke 
    and make_array functionality in VectorizationSupport.h

- In Tf/PatVelo v3r33
  . replace gsl_ with std::

- In Tf/PatVeloTT v4r8
  . Fix bug in adding of overlap hits
  . Fix clang warning (use std::abs() instead of abs())

- In Tf/TrackSys v9r12
  . Make 'PrHybridSeeding' default one in tracking sequence.
  . Added RecoExcludeSTLayers.py to ignore certains layers during the tracking.
    Added the "ExcludedLayers" prop to the TrackSys configurable. 
    Modified RecoTrackingRun2.py in order to enable layers exclusion.

- In Tr/TrackExtrapolators v2r40
  . Added flag to TrackStateProvider to turn off on-demand cache

- In Tr/TrackInterfaces v5r0
  . Major change: update ITrajectoryProvider interface:
    o use std::unique_ptr instead of std::auto_ptr
    o add const
  . First commit of ISTSpilloverTool

- In Tr/TrackKernel v3r0
  . Major change: follow substitution of std::unique_ptr in favor of 
    std::auto_ptr in Kernel/LHCbKernel

- In Tr/TrackMonitors v2r12
  . STTrackTuple: BranchBySector mode was disabled. Instead of it, added
    EfficiencyMode of the tool, which makes it to work as STEfficiency algorithm
  . STTrackTuple: TakeEveryHit option was removed
  . STTrackTuple: Histogram output was removed
  . Add option files for the analysis of ST CCE scans
  . Migrate from StaticArray to boost::container::static_vector
  . Add STADCTrackMonitor (analysis of ST CCE scans)

- In Tr/TrackProjectors v3r4
  . TrackOTLRSignTool:
    o replace StaticArray with boost::container::static_vector
    o prefer composition and forwarding over inheritance from StaticArray

- In Tr/TrackTools v6r0
  . Added DaVinci interface for Run2GhostId for integration test
  . Protect VeloMuonBuilder against FPE
  . Add 'MaxNTHoles' cut to TrackSelector (for use in alignment)
  . Follow change in MuonInterfaces: make MuonTrack const correct
  . TrackHitCollector: use const LHCb::Trajectory& instead of
    std::auto_ptr,
  . TrajectoryProvider: Major change: follow update of ITrajectorProvider
  . Follow change in MuonInterfaces to pass MuonTileID by value
  . Added MinHits to VPTrackSelector.cpp
  . First commit of "STSpilloverTool", which evaluates the likelihood ratio for
    each ST cluster on reco'ed tracks between the "signal" and the "spillover"
    hypothesis.
    Included a python directory with options to use it as well

- In Tr/TrackUtils v1r63
  . Speed up TrackBuildCloneTable and TrackCloneCleaner
  . Replace property to set summary location in TrackBestTrackCreator by 
    predefined location 'LHCb::RecSummary:Track'
  . Add possibility to write out 'RecSummary' in TrackBestTrackCreator with 
    number of identified ghosts (maybe used for event index). Default is off 

- In Tr/PatPV v3r30
  . Fix  PVOfflineTool::initialize: invoke base class initialize 
  . Major: update IPVSeeding interface to return by value, take const
    arguments and be const
  . Explicitly invoke callbacks so that even if property is never updated the
    dependency gets synchronized
  . Replace cache vecpm data member with in-situ cache
  . Improve overlap check by using that LHCbID are ordered

- In Velo/VeloRecMonitors v2r34
  . Remove unused member variables (fixes clang warnings)
  . VeloIPResolutionMonitorNT : Allow tools to be externally configured and 
    fix storing of momentum covariance matrix.


2015-11-25 RecSys v18r3

This version uses Gaudi v26r4, LHCb v39r2 and Lbcom v17r2 (and ROOT 6.04.02)

- Packages modified: Calo/CaloMoniDst v5r20, Calo/CaloReco v5r26,
    Calo/CaloTools v6r11, Muon/MuonTrackRec v3r15, Pr/PrAlgorithms v1r16p2,
    Pr/PrMCTools v2r11p1, Pr/PrVeloUT v2r3, Rec/LumiAlgs v9r10, 
    Rec/RecAlgs v3r3p3, Rec/RecConf v2r23, Rich/RichRecBase v4r22,
    Rich/RichRecPhotonTools v1r19, Rich/RichRecSys v5r8, Tf/FastVelo v1r24,
    Tf/PatAlgorithms v4r44, Tf/PatVelo v3r32p2, Tf/TfKernel v2r34,
    Tf/TsaAlgorithms v3r31, Tr/TrackKernel v2r4, Tr/TrackMCTools v3r12p2,
    Tr/TrackMonitors v2r11, Tr/TrackProjectors v3r3, Tr/TrackTools v5r13,
    Tr/TrackUtils v1r62, Tr/PatPV v3r29, Velo/VeloRecMonitors v2r33

- In Calo/CaloMoniDst v5r20, Calo/CaloTools v6r11
  . Fix clang compilation warnings

- In Calo/CaloMoniDst v5r20
  . Initialize base-class (CaloMoniAlg) everywhere 

- In Calo/CaloReco v5r26
  . python configurable : propagate same Et threshold for mergedPi0 and for
    splitCluster production

- In Muon/MuonTrackRec v3r15
  . Add timing information to MuonPadFromCoord 
  . Fix some compilation warnings and some cleanup in MuonHitDecode

- In Pr/PrAlgorithms v1r16p2, Rec/RecAlgs v3r3p3, Tf/FastVelo v1r24,
     Tf/PatVelo v3r32p2, Tr/TrackMonitors v2r11
  . Remove unused variables

- In Pr/PrMCTools v2r11p1
  . Add doxygen documentation to PrChecker

- In Pr/PrVeloUT v2r3
  . New hit and slope tolerances in clustering

- In Rec/LumiAlgs v9r10
  . lumi9mergesmallfiles.qmt: add temporary exclusion for printout of Algorithm
    RootOnTES property, to be removed after Gaudi v26r4
  . Update test references to follow LHCBPS-1434 patch: LHCbApp() now assigns 
    OdinTimeDecoder as EventClockSvc().EventTimeDecoder when processing real data

- In Rec/RecConf v2r23
  . Only set RichRecSysConf track and pid locations if not previously set.
    Allows for custom studies using non standard locations, configured at 
    the top level options file level.
  . Configured PatPV3D such that it also creates list of new type PrimaryVertices

- In Rich/RichRecBase v4r22
  . Add 'MuonID' to the list of known track types.
  . Various minor cleanups to base classes.

- In Rich/RichRecPhotonTools v1r19
  . Convert Gaudi XYZ types to Eigen types sooner, to avoid a few non-vectorised 
    operations.
  . Remove return type from QuarticSolver::solve, as it was never false.
    Instead handle the 'in principle could but in practice never does' divide
    by zero possibility internally.
  . Various other small improvements.
  . Small CPU optimisation of QuarticSolver by vectorising three sqrt 
    calculations into one using VectorClass' Vec4f implementation. 
    Saves about 4% CPU time in QuarticSolver::solve.
  . Use std::conditional to switch between float and double VectorClass types 
    depending on template type used in QuarticSolver::solve.
  . Remove old unused ROOT implementation of solve in QuarticSolver.

- In Rich/RichRecSys v5r8
  . Fix a minor bug where custom options for RichTools where not properly
    propagated to the track group configurables. No impact on normal processing,
    only when running with special custom options.

- In Tf/FastVelo v1r24
  . Remove #include of obsolete Gaudi header file
  . Make sure there is no use of objects after they have been std::move-ed

- In Tf/PatAlgorithms v4r44
  . PatLongLivedTracking: Add counter
  . PatAddTTCoord: be smarter with memory (std::vector as member variable) and
    chi2 calculation
  . PatAddTTCoord and PatLongLivedTracking
    o adapt for new access method of hits.
    o adapt to new name of hit-sorting function.
    o Exploit new hit sorting in TTStationHitManager.

- In Tf/TfKernel v2r34
  . VeloHitManager:
    o replace the type ZLessThan by the instance ZLessThan
    o use direct member initialization 
    o use auto and range-based for loops
  . Simplify VeloSensorHits.h   
  . Minimal change to make SIMDChi2Fit compile with clang
  . Add method in IndexedHitContainer to return hits in a given layer non-const.
  . Add sorting in station and layer in TTStationHitManager.
  . Split between hits in regions and sorted hits in layers

- In Tf/TsaAlgorithms v3r31, Tr/TrackMonitors v2r11, Tr/TrackTools v5r13
  . Replace LoKi::select with std::copy_if
  . Replace BOOST_FOREACH with range-based for
  . Replace boost::assign::list_of with std::initializer_list
  . Prefer STL algorithms over raw loops
  . Prefer range-based for loops

- In Tf/TsaAlgorithms v3r31, Tr/TrackTools v5r13
  . Prefer lambda over bind (the latter will prevent inlining)

- In Tf/TsaAlgorithms v3r31
  . Use move semantics when possible to avoid copying of vectors

- In Tr/TrackKernel v2r4
  . Remove static 

- In Tr/TrackMCTools v3r12p2, Velo/VeloRecMonitors v2r33
  . Replace endreq with endmsg

- In Tr/TrackMonitors v2r11
  . Add VPTrackMonitor
  . Add ghost probability histogram to TrackMonitor.
  . Replace boost::array with std::array
  . Do not compare bool to false or true
  . Replace boost lambda and bind with regular lambda
  . Replace explicit delete with use std::unique_ptr
  . Prefer string::empty over == ""
  . Hoist if statements out of loops
  . Prefer range-based insert over loop with push_back
  . Make sure static objects are always const
  . Prefer loops over cut-and-paste
  . Replace boost::lexical_cast with std::to_string
  . Replace boost::assign::list_of with use of std::initializer_list
  . TrackITOverlapMonitor:
    o Remove unnecessary forward declaration to fix clang compilation
    o Remove unnecessary includes

- In Tr/TrackMonitors v2r11, Tr/TrackTools v5r13
  . Use auto to simplify code
  . Various const-correctness fixes

- In Tr/TrackProjectors v3r3
  . Fix bug in TrajOTProjector, dealing with 'pre-fixed' OT ambiguities.
    Not exposed in normal Brunel running.

- In Tr/TrackTools v5r13
  . Replace all tests about FT geometry being v2 version to allow for version v5
  . Fix typo in header guard
  . Add missing override specifier
  . VPExpectation: remove unused function and unnecessary includes. Use auto.
  . VPMeasurementProvider: use nullptr instead of NULL. Use auto.
  . Prefer std::unique_ptr over deprecated std::auto_ptr
  . Do not check against 0 before deleting a pointer
    (deleting a nullptr is a no-op)
  . Prefer not the compare (smart)pointers to 0
  . Prefer std::hypot over sqrt( gsl_pow2(...) + gsl_pow2(...)  )
  . Prefer std::shared_ptr over boost::shared_ptr
  . Preferably put objects on the stack
  . Fixed memory leak in FTHitExpectation::collectHits
  . Fixed unitiliased use of variable and naming conventions in VeloMuonBuilder 
  . Removed distanceCut property from VeloMuonBuilder, as the value is hardcoded
    during execute

- In Tr/TrackUtils v1r62
  . Fix forward declaration broken in Gaudi HEAD build 

- In Tr/PatPV v3r29
  . Added AdaptivePV3DFitter
  . Added option to PatPV3D to write also new PV list

- In Velo/VeloRecMonitors v2r33
  . Replace auto_ptr with auto so that code will be forward-compatible 
    in case trajectory starts to run unique_ptr instead...

2015-10-13 RecSys v18r2

This version uses Gaudi v26r4, LHCb v39r1 and Lbcom v17r1 (and ROOT 6.04.02)

- Packages modified: Calo/CaloMoniDst v5r19, Calo/CaloPIDs v5r20p1,
    Calo/CaloReco v5r25p1, Calo/CaloTools v6r10p1, Hlt/HltMonitors v1r8,
    Muon/MuonID v9r18, Muon/MuonPIDChecker v5r5p1, Muon/MuonTools v5r5p1,
    Muon/MuonTrackAlign v1r10p1, Muon/MuonTrackMonitor v2r9p1,
    Muon/MuonTrackRec v3r14, Pr/PrAlgorithms v1r16p1, Pr/PrFitParams v2r0p1,
    Pr/PrKernel v1r9p1, Pr/PrMCTools v2r11, Pr/PrPixel v1r13p1,
    Pr/PrUtils v2r0p1, Pr/PrVeloUT v2r2p1, Rec/ChargedProtoANNPID v2r12,
    Rec/GlobalReco v6r54, Rec/LumiAlgs v9r9p1, Rec/RecAlgs v3r3p2,
    Rich/RichAlignment v1r12p1, Rich/RichENNRingFinder v1r5p2,
    Rich/RichGlobalPID v3r24p1, Rich/RichHPDImageAnalysis v1r18,
    Rich/RichIFBAnalysis v1r4p1, Rich/RichParticleSearch v1r12p1,
    Rich/RichPIDMerge v2r11p1, Rich/RichRecAlgorithms v2r21p1,
    Rich/RichRecBase v4r21, Rich/RichRecMCAlgorithms v1r6p1,
    Rich/RichRecMCTools v2r32p1, Rich/RichRecMonitors v2r36p1, 
    Rich/RichRecPhotonTools v1r18, Rich/RichRecQC v2r72,
    Rich/RichRecStereoTools v1r10p1, Rich/RichRecTemplateRings v1r7p1,
    Rich/RichRecTools v4r28p1, Rich/RichRecTrackTools v1r40p1, Tf/FastVelo v1r23,
    Tf/PatAlgorithms v4r43, Tf/PatKernel v2r10p1, Tf/PatVelo v3r32p1,
    Tf/PatVeloTT v4r7p1, Tf/TfTools v1r20p1, Tf/TrackSys v9r11,
    Tf/TsaAlgorithms v3r30, Tr/PatChecker v3r16p1, Tr/PatFitParams v4r4,
    Tr/TrackAssociators v2r12p1, Tr/TrackCheckers v4r22p1,
    Tr/TrackExtrapolators v2r39, Tr/TrackFitter v5r7p1, Tr/TrackIdealPR v2r20p1,
    Tr/TrackMCTools v3r12p1, Tr/TrackMonitors v2r10, Tr/TrackProjectors v3r2p1,
    Tr/TrackTools v5r12, Tr/TrackUtils v1r61p1, Tr/PatPV v3r28p1, 
    Tf/FastPV v1r2p1, Velo/VeloRecMonitors v2r32

- In Calo/CaloMoniDst v5r19, Hlt/HltMonitors v1r8
  . Remove DECLARE_ALGORITHM_FACTORY(CaloMoniAlg), 
    DECLARE_ALGORITHM_FACTORY(CaloNtpBase), 
    DECLARE_ALGORITHM_FACTORY(HltMonitorBase) as these are not 'concrete'
    algorithms, but base classes from which one first must inherit and implement
    execute before they are useful. 

- In Muon/MuonID v9r17, v9r18
  . Remove container for pad sizes in CommonMuonTool. The pad sizes are obtained
    from the hit via dx and dy. That way it is ensured that uncrossed hits are
    associated with the correct pad sizes.
  . Fixed bug in DLLMuonTool, see LHCBPS-1431: added two functions to be sure a
    valid region is always used in the DLL calculation and consequentely changed
    two GaudiExceptions into Error messages (which shold never happen, given the
    new code). 

- In Muon/MuonTrackRec v3r14
  . Changed MuonTrackMomRec to update B field on changes in MagneticFieldSvc

- In Pr/PrMCTools v2r11
  . Code cleaning in PrChecker2.

- In Rec/ChargedProtoANNPID v2r12
  . Use new OStreamRedirect guard class to redirect messages from NB.

- In Rec/GlobalReco v6r54
  . replace GaudiUtils::HashMap with sorted std::vector
  . prefer std::find_if over raw loop
  . prefer range based loop
  . qualify implementations with override instead of virtual
  . replace NULL by nullptr
  . prefer std::to_string over std::stringstream

- In Rec/LumiAlgs v9r9p1
  . Update lumi2reader reference to follow Gaudi v26r4 fix to GaudiSequencer 
    reference counting

- In Rich/RichHPDImageAnalysis v1r18
  . Set HPD image axis titles.

- In Rich/RichRecBase v4r21
  . Some fine tuning to the photon reconstruction base class.
  . Adapt to class name changes in FastAllocVector.h

- In Rich/RichRecPhotonTools v1r18
  . Small CPU improvement to RichCKthetaBandsPhotonPredictor

- In Rich/RichRecQC v2r72
  . Add an FPE guard to protect the per HPD fit.
  . Forcibly redirect cout and cerr printout to /dev/null for the HPD fit
    call, to work around the fact some printout from minuit does not honor
    the 'quiet' setting.
  . Fix a bug in RecoQC that prevent the per HPD fits from working.
  . Add option to RichRecoQC to reject ambiguous photons
  . Add a new set of resolution monitors to make plots for unambiguous photons.

- In Tf/FastVelo v1r22, v1r23
  . Fix to FastVeloTracking matching of RZ track to Phi hits when beam is off
    centre
  . FastVeloFitLHCbIDs: Protect from segfault in case of not decoded hits.

- In Tf/PatAlgorithms v4r43
  . Add 2 counters to PatAddTTCoord.

- In Tf/TfTools v1r20p1, Tf/FastVelo v1r23,  Tf/TsaAlgorithms v3r30,
     Tr/TrackExtrapolators v2r39
  . Replace endreq with endmsg

- In Tf/TrackSys v9r11
  . Put upstream tracking before forward in RecoUpgradeTracking.py

- In Tf/FastVelo v1r23, Tf/TsaAlgorithms v3r30
  . Replace std::auto_ptr with auto

- In Tr/PatFitParams v4r4
  . FwdParameters: reimplement in terms of LinParFit as well, get identical
    output, but somewhat more information when printed, so debugging becomes
    easier (if something should go wrong)
  . New class LinParFit for fits which are linear in their parameters, much
    more flexible and general than anything previously available
  . Adapt various classes to take advantage of LinParFit, retire
    FwdFitPolinomial class which serves little purpose now 
  . Modernise code in SeedFitParams

- In Tr/TrackExtrapolators v2r39
  . Simplify unit matrix assignment

- In Tr/TrackMonitors v2r10
  . Fixed per-sector histograms in TT/ITTrackMonitor
  . Added option to IT/TTTrackMonitor and STEfficiency algorithms to dump
    per-sector information in 2D histograms.

- In Tr/TrackTools v5r12
  . First commit of 'SelectTrackInVertex', a track selector that checks if a
    track is in a collection of tracks of a Rec::Vertex.
  . Change virtual private inheritance of interface into virtual public

- In Velo/VeloRecMonitors v2r32
  . VeloIPResolutionMonitorNT: Added tuple branches for track Ghost probability, 
 	  momentum x, y, z components and errors and momentum x, y, z, covariance matrix
  . Fixing bugs in accessing MC info in VeloIPResolutionMonitorNT.
  . VeloClusterMonitor: Added histograms to represent ADC cluster fits functions  
    for offline monitoring purpose. A job option switched these off by default. 

- In all above packages except Tf/TrackSys:
  . remove #include of obsolete Gaudi headers


2015-08-06 RecSys v18r1

This version uses Gaudi v26r3, LHCb v39r0 and Lbcom v17r0 (and ROOT 6.04.02)

- Packages modified: Pr/PrPixel v1r13, Tf/TrackSys v9r10, Tr/PatChecker v3r16

- In Pr/PrPixel v1r13
  . PrPixelTrack: fix outdated assumption about internal memory layout of hit
                  classes

- In Tf/TrackSys v9r10
  . Switch on ghost probability in TrackBestTrackCreator for Run II tracking
  . Switch cuts in TrackBestTrackCreator to chi2=4 and ghost prob = 0.4 for
    Run II tracking.

- In Tr/PatChecker v3r16
  . Add some more debug and verbose statements in PatLHCbID2MCParticle


2015-07-21 RecSys v18r0

This version uses Gaudi v26r3, LHCb v39r0 and Lbcom v17r0 (and ROOT 6.04.02)

- Packages modified: Muon/MuonID v9r16, Muon/MuonTrackMonitor v2r9,
    Pr/PrMCTools v2r10, Pr/PrPixel v1r12, Rec/ChargedProtoANNPID v2r11,
    Rec/GlobalReco v6r53, Rec/LumiAlgs v9r9, Rec/RecAlgs v3r3p1, 
    Rec/RecConf v2r22, Rich/RichAlignment v1r12, Rich/RichHPDImageAnalysis v1r17,
    Rich/RichRecQC v2r71, Tf/FastVelo v1r21, Tf/PatAlgorithms v4r42,
    Tf/PatKernel v2r10, Tf/TfKernel v2r33, Tf/TrackSys v9r9,
    Tr/TrackExtrapolators v2r38, Tr/TrackFitter v5r7, Tr/TrackMCTools v3r12,
    Tr/TrackMonitors v2r9, Tr/TrackTools v5r11, Tr/TrackUtils v1r61,
    Velo/VeloRecMonitors v2r31

- In Muon/MuonID v9r16
  . Introduction of MuonIDAlgLite algorithm to replace old MuonIDAlg. See MuonID
    release notes for details of improvements in speed and performance
  . Adapt the algorithm to take several inputLocations and remove the insertion
    of the muonPID and muonTrack using the key of the mother track. This change
    is necessary to produce the same value of nShared online and offline, which
    will reduce the differences in ProbNN outputs. 
  . Modify the Configuration file so as not to use the new MuonID in 2008, 2009,
    MC09 and Upgrade datatypes

- In Muon/MuonTrackMonitor v2r9
  . Implement switch in configuration such that the new multiple scattering
    treatment is used for 2015.

- In Pr/PrMCTools v2r10
  . Make sure PrTrackAssociator writes out linker location, even if there are no
    tracks in the event.

- In Pr/PrPixel v1r12
  . Inherit PrPixelHitManager from Decoder::ToolBase.

- In Rec/ChargedProtoANNPID v2r11
  . Improved debug messages, including the inputs for each MVA.

- In Rec/GlobalReco v6r53
  . Small clean up of the AddVelo algorithm.

- In Rec/LumiAlgs v9r9
  . Update references to follow introduction or Run heartbeat
  . Fix LumiEventTuple when running with Moore (directly reading the
    HltLumiSummary object).

- In Rec/RecAlgs v3r3p1
  . Fully suppress the warnings in absence of data and write a size of 0.

- In Rec/RecConf v2r22
  . Remove list of detectors for fieldOff, as it was never used and is identical
    to list for fieldOn (in Configuration.py)

- In Rich/RichAlignment v1r11, v1r12
  . Changed from 20 bins in phi to 60 bins in phi, for the 2D histograms used 
    in the mirror alignment. Can always rebin later, within the mirror alignment.
  . Added several TrackSelector cuts in order to remove background photons from 
    our deltaTheta histograms.

- In Rich/RichHPDImageAnalysis v1r17
  . Make parameters object in HPD fitting base class protected, to allow
    direct use in derived classes.
  . Add support for fitting log-z images when the first fit gave unusual fit
    errors. Designed to try and deal with image fits for HPDs with strongly 
    varying occupancies.
  . Add a method to extract a copy of the cleaned histogram from the fitter.

- In Rich/RichRecQC v2r71
  . Fixed problem with access to Gaussian fit parameters in RecoQC.
  . Rework RichRawDataSize a little.
  . Remove space from TH1 parameter names
  . Fix DataDecodingErrorMoni 2D histogram so L1 logical IDs start from 0 not 1.
  . Small cleanup of the RichDataDecodingErrorMoni monitor.

- In Tf/FastVelo v1r21
  . Added python configuration for the FastKalmanFit for the PV finding
  . Changed the default of the scattering noise parameters in  FastVeloTracking
    and FastVeloFitLHCbIDs to improve the pull distribution of primary vertices.
  . Made the scattering noise parameters in VeloFastKalmanTrack configurable from
    FastVeloTracking and FastVeloFitLHCbIDs. Property is called
    "KalmanScatteringNoiseParameters". Requires 4 parameters.
  . Added code to refit FastTrack with kalman fit with scattering.
  . LHCBPS-1426 - VeloFastKalmanTrack: Initialize element (4,4) of the covariance 
    matrix to 0.0001.


- In Tf/PatAlgorithms v4r42
  . Add check for empty preselection vector in PatLongLivedTracking.
  . First commit of PatLongLivedTracking, an improved version of PatDownstream
    for Run II.
  . Modify PatDownTrack, and as a consequence PatDownstream, in preparation for
    PatLongLivedTracking

- In Tf/PatKernel v2r10
  . Put in some virtual methods in IPatDebugTTTool.h.

- In Tf/TfKernel v2r33
  . Fix SIMDChi2Fit. In the previous release the new code did not get enabled by
    accident 

- In Tf/TrackSys v9r8, v9r9
  . Switch on new multiple scattering treatment for public tools like
    TrackExtrapolator, TrackInterpolator and TrackStateProvider
  . Add switch for fast Kalman fitting of Velo tracks for PV reconstruction.
    Default is on, old behaviour can be set via 'ExpertTracking'
  . Switch on new multiple scattering correction in 'RecoTrackingRun2.py'
  . Replace PatDownstream with PatLongLivedTracking in the default sequence, 
    put in warning if non-standard Pat Reco algorithm is used, adapt 
    PatChecking.py such that new algo fires up the TrackAssociator.
  . Erase ExtraInfo from the Fitted HLT1 Velo Track (in RecoTrackingRun2.py)
  . In RecoTracking.py, remove treatment of fitted Velo tracks for obsolete Run 1
    RDST format
  . Add TrackLikelihood to ExtraInfos, as it is needed by the ANNPID variables
    (in RecoTrackingRun2.py)
  . Check that fitters in HLT1 sequence only run when the corresponding PatReco
    algorithms have run.

- In Tr/TrackExtrapolators v2r38
  . Break iteration in TrackRungeKuttaExtrapolator - evaluateRKStep if the values
    of the state are obviously too large, to prevent FPE in fieldVector
    calculation.
  . Replace ToolHandle with tool<> to get the MSScatteringTool.
    Add a property to set its name.

- In Tr/TrackFitter v5r6, v5r7
  . Add option for multiple scattering correction to ConfiguredEventFitter,
    and remove some unnecessary lines
  . Change some warning messages to info in TrackMasterFitter, such that they can
    be suppressed in the HLT.
  . Adapt 'ConfiguredMasterFitter' in ConfiguredEventFitters to have a switch for
    omitting the log term for multiple scattering or not.
    Default is using the log term.
  . Check if input location in TrackEventFitter exists, otherwise skip and print
    an error.
  . TrackEventFitter: Added missing delete in case track chisq cut is not passed.

- In Tr/TrackMCTools v3r12
  . Add new methods in PatDebugTTTruthTool to use some more truth information.

- In Tr/TrackMonitors v2r8, v2r9
  . Protected TrackVertexMonitor from division by zero, as fast Kalman fitted
    tracks seem to cause problems for the internal fits in the TrackVertexMonitor.
  . Added STTrackTuple tool. It is equivalent to IT/TTTrackMonitor, but outputs
    ntuples instead of histograms.
  . Added histogram with residuals vs y for every module to TTTrackMonitor
    (in 'fullDetail')
  . Modified TrackFitMatchMonitor to use Lite clusters as well.
  . Modified TT and IT trackmonitor such that more functionality works for hits
    with Lite clusters.
  . In TrackMonitor: reduced max chi2/dof to 5 and added prof for average
    chi2prb vs phi in T stations
  . OTTrackMonitor: Increase the range of the OT hit multiplicity to 15000.
  . Fix bug in BeamGasVertexMonitor (matching of vertices).

- In Tr/TrackTools v5r10, v5r11
  . Bug fix in Run2GhostId: count *lite* clusters when determining the outliers
    per subdetector
  . Retrain network and flattening function for new multiple scattering
    treatment
  . Adapt StateThickMSCorrectionTool to omit log term in calculation if wanted.
    Default for the moment is: Use the log term.
  . Made TrackVelodEdxCharge work properly with 2015 configured tracking 
    and print a line in log file of average number of real tracks per VELO track
  . Added src/VPTrackSelecor.cpp

- In Tr/TrackUtils v1r61
  . Make list of locations to erase configurable in 'TrackEraseExtraInfo', add
    print option, remove unnecessary includes, add doxygen comments.

- In Velo/VeloRecMonitors v2r31
  . VeloClusterMonitor: Added convoluted Landau-Gaussian fits of cluster ADC 
    values for offline monitoring purpose. A job option switched these fit off 
    by default. 
  . VeloIPResolutionMonitorNT: Added functionality for multi-PV events, option
    to compare tracks using LHCbIDs when refitting PVs, and option to use the
    SimplifiedMaterialLocator when determining material intersected by tracks.
  . Remove obsolete special case for Velo track location on RDST

2015-05-26 RecSys v17r7

This version uses Gaudi v26r2, LHCb v38r7 and Lbcom v16r6 (and ROOT 6.02.08)

- Packages modified: Calo/CaloMoniDst v5r18, Muon/MuonID v9r15,
    Muon/MuonPIDChecker v5r5, Muon/MuonTrackRec v3r13, Pr/PrMCTools v2r9,
    Pr/PrPixel v1r11, Rec/LumiAlgs v9r8, Rec/RecAlgs v3r3, 
    Rich/RichAlignment v1r10p1, Rich/RichHPDImageAnalysis v1r16,
    Rich/RichRecQC v2r70, Rich/RichRecSys v5r7, Tf/FastVelo v1r20,
    Tf/PatAlgorithms v4r41, Tf/PatVelo v3r32, Tf/PatVeloTT v4r7,
    Tf/TfKernel v2r32, Tf/TrackSys v9r7, Tf/TsaAlgorithms v3r29,
    Tr/TrackFitter v5r5, Tr/TrackMonitors v2r7, Tr/TrackTools v5r9

- In Calo/CaloMoniDst v5r18
  . Fix property naming in CaloHypoMonitor
  . Update CaloPi0Ntp & CaloElectronNtp

- In Muon/MuonID v9r15
  . Bugfix in the foiYDim for MuonIDAlg that was used the dx coordinate.
  . Bugfix in the NShared computation that was comparing a distance with a 
    distance squared 
  . Bugfix in MuonIDAlgLite.cpp
  . Remove the algorithms committed to /src/ due to a mismatch in a previous
    commit.
  . Remove duplicate declarations of certain properties in MuonIDAlg.cpp
  . Remove the cleaning of muonPIDs as it prevent them to be written.
  . Clean the MakeMuonTool from the chi2cut flag
  . Modify the algorithms to use DLLflag = 5 corresponding to the new calibration.
    The algorithms are configured to run with either DLLflag = 4 or DLLflag = 5 
  . Add the files Muon_2015_def.py and tanh_2015.py from the new calibration
  . Add the makeMuonTrack part to the code. 
  . Add the possibility to use DLLflag == 3 as the new DLL calibration would use 
    the cumulative histograms for muons and non-muons.
  . Clean up a bit unnecessary properties and functions.

- In Muon/MuonPIDChecker v5r5
  . Fix indentation error in 'ConfigureMuonPIDChecker.py'
  . Replace environment variable + execfile with importlib.

- In Muon/MuonTrackRec v3r13
  . Updated MuonClusterRec and MuonNNetRec for Alignment

- In Pr/PrMCTools v2r9
  . Tidy up PrCheatedVP and adapt it to "new" (spring 2014) VPCluster format.

- In Pr/PrPixel v1r11
  . Remove support for obsolete, lite-cluster based raw banks.
  . Sort hits on a track only once.
  . Remove unused functions and include statements.
  . Use constants defined in Kernel/VPConstants.h, remove redundant definitions
    from PrPixelUtils.h

- In Rec/LumiAlgs v9r8
  . Updated reference files after GAUDI-1030.
  . Add algorithm LumiEventTuple that writes minimal lumi event ROOT ntuples.

- In Rec/RecAlgs v3r3
  . Allow RecSummaryAlg to use separate downstream and long containers
    (like those in HLT).
  . Use initializer list to initialize vectors.
  . Allow a check for two types of containers for a configured location,
    for example regular clusters and lite clusters.

- In Rich/RichAlignment v1r10p1
  . Decreased Bins in phi (from 25 to 20) in 2D dThetavphiRec histograms for 
    specific mirror combinations. (Reversed decision of 2011-06-07)

- In Rich/RichHPDImageAnalysis v1r16
  . Added function in the base class, to return image hists for given smart ID.

- In Rich/RichRecQC v2r70
  . Fix typo in property names in RawDataSize.
  . Clean things up a little using C++11 syntax.

- In Rich/RichRecSys v5r7
  . No longer throw an exception if an instance of the RichRecSysConf is
    created without its reconstruction sequence defined. Instead print
    a warning and do nothing. Currently needed due to the changes in RecConf to 
    support multiple track groupings. Might be improved in the future...

- In Tf/FastVelo v1r20
  . Rework FastVeloFitLHCbIDs to reset and correct the FastVeloHits in a 
    repeatable way
  . Use move-syntax in FastVeloTracking (includes changes to FastVeloTrack)

- In Tf/PatAlgorithms v4r41
  . PatSeedingTool: fix a bug where the PatSeeding output depended on the
    "history" of the input hits (i.e. which other pattern reco algorithms ran
    in which order)
  . Fix configuration of GEC for PatForward for HLT2 for 2015.

- In Tf/PatVelo v3r32
  . New AddPileupToTrack algorithm adds pileup sensor hits to existing tracks

- In Tf/PatVeloTT v4r7
  . Add move-constructor to PatVTTHybridTrack, use it in PatVeloTTHybridTool. 
    Gains about 4.5% in speed (according to callgrind), no change in performance.

- In Tf/TfKernel v2r32
  . SIMDChi2Fit: speed up using custom vectorisable dot product implementation
    (this will gain about 6% speed in the Seeding, no performance changes)

- In Tf/TrackSys v9r7
  . Add VeloTT tracks to the collection of tracks to be fitted in HLT2 part of
    reco.
  . Fixed configuration of TrackStateInitTool to be inline with the Hlt tracking
    sequence and added track chi2/ndf<3 cut for Hlt1 Forward tracks
    (in RecoTrackingRun2.py).

- In Tf/TsaAlgorithms v3r29
  . Fix typo in name of nClus2 property of STCosmicsFilter (nClus1 was declared
    twice and associated to both m_nClus1 and m_nClus2 variables)

- In Tr/TrackFitter v5r5
  . Skip loop in 'outlierRemoved' in 'TrackMasterFitter' if it is clear it will
    not do anything anyway.
  . Downgrade message about non-successful propagation of track in
    TrackMasterFitter from 'Warning' to 'Info'

- In Tr/TrackMonitors v2r7
  . Add BeamGasVertexMonitor algorithm, which writes a ntuple with hlt-stored
    and/or reconstructed split beam gas vertices. Will also associate and write
    MC PVs if they exist in the TES.

- In Tr/TrackTools v5r9
  . Added PVLocation configurable to MuonTTTrack 
  . Fix to MuonTTTrack to only write out successfully fitted tracks
  . Added protection for division by 0 in finalise method of StandaloneMuonRec.
  . TrackSelector: Added the possibility to cut on the phi of a track.


2015-04-21 RecSys v17r6

This version uses Gaudi v26r1, LHCb v38r6 and Lbcom v16r5 (and ROOT 6.02.05)

- Packages modified: Calo/CaloReco v5r25, Muon/MuonID v9r14, Pr/PrKernel v1r9,
    Pr/PrMCTools v2r8, Rec/ChargedProtoANNPID v2r10, Rec/RecConf v2r21,
    Rich/RichAlignment v1r10, Rich/RichGlobalPID v3r24,
    Rich/RichHPDImageAnalysis v1r15, Rich/RichPIDMerge v2r11,
    Rich/RichRecAlgorithms v2r21, Rich/RichRecBase v4r20,
    Rich/RichRecMCAlgorithms v1r6, Rich/RichRecMCTools v2r32,
    Rich/RichRecMonitors v2r36, Rich/RichRecPhotonTools v1r17,
    Rich/RichRecQC v2r69, Rich/RichRecStereoTools v1r10, Rich/RichRecSys v5r6,
    Rich/RichRecTools v4r28, Rich/RichRecTrackTools v1r40, Tf/FastVelo vr19,
    Tf/PatAlgorithms v4r40, Tf/PatKernel v2r9, Tf/PatVeloTT v4r6,
    Tf/TfKernel v2r31, Tf/TrackSys v9r6, Tr/PatPV v3r28, 
    Tr/TrackAssociators v2r12, Tr/TrackCheckers v4r22, 
    Tr/TrackExtrapolators v2r37, Tr/TrackFitter v5r4, Tr/TrackKernel v2r3,
    Tr/TrackMonitors v2r6, Tr/TrackTools v5r8, Tr/TrackUtils v1r60

- In Calo/CaloReco v5r24, v5r25
  . python/CaloReco/Configuration : in CaloProcessor : 
    give CaloProcessor-name-dependent naming for the neutralProtoPAlg and the
    algorithms updating charged ProtoP
  . Fix bad assert.
  . CaloCorrectionBase::getParams: 
    o don't create an empty vector if it won't be needed
    o cache counters by (type, areaName) instead of creating a string containing
      both every single time, and then looking them up by string

- In Muon/MuonID v9r14
  . Merge efforts of the MuonID task force from branch LHCbPS-1372.
    o Implement CommonMuonTool that offers the same functionality for both Offline
      and Hlt1.
    o Implement a DLLMuonTool that can calculate Muon DLLs using the information
      from CommonMuonTool
    o Implement MuonIDAlgLite that does the same as MuonIDAlg but using the new
      tools.

- In Pr/PrKernel v1r9
  . Add method and variable for cutting on ghost probability to IPrCounter.

- In Pr/PrMCTools v2r8
  . Adapt 'PrTrackAssociator' such that the list of classID it understands can be
    configured. Give it per default for LHCb::Track and LHCb::Track::Selection.
  . Add algorithm 'PrCheatedSciFiTracking' that performs an ideal pattern
    recognition in the SciFi.
  . Add cut on ghost probability to PrCounter. This is only set for 'Best'
    category tracks in the PrChecker. Default cut is such that it has no effect.

- In Rec/ChargedProtoANNPID v2r10
  . Add some more consistency checks to the NetConfig helper class.
  . Remove redundant status flag boolean data member from NetConfig.

- In Rec/RecConf v2r21
  . Change Configuration such that 2015 online-like tracking sequence is run when
    selecting DataType '2015'
  . Remove 'TrackContainerCopy' from 2015 PV reconstruction, as Velo and Forward
    tracks are now in separate containers.
  . Set 'IgnoreFilterPassed' to True for PV reconstruction in 2015 to not abort
    processing the rest of the event.
  . Activate by default the separate track type groups in the RICH reconstruction.
    Must be done before any 'applyConf' methods are called, in order for the
    Configurable dependencies to be correctly set up, and thus this is done from
    a new custom __init__ method of the RecSysConf Configurable.

- In Rich/RichAlignment v1r10
  . Add some logic to the alignment configurable to extract the correct
    context to use for a given set of tracks from the RichRecSys configurable.

- In Rich/RichGlobalPID v3r24, Rich/RichRecAlgorithms v2r21,
     Rich/RichRecBase v4r20, Rich/RichRecPhotonTools v1r17,
     Rich/RichRecTools v4r28, Rich/RichRecTrackTools v1r40
  . Downgrade some info level printout messages to debug level.

- In Rich/RichHPDImageAnalysis v1r15
  . Make a new base class for the HPD Image analysis algorithm, that implements
    the core functionality. Allows other implications for instance in Panoptes,
    that adds 'Online' features (Camera reporting etc.) whilst still sharing the
    basic code.
  . Various small clean ups of the Image summary algorithm. C++11'ify things a
    bit. Remove loading of ODIN simply to fill a counter...

- In Rich/RichPIDMerge v2r11
  . Add a new algorithm that takes a list of RichPID TES locations and creates
    a cloned, merged output container containing all PID results.

- In Rich/RichRecBase v4r20
  . Skip summary printouts for empty selections.

- In Rich/RichRecBase v4r20, Rich/RichRecMCAlgorithms v1r6, 
     Rich/RichRecMCTools v2r32, Rich/RichRecMonitors v2r36,
     Rich/RichRecPhotonTools v1r17, Rich/RichRecStereoTools v1r10,
     Rich/RichRecTools v4r28, Rich/RichRecTrackTools v1r40
  . Make some tools shared instances to avoid unnecessary duplication when
    running the RICH reconstruction with the split track groups.

- In Rich/RichRecPhotonTools v1r17, Rich/RichRecTools v4r28,
     Rich/RichRecTrackTools v1r40
  . General c++11 clean up.

- In Rich/RichRecPhotonTools v1r17
  . Use LHCbMath FastRoots implementation instead of one from RichKernel.

- In Rich/RichRecQC v2r69
  . Adapt to small change in RichRecSysConf trackTypeIsActive method.
  . Add package dependency on RichRecSys.
  . Remove all calls that required access to the underlying group configurables
    in RichRecSys.
  . Add a new histogram to RichRecoQC for the track momentum distribution.
  . Update the python configurable to use the reconstuction configurable
    RichRecSysConf to determine the correct context to use for each monitor,
    based on the tracks it is monitoring.

- In Rich/RichRecSys v5r6
  . Small change in the RichRecSysConf trackTypeIsActive method to fix a 
    issue where the Long Track monitors in RichRecQC went missing after
    the last commit.
  . Avoid creating reconstruction sequences for track groups that would fail
    the tracking cuts (as their types are not included).
  . Forcibly set the Context correctly before anything else, in all used 
    configurables.
  . Do not append final RichPID merger to algorithm sequence if PID is 
    globally turned off.
  . Fix a small problem in the configurables that cause custom settings to
    not always be properly propagated.
  . Rework things to avoid assumptions based on the order things are applied.
  . Update the python configurable to support running with separate processing
    sequences for different track groups. Enabled by calling the method
        
        richConf = RichRecSysConf(self.richRecConfName)
        richConf.setTrackGroups( [ ["Forward","Match"],
                                   ["VeloTT"], ["KsTrack"] ] )

    Important - This *must* be done before any applyConf method is called.
    Default mode is to work as before, with all track types considered at
    the same time in the likelihood minimisation.

- In Tf/FastVelo vr19
  . Reserve vector in FastVeloFitLHCbIDs. This makes it a tiny bit faster when
    used in TrackStateInitTool.

- In Tf/PatAlgorithms v4r40
  . Change input location of long tracks to veto in PatForward for HLT2 for 2015.
  . Make 'PatAddTTCoord' default for PatForwardTool.
  . Changes to 2015 configuration of forward tracking.
  . Add configuration for PatForward in HLT1 in 2015 to 'PatAlgConf'.
  . PatForwardTool:
    o New implementation of SecondLoop. Moved it from forwardTrack into
      tracksFromTrack and pulled out fillXList while processing SecondLoop.
      Speeds up the code by 6%, no changes in efficiency/ghost rate
    o The ranges to project hits into the reference plane now take the charge
      estimate properly into account. Speeds up the HLT1 configuration by 10%.
  . PatSeedingTool, PatSeedTool, PatSeedTrack, PatSeedFits: refactor bits of
    code to avoid code duplication; no changes in performance or timing
  . Change 'ifndef KSTRACK' to 'ifndef PATDOWNTRACK' in PatDownTrack.h to get rid
    of relics.
  . PatSeedTrack:
    o Rewrite code in constructor which calculates parabola parameters from three
      X hits (permille level increase in efficiency)
    o (very) slight code modernisation
  . Various PatSeeding classes: remove dynamic memory management by replacing
    std::vector with StaticArray class from DetDesc; this speeds up
    the Seeding by 4% without significant changes in performance (the code will
    now abandon track candidates which accumulate a crazy number of hits 72 or
    more, i.e. at least 6 in every layer of the T stations) 
  . PatSeedingTool/PatSeedTool/PatSeedFit: continue to push outward decision if
    hit is IT or OT (in many cases, we can now neglect to check the track
    altogether); this gains another 5 permille in speed without affecting
    results one bit
  . PatFwdTool: be a bit smarter in setting up the data structure used to
    resolve ambiguities (avoid dynamic memory management, sort only once);
    this speeds up the Forward by 2% without any change in performance
  . PatSeedTool:
	  o Add improvements made in the ambiguity resolution of the Forward:
      + keep track of quality of last ambiguity assignment, and make sure each
        hit keeps the best assignment that is possible
      + do not assign ambiguities if the pitch residual looks fishy (too large) 
      These changes speed up the Seeding by 2%, raise the efficiency by up to
      half a percent while keeping the ghost rate stable with permille level
      fluctuations.
    o Count OT hits being passed, so can call specialised variant of fit
      (this is part of an ongoing effort to push the conditional jumps out of
      the hot code path(s)); this saves about 2% CPU without affecting results
  . PatSeedFits: add template argument to select OT only, IT only, or mixed hit
    content to avoid if statements in fits

- In Tf/PatKernel v2r9
  . PatFwdHit: optimise planeCodee(), layer(), isStereo(), isX(), and
    rlAmb()/setRlAmb(int) methods

- In Tf/PatVeloTT v4r6
  . Declare PatVeloTTHybridTool as a private instance of PatVeloTTHybrid.
  . Remove obsolete fitting options within PatVeloTTHybrid
  . Change VeloTT track location in 'PatVeloTTAlgConf'
  . Add configuration for PatVeloTTHybrid in HLT1 in 2015 to 'PatVeloTTAlgConf'
  . Rename 'PatVeloConf' to 'PatVeloTTAlgConf'
  . Add protection in case of empty layers

- In Tf/TfKernel v2r31
  . Revisit hit classes to give the code some more resemblance to C++11 by
    adding noexcept where appropriate
  . Use somewhat more efficient way to determine if a hit is an X hit in IT and OT
  . Change order of some hit class members to optimise layout in memory
  . SIMDChi2Fit: speed up by 3% by using a smarter way to assign to columns of
    the wgrads matrix in addHits()

- In Tf/TrackSys v9r6
  . Configuration.py:
    o Activate RunII tracking sequence by 'DataType == 2015'
    o liteClusters and simplifiedGeometry are default for Run 2
  . Add 'RecoTrackingRun2.py' containing the tracking options for run2.
    o Change 'TrackBestTrackCreator' to 'TrackEventFitter' for Velo and Forward
      separately for HLT1 
    o Fix input container for forward merging to use fitted HLT1 forward tracks
    o Fix bug with TrackStateInitTool
    o Change 'TrackListMerger' to (new) 'TrackContainerCopy', such that forward
      tracks can be stored on a DST.
    o Change options of Fitter: Don't refit, use FastMomentumEstimate, don't
      change dEdX in simulation.
  . Introduce 'TrackListRefiner' to only veto fitted long tracks in HLT 2 forward
    for 2015.
  . Add 'TrackV0Finder' in 2015 sequence.
  . RecoTracking.py:
    o Fix inputLocation(s) of another instance of TrackContainerCopy
    o Replace 'PatVeloConf' with 'PatVeloTTAlgConf' (change in name only)
  . Fix a bug in TrackSys configure where TrackSys() was used instead of self.
  . Slight modification in 'PatChecking.py' to run the checkers for the output of
    the merged forward.

- In Tr/PatPV v3r27, v3r28
  . Remove left-over possibility to apply R-cut in LSAdaptPV3DFitter
  . Add bound on Velo distance to beam, above which the beam-spot R cut is not
    applied. Once the BeamSpotRho functor is available in Rec, use that instead.
  . Add new functionality to LSAdaptPV3DFitter which 
    o allow to use kalman fitter tracks, option UseFittedTracks
    o add option for radial distance cut of PV - maxRDPV 
    o to make offline and online algorithms consistent: 
      deprecate maxIP2PV cut, instead trackMaxChi2 is recommended
    o deprecation warning printed if the obsolete property maxIP2PV is set.
      Not removed, to avoid braking the Stripping tests in the nightlies.

- In Tr/TrackAssociators v2r12
  . Use LHCb::Track::Range such that also LHCb::Track::Selection can be used as
    an input container.

- In Tr/TrackCheckers v4r22
  . Introduce Ranges in TrackEffChecker, such that input container can also be of
    type LHCb::Track::Selection.

- In Tr/TrackExtrapolators v2r37
  . TrackRungeKuttaExtrapolator: replace std::pow(x, -0.2) with
    FastRoots::invfifthroot(x); this makes the extrapolator another 4% faster

- In Tr/TrackFitter v5r4
  . Add property 'MaxChi2DoF' to TrackEventFitter (and fix identation).
  . Fixed check for same input and output containers to also work with TCK.

- In Tr/TrackKernel v2r3
  . CubicStateInterpolationTraj: make distTo2ndError a factor 5 faster

- In Tr/TrackMonitors v2r6
  . Improve splitting method MiddlePerVeloHalf (now difference between number of
    tracks of split vertices is at most one, was two).
  . Add new splitting method VeloTopBottom (for systematics studies).
  . Keys of extrainfo are now options. Add PV z position to extrainfo.
  . Always write two split vertices, even if fit is not successful.
  . Add CopyPV property, which if true, copies input vertices to the output
  . Add UsePVForSeed property. Set to false to do seeding rather than use the PV.

- In Tr/TrackTools v5r7p1, v5r8
  . updated networks and flattening table in Run2GhostId (change from
    GhostClassification ghost definition to TrackAssociator definition in the
    training)
  . TrackStateInitTool: Added option to use the FastMomentumEstimateTool to
    get a momentum estimate for Long tracks. This reduces the timing
    of the tool by roughly 30%. Current default is false
  . Run2GhostId: Add "flattening" (response distribution for ghosts
    approximately constant between 0 and 1)
  . Run2GhostId: Changed TT and IT cluster type to lite.

- In Tr/TrackUtils v1r59, v1r60
  . TrackContainerCopy: Now can take more than one input location. 
    To avoid breakign existing tests, use obsolete inputLocation instead of
    inputLocations if that option is set. Warning is issued to change to
    use the newer list option. It is an error to set both inputLocation and
    inputLocations.
  . TrackBestTrackCreator:
    o Added counters of failed fits for each track type.
    o Added option to skip fit of already fitted tracks. False by default.
    o Added option to add ghost probability and to use it in the selection of
      good tracks. False by default.
    o Added the possibility to save clone killed and fitted tracks in separate
      containers according to track type.
  . HltTrackConverter: Added option for reading specific SelReports location


2015-02-25 RecSys v17r5

This version uses Gaudi v26r1, LHCb v38r5 and Lbcom v16r4 (and ROOT 6.02.05)

- Packages modified: Calo/CaloReco v5r23, Muon/MuonID v9r13, 
    Pr/PrAlgorithms v1r16, Pr/PrKernel v1r8, Pr/PrMCTools v2r7, Rec/LumiAlgs v9r7,
    Rec/RecConf v2r20, Rich/RichGlobalPID v3r23, Rich/RichRecBase v4r19,
    Rich/RichRecMonitors v2r35, Rich/RichRecPhotonTools v1r16, 
    Rich/RichRecSys v5r5, Rich/RichRecTools v4r27, Rich/RichRecTrackTools v1r39,
    Tf/PatAlgorithms v4r39, Tf/PatVeloTT v4r5, Tf/TfKernel v2r30,
    Tf/TrackSys v9r5, Tr/TrackExtrapolators v2r36, Tr/TrackFitter v5r3, 
    Tr/TrackInterfaces v4r28, Tr/TrackKernel v2r2, Tr/TrackMCTools v3r11p1,
    Tr/TrackMonitors v2r5, Tr/TrackProjectors v3r2, Tr/TrackTools v5r7,
    Tr/TrackUtils v1r58

- In Calo/CaloReco v5r23
  . Reconstruction.py: Corrected a typo (too few arguments to format a string)
  . CaloCorrectionBase : add boolean method to flag condition update
                         (hasConditionChanged())
  . ClusterCovarianceMatrixTool : update parameters via BeginEvent incident only
                                  when condition changed

- In Muon/MuonID v9r13
  . Speed up MuonIDAlg by a factor of 1.8 by only computing the FOI once per
    station/region/candidate momentum, and factorizing out the hit (i.e. 'dx' 
    and 'dy') dependence

- In Pr/PrAlgorithms v1r16
  . Add triangle fix in forward tracking.
  . PrSeedingXLayers:
    o Triangle Fixing implemented
    o Some hardcoded parameters put as properties

- In Pr/PrKernel v1r8
  . Add modified version of IPrCounter for efficiency studies.

- In Pr/PrMCTools v2r7
  . PrTrackAssociator: Changed output level in case the root of containers does
    not exist from ERROR to DEBUG. This reduces the output when running in Moore
    when locations not necessarily exist in each event. In the default Brunel
    configuration the default root always exists.
  . PrChecker2:
    o Modifications to be faster
    o Added TrackSelector and variable m_upgrade to change between hitLocation
      Pat/LHCbID or Pr/LHCbID for upgrade (default true).
    o Added global option to choose track extrapolation (default false).
  . Fixed fromB/fromD and isNotDown selection, added configurable track container
    for PrCounter2 and PrTTCounter, added global selection cuts: eta25cut,
    triggerNumbers, vetoElectrons.

- In Rec/LumiAlgs v9r7
  . Updated test references to follow:
    o New counter in HltFactory
    o ConfigCDBAccessSvc replaces ConfigTarFileAccessSvc
  . Added workaround for GAUDI-1007.

- In Rec/RecConf v2r20
  . Added 'pGun' to KnownSpecialData, replace normal vertex finder with
    PGPrimaryVertex when pGun is in SpecialData

- In Rich/RichGlobalPID v3r23
  . Add (yet another) new implementation of the log(exp(x)-1) function based on
    a fast linear interpolator.
  . Various other speed optimisations (avoid virtual calls etc.).

- In Rich/RichRecBase v4r19
  . Add a new method to IRichPhotonSignal to allow a client to request the
    pre-filling of all photon pixel signal information. Used to then avoid a
    virtual function call deep inside the Global PID likelihood minimisation.
  . Add protection to RichRecPhoton::expPixelSignalPhots if call with a 
    Below Threshold hypothesis.

- In Rich/RichRecMonitors v2r35
  . Add a new histogram to RichCherenkovAngleMonitor.

- In Rich/RichRecPhotonTools v1r16
  . Revert back to std::sqrt(x) instead of vdt::fast_isqrt(x) as its actually 
    faster ...
  . Turn off photon reconstruction check to reject gas photons where the
    emission point and first reflection points are on different detector sides.
  . Protect against a sqrt(-number) FPE in QuarticSolver.h
  . Update QuarticSolver to use the Complex2f class from the VectorClass library
    instead of std::complex. Results in an almost factor of two speed up of the 
    QuarticSolver::solve method...
  . Add some missing FPE protection in QuarticSolver.h
  . Replace some divisions by multiplications in QuarticSolver.h
  . Add a new test application to allow easy profiling of various implementations
    of Quartic reconstruction of photon angles.
  . Paste the code to calculate the track/pixel seperation on the PD plane
    directly into RichCKthetaBandsPhotonPredictor. Avoids a virtual call for
    every pixel+track combination, as well as avoiding a few squares when not
    required.
  . Various minor CPU optimisations (using VDT etc.).

- In Rich/RichRecSys v5r5
  . Add a new configuration option "RefitTracks" which enables a full refit of
    the tracks prior to running the RICH reconstruction on them.
  . Fix a small bug with the "PreloadTracks" options that was failing to 
    properly enable this option.

- In Rich/RichRecTools v4r27
  . Various small CPU optimisations (using VDT, prefer * to /  etc.). 

- In Rich/RichRecTrackTools v1r39
  . Add a new option (enabled by default) to move states in 
    DetailedTrSegMakerFromRecoTracks using a StateProvider using the
    stateFromTrajectory method. Faster, with no signficant loss of resolution.
  . Clean up internal interface used by DetailedTrSegMakerFromRecoTracks to
    avoid passing around unique_ptr instances by reference.
  . Add a new (off by default) option to RichDetailedTrSegMakerFromRecoTracks to
    use a TrackTraj object move states to the RICH radiator entry and exit 
    positions.
  . Add an option to RichFunctionalCKResForRecoTracks to use the fast geometry
    when calculating the radiation length the track traverses in the RICH
    radiator volumes. Off by default.
  . Various CPU improvements (use VDT math functions etc.).

- In Tf/PatAlgorithms v4r39
  . PatSeedingTool:
    o Be a bit smarter in hitsInRange method - saves 0.9% in CPU, same results
    o Added option to flag previously used hits with UsedLHCbIDTool.
    o Changes for running in tandem with Forward: remove the old UseForward
      property in favour of 'UsedLHCbIDToolName' property - see PAtAlgorithms
      release notes for details on how to only run over hits not used by the
      Forward. With this new flexibility, the old properties OnlyGood and
      DiscardChi2 have become obsolete, too, and have been removed.
    o Slightly modernise the code which allows "injecting" the T station
      segments of Forward tracks into the output of the Seeding (property
      'UseForwardTracks'); also add a property to limit the extraction of Forward
      tracks to those which have a minimum chi^2/ndf
  . Tuned uncertainty of point on magnetic plane in downstream tracking, change
    zMagnet parametrisation. Should slightly improve efficiency / ghost rate.
  . Tested patch which switches off the OT walk correction in the combinatorial
    stages of the Forward tracking to save even more time. Efficiencies and ghost
    rates are essentially unchanged (there are permille level fluctuations), and
    so are pulls. The Forward tracking will become about 9% faster.
  . PatSeedFit: fix bug which caused a successful stub fit to produce a warning
    and have its results ignored; having done some subversion araeology, it
    appears to be a long-standing bug in the logic of the tool. The impact on
    track parameters is negligible, though, because the stub fit is only needed
    on a small fraction of tracks, and the fit subsequently recovers by using
    the best guess parameters to start the Kalman Filter fit
  . PatSeeding and classes used by it: take advantage of the new isOT()
    method available from PatForwardHit
  . Simplify some things in PatDownTrack and PatDownstream. No performance change
  . PatMatchTool: Added the option to veto Velo seeds similar to PatForwardTool. 
  . PatForwardTool:
    o Do not add additional TT hits to Forward candidates if the Seed is an
      Upstream track. 
    o Made the location to flag Velo seeds as used a vector of locations.
      Renamed this from VeloVetoTracksName to VeloVetoTracksNames.
    o Added a protection in case the location of veto tracks does not exist.
  . PatFwdTool:
    o Use ambiguity resolution from pitch residuals by default
    o Demote an info() printout to debug(), to keep the log files clean
    o Add option to use pitch residuals to resolve ambiguities in
      the OT in a manner similar to the seeding; this results in slight
      efficiency gains (permille level), a ghost rate reduction on the percent
      level and a very marginal speedup (half a percent); see PAtAlgorithms
      release notes for details of configuration options
      The old method of resolving ambiguities remains the default for now.
  . PatForward and PatForwardTool: Moved options to flag hits and seeds from
    PatForward to PatForwardTool, such that PatForwardTool is aware of hit
    flagging. Changed the flag wich is used to flag used hits.  Removed
    option to flag Velo seeds as at this point it is not clear which Velo
    seeds should be flagged.

- In Tf/PatVeloTT v4r5
  . Add code to account for overlap hits, change default value of PassHoleSize
  . Remove a "std::cout" and clean up VeloTTHybrid.cpp/h code
    (removing obsolete members). 
  . Add some doxygen documentation.

- In Tf/TfKernel v2r30
  . SIMDChi2Fit: 
    o use UNLIKELY/LIKELY to give hints to the compiler
      (seems to improve the timing of the Seeding by about 5%)
    o add further hints to help gcc produce good autovectorised code
      This will speed up the Seeding by another 3 %.
    o Fix tiny bug which could cause the cov() method to fail in
      template parameter substitution in certain situations
  . OTHit: make use of the new walk_fast method in OTDet::WalkRelation to speed
    up Seeding and Forward by about 4%; effects on efficiencies, ghost rates,
    pulls and so on are on the permille level

- In Tf/TrackSys v9r5
  . Add GhostProbability to RecoUpgradeTracking.py
  . Adapt RecoTracking.py, such that for data type '2015' PatVeloTTHybrid instead
    of PatVeloTT is run. The (internal) Kalman filter is off per default.

- In Tr/TrackExtrapolators v2r36
  . TrackRungeKuttaExtrapolator: replace std::pow(x, 0.25) by
    std::sqrt(std::sqrt(x)) because it's faster, tidy up in a few places; this
    makes the extrapolator 2% faster without changing the results significantly
  . Extrapolators: make static magic numbers 'const'

- In Tr/TrackFitter v5r3
  . Reserve space in vector of matrial intersections, so we don't have to
    reallocate quite as frequently; this does not change results

- In Tr/TrackInterfaces v4r28
  . Extended IGhostProbability to ease up development
  . Different interfaces for GhostProbability and TrackLikelihood (incident
    handle doesn't do the job)

- In Tr/TrackKernel v2r2
  . Replace use of ROOT::Math::Similarity with new faster vectorised
    LHCb::Math::Similarity in CubicStateInterpolationTraj.

- In Tr/TrackMCTools v3r11p1
  . Remove unnecessary PhysEvent includes from PGPrimaryVertex.h and remove
    PhysEvent dependency that they introduced

- In Tr/TrackMonitors v2r5
  . Add the histograms needed for online OT T0 calibration to the histograms
    produced online.

- In Tr/TrackProjectors v3r2
  . TrajOTProjector:
    o Remove superfluous dynamic_cast, speedup about 6%
    o Update for upcoming changes to RtRelation class by being more flexible in
      terms of data type returned by RtRelation's methods

- In Tr/TrackTools v5r7
  . TrackUsedLHCbIDs:
    o Make hit lookup O(1) instead of O(ln(Nhits)) by using BloomFilters - see
      TrackTools release notes for assumptions made in the implementation. When
      used offline to run Seeding only on hits not used by Forward tracks, this
      reduces the time to look if a hit was used by the Forward by 36%
    o  Changed LHCb::Tracks* to LHCb::Track::Range
  . VeloClusterPositionTool: various little fixes to speed things up
    o don't create std::vector on the fly every time cluster->channels() is
      called, fill an std::array of sufficient size instead
    o don't dynamic_cast when a static_cast will do
    o use vdt::fast_... versions of various trigonometric functions (they're
      more than accurate enough not to affect Velo performance in any way) 
  . Speed up StateThickMSCorrectionTool by a factor two
  . Speed up StateDetailedBetheBlochEnergyCorrectionTool by a factor two
    o caching particle masses more agressively
    o aggressive caching of material-related quatities and calculations (this
      will save quite a few virtual function calls and a log at runtime)
    o use of vdt to implement pow(x, y)
  . Remove include "FTRawCluster" in UpgradeGhostID.cpp
  . Ghost Probability for Run2.
    o Cleaner code, removed time consuming inputs, newly trained to work with new
      reconstruction and expected 2015 conditions, NN implementation speed up.
    o Foreseen to remove TrackNNGhostId and corresponding network trainings
    o Adapt to updated IGhostProbability interface
  . Swapped StatusCodes in UpgradeGhostInfo::countHits
  . Improved hit counting in UpgradeGhostInfo
  . Minor code cosmetics on VeloMuonBuild

- In Tr/TrackUtils v1r58
  . TrackListRefiner: Prevented algorithm from creating a new location in case
    the input location does not exist.
  . Changed interface for TrackAddNNGhostId

2015-01-15 RecSys v17r4

This version uses Gaudi v26r0, LHCb v38r4 and Lbcom v16r3 (and ROOT 6.02.03)

- Packaged modified: Pr/PrKernel v1r7, Pr/PrMCTools v2r6,
    Rec/ChargedProtoANNPID v2r9, Rich/RichRecSys v5r4, Rich/RichRecTools v4r26,
    Rich/RichRecTrackTools v1r38, Tf/FastVelo v1r18, Tf/PatAlgorithms v4r38,
    Tf/PatKernel v2r8, Tf/PatVeloTT v4r4, Tf/TfKernel v2r29, Tf/TfTools v1r20,
    Tf/TrackSys v9r4, Tf/TsaKernel v3r8, Tr/PatFitParams v4r3,
    Tr/TrackExtrapolators v2r35, Tr/TrackFitEvent v6r5, Tr/TrackTools v5r6

- In Pr/PrKernel v1r7
  . Add IPrTTCounter and modified IPrCounter for efficiency studies.

- In Pr/PrMCTools v2r6
  . Rewrite method "plotMCHits" in PrPlotFTHits to use MCHit<->FTCluster linker.

- In Rec/ChargedProtoANNPID v2r9
  . Update default tunes to use MC12TuneV2 for all data types.
  . Completely disable the use of NeuroBayes in the requirements and CMake files,
    such that the package no longer links against the NB libraries.
  . Break up TMVAImpFactory.cpp into multiple smaller compilation units.

- In Rich/RichRecSys v5r4
  . Make all defaults for HLT Context the same as Offline.

- In Rich/RichRecTools v4r26
  . Make the default options for the HLT context in RichMassHypothesisRingCreator
    and RichRayTraceCherenkovCone the same as Offline.

- In Rich/RichRecTrackTools v1r38
  . Make the HLT defaults in RichDetailedTrSegMakerFromRecoTracks the same as
    for Offline.

- In Tf/FastVelo v1r18
  . Faster conversion to LHCb::Track

- In Tf/PatAlgorithms v4r38
  . New parametrisations in 'PatMatchTool', lower ghost right and higher
    efficiency, mostly for low p tracks.
  . Make Tool in PatMatch a configurable name, add 'getIfExists' and some doxygen
    comments.
  . Fix bug in PatAddTTCoord in 'returnTTClusters' which caused wrong chi2 to be
    returned. Calculate part of the bending parameter only once per event.
    Add some doxygen comments.
  . PatFwdTool: use new PatForwardHit methods to speed things up 

- In Tf/PatKernel v2r8
  . PatForwardHit, PatTTHit: bypass mutex of static memory pool.
  . PatForwardHit: 
     o use the already present 'planeCode' to get the layer info, and 
       'isStereo' -- this saves both a pointer dereference + if statement
     o add a fast 'isOT' method to help avoid virtual function calls

- In Tf/PatVeloTT v4r4
  . Adapt the check for an empty input to explicitely query the size of the Range
    move the corresponding message-level from warning to debug 

- In Tf/TfKernel v2r29
  . Tf::TStationHitManager: remove virtual function which allows tweaking of hit 
    creation -- which isn't actually used, but does imply a virtual function call 
    overhead for the creation of every single hit...

- In Tf/TfTools v1r20
  . Remove unused virtual function for hit customization during hit creation

- In Tf/TrackSys v9r4
  . Change GhostClassification tools in PatChecking.py

- In Tf/TsaKernel v3r8
  . Remove unused virtual functions which allows hit customization after creation
    of every single hit

- In Tr/PatFitParams v4r3
  . Add 'MatchFitParams' which produces the parameters for the matching (PatMatch)

- In Tr/TrackExtrapolators v2r35
  . TrackRungeKuttaExtrapolator use boost::optional (instead of new/delete)
    to keep the (optional) jacobian on the stack instead of the heap; eliminate
    two divisions and one loop
  . SimplifiedMaterialLocator: simplify memory management with std::unique_ptr

- In Tr/TrackFitEvent v6r5
  . FitNode:
    o use vectorized filter in computeFilteredState
    o use vectorized average in computeBiSmoothedState
    o use vectorized similarity to compute residual.
    o speed up transport of covariance matrix by a factor of 2 by 
      just spelling out the entire 5x5 similarity transform....
    o speed up transport by a further factor of 2 by using vectorized
      version of the similarity transforms from LHCbMath.
  . KalmanFitResult: introduce covariant return type on clone,
                     clean up loop

- In Tr/TrackTools v5r6
  . Update parameters for 'ParamsVeloTCubic' for 2015 in FastMomentumEstimate
  . UpgradeGhostInfo: track ghost probability for the upgrade
  . Another check that the cluster size is always set in VeloClusterPosition
  . StateDetailedBetheBlochEnergyCorrectionTool: cache mass, rewrite math to
    reduce the # of operations
  . OTMeasurementProvider: use std::transform instead of for loop, flag virtual
    functions with 'override'
  . changed TrackMasterFitter use of VeloMuonBuild to private

2014-12-15 RecSys v17r3p1

This version uses Gaudi v25r6p1, LHCb v38r3p1 and Lbcom v16r2p1 (and ROOT 6.02.02)

Identical to v17r2 but built against LCG_70root6 with ROOT 6.02.02

2014-12-15 RecSys v17r3

This version uses Gaudi v25r6, LHCb v38r3 and Lbcom v16r2 (and ROOT v5.43.24)

- Packages removed:  Tr/TrackMatching, Tr/TrackSeeding (both obsolete)
- Packages modified: Calo/CaloPIDs v5r20, Calo/CaloReco v5r22, 
    Hlt/HltMonitors v1r7, Muon/MuonID v9r12, Pr/PrAlgorithms v1r15,
    Pr/PrKernel v1r6, Pr/PrMCTools v2r5, Rec/ChargedProtoANNPID v2r8,
    Rec/GlobalReco v6r52, Rec/LumiAlgs v9r6, Rec/RecConf v2r19,
    Rec/RecInterfaces v1r4, Rich/RichGlobalPID v3r22, Rich/RichRecBase v4r18,
    Rich/RichRecQC v2r68, Tf/FastVelo v1r17, Tf/PatAlgorithms v4r37,
    Tf/PatVeloTT v4r3, Tf/TfKernel v2r28, Tf/TrackSys v9r3, 
    Tr/TrackCheckers v4r21, Tr/TrackFitEvent v6r4, Tr/TrackInterfaces v4r27,
    Tr/TrackKernel v2r1, Tr/TrackMCTools v3r11, Tr/TrackTools v5r5,
    Tr/TrackUtils v1r57, Velo/VeloRecMonitors v2r30

- In Calo/CaloPIDs v5r20
  . CaloElectronMatch : change back to extrapolation to the ZShowerMax plane

- In Calo/CaloReco v5r22
  . Fix unprotected debug in CaloSCorrection.cpp

- In Hlt/HltMonitors v1r7
  . Migrate to split Hlt setup

- In Muon/MuonID v9r12
  . Added dependency on VDT
  . Speed up MuonIDAlg by 30% by using a single function call for foiX and foiY,
    and using vdt::fast_exp

- In Pr/PrAlgorithms v1r15
  . In PrFTHitManager the zone geometry setting has been changed to reflect 
    the modifications in FTDet in createDetSegment.

- In Pr/PrKernel v1r6
  . Add IPrTTCounter and modified IPrCounter for efficiency studies.

- In Pr/PrMCTools v2r5
  . Fix LiteCluster locations for STDetectors in PrLHCbID2MCParticle
  . Add LoKiMC dependency
  . Add PrTTCounter, PrChecker2 and PrCounter2 for efficiency studies

- In Rec/ChargedProtoANNPID v2r8
  . Add Kaon and Pion networks for the MLP and BDT 'Dev1' (IsMuon as input)
    Bs2MuMu development tunings.
  . Remove the out of 0-1 bounds checks for TMVA networks. Not needed for MLP
    MVAs, and breaks with BDTs which vary from -1 to 1 ...
  . Check the 'error' return values from ChargedProtoANNPIDTool to
    -3 : Invalid ProtoParticle or track
    -2 : Failed pre-selection cuts.
    Done in order to avoid using -1, as this is a valid BDT return value.
  . Add new developmental PID tunings for Bs2MuMu.

- In Rec/GlobalReco v6r52
  . NeutralProtoPAlg : reduce verbosity

- In Rec/LumiAlgs v9r5, v9r6
  . Update unittests (and example jobs) to use latest database tag
  . Small correction in jobs/gaudipython_mu_calculation.py
  . Check for *DST types rather than explicit DST names in LumiAlgs config

- In Rec/RecConf v2r19
  . Remove "upgrade" from KnownSpecialData (obsolete, use the DataType instead)
    and from pre 2010 treatment of primary vertex
  . Remove 'TrackMatching' and 'TrackSeeding' from dependencies
  . Remove obsolete RDST special case

- In Rec/RecInterfaces v1r4
  . Change default return value in IChargedProtoANNPIDTool to -3
  . Update IChargedProtoANNPIDTool interface to include a status code in the
    return value.

- In Rich/RichGlobalPID v3r22
  . Fix an unprotected debug

- In Rich/RichRecBase v4r18
  . Removed unused dictionary selection rules.

- In Rich/RichRecQC v2r68
  . Adapt to split HLT setup

- In Tf/FastVelo v1r17
  . Added a rejection for too many tracks using the same phi clusters

 - In Tf/PatAlgorithms v4r37
   . PatFwdTrackCondidate:
     o use vdt::fast_isqrt 
     o move data members to the 'top' of the class so that one can use 'auto'
       (trailing) return specifitation
     o improve PatFwdTrackCandidate memory layout: move 'cold' pointer towards
       the 'back'
   . PatFwdTool:
     o speed up distanceForFit, simplify inline methods
     o better use of ranges
   . PatForward uses Ranges now to access track selections as well as containers
   . PatForwardTool: small speedup in fillXList, cleanup
   . PatFwdPlaneCounter: add addHitwWhile
   . PatDownstream:
     o fix such that hits in at least three layers are required for a track.
     o avoid interrogating the MagneticFieldSvc at every track to get the
       signedRelativeCurrent, once per event is enough!
   . New implementation of the search for compatible hits in PatAddTTCoord.
     Faster, but efficiency performance should be stable.
   . PatSeedingTool: modernise some of the code somewhat; no functional changes,
     no changes in performance or timing

- In Tf/PatVeloTT v4r3
  . PatVeloTTHybrid uses Ranges now. It can operate on both track containers 
    and track selections
  . Optimised PatVeloTTHybridTool for low momentum tracks

- In Tf/TfKernel v2r28
  . Reverted work around for spurious entries in the rootmap files.
  . Tf::TStationHitManager: replace the ToolHandle instances by ordinary
    pointers to the interfaces implemented by the tools.
  . SIMDChi2Fit.h: fix warning about extra semicolon

- In Tf/TrackSys v9r3
  . Replace "Match" with "PatMatch" for old sequence of PatReco algorithms in
    Configuration.py
  . Remove 'TrackMatching' from RecoTracking.py. A runtime error is raised 
    if it is set as a track type.
  . Remove 'TrackMatching' and 'TrackSeeding' from dependencies

- In Tr/TrackCheckers v4r21
  . Remove 'TrackMatchChecker', as 'TrackMatching' was put in 'obsolete'

- In Tr/TrackFitEvent v6r4
  . FitNode.cpp: remove unused function ::transportVector to
                 silence gcc49 warning
  . Small change to OTMeasurement to make sure it also works for trajectories
    other than LineTraj

- In Tr/TrackInterfaces v4r27
  . Remove two virtual functions in IAddTTClusterTool, as AddTTClusterTool is not
    in Rec anymore and they are not needed.

- In Tr/TrackKernel v2r1
  . Rewrite TrackCloneData class:
    o use Bloom filter to quickly check for non-overlapping tracks (use old
      method to determine size of overlap if overlap might be non-emptr); this
      option will give exactly the same result as previous code in all cases
      (default)
    o option to do the entire overlap calculation with size estimate of Bloom
      filter class - slightly faster, but will cause permille level differences
      (selectable with template argument, but not default)
    o template argument to allow choice between owning the contained pointer
      to the underlying track (default) or not owning it

- In Tr/TrackMCTools v3r11
  . Add wrapper for ghost track classification tools to decide on a
    track-by-track base which implementation to use

- In Tr/TrackTools v5r5
  . Use vdt::fast_log to speed up hotspots
  . Make sure the cluster size is always set in VeloClusterPosition

- In Tr/TrackUtils v1r57
  . Added counters to TrackListRefiner
  . TrackBestTrackCreator: use the ancestor information to get rid of obvious
    clones early in the process (as is done in TrackEventCloneKiller), this
    speeds up the algorithm by about 3.5%, and gets rid of a couple of
    problematic tracks in T and the Velo before they're fitted (without
    adversely affecting performance - these tracks usually got killed by the
    chi^2 cut inside TrackBestTrackCreator after the fit); the number of tracks
    in the Best container stays unchanged; the new UseAncestorInfo property can
    be used to restore the old behaviour if needed
  . Factor out the remove_if_partitioned algorithm from TrackEventCloneKiller
    and TrackBestTrackCreator, and move it to its own header file; adapt
    TrackEventCloneKiller and TrackBestTrackCreator accordingly   
  . TrackEventCloneKiller: rewrite internal logic so fewer comparisons are
    needed to determine if two tracks are clones, use Bloom filters for
    non-overlapping tracks, remove useless (and unused) StoreCloneTrack
    property from algorithm; efficiency and ghost rate changes are at the
    permille level, and the algorithm should be 7-15% faster now
  . Rewrite TrackBestTrackCreator to take advantage of the Bloom filters in
    TrackCloneData from TrKernel; also modernise and clarify the code somewhat
    (C++11, consistent use of generic algorithms where possible)
  . Remove 'TrackMatching' from 'TrackFromDST'
  . Remove 'TrackSeeding' from 'TrackFromDST' and 'TTrackFromLong'

- In Velo/VeloRecMonitors v2r30
  . Fix the check in case of no MC hit association in VeloTrackMonitorNT

2014-10-22 RecSys v17r2p1

This version uses Gaudi v25r4p1, LHCb v38r2p1 and Lbcom v16r1p1 (and ROOT 6.02.01)

Identical to v17r2 but built against LCG_70root6 with ROOT 6.02.01

2014-10-22 RecSys v17r2

This version uses Gaudi v25r4, LHCb v38r2 and Lbcom v16r1 (and ROOT v5.43.21)

- Packages modified: Muon/MuonTrackRec v3r12, Pr/PrKernel v1r5,
    Pr/PrMCTools v2r4p1, Pr/PrPixel v1r10, Rec/GlobalReco v6r51,
    Rec/LumiAlgs v9r5, Tf/PatAlgorithms v4r36, Tf/TfKernel v2r27,
    Tf/TfTools v1r19, Tr/TrackMCTools v3r10p1, Tr/TrackUtils v1r56

- In Muon/MuonTrackRec v3r12
  . MuonCombRec: Make tools public, protect debug statements, some 
                 simplifications in the code.
  . MuonHitDecode: Introduce option to skip the calculations of the
    'hardware numbers', as it is not needed for pure track reconstruction

- In Pr/PrKernel v1r5, Pr/PrPixel v1r10, TfKernel v2r27
  . Save 1/error in hit class instead of 1/error^2; this should facilitate
    exploiting hit-level parallelism in chi^2 fits in the pattern reco; client
    code should run correctly without modification (and without appreciable
    change in performance). See reasoning in TfKernel release notes

- In Pr/PrMCTools v2r4p1
  . Add some more doxygen comments to PrPlotFTHits.

- In Rec/GlobalReco v6r51
  . Add some additional debug messages.
  . Adaption for recent ROOT version and minor modifications to plotting 
    PID-curves.

- In Rec/LumiAlgs v9r5
  . Check for *DST types rather than explicit DST names in LumiAlgs config

- In Tf/PatAlgorithms v4r36
  . Use the new SIMDChi2Fit framework for the seeding; efficiencies and ghost
    rates are stable at the permille level, timing is unaffected within the
    usual 5% fluctuations I see on my system
  . PatFwdFitParabola: reduce the # of multiplications needed. This slightly 
    changes the rounding, which affects the results at the 1e-5 level.
  . PatFwdRegionCounter, PatForwardTool: replace some for loops with 
    std::for_each, more use of auto, improve formatting
  . PatFwdTool: 
    o Make updateHitsForTrack a standalone function, factor out the fit in the Y
      projection, inline zMagnet, upgrade inRegion check from lambda to functor
    o Factor out search for 'best region' and 'shortest range',
      move towards providing a 'const' interface, use boost::iterator_range
    o Change max_projected_element to return the iterator pointing
      at the max element instead of the max element itself.
  . PatFwdTool, PatForwardTool: replace (allmost) all double with auto, to make
    it easier to see how  a single precision version would work at a later time.
  . PatForwardTool:
    o Use boost::iterator_range, reduce triple nesting in loop over
      station/layer/region to a single loop. Fix off-by-one bug
    o Use specialized update{OT,NonOT}HitForTrack to avoid branches in innermost
      loop
  . PatForward: make acceptTrack const
  . PatFwdTool:setRLDefault: simplify enough so the compiler inlines
    the RLAmbiguityResolver completely

- In Tf/TfKernel v2r27
  . Include new header SIMDChi2Fit.h, a fully customisable chi^2 track fit for
    use inside pattern recognition algorithms which can (to some degree)
    exploit the parallelism inherent in simultaneously working on several hits
    using autovectorisation in selected bits of code
  . Moved Tf::IStationSelector (C++11-free) to an independent header (it is the
    only class needed in the dictionary).
  . Add specialized updateXYZHitsForTrack without any branches
  . Reduce code duplication by having the above return the computed y coordinate,
    which allows daisy chaining the OT version.

- In Tf/TfTools v1r19
  . Improve auto usage
  . More C++11-ification in {OT,ST}HitCreator and HitCreatorGeom
  . Take advantage of C++11 in OTHitCreator -- according to callgrind, this
    results in a 10% relative CPU gain

- In Tr/TrackMCTools v3r10p1
  . Add missing PhysEvent dependency in CMakeLists.txt 

- In Tr/TrackUtils v1r56
  . TrackEventCloneKiller uses LHCb::Track::Range now. This allows it to run
    on selections as well as containers.

2014-10-01 RecSys v17r1

This version uses Gaudi v25r3, LHCb v38r1 and Lbcom v16r0p1 (and ROOT v6.00.00)

- Packages modified: Calo/CaloPIDs v5r19, Calo/CaloReco v5r21p1,
    Calo/CaloTools v6r10, Pr/PrAlgorithms v1r14, Pr/PrMCTools v2r4,
    Pr/PrPixel v1r9, Rec/GlobalReco v6r50, Rec/RecAlgs v3r2, Rec/RecConf v2r18,
    Rich/RichRecQC v2r67, Tf/PatAlgorithms v4r35, Tf/TfKernel v2r26,
    Tf/TrackSys v9r2, Tr/TrackExtrapolators v2r34, Tr/TrackFitEvent v6r3,
    Tr/TrackFitter v5r2, Tr/TackMCTools v3r10, Tr/TrackMonitors v2r4,
    Tr/TrackTools v5r4

- In Calo/CaloPIDs v5r19
  . CaloElectronMatch, CaloBremMatch.cpp, CaloPhotonMatch.cpp :
    decrease verbosity of tolerable errors to WARNING
  . CaloElectronMatch : extrapolate the track to the CaloHypo Z position instead
                        of ZShowerMax plane

- In Calo/CaloReco v5r21, v5r21p1
  . CaloMergedPi0 : fix bug that affect sub-seed definition in some configuration 
 	. Configuration.py : decrease MergedPi0Pt threshold from 2 GeV to 1.5 GeV
   (applies on cluster pT before merged hypothesis is fully reconstructed)
  . Various CPU performance improvements.
  . CaloECorrection.cpp, CaloSCorrection.cpp : correct defaults for missing
    correction functions in CondDB and add more protection
  . CaloCorrectionBase/CaloECorrection/CaloSCorrection : implement correction
    propagation to Covariance

- In Calo/CaloTools v6r10
  . CaloHypoEstimator.cpp : implement ClusterCode & ClusterFrac 

- In Pr/PrAlgorithms v1r14
  . Removed unused Kalman Fitter tool in PrDownstream.h
  . Added several improvements to PrDownstream - can be switched on with the
    option PrDownstream().Mode = False ; the new approach includes
    1) Vetoing of Seeds that share FT hits with reasonably good ForwardTracks
    2) Building several track candidates and fiting them separately instead of
    putting all uv hits on one candidate and doing outlier removal
    3) Keeping more than one candidate per seed if we can't decide which one is
    the best in terms of chi2
  . By default the old algorithm should run
  . Add Doxygen comments

- In Pr/PrMCTools v2r4
  . Make Best track location configurable in PrChecker

- In Pr/PrPixel v1r9
  . Type conversion carried over most of the code from double to single
    floating point precision.
  . PrPixelTrack fit and covariance functions coded in SSE / SSE2 intrinsics.

- In Rec/GlobalReco v6r49, v6r50
  . ChargedProtoParticleMaker : If output already exists clear and reuse.
  . NeutralProtoPAlg : 
    o Change default value to +1 for IsPhoton when variable is not evaluated
      (i.e. pt<2GeV hence not merged)
    o add ClusterCode & ClusterFrac as extra info

- In Rec/RecAlgs v3r2
  . Replace 'Other/RawEvent' with 'Calo/RawEvent' in default RecInit.cpp 
    search list, for forward compatibility with RawEvent format 4.0

- In Rec/RecConf v2r18
  . Add 'SkipTracking' slot to RecSysConf and RecMoniConf. If enabled, tracking
    sequences are skipped. Used by Brunel to reprocess from DST without 
    rerunning the tracking 

- In Rich/RichRecQC v2r67
  . Remove Aerogel from default radiator list when DataType is set for Run II.
  . Clean up RichHPDHitsMoni with some C++11 syntax.

- In Tf/PatAlgorithms v4r34, v4r35
  . Make PatForwardTool so that it only exposes 'const' methods.
  . PatFwdTool: tweak RL ambiguity resolution code so that it can be const
  . PatSeedingTool, PatSeedTrack: use a Bloom filter to quickly detect tracks
    which have no overlap in hits after xz search. See PatAlgorithms release
    notes for discussion of performance improvements this brings
  . PatSeedingTool: properties CloneMaxXDistIT and CloneMaxXDistOT are obsolete
    now (BloomFilter is more reliable and faster)
  . Unify scalar and vector version of PatFwdTool::xAtReferencePlane_ by using
    variadic templates to gather/scatter the vectors to generate both scalar and
    vector versions from the same source, based on the number of arguments. 
    This produces optimal code for both cases (i.e. fully inlined, no extra 
    function calls) without having to write a lot of overloads and/or
    specializations of the gather/scatter operations. 
  . Generalize the vectorization types 
  . Unify the with/without B-field versions of PatFwdTool::xAtReferencePlane
  . Move the skipping of used hits from PatForwardTool to PatForward. This avoids
    having to look up all hits for all seeds, and instead does it once per event.
  . Tweak some inline methods a bit...
  . Further optimize PatForwardTool:fillXList
  . Ensure that when using PatForwardTool directly, i.e. not from PatForward,
    that PatTStationHitManager::prepareHits() is invoked. Without this call, the
    'hasNext' and 'hasPrevious' information on PatForwardHits is missing (see
    PatAlgorithms release.notes for effect of this)
  . Make PatFwdCandidate 'vector friendly' i.e. don't enforce types on a few
    member functions that perform arithmetic.
  . Update PatFwdTool to use the above, and make it more 'type neutral' as well.
  . Added a few useful counters to PatForwardTool 
  . Added TrackUsedLHCbID tool to PatForwardTool: allows to exclude hits that
    have already been used elsewhere
  . Make the skipping of used seed tracks optional in PatForwardTool
    default: do not skip (false) can be switched on through property skipUsedSeeds
  . Provide, and use vector, interface version of PatFwdTool::xAtReference, 
    PatFwdTool::setXAtReference
    o Update PatForwardTool to use above vector interface (changes results at the
      permille level as x boundaries are now treated left-right symmetrically)
    o Implement an explicitly vectorized (using gcc vector extension, see
      https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html; note that clang
      supports these as well: 
      http://clang.llvm.org/docs/LanguageExtensions.html#vectors-and-extended-vectors), 
      branch-free version of PatFwdTool::xAtReference, 
      and use it in PatFwdTool::setXAtReference
    o Enable vectorization only when using gcc...  icc and clang don't (yet)
      support all of the extensions used for this.
  . Fix clang brace warnings

 - In Tf/TfKernel v2r26
   . add a 'hitsInXRange' method to TStationHitManager (i.e. both lower and upper
     bound)
  . Extend OTHit such that is possible to get the driftTime _without_ the 
    (expensive) walk correction. And in the OTHit constructor, which ask for 
    driftTime at the middle of the station, ensure it skips the walk correction
  . Add a method in RecoFuncs which allows one to update the hits without
    doing the walk correction. 
  . Replace size_t by int to specify layer/station/region -- int more than large
    enough to enumerate them, and int division is faster than size_t division.

- In Tf/TrackSys v9r2
  . Use standard tracking sequence also for 2010 data. Previously was using
    TsaSeed instead of PatSeed and non-standard GECs
  . In RecoTracking.py, factor out the RAW bank decoding into a separate
    RecoTracking.DecodeTracking(), so it can be called independently, to just
    decode the Raw banks without running the tracking sequences.

- In Tr/TrackExtrapolators v2r34
  . Fix memory leak in TrackStateProvider::finalize

- In Tr/TrackFitEvent v6r3
  . Added method to KalmanFitResult to count number of active hits of given type
  . Fixed (inconsequential) bug in FitNode smoother

- In Tr/TrackFitter v5r2
  . Added functionality to TrackMasterFitter to _not_ set scattering momentum for
    velo-only tracks
  . Hide counters in TrackEventFitter behind msgLevel(INFO) to save time

- In Tf/TrackMCTools v3r10
  . Add PGPrimaryVertex

- In Tr/TrackMonitors v2r4
  . Improve the FPE protection in AlignmentOnlineMonitor

- In Tr/TrackTools v5r4
  . Make TrackVelodEdxCharge capable of running on tracks without measurements

2014-07-14 RecSys v17r0

This version uses Gaudi v25r3, LHCb v38r0 and Lbcom v16r0 (and ROOT v6.00.00)

- Packages modified: Calo/CaloPIDs v5r18p1, Calo/CaloReco v5r20,
    Calo/CaloTools v6r9, Muon/MuonTrackRec v3r11, Pr/PrAlgorithms v1r13,
    Pr/PrPixel v1r8, Rec/ChargedProtoANNPID v2r7, Rec/GlobalReco v6r48,
    Rec/LumiAlgs v9r4, Rec/RecInterfaces v1r3, Rich/RichHPDImageAnalysis v1r14,
    Rich/RichRecSys v5r3, Rich/RichRecTrackTools v1r37, Tf/PatKernel v2r7,
    Tf/PatVelo v3r31, Tf/TfKernel v2r25, Tr/TrackFitEvent v6r2,
    Tr/TrackMonitors v2r3, Tr/TrackTools v5r3, Velo/VeloRecMonitors v2r29

- In Calo/CaloPIDs v5r18p1
  . Fix minor typo in a printout

- In Calo/CaloReco v5r20
  . python/CaloReco/Configuration.py  : new slots to select cluster masks :  
    ClusterEnergyMasks, ClusterPositionMasks (default : get mask setting from DB) 
  . python/CaloReco/Reconstruction.py :
    o propagate masks to ClusterCovariance , ClusterOverlap & MergedPi0
    o use CaloMergedPi0     (replacing the now obsolete CaloMergedPi0Alg)
    o use CaloShowerOverlap (replacing the now obsolete CaloSharedCellAlg)  
    o skip single-cell "clusters" for CaloHypo building
  . CaloECorrection/CaloCorrectionBase :
    o add energy offset correction (allowing sin(theta) dependency to have
      transverse energy correction)
    o add possible non-linear dependency to Prs corrections
  . CaloXCorrection : skip correction in case of negative energy
  . ClusterCovarianceMatrixTool :
    o Allow for covariance parametrization per Calo area
    o Improve DB access
  . SubClusterSelectorTool      : improve DB access
  . add Hcal default settings for Jet-related reconstruction
  . CaloShowerOverlapTool : add protection in case of missing ShowerProfile
  . CaloMergedPi0 : 
    o add minimal ET cut on splitPhoton
      (applied to both cluster and corrected CaloHypo)
    o Fix property name causing a crash in Moore 
  . Photon/Electron/MergedPi0 CaloHypos : skip CaloHypos with negative energy
  . CaloSelectCluster : add a cut on entries.size()
  . fix electronPt/photonPt cluster thresholds for CaloHypo production
  . fix default parameters for Covariance estimation
	. add new specific ClusterSelector's : 
    SubClusterSelector2x2 , SubClusterSelectorSwissCross.h
  . Add a generic tool to access condDB and tag the clusters :
    SubClusterSelectorTool.h
  . CaloShowerOverlapTool : new tool to substract overlap energy in cluster pair
    (note : CaloSharedCellAlg.cpp is now obsolete)
  . CaloMergedPi0 & CaloShowerOverlap  : mergePi0 reconstruction and 
    ClusterOverlap based on the above tool (CaloMergedPi0Alg is now obsolete)
  . Adapt to change in cluster masking : CaloClusterizationTool, 
    SubClusterSelectorBase, CaloClusterCovarianceAlg, SubClusterSelector3x3,
    ClusterCovarianceMatrixTool
  . CaloCorrectionBase  : map new corrections and implement generic DB access for
    cluster masks                   
  . CaloSCorrection.cpp : add new Alexis' correction

- In Calo/CaloTools v6r9
  . NeutralIDTool.{cpp,h}       : (new) implementation for MLP-based neutralID
  . CaloHypoEstimator.h, GammaPi0SeparationTool.h : update against reco changes
  . GammaPi0SeparationTool :
    o improve & speed-up the evaluation of Prs-related variables 
    o protect against unphysical value

- In Muon/MuonTrackRec v3r11
  . New tool MuonPadFromCoord(IMuonPadRec) to bypass the need for raw data banks
    in MuonPad object reconstruction
  . init MuonTrackMomRec tool at each start of run
  . adding more missing formal initializers

- In Pr/PrAlgorithms v1r13
  . Add Histograms in PrSeedingXLayers.
    Uncomment #DEBUG_HISTO in PrSeedingXLayers.h and recompile before running. 

- In Pr/PrPixel v1r8
  . Move bulk of debugging histograms from PrPixelTracking to new algorithm 
    PrPixelMonitor.
  . Stop search for pairs two stations earlier.
  . PrPixelTrack: remove unused member m_backward and functions first/lastModule.
  . Don't recompute straight-line fit parameters progressively for each new hit,
    but only when requested explicitly (PrPixelTrack::fit).
  . Use auto iterators.

- In Rec/ChargedProtoANNPID v2r7
  . Add support for a new MC12TuneV3 network tune. 
    Default for now is still MC12TuneV2.
  . Add a new tool that provides access to the ANNPID for a given ProtoParticle.

- In Rec/GlobalReco v6r48
  . NeutralProtoPAlg :
    o Always store a neutral PID's value (default value = -1 when not available)
    o Add new neutralID I/O to neutral info
    o Reorganize additionalInfo() storage
  . NeutralProtoParticleAddNeutralID.{cpp,h} : new algorithm to re-evaluate the
    NN-based neutralID directly using protoP info (to be used in DV)

- In Rec/LumiAlgs v9r4
  . Expose ILumiIntegrator interface to python 
    This makes it possible to get lumi and mu values per run in gaudipython job.
  . Add example for gaudipython usage of mu calculation in jobs directory

- In Rec/RecInterfaces v1r3
  . Add a new tool interface that provides access to the ANNPID variables.

- In Rich/RichHPDImageAnalysis v1r14
  . Removed duplicate dictionary entries.

- In Rich/RichRecSys v5r3
  . Disable Aerogel for Run II DataTypes (2015 onwards).

- In Rich/RichRecTrackTools v1r37
  . Retire the (incomplete and never used) class
    RichDetailedTrSegMakerFromRecoTracksStateProvider.
  . Extend the class RichDetailedTrSegMakerFromRecoTracks to dynamically use an
    instance of the TrackStateProvider tool to create missing track states as
    needed. Restores the ability of the RICH reconstruction to run in tracks
    saved to DSTs, which was broken when the DST format was updated to purge
    the tracks of states not needed downstream.

- In Tf/PatKernel v2r7
  . Improve memory layout of PatFwdHit

- In Tf/PatVelo v3r31
  . Prevent FPE when refitting a cheated PR track

- In Tf/TfKernel v2r25
  . replace hitpointer containers and bool arrays in UT station manager
  . replace 3D,2D and 1D arrays of bool with a dedicated bit array
  . Strip spurious entry from the rootmap (ROOT 6 problem).
  . Change hitpointer container layout in T and TT station managers: replace
    3D,2D and 1D arrays of vectors by single vector + arrays of indices.
    This improves timing of eg. PatForward by something in between 5% and 10%.
  . Fix off-by-one beyond-bounds bug when zero-ing the indices (identified
    very clearly by clang!)

- In Tr/TrackFitEvent v6r2
  . VPMeasurement: modify constructor, passing PixelPositionInfo directly 
    instead of cluster position tool.

- In Tr/TrackMonitors v2r3
  . Added extra histrograms to TT(IT)TrackMonitor for resolution studies.
    Usage controlled by additional flags (false by default).
  . Renamed minNumITHits property to minNumTTHits in TTTrackMonitor

- In Tr/TrackTools v5r3
  . VPMeasurementProvider: follow change in VPMeasurement constructor.

- In Velo/VeloRecMonitors v2r29
  . Fix divide by 0 FPE in VeloTrackMonitorNT

2014-06-10 RecSys v16r3

This version uses Gaudi v25r2, LHCb v37r3 and Lbcom v15r2p1

- Packages modified: Calo/CaloPIDs v5r18, Calo/CaloTools v6r8, Muon/MuonID v9r11,
    Pr/PrAlgorithms v1r12, Pr/PrMCTools v2r3, Rec/LumiAlgs v9r3
    Rich/RichAlignment v1r9, Rich/RichRecPhotonTools v1r15, 
    Rich/RichRecTools v4r25, Tf/PatAlgorithms v4r33

- In Calo/CaloPIDs v5r18
  . CaloTrackMatch.h : 
    o Remove unused i_updateField() declaration
    o Fix some unprotected StatusCodes

- In Calo/CaloTools v6r8
  . GammaPi0SeparationTool.cpp : fix FPE

- In Muon/MuonID v9r11
  . GetArrival.cpp:
    o Remove redundant printout of properties from constructor, fixes unprotected
      debug warnings
    o Document properties using third argument of setProperty instead of comments
  . Call the base class initialize and finalize in various tools

- In Pr/PrAlgorithms v1r12
  . Introduce flag in 'buildGeometry' of PrFTHitManager that ensures that the 
    geometry is only built once. 
  . Add doxygen comments.
  . Fix unchecked StatusCode and unprotected debug()s in PrFTHitManager.

- In Pr/PrMCTools v2r3
  . Fix small bug in PrPlotFTHits.cpp with PrFTHitManager

- In Rec/LumiAlgs v9r3
  . Configuration for Brunel: prepare for 25 ns filling schemes in 2015 and beyond
    (filterFillingScheme)
  . Add access functions to IntegratorTool datastructure for mu calculation
  . (GetIntegratedLuminosity) add mu per raw file from the FSRs as a root ntuple
    activated by LumiIntegrateFSR('IntegrateBeamCrossing').AccumulateMu = True
    one ntuple for corrected values and one for raw values
    corrsponding mods to LumiIntegrateFSR and LumiIntegrator 
  . More sanity checks in LumiIntegrateFSR to handle empty timeSpanFSRs 
    (possible problem with legacy reco versions after merging)

- In Rich/RichAlignment v1r9
  . Update various alignment scripts and data files.
  . Protect some debug printout behind if statements.

- In Rich/RichRecPhotonTools v1r15
  . PhotonRecoUsingQuarticSoln :
    o Protect against an FPE due to asin(out of range number).
    o Use fast VDT asin and acos.
  . Fix a FPE in zsolve_quartic_RICH.h due to sqrt(-number).

- In Rich/RichRecTools v4r25
  . Use VDT for various math functions.

- In Tf/PatAlgorithms v4r33
  . PatFwdPlaneCounter: 
    o Add 'checkingPolicy' so that, if wanted,  the 'isSelected' check can be
      disabled (at compile time) in case it is a-priori known to always return
      true. Default policy (for backwards compatibility) is to perform the check
      for isSelected.
    o Generalize checkingPolicy to allow generic, stateful predicates;
    o Employ 'empty base class' optimization to ensure that object size 
      is unaffected when a stateless predicate is provided.
  . PatFwdTool:
    o Optimize rl-ambiguity resolution, 
    o Unify with{,out} B-field computation of X @ reference plane
    o Use PatFwdPlaneCounter::addUntilEnough 
    o Use a predicated PatFwdPlaneCounter to count planes for selected hits in 
      specified region; reduce code duplication
  . PatForwardTool:
    o combine find_range and make_single_zone into a single call to a mem_fn 
      of a 'sentinel' object which controls the peak finding loop.
    o better utilization of above 'sentinel' in loop control
    o Use lambdas to hoist invariants out of loops
    o Consolidate x searchwindow determination in single function
    o Improve x search window computation
  . PatFwdRegionCounter: remove virtual destructor, add 'final' qualification.
  . PatFwdTrackCandidate,PatFwdTool : improve const-correctness 
  . PatFwdTrackCandidate,PatFwdFit{Line,Parabola} : consolidate data members in
    std::array
  . PatFwdPlaneCounter: add addHitsUntilEnough, always invoke addHits internally

2014-05-13 RecSys v16r2

This version uses Gaudi v25r1, LHCb v37r2 and Lbcom v15r2

- Packages modified: Calo/CaloMoniDst v5r17, Calo/CaloPIDs v5r17, 
    Pr/PrAlgorithms v1r11, Pr/PrMCTools v2r2, Pr/PrPixel v1r7, Pr/PrVeloUT v2r2,
    Rec/ChargedProtoANNPID v2r6, Rec/GlobalReco v6r47, Rec/LumiAlgs v9r2,
    Rec/RecAlgs v3r1, Rec/RecConf v2r17, Rec/RecInterfaces v1r2,
    Rich/RichRecPhotonTools v1r14, Rich/RichRecQC v2r66, Rich/RichRecSys v5r2,
    Tf/PatAlgorithms v4r32, Tf/PatVeloTT v4r2, Tf/TrackSys v9r1,
    Tr/TrackFitEvent v6r1, Tr/TrackFitter v5r1, Tr/TrackMCTools v3r9,
    Tr/TrackMonitors v2r2, Tr/TrackProjectors v3r1, Tr/TrackTools v5r2

- Modified configurables test to only check configurables in this project.
  See task #50698

- In Calo/CaloMoniDst v5r17
  . Fix unprotected debug() warnings:
    o In CaloMoniAlg.cpp: use setHistoTopDir in initialize() instead of
      setProperty("HistoTopDir") in constructor. Removes need for debug() in 
      constructor
    o CaloEFlowAlg.cpp: remove unnecessary debug() in constructor

- In Calo/CaloPIDs v5r17
  . Remove debug() from CaloTrackAlg::_setProperty and CaloTrackTool::_setProperty
    This function is called in the constructor, when the OutputLevel is not
    initialised
  . CaloTrackMatch.{h,cpp} : the X-correction for the e+, e- track-cluster
    matching for each zone of the ECAL is added. Parameters of the correction are
    loaded from the CondDB by default, added protection if the Conditions are
    missing.

- In Pr/PrAlgorithms v1r11
  . Adapted to the new version of FTChannelID having:
    1) mat() instead of quarter()
    2) a different constructor with 5 instead of 4 arguments
  . Fix clang33 compilation failures in PrPlaneCounter.h, due to 
    http://stackoverflow.com/questions/16985687/
  . Changed FTRawCluster to FTLiteCluster in PrFTHitManager
  . Removed bilayer code from PrFTHitManager.cpp
  . Changed NULL to nullptr

- In Pr/PrMCTools v2r2
  . Fixed CMake configuration.
  . First commit of PrPlotFTHits, an algorithm that makes various plots for
    hit-related quantities in the FT.
  . Rename PatPixelDebugTool (moved here from Tr/TrackMCTools)
    to PrPixelDebugTool and make it inherit from PrDebugTool.
  . Remove linking based on VPLiteClusters from PrLHCbID2MCParticle.
  . Rename FTRawCluster to FTLiteCluster in PrLHCbID2MCParticle

- In Pr/PrMCTools v2r2, Pr/PrPixel v1r7 
  . Follow changes in VPChannelID format (r171869).
  . Follow changes in VPCluster format (removal of VPLiteCluster, r170715)

- In Pr/PrPixel v1r7
  . Remove unused functions removeHit, all3SensorsAreDifferent from PrPixelTrack
  . clang-format
  . Remove slope correction option
  . Replace Tf/PatKernel by Pr/PrKernel in CMakeLists.txt and cmt/requirements
  . Use IPrDebugTool instead of IPatDebugTool.
  . Change condition for rebuilding geometry (following r171666).
  . Change default to unlimited cluster size when running on Super Pixel raw
    banks.
  . Help the compiler with out of order execution and constness in various places.
  . Avoid calling into sqrt() in hot PrPixelTracking::bestHit() method. 
  . Avoid mixing double and float (this is very expensive!).
  . Cache global x of first hit on a module.
  . Change default value of RunOnRawBanks to True.
  . Assign proper keys when inserting clusters in container.

- In Pr/PrPixel v1r7, Rec/RecAlgs v3r1
  . Use VPClusters instead of VPLiteClusters.

- In Pr/PrVeloUT v2r2
  . Added method to pass VELO tracks to VeloUT container

- In Rec/ChargedProtoANNPID v2r6
  . Rework a little the tuple tool, to allow it to be used by a DecayTreeTuple
    tool in DaVinci.
  . Add track DOCA variable.
  . Add support for multiple cut text files.
  . Add MCVertex information to training tuples.

- In Rec/GlobalReco v6r47
  . Adapt to changes in the ANNPID tuple monitor.

- In Rec/LumiAlgs v9r2
  . Update eos paths and add PRConfig to requirements

- In Rec/RecAlgs v3r1
  . Change FTRawCluster to FTLiteCluster in RecSummaryAlg.

- In Rec/RecConf v2r17
  . Add new OnlineMode property to RecSysConf and RecMoniConf Configurables.
    Propagated to Rich configurables to tune the reconstruction and monitoring
    as appropriate for Online Brunel 

- In Rec/RecInterfaces v1r2
  . Rework the tool interface, to allow it to be used by a DecayTreeTuple tool.

- In Rich/RichRecPhotonTools v1r14
  . Separate out the corrections for intrinsic biases in the various photon
    reconstruction tools from the job option that allows an artificial shift to
    be applied. Allows the various different methods to all use the same data
    n-1 scale factors (computed for the default Offline Quartic tool).

- In Rich/RichRecQC v2r66
  . Add new OnlineMode property. Tunes the monitoring so it can be used for the
    Online HPD and refractive index run by run calibrations.
  . Fix unprotected debug in RichTracklessRingMoni::initialize()

- In Rich/RichRecSys v5r2
  . Add new OnlineMode property. Tunes the reconstruction so it can be used for
    the Online HPD and refractive index run by run calibrations.
  . Explicitly set the CKThetaQuartzRefractCorrections to 0,0,0 for real data.
    Systematic differences between different photon reconstruction methods now
    handled seperately.

- In Tf/PatAlgorithms v4r32
  . PatFwdTool: 
     o consolidate find_single_zone 
     o replace some loops by std::for_each
     o make sortQuality a constexpr literal
     o use override
     o use Gaudi::extends2
     o Factor out and lift max finding, range extension
     o Be more pedantic about some properties
  . Added option to flag track seeds and their ancestors as used
  . Added counter for number of tracks produced by the forward tracking
  . Fixed bug on how preselection on pT is applied.
  . Fixed handling of the kickRange
  . PatForwardTool: 
    o Added options for use of charge and momentum estimate from VeloTT
    o Trivial optimizations in control flow
    o use in-situ remove_if/erase instead of swapping between vectors when
      removing candidates
    o factor out some simple computations
    o lift the range finding
  . Wrong sign search window
  . PatFwdFitLine, PatFwdFitParabola: declare final, remove virtual destructor
  . PatFwdTrackCandidate:
    o use perfect forwarding in  c'tor
    o use default copy ctor, dtor, assignement, move ctor/assignment 
    o Compactify, add noexcept move assignment and copy c'tor
  . PatForward : factor out and optimize overlap count, clarify overlap logic
  . PatSeedingTool: replace loop by std::copy_if
  . PatSeedTool: various little fixes which do not hurt, but improve timing by
    12% for PatSeeding and 5% for TrackBestTrackCreator, with marginal 
    improvements to efficiencies and ghost rate of the Seeding
    o some code refactoring to increase code reuse
    o have a clear bail-out strategy for fits which do not converge, propagate
      that error to callers
    o fit in xz projection now uses cubic term from the start (used to be
      neglected initially because the full fit in both projections will take it
      into account later)
    o adjust both quadratic and cubic terms of underlying track in fit
      (slightly faster convergence, better tracks)
    o Fix fix introduced in r168699 to work around an FPE. This new version of
      the code helps to marginally reduce the ghost rate while still avoiding the
      FPE

- In Tf/PatVeloTT v4r2
  . Add VDT dependency in CMakeLists.txt
  . VeloTTHybrid: Completely rewritten implementation of VeloTT. New track 
    finding. New Regions. New hybrid modes.

- In Tf/TrackSys v9r1,
  . Add PrPixelStoreClusters to TrVeloSeq
  . Add VPClusterLinker to MCLinksTrSeq 

- In Tr/TrackFitEvent v6r1
  . Adapted FTMeasurement to work with FTLiteClusters
  . Removed bilayer code from FTMeasurement.cpp

- In Tr/TrackFitEvent v6r1, Tr/TrackFitter v5r1
  . Replace VPLite measurement type by VP measurement type

- In Tr/TrackFitter v5r1, Tr/TrackMonitors v2r2, Tr/TrackProjectors v3r1
  . Add support for VP measurement type

- In Tr/TrackMCTools v3r9
  . Move PatPixelDebugTool to Pr/PrMCTools.
  . DebugTrackingLosses: follow changes in VPChannelID format (r171869).

- In Tr/TrackMonitors v2r2, Tr/TrackProjectors v3r1
  . Follow removal of VPLite measurement (r170832, r170821).

- In Tr/TrackTools v5r2
  . VPExpectation: follow change in DeVPSensor::isInActiveArea return type 
    (r172319), remove support for obsolete geometry, clang-format
  . Remove VPLiteMeasurementProvider
  . Add VPMeasurementProvider
  . Adapted to the new constructor of FTChannelID having 5 instead of 4 arguments
    Affected file: FTHitExpectation.cpp
  . Adapted FTMeasurementProvider to work with FTLiteClusters, added binary
    search to find LiteCluster corresponding to channelID
  . Removed bilayer code from FTMeasurementProvider.cpp

2014-03-26 RecSys v16r1

This version uses Gaudi v25r1, LHCb v37r1 and Lbcom v15r1

- Packages modified: Calo/CaloMoniDst v5r16, Calo/CaloPIDs v5r16,
    Calo/CaloReco v5r19, Muon/MuonID v9r10, Pr/PrAlgorithms v1r10,
    Pr/PrMCTools v2r1, Pr/PrPixel v1r6, Pr/PrVeloUT v2r1, Rich/RichRecQC v2r65,
    Tf/FastVelo v1r16, Tf/PatAlgorithms v4r31, Tr/TrackMCTools v3r8,
    Tr/TrackMonitors v2r1, Tr/TrackTools v5r1, Tr/TrackUtils v1r55

- In Calo/CaloMoniDst v5r16, Calo/CaloPIDs v5r16, Calo/CaloReco v5r19
  . python/Configuration.py : propagate OutputLevel value to calo sequences only
    when the property is explicity set

- In Calo/CaloReco v5r19
  . python/Configuration.py : deactivate Spd/Prs Decoders in DecoderDB when
    noSpdPrs=True
  . add DAQSys dependency
  . CaloMergedPi0Alg : remove default tools property triggering Prs/Spd decoding

- In Muon/MuonID v9r10
  . Suppress warnings in the default case. Move the warning to an info message.

- In Pr/PrAlgorithms v1r9p1, v1r10
  . Added binary searches in PrForwardTool and other small changes to use new
    PrPlaneCounter, simplifications in PrGeometryTool
  . Added doxygen documentation to PrForwardTrack, replaced call by value by call
    by reference
  . Added doxygen documentation to PrPlaneCounter, changed PrForwardTracking 
    to make it faster and more standardized
  . Changes in PrPlaneCounter which make it faster.
  . Fix unstable sorting in PrSeedingXLayers.

- In Pr/PrMCTools v2r1, Pr/PrPixel v1r6, Tr/TrackMCTools v3r8
  . Follow changes in VPCluster format and path 

- In Pr/PrPixel v1r6
  . Store 3D point information when creating VPClusters.
  . Improved documentation and clean up of new code.
  . Prepared for upcoming new event model and cluster storage after track finding
  . Introduced runtime switch for trigger or offline configuration. The pattern
    recognition results are the same in both cases, but the clusters put on
    the TES will potentially be different, depending on the maximum cluster
    size passed to the track finding algorithm.
  . Added code to run the tracking directly from raw banks. This is completely
    transparent; the bank version determines how the bank is interpreted.
  . Bug fix in PrPixelHitManager: the size of of clusters in super pixel
    patterns was off by one (legacy debugging code).
  . Bug fix in PrPixelClustering: matched super pixel clusters sometimes
    received the wrong sensor column number (wrong grouping of integer divisions).
  . Simplified generic clustering code in PrPixelClustering
  . Use new features of DeVPSensor to speed up 3D point building.
  . Additional various optimizations (cache global transforms, PrPixelModule 
    object pool ...).
  . Added possibility to do clustering and 3D hit building directly from
    super pixel raw banks.
  . Added clustering algorithm creating VPLiteClusters from super pixel raw
    bank.

- In Pr/PrVeloUT v2r1
  . Optimised VeloUT for speed, restructured code layout, added interface

- In Rich/RichRecQC v2r65
  . Clean up Rich::Rec::MC::RecoQC a little using c++11 features.

- In Tf/FastVelo v1r16
  . Fixed rare FPE in phi cluster weights

- In Tf/PatAlgorithms v4r31
  . PatForwardTool: factor out common code in buildXCandidatesList
    and fillStereoList into make_single_region
  . PatFwdTool: move check on B-field out of loop
  . various C++11 changes resulting in O(5%) speedup of PatForward in Hlt2.
  . replace boost::array with C++11 std::array, BOOST_FOREACH with C++11 
    range-based for, and boost::assign::list_of with C++11 list initializers

- In Tr/TrackMonitors v2r1
  . Some improvements to STEfficiency.
  . Add STCoordinates, OTCoordinates, STYAlignMagOff, OTYAlignMagOff.

- In Tr/TrackTools v5r1
  . Added expectation FT class

- In Tr/TrackUtils v1r55
  . Add new property MassOffset to ChargedParticlesToTracks.
  . Add new properties to allow TrackHitAdder to be used for Y alignment.


2014-02-20 RecSys v16r0

This version uses Gaudi v25r0, LHCb v37r0 and Lbcom v15r0
Contains all changes that were used for Upgrade Tracking TDR results 

- Packages removed:  Pr/PrVL (obsolete)
- Packages renamed:  Tf/PatPixel -> Pr/PrPixel
- Packages modified: Muon/MuonID v9r9, Muon/MuonInterfaces v1r6,
    Pr/PrAlgorithms v1r9, Pr/PrFitParams v2r0, Pr/PrKernel v1r4,
    Pr/PrMCTools v2r0, Pr/PrPixel v1r5, Pr/PrUtils v2r0, Pr/PrVeloUT v2r0,
    Rec/ChargedProtoANNPID v2r5, Rec/LumiAlgs v9r1, Rec/RecAlgs v3r0,
    Rec/RecConf v2r16, Rich/RichRecPhotonTools v1r13, Rich/RichRecQC v2r64,
    Rich/RichRecSys v5r1, Rich/RichRecTrackTools v1r36, Tf/FastVelo v1r15,
    Tf/PatAlgorithms v4r30, Tf/TrackSys v9r0, Tr/PatChecker v3r15,
    Tr/TrackCheckers v4r20, Tr/TrackFitEvent v6r0, Tr/TrackFitter v5r0,
    Tr/TrackKernel v2r0, Tr/TrackMCTools v3r7, Tr/TrackMonitors v2r0,
    Tr/TrackProjectors v3r0, Tr/TrackTools v5r0, Tr/TrackUtils v9r2,
    Velo/VeloRecMonitors v2r28

- In Muon/MuonID v9r9
  . Removed unneeded calls to foiX and foiY in MuonIDAlg::setCoords.
    This optimisation should have no implications except for performance
    improvement.
  . Fixed problem with ROOT 6 (https://sft.its.cern.ch/jira/browse/ROOT-5985): 
    For non-muon probability use ROOT::Math::landau_cdf. User function land()    
    removed. For muon probability continue to use TF1 integral, but now only 
    call it if DLL_flag == 1. 

- In Muon/MuonInterfaces v1r6
  . Protect against sqrt(-number) in MuonHit. 

- In Pr/PrAlgorithms v1r9
  . Update in PrSeedingXLayers, to represent code used for Upgrade Tracking TDR. 
  . Remove PrAddUTCoord, was replaced by PrAddUTHitsTool some time ago.
  . Fix several floating point exceptions
  . Add in small wrong side window.
  . Replace "get" with "getIfExists" in PrMatch.cpp

- In Pr/PrKernel v1r4
  . Add IPrCounter as interface for PrCounter and PrUTCounter

- In Pr/PrMCTools v2r0
  . Update PrCounter to avoid FPE.
  . Update PrChecker with 'electron' flag, to take electrons into account or not.
  . Comment unused member variables in PrChecker.
  . Updated PrCounter and PrChecker: Added trigger condition and new efficiency
    categories. Uses new IPrCounter interface.
  . Replace 'get' with 'getIfExists' in PrTrackAssociator to allow better behaved
    exiting of the code if the container does not exist

- In Pr/PrMCTools v2r0, Rec/ChargedProtoANNPID v2r5, Tr/PatChecker v3r15,
     Tr/TrackCheckers v4r20, Tr/TrackMCTools v3r7
  . Fix behaviour of flag 'fromB' to only include B baryons and mesons, and not
    particles from string fragmentation of b quarks

- In Pr/PrPixel v1r5
  . Renamed PatPixel* to PrPixel*
  . Bugfix (chi2 cut on short tracks was not applied)
  . Remove unused functions from PrPixelTracking
  . Restructured code in hottest part of PatPixelTracking
    Precompute the answer to common lookups like whether a module has any hits or
    the value of the largest X hit.

- In Pr/PrVeloUT v2r0
  . Fixed small bug in clustering, change state to LastMeasurement
  . Changed how x of state atTT is assigned
  . Changed how clustering is done and resulting changes to algorithm.

- In Rec/LumiAlgs v9r1
  . Update test references for decoder changes, update to use PRConfig for one
    test to fix castor: problem
  . Adapt test to new properties of RawEventDump

- In Rec/RecConf v2r16, Rich/RichRecSys v5r1, TrackSys v9r0
  . Add support for 'pA' SpecialData type, to set special GECs developed for
    Reco14r1 reprocessing of 2013 heavy ion data

- In Rich/RichRecPhotonTools v1r13, Rich/RichRecTrackTools v1r36
  . Add support for Upgrade geometries to RichCKthetaBandsPhotonPredictor.
  . Remove some unused data members from RichPhotonRecoUsingCKEstiFromRadius.

- In Rich/RichRecPhotonTools v1r13, 
  . Adaptation for using a mixed set of PMTs (large+standard pixel size) in
    RICH2 for upgrade.

- In Rich/RichRecQC v2r64
  . Fixed a bug in RichRecQCConf exposed by the fix to Gaudi bug #103803.

- In Rich/RichRecSys v5r1
  . Add an explicit tuning of the photon reconstruction for the Upgrade.

- In Rich/RichRecTrackTools v1r36
  . Remove some hacks neccessary when mixing c++11 and non-c++11 builds.

- In Tf/FastVelo v1r15
  . Fixed harmless FPE when zero phi clusters in overlap region checking

- In Tf/PatAlgorithms v4r30
  . Fix floating point exception in PatAddTTCoord (negative values in sqrt).

- In Tf/TrackSys v9r0
  . Add dependency of TrackSys on DecodeRawEvent, task #50179
  . Follow renaming of PatPixelTracking to PrPixelTracking

- Tr/TrackMCTools v3r7
  . Protected against an FPE exception due to division by zero.
  . Add upgrade detector linking to LHCbIDsToMCHits.

- In Tr/TrackMonitors v2r0
  . TrackMonitor: removed use of extrapolator; split residuals by x,y for pixel.
  . Fix some FPE exceptions

- In Tr/TrackUtils v9r2
  . Removed UT from TrackHitAdder since it broke the alignment sequence.

- In Velo/VeloRecMonitors v2r28
  . Fix divide by 0 FPE in VeloTrackMonitor.
  . Uncommented hardcoded cuts for overlap-track selection

- In Pr/PrFitParams v2r0, Pr/PrMCTools v2r0, Pr/PrUtils v2r0, Pr/PrVeloUT v2r0,
     Rec/RecAlgs v3r0, Tf/TrackSys v9r0, Tr/TrackFitEvent v6r0,
     Tr/TrackFitter v5r0, Tr/TrackKernel v2r0, Tr/TrackMonitors v2r0,
     Tr/TrackProjectors v3r0, Tr/TrackTools v5r0
  . Remove support for VL

2013-12-11 RecSys v15r4

This version uses Gaudi v24r2, LHCb v36r4 and Lbcom v14r4

- Packages removed:  Rec/RecoUpgrade, Rec/RecoUpgradeMC (obsolete)
- Packages modified: Calo/CaloReco v5r18, Muon/MuonID v9r8, Pr/PrAlgorithms v1r8,
    Pr/PrKernel v1r3, Pr/PrMCTools v1r8, Pr/PrVeloUT v1r3, Rec/LumiAlgs v9r0,
    Rec/RecConf v2r15, Rich/RichRecBase v4r17, Rich/RichRecSys v5r0,
    Tf/FastVelo v1r14, Tf/PatAlgorithms v4r29, Tf/PatPixel v1r4, Tf/TrackSys v8r0,
    Tr/TrackCheckers v4r19, Tr/TrackInterfaces v4r26, Tr/TrackMCTools v3r6,
    Tr/TrackTools v4r27, Tr/TrackUtils v1r53

- In Calo/CaloReco v5r18
  .  python/CaloReco/Configuration.py : fix typo in CaloLines method.

- In Muon/MuonID v9r8
  . Avoid repeated calculation of index station * m_NRegion + region. 
  . Fixes for the No M1 upgrade studies setup: a few bugs to correctly pick the 
    station index and set FindQuality to false because Chi2MuIDTool is not yet 
    fixed to no M1 case. 

- In Pr/PrAlgorithms v1r8
  . Replace all 'Pat' track histories with 'Pr' track histories
  . Fix uninitialized pointers in various Pr Classes.
  . Introduce PrMatch / PrMatchTool, which are at the moment just copies of 
    PatMatch / PatMatchTool.
  . Introduce PrAddUTHitsTool, which is to replace PrAddUTCoord. The new tool is 
    basically a copy of the old one, but without keeping the non-uprade
    inheritance structure.
  . Put some speed improvements in PrSeedingXLayers
  . Implemented the new momentum dependent windows.

- In Pr/PrKernel v1r3
  . Fix initialize/finalize memory leak in PrHitManager

- In Pr/PrMCTools v1r8
  . PrCheatedVP: Follow change in channelToPoint syntax in DeVPSensor, 
    remove unused includes

- In Pr/PrVeloUT v1r3
  . Fix uninitialized pointers in PrVeloUT, change track history to PrVeloUT
  . Changed number of hits from 8 to 4, pick up LastMeasurement state.

- In Rec/LumiAlgs v9r0, Rich/RichRecSys v5r0, Tf/TrackSys v8r0 
  . Adapt to DecoderDB, this is a major change

- In Rec/RecConf v2r15
  . Fix bug in RecMoniConf, which caused crash when expertHistos were enabled and
    CheckEnabled was false.
  . Removed RecoUpgrade and RecoUpgradeMC from CMakeLists and cmt/requirements.

- In Rich/RichRecBase v4r17
  . Add support for upgrade track histories, remove PatVeloUT
    (was not used, will be replaced with PrVeloUT).

- In Tf/FastVelo v1r14
  . Fixed bug when making R cluster VELO tracks crossing sectors

- In Tf/PatAlgorithms v4r29
  . Fixed inconsistency PatFwdTool.cpp in fitStereoCandidate where a x layer 
    was marked as a stereo layer.

- In Tf/PatPixel v1r4
  . Removed unused variables, changed default values

- In Tf/TrackSys v8r0
  . Combine both velo decoders into one. No need for two algs if we need both
    sets of info anyway.
  . Turn off the other velo decoders, otherwise there is potentially a problem
    using DataOnDemand in DaVinci
  . Move matching algorithm to before the downstream in RecoUpgradeTracking.py,
    so that we are able to exclude hits used in match for the downstream.
  . Replace PatMatch with PrMatch in upgrade reco sequence
    (no performance difference).

- In Tr/TrackCheckers v4r19
  . Fixed eta range in TrackIPResolutionChecker

- In Tr/TrackInterfaces v4r26
  . Added IVPExpectation, which is a new interface to VP Expectation class 
  . Add IPrAddUTHitsTool.h, which is the new interface for the (renamed) tool
    that adds UT hits to long tracks.
  . Remove IAddUTClusterTool.h, as it was not used by any other class

- In Tr/TrackMCTools v3r6
  . Add upgrade detector linking to LHCbIDsToMCParticles.

- In Tr/TrackTools v4r27
  . Added the VP Expectation class

- In Tr/TrackUtils v1r53
  . Adapt to change in IANNSvc, Gaudi::StringKey, see task #48818
  . Add PrForward track history to TrackEventCloneKiller
  . Add upgrade histories to TrackFromDST

2013-10-25 RecSys v15r3

This version uses Gaudi v23r10, LHCb v36r3 and Lbcom v14r3

- Packages modified: Calo/CaloMoniDst v5r15, Calo/CaloPIDs v5r15
    Calo/CaloReco v5r17, Calo/CaloTools v6r7, Muon/MuonTrackRec v3r10,
    Pr/PrMCTools v1r7, Rec/GlobalReco v6r46, Rec/RecAlgs v2r15, Rec/RecConf v2r14,
    Tf/FastVelo v1r13, Tf/PatPixel v1r3, Tf/TrackSys v7r13, Tr/TrackKernel v1r18

- In Calo/CaloMoniDst v5r15
  . python/CaloDAQ/Monitors.py & Configuration.py :  possibility to set-up a
    configuration without active Spd/Prs  (NoSpdPrs =  flag)
  . src/  :  protect monitoring algorithms against the upgrade configuration with
             no Spd/Prs

- In Calo/CaloPIDs v5r15
  . python/CaloPIDs/*.py : possibility to set-up a configuration without active
                           Spd/Prs  (NoSpdPrs =  flag)

- In Calo/CaloReco v5r17
  . python/CaloReco/*.py : 
    o possibility to set-up a configuration without active Spd/Prs
      (NoSpdPrs =  flag)
      . Configure the caloReco/Pids algorithms in order they don't access Prs/Spd
        detectorElement nor Digits
      . Remove any component related to Prs/Spd in the reconstruction sequence : 
        digits decoding via CaloDigitsConf, cluster filtering, photonID,
        pi0/gamma separation, neutral/charged ID
    o NoSpdPrs flag propagated to CaloPIDs configuration via CaloProcessor and
      CaloDigitsConf configured with [Ecal,Hcal] only 
  . src/CaloMergedPi0AlgAlg :  protect against accessing Prs/Spd digits when they
                               don't exist

- In Calo/CaloTools v6r7
  . CaloGetterTool, Calo2Calo, GammaPi0SeparationTool, CaloHypo2Calo :
    protect against the upgrade configuration with no Spd/Prs
  . Add CaloRelationsGetter implementation
  . Instrument CaloHypoEstimator with CaloRelationsGetter to access relations
    table

- In Muon/MuonTrackRec v3r10
  . Adding missing constructor data member initializers in MuonTrackMomRec

- In Pr/PrMCTools v1r7
  . Make sure PrTrackAssociator clears a linker table before filling it
  . Fix behaviour of flag 'fromB' in PrChecker to only include B baryons and
    mesons, and not particles from string fragmentation of b quarks
    (follow-up of change in Gauss, r159594)

- In Rec/GlobalReco v6r46
  .  python/GlobalReco/Configuration.py : possibility to set-up a configuration
     without active Spd/Prs  (NoSpdPrs =  flag)

- In Rec/RecAlgs v2r15
  . TimingTuple: fix warning 
    TimingTuple       WARNING TimingTuple:: Tuple 'TimingTuple' 'unsignedlong' has different sizes on 32/64 bit systems. Casting 'EventInSequence' to 'unsigned long long' 

- In Rec/RecConf v2r14
  . Configuration.py: Added lines to accommodate NoSpdPrs.
  . RecSysConf.py : make use of CaloProcessor configure the calorimeter Reco&PIDs
                    sequence
  . RecMoniConf.py : adapt to change in CaloMoniDST

- In Tf/FastVelo v1r13
  . Fixed bug in container access in FastVeloHitManager.cpp when more than 
    10k clusters in the event (needed for the pA data). 

- In Tf/PatPixel v1r3
  . Changed default value of UseSlopeCorrection to False

- In Tf/TrackSys v7r13
  . Issue a warning if a non-default track type is used.

- In Tr/TrackKernel v1r18
  . Improved speed of TrackStateVertex

2013-10-02 RecSys v15r2

This version uses Gaudi v23r10, LHCb v36r2 and Lbcom v14r2

- Packages removed:  Sft/FstTools v1r0 - No longer maintained within Rec
- Packages modified: Muon/MuonID v9r7, Muon/MuonInterfaces v1r5,
    Pr/PrAlgorithms v1r7, Pr/PrMCTools v1r6, Rec/ChargedProtoANNPID v2r4,
    Rec/GlobalReco v6r45, Rec/LumiAlgs v8r2, Rec/RecoUpgrade v3r2,
    Rec/RecoUpgradeMC v2r2, Rich/RichGlobalPID v3r21,
    Rich/RichRecMCAlgorithms v1r5, Rich/RichRecPhotonTools v1r12,
    Rich/RichRecQC v2r63, Rich/RichRecSys v4r8, Rich/RichRecTools v2r24,
    Tf/PatAlgorithms v4r28, Tf/PatPixel v1r2, Tf/PatVelo v3r30,
    Tf/TrackSys v7r12, Tr/TrackFitEvent v5r24, Tr/TrackKernel v1r17, 
    Tr/TrackMCTools v3r5, Tr/TrackMonitors v1r46, Tr/TrackTools v4r26,
    Velo/VeloRecMonitors v2r27

- In Muon/MuonID v9r7
  . Chi2MuIDTool: Fixed problem in addLHCbIDsToMuTrack when running without M1 
  . Correct some comment lines
  . Change some printout from info to debug.
  . Adapt MuonIDAlg to work also in the no M1 setup.

- In Muon/MuonInterfaces v1r5
  . Remove unused variable in MuonHit.h

- In Pr/PrAlgorithms v1r7
  . Cleaning the code in PrFTHitManager.cpp

- In Pr/PrMCTools v1r6
  . Add VPDet dependency
  . Added cheated PR for VP detector
  . Split polynomial fit function for velo + VP
  . Replace VPChannelID::sensor() by VPChannelID::module()
  . Removed unused writeSeedHistos from PrChecker

- In Rec/ChargedProtoANNPID v2r4
  . Update ChargedProtoANNPIDMoni and ChargedProtoANNPIDTrainingTuple to not
    terminate the processing if the input ProtoParticles are missing.
    Instead just print a warning.

- In Rec/GlobalReco v6r45
  . Update ChargedProtoParticleMoni and ChargedProtoParticleTupleAlg to not 
    terminate the processing if the input Tracks or ProtoParticles are missing. 
    Instead just print a warning.

- In Rec/LumiAlgs v8r2
  . Fix bug in TimeAccounting.cpp to avoid writing multiple timeSpanFSRs 
  . Update freezer input files to use existing files in eos
  . Update unit test references
  . Update db tags in tests

- In Rec/RecoUpgrade v3r2 Rec/RecoUpgradeMC v2r2, Tr/TrackFitEvent v5r24,
     Tr/TrackTools v4r26
  . Follow VP detector element and channel ID changes (r162190, 162191)
  . Replace direct calls to DeVPSquareType

- In Rich/RichGlobalPID v3r21
  . Remove incorrect inline specification from LikelihoodTool::sigFunc(...)

- In Rich/RichRecMCAlgorithms v1r5
  . DumpRichHitsToTextFileAlg.cpp + DumpRichTracksToTextFileAlg.cpp
    Update ofstream opening options to ovewrite existing files

- In Rich/RichRecPhotonTools v1r12
  . Move some calculations from the event loop to initialize().
  . RichPhotonSignalGaussProb.{h,.cpp} updated to use with large Pixel PMTs
  . Introduced a scalefactor for the pixel signal calculation so that one can 
    give different weights to Rich2 signals compared to Rich1 signals for 
    example. This is applied only in the case of PMTs.
  . Updated RichPhotonSignalGaussProb.cpp to support pmt reconstruction in 
    the RICH upgrade.
    Switches are set up so that it can run with hpd and pmt configurations.
  . Use vdt::fast_exp in PhotonSignalGaussProb.

- In Rich/RichRecQC v2r63
  . Add some specific tuning options for DataType="Upgrade".
    Currently just disables the use of Aerogel.

- In Rich/RichRecSys v4r8
  . Import some Upgrade specific tunings and tweeks. Applied automatically
    when the DataType property is set to "Upgrade". Work in progress

- In Rich/RichRecTools v2r24
  . Minor fixes to RichTabulatedSignalDetectionEff.cpp and 
    RichNominalTabulatedSignalDetectionEff.cpp to use with pmts.
  . Update RichRecBackgroundEstiAvHPD.cpp and 
    RichNominalTabulatedSignalDetectionEff.cpp to support the RICH upgrade 
    reconstruction with pmts. Switches are set up that it can run with
    hpd configuration and pmt configuration.

- In Tf/PatAlgorithms v4r28
  . Fixed bug in PatSeedingTool which disabled protection against hot events 
    in the OT when disabling protection against hot events in IT

- In Tf/PatPixel v1r2
  . Renamed PatPixelSensor to PatPixelModule to reflect new geometry
  . Added flag to use slope dependent correction in position calculation or not
  . Some cleanup in PatPixelTracking 
  . Modifications for use with new XML and detector element hierarchy
  . Moved track extrapolation to PatPixelTracking
  . Temporarily removed trackUpstream method
  . Moved position calculation to PatPixelHitManager 
  . Removed printf statements from helper classes
  . Fix uninitialised counter in PatPixelHitManager.h
  . Removed some obsolete code/commented out PatPixelSensor code that is not used
  . Changed Maximum scattering parameter to a GaudiParameter (MaxScattering)
  . Follow VP detector element and channel ID changes (r162190, 162191)
  . Tracks fit on multiple scattering model, instead of a straight line,
    improves hit efficiency (and IP resolution as a result)
  . Replace direct calls to DeVPSquareType 

- In Tf/PatVelo v3r30
  . Fix clang32 warnings

- In Tf/TrackSys v7r12
  . Added STOfflinePostion to standard tracking options.
  . Removed MC09 code options.

- In Tr/TrackKernel v1r17
  . Improved error handling of TrackStateVertex
  . Changed weights of adaptive fit

- In Tr/TrackMCTools v3r5
  . Replace VPChannelID::sensor() by VPChannelID::module()

- In Tr/TrackMonitors v1r46
  . Adding some additional verbose plotting to STEfficiency.
  . AlignmentOnlineMonitor should always run, not only offline.
  . AlignmentOnlineMonitor : 
    o remove cout and fix compilation warning on gcc4.7
    o Produces residual plots to check the alignment in OnlineBrunel
  . ConfiguredTrackMonitors.py : Add  AlignmentOnlineMonitor to sequence

- In Tr/TrackTools v4r26
  . Remove an unused variable
  . Print a Error instead of info() when returning StatusCode::FAILURE

- In Velo/VeloRecMonitors v2r27
  . Remove unnecessary repeated accesses to TES from inside a loop in
    VeloTrackMonitor.cpp
  . Fixed use of Velo namespace in VeloTrackMonitorNT.cpp, hidden by a leak in
    the macro DECLARE_NAMESPACE_ALGORITHM_FACTORY.

2013-07-24 RecSys v15r1

This version uses Gaudi v23r9, LHCb v36r1 and Lbcom v14r1

- Packages added:    Tf/TfKernel, Tf/TsaKernel, Tr/TrackInterfaces
                     (all moved from LHCb)
                     Calo/CaloTools            (moved from Lbcom)
- Packages modified: Calo/CaloMoniDst v5r14, Calo/CaloTools v6r6,
    Muon/MuonID v9r6, Muon/MuonTrackAlign v1r10, Muon/MuonTrackMonitor v2r8,
    Muon/MuonTrackRec v3r9p1, Pr/PrAlgorithms v1r6, Pr/PrFitParams v1r3,
    Pr/PrMCTools v1r5, Pr/PrVL v1r4, Pr/PrVeloUT v1r2, 
    Rec/ChargedProtoANNPID v2r3, Rich/RichRecAlgorithms v2r20p1,
    Rich/RichRecPhotonTools v1r11, Rich/RichRecTools v4r23, Tf/FastVelo v1r12p1,
    Tf/PatAlgorithms v4r27, Tf/PatVelo v3r29, Tf/PatVeloTT v4r1,
    Tf/TfTools v1r18p2, Tf/TrackMatching v2r35p3, Tf/TsaAlgorithms v3r28,
    Tr/TrackCheckers v4r18, Tr/TrackFitEvent v5r23, Tr/TrackInterfaces v4r25,
    Tr/TrackKernel v1r16, Tr/TrackMonitors v1r45, Tr/TrackTools v4r25,
    Tr/TrackUtils v1r52p2, Velo/VeloRecMonitors v2r26

- In Pr/PrAlgorithms v1r6, Tr/TrackFitEvent v5r23, Tr/TrackTools v4r25
  . Added a switch between old and new FT detector geometry

- In Pr/PrVL v1r4
  . Reduce calls to phiOfStrip by pre-calculating R sector of each Phi hit
  . Modifications of default parameters (in particular for space tracking) 

- In Pr/PrVeloUT v1r2
  . Reduced verbosity in PrVeloUTTool, use PrintVariables flag.
  . Added pT dependent window and printout in PrVeloUTTool

- In Rec/ChargedProtoANNPID v2r3
  . Remove unused CheckForNaN.h header causing clang unused method warnings.

- In Rich/RichRecPhotonTools v1r11
  . Use vdt library instead of private 'RichKernel/FastMaths.h'

- In Rich/RichRecTools v4r23
  . Remove unused RichKernel/FastMaths.h include (to be deprecated).

- In Tf/PatAlgorithms v4r27
  . Fix segfault in gcc 4.8 optimised build

- In Tf/PatVeloTT v4r1
  . Added pT window, optional printout, and set passUnmatched default to false

- In Tf/TrackMatching v2r35p3
  . Remove unnecessary TsaKernel include

- In Tf/TsaAlgorithms v3r28
  . Add STCosmicsFilter, moved here from ST/STAlgorithms

- In Tr/TrackCheckers v4r18, v4r17
  . Split histograms by track type in TrackIPResolutionChecker
  . Add missing PatKernel dependency
  . Pick up changes in ITrackGhostClassification

- In Tr/TrackInterfaces v4r25, Tr/TrackTools v4r25
  . Remove ISTClusterPosition.h, IVeloClusterPosition.h, IVLClusterPosition.h,
    IVPClusterPosition.h (moved to LHCbTrackInterfaces)

- In Tr/TrackKernel v1r16
  . Added fast methods to compute ipchi2, twotrackchi2 and doca to
    TrackVertexUtils
  . Added constructor that takes two states to TrackStateVertex
  . Replace use of obsolete wrapper class Gaudi::Math::invertPosDefSymMatrix
    with direct call to SMatrix InvertChol() method. Fixes gcc48 warning

- In Velo/VeloRecMonitors v2r26
  . Added selection for overlap tracks with track quality cuts (ll 659). 
  . Added different approach for left-right tracks. 
    selectmethod 0: Select Left/Righttracks by direction of slope,
                 1: Select Left/Righttracks by number of hits in Velo Half,
    Left/Righttracks are tracks that have only hits in the left/right half.
  . Added plots that show the hits on the first sensor a track hits
  . Fix a warning due to int <-> unsigned int comparison in VeloTrackMonitorNT

- In Muon/MuonID v9r6, Muon/MuonTrackAlign v1r10, Muon/MuonTrackMonitor v2r8,
     Pr/PrAlgorithms v1r6, Rich/RichRecAlgorithms v2r20p1, Tf/FastVelo v1r12p1
     Tf/PatAlgorithms v4r27
  . Add missing TrackInterfaces dependency

- In Tf/TfTools v1r18p2
  . Add missing TsaKernel dependency

- In Tr/TrackUtils v1r52p2
  . Add missing TfKernel dependency

- In Calo/CaloMoniDst v5r14, Tr/TrackMonitors v1r45
  . Fix gcc48 warnings

- In Muon/MuonTrackRec v3r9p1, Pr/PrMCTools v1r5, Pr/PrVL v1r4, Tf/PatVelo v3r29,
     Velo/VeloRecMonitors v2r26
  . Fix clang32 warnings

- In Calo/CaloMoniDst v5r14, Calo/CaloTools v6r6, Muon/MuonTrackAlign v1r10,
     Pr/PrAlgorithms v1r6, Pr/PrFitParams v1r3, Pr/PrMCTools v1r5, Pr/PrVL v1r4,
     Pr/PrVeloUT v1r2, Tf/PatVelo v3r29, Tr/TrackCheckers v4r18,
     Tr/TrackMonitors v1r45
  . Fix Coverity UNINIT, UNINIT_CTOR, UNUSED_VALUE, DIVIDE_BY_ZERO and
    FORWARD_NULL defects 

- In Calo/CaloMoniDst v5r14, Muon/MuonID v9r6, Muon/MuonTrackAlign v1r10,
     Muon/MuonTrackMonitor v2r8, Tr/TrackMonitors v1r45
  . Remove empty finalize methods

- In Muon/MuonTrackAlign v1r10, Tf/PatVelo v3r29
  . Replace endreq by endmsg

2013-06-05 RecSys v15r0

This version uses Gaudi v23r8, LHCb v36r0 and Lbcom v14r0
N.B.: Project dependencies have changed. Rec now depends on Lbcom

- Packages added:    Muon/MuonInterfaces, Rich/RichRecBase, Tf/PatKernel,
                     Tr/TrackKernel (all moved from LHCb)
- Packages modified: Calo/CaloPIDs v5r14, Calo/CaloReco v5r16p1,
   Muon/MuonTools v5r5, Muon/MuonTrackRec v3r9, Pr/PrAlgorithms v1r5,
   Pr/PrFitParams v1r2, Pr/PrMCTools v1r4, Pr/PrVL v1r3,
   Rec/ChargedProtoANNPID v2r2, Rec/LumiAlgs v8r1p2, Rec/RecoUpgrade v3r1p2,
   Rec/RecoUpgradeMC v2r1p1, Rich/RichHPDImageAnalysis v1r13p1,
   Rich/RichIFBAnalysis v1r4, Rich/RichParticleSearch v1r12,
   Rich/RichRecMCTools v2r31,  Rich/RichRecQC v2r62, Rich/RichRecTools v4r22,
   Rich/RichRecTrackTools v1r35, Tf/PatAlgorithms v4r26p2, Tf/PatPixel v1r1,
   Tf/PatVelo v3r28p1, Tf/PatVeloTT v4r0, Tf/TfTools v1r18p1,
   Tf/TrackMatching v2r35p2, Tf/TrackSeeding v1r7p1, Tf/TrackSys v7r11p1,
   Tf/TsaAlgorithms v3r27p2, Tr/PatChecker v3r14p1, Tr/TrackKernel v1r15,
   Tr/TrackMCTools v3r4, Tr/TrackMonitors v1r44p1, Tr/TrackTools v4r24,
   Tr/TrackUtils v1r52p1, Velo/VeloRecMonitors v2r25

- In Calo/CaloPIDs v5r14
  . Remove 'do nothing' finalize methods
  . Move CaloTrackAlg/Match/Tool.{cpp,h} from CaloUtils

- In Muon/MuonTools v5r5
  . Add missing dependencies on MuonInterfaces and MuonDAQ
  . Remove obsolete options directory

- In Muon/MuonTrackRec v3r9
  . Fixed wrong assignment in MuonNNetRec.h

- In Pr/PrAlgorithms v1r5
  . PrForward track now picks up state closest to the end of velo.
  . Bugfix when using momentum estimate.

- In Pr/PrFitParams v1r2
  . Fix uninitialised variable (seen by both clang32 and Coverity)
  . Fix UNINIT_CTOR defects

- In Pr/PrMCTools v1r4
  . Added possibility to write out Histograms
  . Added Track Type option for Best Container
  . Add a new checker for VeloUT studies

- In Pr/PrVL v1r3
  . Fix a clang32 warning (endmsg used instead of std::endl)
  . Modifications after change of stereo angles

- In Rec/ChargedProtoANNPID v2r2
  . Add a specific ANNPID tuning for 2013 data, using "MC12TuneV2".
  . Add a short info() level summary printout to ChargedProtoANNPIDAlg, to help
    identify the configuration in use from a log file.

- In Rich/RichParticleSearch v1r12
  . Fix an error in the argument order passed to plot1D.
  . Remove unused class data member.

- In Rich/RichRecQC v2r62
  . Fix clang warning (incorrect use of + instead of << with ostringstream).

- In Tf/PatPixel v1r1
  . implemented a simple fixed-noise kalman filter to improve IP resolution

- In Tf/PatVeloTT v4r0
  . PatVeloTTTool by default now returns one track per velo candidate even if no 
    TT match is found. Switch available to toggle previous behaviour

- In Tf/TrackSys v7r11p1, Tr/TrackTools v4r24
  . Entirely remove deprecated property from TrackAddNNGhostId

- In Tr/TrackKernel v1r14, v1r15
  . Fixed old bug in LHCb::TrackTraj::distTo1stError and
    LHCb::TrackTraj::distTo2ndError, exposed by fix below.
  . Fixed operator precedence order issue for ? and + in 
    LHCb::TrackTraj::distTo1stError and LHCb::TrackTraj::distTo2ndError
  . Bugfix for VL.

- In Tr/TrackMCTools v3r4
  . Introduce return values in ghost classification tools (replace exception by
    status code in case of missing data on TES). Follows change in MCInterfaces

- In Tr/TrackTools v4r24 
  . Fixes to allow configurations without M1 (e.g. upgrade)

- In Velo/VeloRecMonitors v2r25
  . Fix an UNINIT_CTOR
  . Remove unnecessary include that caused unnecessary TrackKernel dependency

- In Rec/RecoUpgradeMC v2r1p1, Tf/PatPixel v1r1, Tf/TfTools v1r18p1,
     Tr/PatChecker v3r14p1, Tr/TrackMonitors v1r44p1, Tr/TrackTools v4r24
  . Add missing PatKernel dependency

- In Calo/CaloReco v5r16p1, Muon/MuonTools v5r5, Pr/PrAlgorithms v1r5,
     Rec/LumiAlgs v8r1p2, Rec/RecoUpgrade v3r1p2, Rec/RecoUpgradeMC v2r1p1,
     Rich/RichHPDImageAnalysis v1r13p1, Rich/RichIFBAnalysis v1r4,
     Rich/RichRecMCTools v2r31, Rich/RichRecTools v4r22, 
     Rich/RichRecTrackTools v1r35, Tf/PatAlgorithms v4r26p2, Tf/PatVelo v3r28p1,
     Tf/TrackMatching v2r35p2, Tf/TrackSeeding v1r7p1, Tf/TsaAlgorithms v3r27p2,
     Tr/TrackMonitors v1r44p1, Tr/TrackTools v4r24, Tr/TrackUtils v1r52p1,
     Velo/VeloRecMonitors v2r25
  . Fix clang32 warnings

2013-04-30 RecSys v14r6

This version uses Gaudi v23r7 and LHCb v35r6

- Packages modified: Hlt/HltMonitors v1r6p1, Muon/MuonID v9r5p1,
    Muon/MuonPIDChecker v5r4p1, Muon/MuonTrackMonitor v2r7p1,
    Pr/PrAlgorithms v1r4, Pr/PrVL v1r2, Rec/ChargedProtoANNPID v2r1,
    Rec/GlobalReco v6r44p1, Rec/LumiAlgs v8r1p1, Rec/RecAlgs v2r14,
    Rec/RecConf v2r13, Rec/RecoUpgrade v3r1p1, Rich/RichAlignment v1r8p1,
    Rich/RichENNRingFinder v1r5p1, Rich/RichParticleSearch v1r11p1,
    Rich/RichRecQC v2r61p1, Rich/RichRecSys v4r7p1, 
    Rich/RichRecTemplateRings v1r7, Tf/PatAlgorithms v4r26p1, 
    Tf/PatVeloTT v3r23p1, Tf/TfTools v1r18, Tf/TrackMatching v2r35p1,
    Tf/TrackSys v7r11, Tf/TsaAlgorithms v3r27p1, Tr/PatPV v3r26p1,
    Tr/TrackCheckers v4r16, Tr/TrackFitEvent v5r22, Tr/TrackFitter v4r10p1,
    Tr/TrackMonitors v1r44, Tr/TrackTools v4r23, Tr/TrackUtils v1r52,
    Velo/VeloRecMonitors v2r24 

- In Pr/PrAlgorithms v1r4
  . Added check for backward velo tracks in PrForwardTracking.

- In PrVL v1r1, v1r2
  . Fix for 2pi -> 0 transition in overlap region
  . put back check for overlap tracks
  . modifications for compact design 

- In Rec/ChargedProtoANNPID v2r0, v2r1
  . Update the CMT and CMake configurations to only enable Neurobayes on
    platforms that it supports
  . Small update to the python configurable for use in the 'on-demand'
    recalibration of the ANNPID in DaVinci.
  . Rework the code to compute the input variables to the ANN PID networks,
    to remove the remaining CPU overheads.
  . Remove the use of a full track selector tool, as we are only using it to
    select the correct track type. More efficient to just do it directly.
  . No longer print a warning if the ANNPID is being replaced for a given
    ProtoParticle, as this is normal when applied as a recalibration.
    Also, saves a little more CPU due to the string manipulations that
    where required.
  . Add new MC12TuneV2 network tuning :-
    o Based on high statistics training using new MC12 inclusive B samples.
    o Uses TMVA instead of Neurobayes as MVA technology.
    o Gives slightly PID better performance.
      + Much faster implementation due to use of compiled TMVA macros.
  . Config files have now been imported from the Paramfiles package
    ChargedProtoANNPIDParam directly into this package.
  . Dropped support for obsolete tunings (parameters not imported).
    Only MC12TuneV1 and MC12TuneV2 now supported.
  . Add 'FromB' and 'FromD' flags to training tuple.
  . Update ganga scripts to v6 series.

- In Rec/RecConf v2r13
  . Added checks if detector exists to monitoring sequence. 
  . Removed obsolete upgrade stuff in RecSysConf.

- In Tf/TrackSys v7r11
  . Replaced UpgradeBestTrackCreator by TrackBestTrackCreator in 
    RecoUpgradeTracking.py

- In Tr/TrackCheckers v4r16
  . removed some unused constants
  . improved PV monitoring
  . Added a couple of histograms
  . Added code for track multiplicity information
  . Added features to the IP tool
  . Added code to distinguish secondaries from primaries & from ghosts

- In Tr/TrackFitEvent v5r22
  . Removed spurious factor 2 in VPLite error
  . Added new measurement class OriginConstraint
    o Introduces dependency on Tr/TrackKernel
  . Fixed small bug in STMeasurement: measurement type set incorrectly for UT.

- In Tr/TrackMonitors v1r44
  . Added protections to ConfiguredTrackMonitors in case detector does not exist.
  . Improved and simplified variable binning for 2D histograms
  . Added a few new histograms (tx, ty, mass vs. tx, mass vs. opening angle)
  . Fix narrowing warning in PVSplit
  . Fixes in TrackMonitor and TrackVertexMonitor to make them work for upgrade

- In Tr/TrackTools v4r23
  . Adaptations of VeloExpectation and TrackNNGhostId in preparation for change
    of HitPattern

- In Tr/TrackUtils v1r52
  . Change TrackBestTrackCreator to use TrackKernel/TrackCloneData
  . Prepare TrackComputeExpectedHits for change in HitPattern

- In Rec/RecAlgs v2r14, Tf/TfTools v1r18
  . Fix gcc 4.7 compilation

- In Rich/RichRecTemplateRings v1r7, Velo/VeloRecMonitors v2r24
  . Fix clang32 compilation

- In Hlt/HltMonitors v1r6p1, Muon/MuonID v9r5p1, Muon/MuonPIDChecker v5r4p1,
     Muon/MuonTrackMonitor v2r7p1, Rec/ChargedProtoANNPID v2r0, 
     Rec/GlobalReco v6r44p1, Rec/LumiAlgs v8r1p1, Rec/RecConf v2r13,
     Rec/RecoUpgrade v3r1p1, Rich/RichAlignment v1r8p1,
     Rich/RichENNRingFinder v1r5p1, Rich/RichParticleSearch v1r11p1,
     Rich/RichRecQC v2r61p1, Rich/RichRecSys v4r7p1,
     Rich/RichRecTemplateRings v1r7, Tf/PatAlgorithms v4r26p1, 
     Tf/PatVeloTT v3r23p1, Tf/TrackMatching v2r35p1, Tf/TrackSys v7r11,
     Tf/TsaAlgorithms v3r27p1, Tr/PatPV v3r26p1, Tr/TrackFitter v4r10p1,
     Tr/TrackMonitors v1r44, Velo/VeloRecMonitors v2r24 
  . Add __init__.py to please CMake


2013-03-25 RecSys v14r5

This version uses Gaudi v23r7 and LHCb v35r5

- Packages modified: Pr/PrAlgorithms v1r3, Pr/PrFitParams v1r1,
   Pr/PrMCTools v1r3, Pr/PrVeloUT v1r1, Rec/ChargedProtoANNPID v1r12,
   Rec/RecAlgs v2r13, Rec/RecConf v2r12, Tf/PatVeloTT v3r23, Tf/TrackSys v7r10,
   Tr/TrackFitEvent v5r21, Tr/TrackMonitors v1r43, Tr/TrackTools v4r22,
   Tr/TrackUtils v1r51

- In Pr/PrAlgorithms v1r3
  . New algorithm PrSeedingXLayers for FT seeding
  . Fixed track type (Long -> Ttrack) in PrSeedingAlgorithm and PrSeedingXLayers
  . Added PrAddUTCoord to PrForwardTool.
  . Changed interface of PrAddUTCoord to IAddTTClusterTool.h.

- In Pr/PrMCTools v1r3
  . Added UT to PrTrackAssociator.
  . Implemented basic efficiency checking for Matching, Downstream and Upstream
    tracking.
  . Fixed a typo in PrDebugTrackingLosses for seeding.

- In Pr/PrVeloUT v1r1
  . Added extra protection when Velo track has no state at end of Velo.
  . Changed default UT size and hole shape.

- In Rec/ChargedProtoANNPID v1r12
  . Fixed compilation with CMake.
  . Added "Upgrade" key to NetworkVersions property. New key maps to "MC12TuneV1"
    which is the same as the "2012" key.
  . Added support for TMVA based network tunings.
  . Updated preselection cut handling to support the new style text file based
    specification the training application now uses.
  . Improved access to the RecSummary data object to prevent multiple loads from 
    the TES each event.
  . Print some basic statistics of the ANNPID distributions during finalize,
    to help monitor for instabilities in the expert.

- In Rec/RecAlgs v2r13
  . Added known detectors list. Information stored is the intersection of the
    known detectors and the list given to RecSummary.

- In Rec/RecConf v2r12
  . RecSysConf propagates all detectors in this slot to RecSummary.

- In Tf/PatVeloTT v3r23
  . PatVeloTT can give momentum estimate to velo tracks
  . PatVeloTT now uses PatVeloTTTool through ITrackFromTrack interface 
  . PatVeloTTTool now implements ITracksFromTrack

- In Tf/TrackSys v7r10
  . In RecoUpgradeTracking.py make PrSeedingXLayers default algorithm for seeding
  . In PatChecking.py: Remove PrimaryVertexChecker from Check sequence, since
    it requires HepMC, no longer available in MC DSTs by default (from Sim08)
    (also on v7r6p1 branch)
  . Modified energy loss correction factor in RecoTracking.py.
    (also on v7r6p1 branch)
  . Added PatMatch to upgrade sequence.

- In Tr/TrackFitEvent v5r21
  . Cleanup of VL measurements. 

- In Tr/TrackMonitors v1r43
  . Minor changes to TrackParticleMonitor, including:
    o Fixed axes limits in massVersusMomH2
    o Changed ID of momentum asymmetry histogram
      (now 'asym', previous 'momentum asymmetry' awkward in ROOT because of ' ')
    o Adds a few new histograms
    o Added configurable axes limits for most histograms (kept defaults)
    o Added ability to use variable bin sizes for histo2D's / profile1D's

- In Tr/TrackTools v4r22
  . Bugfix in VLClusterPosition tool (inter-strip fraction)

- In Pr/PrFitParams v1r1, Tr/TrackMonitors v1r43, Tr/TrackUtils v1r51
  . Fixed compilation with C++11.

- In Pr/PrFitParams v1r1
  . Fixed gcc -pedantic warnings

2013-02-15 RecSys v14r4

This version uses Gaudi v23r6 and LHCb v35r4

 - Packages added: Pr/PrFitParams - Fit parameters for the Pr pattern
                   Pr/PrUtils     - Utils important for the tracking
                   Pr/PrVeloUT    - Velo UT tracking
                   Sft/FstTools   - First Software Trigger tools for the upgrade
                   Tf/PatPixel    = PR for the LHCb upgrade Pixel detector
 - Packages modified: Pr/PrAlgorithms v1r2, Pr/PrKernel v1r2, Pr/PrMCTools v1r2,
     Rec/ChargedProtoANNPID v1r11, Rec/RecAlgs v2r12, Rec/RecConf v2r11,
     Rich/RichGlobalPID v3r20, Tf/FastPV v1r2, Tf/PatAlgorithms v4r26,
     Tf/PatVelo v3r28, Tf/PatVeloTT v3r22, Tf/TfTools v1r17,
     Tf/TrackMatching v2r35, Tf/TrackSys v7r9, Tr/PatChecker v3r14, 
     Tr/PatPV v3r26, Tr/TrackAssociators v2r11, Tr/TrackCheckers v4r15,
     Tr/TrackFitEvent v5r20, Tr/TrackFitter v4r10, Tr/TrackMonitors v1r42,
     Tr/TrackProjectors v2r34, Tr/TrackTools v4r21, Tr/TrackUtils v1r50,
     Velo/VeloRecMonitors v2r23

- In Pr/PrAlgorithms v1r2
  . Enabled finding of T-Tracks in PrSeeding.
  . Added PrDownstream and PrAddUTCoord to PrAlgorithms.
  . Better parameterisation of momentum and pprojections
  . New parameterisation of the zone to look at in the T stations for a given Pt.
    The same parameters could be used to predict the position if the momentum is
    known.

- In Pr/PrKernel v1r2
  . Added UT related code from Tf/PatKernel

- In Pr/PrMCTools v1r2
  . Implement the VP and VL lite clusters in PrLHCbID2MCParticle
  . Change Tf::OTHitCreator to OTHitCreator
  . New options for container names in PrDebugTrackingLosses
  . Initialize properly the otHitManager in PrLHCbID2MCParticle

- In Rec/ChargedProtoANNPID v1r11, v1r10
  . Make it possible to turn on or offline the suppression of printout from the
    underlying ANN library (NeuroBayes) via options.
  . Suppress variadic macros warning from neurobayes header file when compiling
    with gcc -pedantic

- In Rec/RecAlgs v2r12
  . Make the sub-detectors information filled by RecSummaryAlg a configurable
    list.

- In Rec/RecConf v2r11
  . Added slot "Detectors" to RecSysConf, propagated to RecSummayAlg with
    protections to handle default case and upgrade

- In Rich/RichGlobalPID v3r20
  . Add back an approximate log(exp(x)-1) implementation. Gains a signficant 
    speed up (factors of 3 or more) in the likehood.
  . Add as "mathematica/Log(Exp(x)-1).nb" the mathematica workbook used to 
    compute the above approximation.

- In Tf/FastPV v1r2
  . debug histograms added to FastPVMonitor (activate with DEBUG_HISTO)

- In Tf/PatAlgorithms v4r26
  . Tiny code cosmetic in PatSeedingTool: reorder properties and replace hard
    coded track location by existing property.

- In Tf/PatVelo v3r28
  . Added dependency on AIDA.

- In Tf/TfTools v1r17
  . Include UT hits in STHitCreator.
  . Remove unneccessary connection to DetectorDataSvc in OTHitCreator
  . Fix UNINIT_CTOR coverity defects
  . Fix unnecessary printouts, test statuscode value, replace endreq by endmsg;
  . Initialize the geometry in OTHitCreator.

- In Tf/TrackSys v7r9
  . Implemented a sequence for the upgrade
  . Added a RecoUpgradeTracking.py and a PrUpgradeChecking.py
  . Added TrackTypes property to TrackSys.

- In Tr/PatChecker v3r14
  . Include UT hits in PatLHCbID2MCParticle
  . Change the name of the OTHitCreator from Tf::OTHitCreator to OTHitCreator in 
    PatLHCbID2MCParticle

- In Tr/PatPV v3r26
  . Change void to StatusCode for removeTracksAndRecalculatePV (in PVOfflineTool)
    to give the information that PV recalculation failed and original PV is
    returned.

- In Tr/TrackAssociators v2r11
  . Add UT as alternative to TT.

- In Tr/TrackCheckers v4r15
  . Fixed link problem in CMake build.

- In Tr/TrackFitEvent v5r20
  . Added VL measurements. Copy from Velo measurements.
  . Fixed bug in VPLiteMeasurement leading to bias in x position
  . Add UT cluster as one of the ST clusters
  . Add FTMeasurements

- In Tr/TrackFitter v4r10
  . Added check for available upgrade detectors. It sets the correct
	  measurement providers.
  . Added VL measurements to the TrackMasterFitter. 
  . Changed structure of hittype map so that it reflects the measurements 
    defined in Measurement.h

- In Tr/TrackMonitors v1r42
  . Add UT Monitor.
  . Rebuilding of STEfficiency that is working with TT now. 
  . Fix bin number computed in histoBin of TTTrackMonitor.

- In Tr/TrackProjectors v2r34
  . Added VL and UT projectors in selector.
  . Add FT measurement as normal projectors

- In Tr/TrackTools v4r21
  . Added VL measurement provider for R and Phi sensors to the templated
    measurement provider.
  . Use common ST detector for UT & TT and update the providermap size
  . Add UT measurement provider and hit expectation
  . Add VL and FT measurement providers

- In Tr/TrackUtils v1r50
  . Add UT in TrackHitAdder.
  . Adding ChargedParticlesToTracks algo that dumps tracks from charged particles
    (refitting, mother's mass window cut).
  . Change the name of the OTHitCreator in TrackHitAdder

- In Velo/VeloRecMonitors v2r23
  . Update in VeloTrackMonitorNT: add ntuple for eta study and other small 
    changes (clean up of the code, delete duplication in the variables)

2012-11-29 RecSys v14r3

This version uses Gaudi v23r5 and LHCb v35r3

- This version introduces support for CMake. All packages have been modified
  to add CMake configuration files

- Packages added: Pr/PrVL v1r0 - Pattern recognition for the Velo Light upgrade
- Packages with modifications other than CMake support: Calo/CaloMoniDst v5r13,
    Calo/CaloPIDs v5r13, Calo/CaloReco v5r16, Hlt/HltMonitors v1r6,
    Muon/MuonID v9r5, Muon/MuonPIDChecker v5r4, Muon/MuonTools v5r4,
    Muon/MuonTrackAlign v1r9, Muon/MuonTrackRec v3r8, Pr/PrKernel v1r1,
    Pr/PrMCTools v1r1, Rec/ChargedProtoANNPID v1r9, Rec/GlobalReco v6r44,
    Rec/LumiAlgs v8r1, Rec/RecAlgs v2r11, Rec/RecoUpgrade v3r1,
    Rec/RecoUpgradeMC v2r1, Rich/RichAlignment v1r8, Rich/RichGlobalPID v3r19,
    Rich/RichHPDImageAnalysis v1r13, Rich/RichRecAlgorithms v2r20,
    Rich/RichRecMCAlgorithms v1r4, Rich/RichRecMonitors v2r34, 
    Rich/RichRecPhotonTools v1r10, Rich/RichRecQC v2r61, Rich/RichRecSys v4r7,
    Rich/RichRecTools v4r21, Rich/RichRecTrackTools v1r34, Tf/FastVelo v1r12,
    Tf/PatAlgorithms v4r25, Tf/TrackMatching v2r34, Tf/TrackSys v7r8,
    Tf/TsaAlgorithms v3r27, Tr/PatFitParams v4r2, Tr/TrackAssociators v2r10,
    Tr/TrackCheckers v4r14, Tr/TrackExtrapolators v2r33, Tr/TrackFitter v4r9,
    Tr/TrackIdealPR v2r20, Tr/TrackMCTools v3r3, Tr/TrackMonitors v1r41,
    Tr/TrackProjectors v2r33, Tr/TrackTools v4r20, Tr/TrackUtils v1r49,
    Velo/VeloRecMonitors v2r22 

- In CaloPIDs v5r13
  . In CaloTrack2IDAlg, return Error from initialize if undefined Input, removes
    need for Assert in execute

- In PrMCTools v1r1
  . use lite clusters also in PrLHCbID2MCParticle, and implement UT.
  . Fix untested Warning() StatusCode

- In ChargedProtoANNPID v1r9
  . Add back some 'event size' variables previously removed, as they are useful
    for monitoring, if nothing else.

- In LumiAlgs v8r1
  . Update merge-small-files reference following changed input files

- In RecAlgs v2r11
  . Fix bug in RecInit, introduced in v2r9, whereby RecHeader::rawID is filled
    with an empty string rather than name of the raw file. Affects Reco14

- In RichAlignment v1r8
  . Update calibration scripts.

- In RichHPDImageAnalysis v1r13
  . Update HPD image alignment scripts.

- In RichRecMCAlgorithms v1r4
  . Add a new algorithm DumpRichTracksToTextFileAlg which dumps basic track
    information to a text file

- In RichRecPhotonTools v1r10
  . Update PhotonRecoUsingQuarticSoln to include an optional  test for Aerogel
    photons to see if they intersect with the beampipe, and if they do reject
    those photons.

- In RichRecQC v2r61
  . Add new monitoring options for the algs that dump the RICH hit and track
    information to plain text files.

- In RichRecSys v4r7
  . Add 'DataType' option to PhotonCreator configurable.
    Setting is propagated down from higher level Configurable.
  . Loosen of a little the Aerogel photon selection cuts, as the lower edge
    was a little too tight and cutting into low momentum Protons.

- In FastVelo v1r12
  . New algorithm FastSTDecoding.cpp to decode ST Lite clusters.
  . New algorithm FastVeloDecoding.cpp to decode the Velo Lite clusters.

- In PatAlgorithms v4r25
  . fix an unitialized variable it PatMakeV0, unused code.
  . fix an out-of-bound access in an array in PatSeedingTool

- In TrackExtrapolators v2r33
  . Add method to clear the cache in TrackStateProvider
  . Add more states to Downstream tracks in TrackStateProvider

- In CaloMoniDst v5r13, CaloPIDs v5r13, CaloReco v5r16, LumiAlgs v8r1, 
     RichRecQC v2r61, RichRecSys v4r7, TrackSys v7r8, TsaAlgorithms v3r27
  . Remove setting of MeasureTime=true
    Should not be the default, and should in any case use TimingAuditor.

- In HltMonitors v1r6, PrMCTools v1r1, GlobalReco v6r44, RecAlgs v2r11,
     TrackMonitors v1r41, TrackTools v4r20, TrackUtils v1r49,
     VeloRecMonitors v2r22 
  . Use getIfExists instead of separate exist and get calls

- In CaloMoniDst v5r13, CaloPIDs v5r13, HltMonitors v1r6, MuonPIDChecker v5r4, 
     MuonTools v5r4, MuonTrackAlign v1r9, PrKernel v1r1, PrMCTools v1r1, 
     ChargedProtoANNPID v1r9, LumiAlgs v8r1, RecAlgs v2r11, RecoUpgrade v3r1,
     RecoUpgradeMC v2r1, TrackMatching v2r34, TsaAlgorithms v3r27, 
     PatFitParams v4r2, TrackAssociators v2r10, TrackCheckers v4r14, 
     TrackExtrapolators v2r33, TrackIdealPR v2r20, TrackMonitors v1r41,
     TrackProjectors v2r33, TrackTools v4r20, TrackUtils v1r49,
     VeloRecMonitors v2r22 
  . Fix gcc -pedantic warnings

- In CaloMoniDst v5r13, CaloReco v5r16, PrMCTools v1r1, LumiAlgs v8r1, 
     RichAlignment v1r8, FastVelo v1r12, PatAlgorithms v4r25, 
     TsaAlgorithms v3r27, PatFitParams v4r2, TrackAssociators v2r10,
     TrackTools v4r20, TrackUtils v1r49, VeloRecMonitors v2r22 
  . Fix coverity defects

- In HltMonitors v1r6, MuonID v9r5, MuonPIDChecker v5r4, MuonTools v5r4,
     MuonTrackRec v3r8, ChargedProtoANNPID v1r9, RichGlobalPID v3r19,
     RichRecAlgorithms v2r20, RichRecMonitors v2r34, RichRecPhotonTools v1r10, 
     RichRecQC v2r61, RichRecTools v4r21, RichRecTrackTools v1r34, 
     PatAlgorithms v4r25, TrackMatching v2r34, TsaAlgorithms v3r27, 
     PatFitParams v4r2, TrackCheckers v4r14, TrackFitter v4r9,
     TrackIdealPR v2r20, TrackMCTools v3r3, TrackMonitors v1r41,
     TrackTools v4r20, TrackUtils v1r49, VeloRecMonitors v2r22 
  . Fix build with C++11

- In PrMCTools v1r1, TrackIdealPR v2r20, TrackProjectors v2r33
  . Replace endreq by endmsg

- In PrMCTools v1r1, GlobalReco v6r44, FastVelo v1r12, PatAlgorithms v4r25
  . Fix unprotected debug() and verbose()

- In RecAlgs v2r11, TrackAssociators v2r10, TrackTools v4r20, TrackUtils v1r49
  . Remove finalize() in derived classes if it only calls the base class

- In ChargedProtoANNPID v1r9, TrackMonitors v1r41, VeloRecMonitors v2r22 
  . Add missing dependency on Event/MCEvent

2012-10-03 RecSys v14r2

This version uses Gaudi v23r4 and LHCb v35r2

- Development release

- Packages added: Pr/PrAlgorithms v1r0 - Pattern recognition for the upgrade
                  Pr/PrKernel v1r0     - Basic tools for pattern for the upgrade
                  Pr/PrMCTools v1r0    - MC tools for pattern for the upgrade
- Packages updated: Muon/MuonTrackRec v3r7, Rec/ChargedProtoANNPID v1r8,
    Rec/GlobalReco v6r43, Rec/LumiAlgs v8r0, Rec/RecAlgs v2r10, Rec/RecConf v2r9,
    Rec/RecoUpgrade v3r0, Rec/RecoUpgradeMC v2r0,
    Rich/RichHPDImageAnalysis v1r12, Tf/PatVeloTT v3r20, Tf/TrackSys v7r7,
    Tr/TrackCheckers v4r13, Tr/TrackFitEvent v5r18, Tr/TrackMCTools v3r2,
    Tr/TrackProjectors v2r32, Tr/TrackTools v4r19, Velo/VeloRecMonitors v2r21

- In MuonTrackRec v3r7
  . Protect debug() print statements behind if check.
  . Modified MuonHitDecode to cope with the new raw locations, per default only
    the central location is now looked for. Number of prev/next locations to look
    for is now a configurable option.

- In ChargedProtoANNPID v1r8
  . Update the default tuning for 2012 and 2011 to MC12TuneV1, trained on a
    preliminary sample of 2012 B inclusive MC processed with Reco13d.
  . Explicitly cast variables to float when filling the training tuple
  . Improvements to the training job scripts

- In GlobalReco v6r43
  . Update ROOT scripts
  . Add an option to the GlobalRecoChecks Configurable to control the output
    ROOT tuple file locations.
  . Add some additional tracking variables to ChargedProtoParticleTupleAlg

- In LumiAlgs v8r0, v7r8
  . Split this package up into Kernel/FSRAlgs and Rec/LumiAlgs, see task #33139
  . Fix references to follow format change in options printout of Gaudi v23r4
  . Fix older lumi8merger test reference file
  . Add tests for new merging sensitive to file size and Vmem.
  . Add CMT requirements dependency on LHCbAlgs, due to python dependency on
    FSRCleaner in that package.
  . Add FSRCleaner to the merge sequence, see bug #96471.
  . Fix segfault, see bug #96471, edit two lines in FSRNavigator.cpp

- In RecAlgs v2r10
  . Use getIfExists in RecSummaryAlg

- In RecConf v2r9, v2r8
  . GlobalReco PROTO checks need to run in Check sequence if MC is enabled
  . No other net change with respect to v2r7
    (temporary hack in v2r8, removed in v2r9, needed for Reco13e/Reco13f/Reco14)

- In RecoUpgrade v3r0, RecoUpgradeMC v2r0, PatVeloTT v3r20, TrackCheckers v4r13,
     TrackFitEvent v5r18, TrackMCTools v3r2, TrackProjectors v2r32, 
     TrackTools v4r19
  . Rename VeloPix to VP

- In RichHPDImageAnalysis
  . Various updates to the image analysis code and scripts

- In TrackSys v7r7, v7r6
  . No net change with respect to v7r5
    (temporary fix in v7r6, removed in v7r7, needed for Reco13e/Reco13f/Reco14)

- In TrackMCTools v3r2
  . New tool PatPixelDebugTool to debug the Velo Pixel tracking (upgrade)
  . Modifications in DebugTrackingLosses to debug Velo Pixel tracking losses

- In TrackTools v4r19, v4r18, v4r17, v4r16
  . TrackNNGhostID + TMVA weight file: 
    + Add tuning for MC2012, only for long tracks, add switch to chose tuning.
    + Add tuning for Reco14, for use in postReco14 or in DaVinci on Reco14 data.
  . TrackNNGhostID:
    + Fix NN output value to range 0-1
    + Add an interpolator to provide a smooth flattening function
    + Various code cleanups

- In VeloRecMonitors v2r21
  . Added PU only average occupancy histogram.

2012-07-31 RecSys v14r1p1

This version uses Gaudi v23r3 and LHCb v35r1p1

- Production release for 2012 data taking

- Packages updated: Rich/RichRecQC v2r60, Tr/TrackMonitors v1r40

- In RichRecQC v2r60
  . Fix an issue in RawDataSize where the RawEvent object was not found, when
    running from a DST where the RICH banks are saved as RICH/RawEvent.

- In TrackMonitors v1r40
  . Replace separate exist<>() + get<>() calls with getIfExists
  . Fix trivial icc remarks
  . Introduced IP chi2 in TrackV0Monitor after loosening it in TrackV0Finder.
    This should take care that online monitoring will not suddenly see much
    dirtier Ks list.

2012-07-25 RecSys v14r1

This version uses Gaudi v23r3 and LHCb v35r1

- Production release for 2012 data taking

- Packages updated: Rec/RecConf v2r7, Rich/RichAlignment v1r7,
    Rich/RichParticleSearch v1r10, Rich/RichRecQC v2r59, Tf/FastVelo v1r11,
    Tf/PatAlgorithms v4r24, Tf/TrackSys v7r5, Tr/TrackFitEvent v5r17,
    Tr/TrackFitter v4r8, Tr/TrackMonitors v1r39, Tr/TrackUtils v1r48,
    Tr/PatPV v3r24, Velo/VeloRecMonitors v2r20, Muon/MuonID v9r4p1

- In RecConf v2r7
  . Adapt to change in TrackV0Finder

- In RichAlignment v1r7
  . Limit the number of photons per HPD when producing NTuples.
    Number of photons is a property set by default to 10,000
  . Add a HPD veto list to AlignmentMonitor

- In RichParticleSearch v1r10
  . Small changes to code to analyse NTuples to produce Histograms more easily

- In RichRecQC v2r59
  . Update RichRecoQC to remove the need to create the individual HPD
    resolution plots while filling the Fitted resolution versus HPD copy
    number plots.
  . RawDataSize :-
    o Add a plot showing the average number of header words per L1 board
    o Fill seperate L1 board data size distribution plots by default
    o Initialise default HPD count map using allPDRichSmartIDs()
      not just activePDRichSmartIDs()
  . Add a plot giving the fitted CK theta resolution per PD
  . Revert a small change to the histograms IDs used in HPDHitsMoni, as it
    unintentionally made things complicated in the run-by-run calibration.

- In FastVelo v1r11
  . Fix problem with FastVeloFitLHCbIDs in case pattern reco is not running

- In PatAlgorithms v4r24
  . Add a flag to activate a workaround for certain problematic properties in
    PatSeedingTool which get their values set wrong when being extracted from
    a TCK because the precision to which the numerical values of these
    properties is saved in the TCK is insufficient.

- In TrackSys v7r5
  . Make sure default instance of StateInitTool is not modified

- In TrackFitEvent v5r17
  . Added method to KalmanFitResult to compute number of active OTTimes and chi2
    contribution of TT hits

- In TrackFitter v4r8
  . Fill new extra info field with fraction of used OT times.

- In TrackMonitors v1r39
  . Add PVSplit algorithm. It splits tracks belonging to found vertices,
    fits them and writes split vertices to TES. Can be split randomly or by Velo
    half. Algorithm is used for resolution studies needed for beam-gas imaging
    (BGI) and beam-beam imaging methods for absolute luminosity calibration.
    Also, added a configurable BGIRecoConf, which modifies reconstruction
    sequences for BGI processing

- In TrackUtils v1r48
  . Keep LHCb::Track::NCandCommonHits on DSTs for ghost probability computation
    in DaVinci
  . Loosened cuts in TrackV0Finder to make it much more efficient for Ks from B.
    Minimized use of extrapolator.

- In PatPV v3r24
  . Technical modification to gain a few % of speed in LSAdaptPV3DFitter.
  . Downgrade warning to debug when hessian inversion fails in LSAdaptPV3DFitter.
  . Return StatusCode from PVOfflineRecalculate->RecalculateVertex to allow
    users to decide what to do in case of failure.
  . Modification to make PVSeed3DTool faster. The whole 3D PV reconstruction time
    (seed+fit) reduced by 35 %

- In VeloRecMonitors v2r20
  . Added zoom histo for distribution of number of clusters

- In MuonID v9r4p1
  . Fixed access out of array bounds
  

2012-06-26 RecSys v14r0

This version uses Gaudi v23r3 and LHCb v35r0

- Production release for 2012 data taking

- Packages updated: Calo/CaloMoniDst v5r12,  Calo/CaloReco v5r15,
    Muon/MuonTools v5r3, Rec/ChargedProtoANNPID v1r7, Rec/LumiAlgs v7r7,
    Rec/RecAlgs v2r9, Rich/RichParticleSearch v1r9, Rich/RichRecQC v2r58,
    Rich/RichRecSys v4r6, Tf/FastVelo v1r10, Tf/TrackSys v7r4, 
    Tr/PatChecker v3r12, Tr/TrackMonitors v1r38p1, Tr/TrackUtils v1r47,
    VeloRecMonitors v2r19

- In CaloMoniDst v5r12
  . Fix CaloAlignmentNtp
  . Update L0CaloScale

- In CaloReco v5r15
  . ClusterCovarianceMatrixTool : get covariance parameters from condDB when
                                  available
  . CaloMergedPi0Alg : add covariance matrix for SplitClusters & SplitPhotons
                       (assume no correlation)
  . CaloECorrection  : allow spd-dependent PileUp subtraction
  . Configurable CaloLine : add ClusterizationLevel tag for L0Calo2Calo
                            (set to 2 by default)

- In MuonTools v5r3
  . Downgrade info message to debug (for stripping).

- In ChargedProtoANNPID v1r7
  . Make default network tuning for 2010, 2011 and 2012 "MC11aTuneV3"
  . Remove context() specific input track locations in
    ChargedProtoANNPIDCommonBase. Default is now the offline location.

- In LumiAlgs v7r7
  . Allow mu calculation for counter different from lumi calculation
  . Correct DB interpretation of random lumi rate for 2012 data

- In RecAlgs v2r9
  . In RecInit, replace RawEventLocation by RawEventLocations, and look for
    RawEvent also in RawEventLocation::Other

- In RichParticleSearch v1r8, v1r9
  . Minor changes to RichParticleFinder to produce single NTuple after cuts
    selection.
  . Added macros/ParticleFinder to analyse the output NTuple from
    RichParticleSearchMain
  . Changed example options file for latest running.

- In RichRecQC v2r58
  . Remove L0DUFromRawAlg and HltDecReportsDecoder from L0 Filter, now done in
    Brunel main sequence
  . L0 Filter returns and empty list for 2008 and 2009 data
  . Various small improvements to the HPDHitsMoni
  . Enable by default the resolution plots per PD column in RecoQC.
    Useful for spotting issues like column timing problems.
  . Reduce the chi^2 range from 0-10 to 0-3, to adapt to tracking changes.
  . Reduce the 'tight' track monitoring selection to chi^2 < 2

- In RichRecSys v4r6
  . Remove the CK theta correction factor for Aerogel. Will be taken into
    account in an incoming recalibration.

- In FastVelo v1r9p1, v1r10
  . Rewrite mergesPaceClone() to improve clone rejection
  . Fix a bug in beamSpalshSpaceMerge, nLong and nShort were on teh same track!
  . Reject faster wrong combination in findUnusedPhi, when two phi were
    diametraly opposed.
  . Added a protection against FPE (divide by zero) in FastVeloTrack::solve

- In TrackSys v7r4
  . Fix bug #95019 (missing import in case of OldCloneKiller+Simulation)
    introduced by previous release

- In PatChecker v3r12
  . In PrimaryVertexChecker, fix more missing initialisations in RecPVInfo and
    MCPVInfo causing FPE on i686 architecture.
  . Fix Coverity UNINIT_CTOR defects

- In TrackMonitors v1r38p1
  . Fixed small memory leak in TrackITOverlapMonitor

- In TrackUtils v1r47
  . TrackBestTrackCreator: Changed to dynamic array (vector) for the size of the
    LHCbIDs in the internal track container. Fixes bug #94407

- In VeloRecMonitors v2r19
  . Updated location for raw event
  . Updated the "VeloTrackMonitorNT" algorithm:
    o Add new ntuple for all clusters (not only the ones associated to a track)
    o Add several variables to all the ntuples
		 (per evt, per track, per cluster on track)

2012-05-03 RecSys v13r3

This version uses Gaudi v23r2 and LHCb v34r3

- Production release for 2012 data taking

- Packages updated: Calo/CaloMoniDst v5r11, Hlt/HltMonitors v1r5,
    Muon/MuonPIDChecker v5r3, Rec/GlobalReco v6r42, Rec/LumiAlgs v7r6,
    Rec/RecAlgs v2r8, Rec/RecConf v2r6, Rich/RichParticleSearch v1r7,
    Rich/RichRecSys v4r5, Tf/FastVelo v1r9, Tf/PatAlgorithms v4r23,
    Tf/PatVeloTT v3r19, Tf/TrackSys v7r2, Tr/TrackTools v4r15,
    Tr/TrackUtils v1r46

- In CaloMoniDst v5r10, v5r11
  . New algorithm : L0CaloScale to compare CaloCluster/CaloHypo/L0Cluster
    transverse energy
  .  Add eta->gg monitoring (re-use resolvedPi0 algorithm)
  . SpdMonitor : set splitArea=true as the default for Calo2Dview histos

- In HltMonitors v1r5
  . python/HltMonitors/ConfiguredHltMonitors.py
    o Run EventTimeMonitor (need Rec/RecAlgs r138776)
    o Run HltRateMoniror instance for MB lines

- In MuonPIDChecker v5r3
  . Added protection when retrieving MuonPID and Muon track containers

- In GlobalReco v6r42
  . Change default track chi^2 cut from 0->10 to 0->5, to reflect tracking
    changes. Note that by default in the tracking clone killing a cut of 0->3 is
    now applied, so this cut does nothing. Retain though as a sanity check.
  . Remove context() specific default job options from ChargedProtoParticleMoni

- In LumiAlgs v7r6
  . Added event time ordering and output compression (bz2) capabilities
    to DumpLumiEvents algorithm

- In RecAlgs v2r8
  . New EventTimeMonitor that stores the event times in 4 histos: y,d,h,s.
  . TimingTuple: Add nPVs

- In RecConf v2r6
  . Add options in the Muon configuration phase to convert the
    RawReadoutBankStatus to ProcStatus

- In RichParticleSearch v1r7
  . Add an explicit usage against PhysEvent, to fix a linking issue
  . Fix the way unpacking is enabled in DstConf, for the latest releases.

- In RichRecSys v4r5
  . Make the default list of tracks used in the HLT the same as offline.
  . Update offline track chi^2 cut from 0->10 to 0->5. Tracking now applies
    its own cut anyway (0->3 currently) so this no longer does anything, but
    keep just for sanity check.
  . Improve the way the track types are set, to fix a bug in the HLT where the
    requested track types to use was not always respected.

- In FastVelo v1r8, v1r9
  . Added a ProcStatus when clone killing fired to make monitoring easier
  . Added a sanity check just before conversion to LHCb::Tracks that if there is
    more than 1 track for every 4 clusters the event should be very aggressivly
    clone killed (default only 10% overlap allowed). To fix cases of off axis
    beam backgrounds causing a combinatoric explosion in the number of VELO
    tracks made and subsequent processing time. See Savannah bug #93550.

- In PatAlgorithms v4r21, v4r22, v4r23
  . PatMatchTool : Momentum estimate now protected against failure.
  . PatMatchTool, PatDownstream : Added option MinMomentum and MinPt
    to reject tracks with a certain momentum.
  . PatMatchTool: Make the name of the tool that adds the TT hits a property
  . PatAddTTCoord: Adapting parameters to optimal values found in MC11a and 
    fixing the slope at zMSPoint instead of TTField in the chi2 fit.
  . PatDownstream: Added options to set the output location of the matching and
    forward tracking in PatDownstream. Now used seeds and tt hits can be removed
    also in the HLT.
  . PatForwardTool: Bug fix in PatForward, flag for left right ambiguity is now
    reset when collecting hits. Before independence of different iterations
    of the Forward tracking was broken.

- In PatVeloTT v3r19
  . Remove unnecessary bool flags from PatVTTTrack.h, fixes DEADCODE warnings
  . Fix UNINIT_CTOR defects
  . Fix trivial hidden variable icc remarks

- In TrackSys v7r2
  . Clean up imports in RecoTracking.py
  . Switch to new clone killer ('TrackBestTrackCreator').
    Old sequence can be recovered with TrackSys().OldCloneKiller = True.

- In TrackTools v4r15
  . StateInitTool: set velo momentum the way it used to be done in
    TrackPrepareVelo (temporarily?).

- In TrackUtils v1r46
  . Added TrackBestTrackCreator. 
    Current version has a cut at chi2=3, and no dqop cut

2012-03-28 RecSys v13r2

This version uses Gaudi v23r2 and LHCb v34r2

- Production release for initial 2012 data taking

- Packages updated: Calo/CaloPIDs v5r12, Muon/MuonID v9r4, Rec/GlobalReco v6r41,
    Rec/LumiAlgs v7r5, Rec/RecAlgs v2r7, Rich/RichParticleSearch v1r6, 
    Tf/FastPV v1r0p1, Tf/PatAlgorithms v4r20, Tf/PatVelo v3r26,
    Tf/PatVeloTT v3r18, Tf/TrackSeeding v1r6, Tf/TsaAlgorithms v3r26,
    Tf/PatPV v3r23, Tf/TrackFitEvent v5r16, Tr/TrackFitter v4r7,
    Tr/TrackMonitors v1r38, Tr/TrackProjectors v2r31, Tr/TrackTools v4r14,
    Tr/TrackUtils v1r45, Velo/VeloRecMonitors v2r18

- In MuonID v9r4
  . Fix bug in method GetPbin. Throw an exception if pBins pointer is null.
  . Make 2011 the default data type in ConfiguredMuonIDs.py.
    This will be applied for 2012 data type.

- In GlobalReco v6r41
  . ChargedProtoParticleAdd[CALO]Info.cpp : reduce verbosity when input container
    is missing

- In LumiAlgs v7r5
  . Add new algorithm DumpLumiEvents
    o Reads RAW files containing random events (typically LUMI stream)
    o Output is ASCII file with name specified by OutputFileName option.
      For each event in input with nonzero random counter a line with ODIN
      fields and lumi counters is written. Events are not time-ordered!
  . Add minimal DumpLumiEvents.py job options
  . Add QM test dumplumievent.qmt
  . Fix warnings due to unused code

- In RecAlgs v2r7
  . Adapt RecInit to removal of random seeds from ProcessHeader

- In RichParticleSearch v1r6
  . Fix to get run number and event number from MCHeader, not from random seeds
  . Get run number and event number once per event, rather than once per segment!
  . Various minor cleanups

- In FastPV v1r0p1
  . Remove unused variable in TrackForPV.h, fixes UNINIT_CTOR Coverity warning

- In PatAlgorithms v4r20
  . PatForwardTool: Bug fix in PatForward in part which uses momentum estimate.
    Variable was shadowed, resulting in wrong behaviour of the algorithm.

- In PatVeloTT v3r18
  . Change PatVTTTrack so that debug stream created only when needed

- In TsaAlgorithms v3r26
  . Use std:stable_sort instead of std::sort everywhere, fixes differences
    between gcc43 and gcc46

- In PatPV v3r23
  . Replace std::sort by std::stable_sort to fix diffs between gcc43 and gcc46

- In TrackFitEvent v5r15, v5r16
  . Implemented faster method to invert transport matrix
  . Exploit emptiness of transport matrix in zero B field
  . Bug fix in filter logic: backward state could be in state 'smoothed'
    without having gone through 'filtered'.

- In TrackFitter v4r5, v4r6, v4r6p1, v4r7
  . Add EndVelo state to (forward) velo-only fits
  . Make sure to set number of dofs right
  . Make sure debug mode doesn't trigger smoothing
  . Propagate the FroceBiDirectionalFit option to all case in ConfiguredFitter.py
    (instead of BiDirectionalFit)

- In TrackMonitors v1r38
  . Reduce range of PV chi2 plot
  . Added mass pull histogram to TrackParticleMonitor
  . Defined ranges for Z0 and D0 daughters plots in TrackParticleMonitor

- In TrackProjectors v2r31
  . Resolve coverity issues in TrackOTLRSignTool

- In TrackTools v4r13, v4r14
  . Improve TrackVertexer: use more than just 'firstState' when fitting a set
    of tracks.
  . Fixed sign of qOverP on line 161 of FastMomentumEstimate.cpp.
  . Update of ITTrackSelector for alignment

- In VeloRecMonitors v2r18
  . Added new plot for "Low ADC Cluster" monitoring to "VeloTrackMonitor"
    coupling effect of M2 routing line
  . Changed default for occupancy monitoring to not periodically reset
    occupancy histograms - this is needed to make the offline monitoring of
    dead/noisy channels more reliable; online plots will be done by setting
    this property in the online jobs to the old default

- In CaloPIDs v5r12, MuonID v9r4, LumiAlgs v7r5, PatVeloTT v3r18, PatPV v3r23,
     TrackFitter v4r6p1, TrackUtils v1r45, RichParticleSearch v1r6
  . Fix unprotected debug() and verbose() MsgStreams

- In CaloPIDs v5r12, MuonID v9r4, RecAlgs v2r7, PatVelo v3r26, PatVeloTT v3r18,
     TrackSeeding v1r6, PatPV v3r23
  . Fix trivial icc remarks

- In CaloPIDs v5r12, MuonID v9r4, LumiAlgs v7r5, RecAlgs v2r7, PatVelo v3r26,
     TrackSeeding v1r6, PatPV v3r23, TrackFitter v4r6p1, TrackUtils v1r45,
     RichParticleSearch v1r6
  . Fix UNINIT_CTOR defects

- In PatVelo v3r26
  . Fix FORWARD_NULL defects

- In TrackSeeding v1r6, PatPV v3r23
  . Replace endreq by endmsg

2012-02-29 RecSys v13r1

This version uses Gaudi v23r1 and LHCb v34r1

- Candidate release for HLT in 2012.
  Development release for Stripping 18 test

- Packages updated: Calo/CaloReco v5r14, Muon/MuonTrackMonitor v2r6,
    Rec/LumiAlgs v7r4, Rich/RichRecQC v2r57, Tf/FastVelo v1r7,
    Tf/PatAlgorithms v4r18, Tf/TrackSys v7r1, Tr/TrackFitEvent v5r14,
    Tr/TrackFitter v4r4, Tr/TrackMonitors v1r37, Tr/TrackTools v4r12,
    Tr/PatPV v3r22

- In Calo/CaloReco v5r14
  . CaloMergedPi0Alg: Fix potential memory leak, probably never fired
    (Coverity defect 17572)
  . Fix UNINIT_CTOR defects
  . Fix trivial icc remarks

- In Muon/MuonTrackMonitor v2r6
  . remove line that sets "NodeFitter.BiDirectionalFit" in configuration

- In Rec/LumiAlgs v7r4
  . Slightly more informative warning message for missing FSR data
  . Introduce option IgnoreDQFlags, gived warning when set
  . Introduce logic in LumiIntegrateFSR to skip integration based on DQflags
  . Update unit tests
  . Make explicit that FilterFillingScheme is not used before 2011
  . Add protection for data beyond 2012, requiring explicit update
  . Initialize 2012 behaviour with safest possible condition
  . Fix bug with minor effect (1E-4) in LumiIntegrateFSR
  . Add missing dependencies for tests, following reorganisation of GaudiConf
  . Remove imports from GaudiConf

- In Rich/RichRecQC v2r57
  . Added sequence control in RichHPDFlashMoni

- In Tf/FastVelo v1r7
  . Improve for large IP tracks:
    o Allow change of zone in RZ tracks, but at least 3 in the same zone
      Remove the test that all R hits should be in the same zone later...
    o Count the total cluster size. If average > 1.9, allow tracks with
      higher quality factor (+1.0) (i.e. when two tracks overlap in RZ)
    o Reduce the deltaPhi tolerance for backward tracks (speed)
  . Use the new 'wasDecoded' flag of the Velo sensor to count missed sensors.
  . Reserve space in vectors. (Feed back from Sasha Mazuroz's talk on 6/2/2012)
  . Copy vectors using the insert method.-> -4% time.

- In Tf/PatAlgorithms v4r18
  . PatDownstream: make sure we copy all three states in T to help the fast fit
    in HLT
  . PatForwardTool: 
    o Changed parametrisation of first search window in x.
      Required to add property "MagnetKickParams" to PatForwardTool.
    o Bug fix in PatForward in part which uses momentum estimate.
  . PatForwardTool, PatFwdTool:
    o Fixed part which uses momentum estimate. This part of the code was not used
      anywhere or if it was used it could not work.
    o Removed property "RangeErrorFraction" and changed default value of
      "MinRange". To make sure that the user knows that a momentum estimate is
      used, added property "UseMomentumEstimate" which is false by default.
  . Change calls to std::sort where hits were sorted by a potentially unstable
    sorting criterium to use std::stable_sort; the reason is that there is a
    possibility that we end up with more than one hit at the same z (e.g. two
    hits in same layer), so the result of the sort will depend on the
    implementation of std::sort - using std::stable_sort instead avoids that
    (these changes have to be applied in addition to those in Tf/TfKernel to
    fix differences observed between gcc 4.3 and gcc 4.6)
  . PatFwdTrackCandidate: avoid some memory allocations in handling the vector
    of PatFwdHits
  . FastForwardTool, PatAddTTCoord: replace std::vector by boost::array to avoid
    memory allocations
  . PatDownTrack: avoid needless copying of parameter vectors, preallocate
    space for hit container
  . work on const correctness (where possible)

- In Tf/TrackSys v7r1
  . Fix a bug in python/TrackSys/PatChecking.py which causes the
    TrackEffChecker not to be run on Velo tracks if FastVelo is used
  . Remove unnecessary import from RecoTracking.py

- In Tr/TrackFitEvent v5r14
  . Adapt KalmanFitResult and FitNode to change in Measurement
  . Improve speed of FitNode::computeFilteredState

- In Tr/TrackFitter v4r4
  . Changes to revive functionality of 'forward only' fit
  . Increased minimum number of hits left in outlier removal
  . Small improvement in MasterFitter::outlierRemoved to call smoothing less
    often (only affects HLT)
  . Fix in TrackKalmanFilter to make profiling easier

- In Tr/TrackMonitors v1r37
  . Extend range of histogram for 'Track:history' flag such that we can actually
    see FastVelo

- In Tr/TrackTools v4r12
  . Several changes to TrackStateInitTool to get better track initialization
  . Use Warning(...) instead of warning() << for messages in MuonTTTrack, so
    they eventually get suppressed, and move some info() to debug()
    (for stripping).

- In Tr/PatPV v3r22
  . Remove usage of WeigthsVector from PatPV
  . Make LSAdaptPV3DFitter faster (for HLT)
  . Update PatPVOffline to no longer create a separate 'WeightsVector', but
    instead to store the track weights directly in the RecVertex class, which
    now supports this.
  . Update PVOfflineRecalculate to take the track weights direct from the PV
    itself, instead of trying to load the now obsolete weights vector.

2012-02-01 RecSys v13r0

This version uses Gaudi v23r0 and LHCb v34r0

- Development release in preparation for 2012 data taking

- Packages updated: Muon/MuonTrackMonitor v2r5, Rec/ChargedProtoANNPID v1r6,
    Rec/GlobalReco v6r40, Rec/LumiAlgs v7r3, Rec/RecConf v2r5,
    Rich/RichRecTrackTools v1r33, Tf/PatAlgorithms v4r17, Tf/PatVeloTT v3r17,
    Tr/TrackFitEvent v5r13, Tr/TrackFitter v4r3, Tr/TrackMonitors v1r36,
    Tr/TrackProjectors v2r30, Tr/TrackTools v4r11, Tr/TrackUtils v1r44,
    Tr/PatPV v3r21, Velo/VeloRecMonitors v2r17

- In MuonTrackMonitor v2r5
  . Move 2d histograms to expert mode

- In ChargedProtoANNPID v1r6
  . The annoying sporadic stderr messages from NeuroBayes seem to have returned.
    So, until understood squash them entirely by redirecting stderr and stdout
    to /dev/null *just* for the m_expert->nb_expert(m_inArray) call.
  . Make the network tuning MC11aTuneV2 the default for all data types, as the
    improvements will help in all cases.
  . Add a monitor for the ANN PID variables.
  . Extend the Configurable to allow different net tunings by year
  . Remove truncation of P and Pt variables
  . Add various GE variables from RecSummary
  . Add a few more Tracking variables

- In GlobalReco v6r40
  . Try and fix the qmtests
  . Add the slot DataType to the Configurable, and pass this on to the ANN PID
    Configurable
  . Remove obsolete properties for inputs and outputs from
    ChargedProtoParticleMaker

- In LumiAlgs v7r3
  . Follow changes in RootCnv v1r12
  . Protect FilterFillingScheme for missing Magnet State condition (in 2008)
  . Prepare migration to Gaudi v23:
    o Remove GaudiPoolDb run time dependency, replace it with RELAX
    o Remove tests that require POOL:
      lumialgs.framework.poolfsrwriter, lumialgs.framework.poolreadpoolfsr
    o Put output file of former lumialgs.framework.poolfsrwriter test in SVN, to
      continue testing with lumialgs.framework.rootreadpoolfsr (testPoolFsr.dst)

- In RecConf v2r5
  . Add a ANN PID monitor algorithm to the PROTO Monitoring sequence
  . Propagate the DataType to the GlobalReco Configurable
  . Adapt to change in TrackV0Finder

- In RichRecTrackTools v1r33
  . Add new implementation of the "detailed" track segment creator that uses
    the tracking TrackStateProvider tool, instead of extrapolators.

- In PatAlgorithms v4r17
  . PatMatchTool: 
    o Make sure we copy all three states in T to help the fast fit in HLT
    o Clean up and streamline the code somewhat while we're at it;
      one minor change in behaviour: if momentum estimate tool fails (as far as I
      can see, the current implementation cannot fail), we don't touch the
      momentum estimates of states on a newly created track, we rely on the
      algorithms which supply these tracks to do something reasonable in that
      case
  . include somewhat more fine-grained timing measurements in PatSeedingTool for
    the initial x search (not active by default)
  . for trigger use, add the NDblOTHitsInXSearch property which cuts on the
    number of double hits in the OT (i.e. hits in two monolayers of the same
    layer) for the three layers which are used to form the initial search
    parabola if that number is lower then NDblOTHitsInXSearch, the candidate is
    abandoned early
    The default value for the new property is 0, so the default behaviour does
    not change, however, putting 2 there in the trigger saved O(20%) execution
    time while only 0.5-1% of efficiency is lost (all momenta, for p > 5GeV, the
    efficiency loss is on the order of 0.1-0.3%)

- In PatVeloTT v3r17
  . Fix handling of CondDB updates in PatTTMagnetTool: Z layer positions were
    not being updated

- In TrackFitEvent v5r13
  . Fix problem in reinterpret_cast that only appears in optimization in 
    kalmanfitresult
  . Make sure chi2 cache of trackfitresult is invalidated if a measurement is
    deactivated
  . add total accumulated chi2 of filter to node. use this in kalmanfitresult
  . add ranges to fitnodes in kalmanfitresult

- In TrackFitter v4r3
  . Use new functionality in FitNode to call the smoother less often in outlier
    rejection

- In TrackMonitors v1r36
  . Also do TrackVertexMonitors in online mode, to get PV position in online
    Brunel

- In TrackProjectors v2r30
  . add TrackOTLRSignTool which compute LR signs by looking at hit patterns
  . adapt TrajOTProjector to make use of this
  . introduced 'dynamic' use of OT drifttimes (Pieter David)

- In TrackTools v4r11
  . added missing include to TrackHitCollector

- In TrackUtils v1r44
  . Update the default list of track states to keep in TrackToDST
  . Some improvements to TrackToDST
    o Fully support stripping of Muon Tracks
    o Strip Track::Velo tracks in the same way as Track::VeloR
  . remove use of Track::nodes() in TrackV0Finder

- In PatPV v3r21
  . Introduce beamspot constraint into PVSeedTool to make PatPV3D faster which
    gives a factor between 2 or 3 in exe time when switching from 3D PVSeed3DTool
    to PVSeedTool, lower false PV rate and lower PV->SV mistakes, same
    performance for other parameters like resolution and PV efficiency

- In VeloRecMonitors v2r17
  . Added new plot for "high multiplicity, # clusters", with logic to get
    cluster multiplicity from raw event
  . Increased upper bin limit on the default "# VELO clusters" plot to 6000
  . fixed high-multiplicity code
  . Removed the "# VELO clusters 2" histogram. It has been superseded by the
    algorithm HighMultiplicityMonitor in Velo/VeloDataMonitor.

2011-12-16 RecSys v12r2

This version uses Gaudi v22r5 and LHCb v33r2

- Production release for 2011 data analysis

- Packages added:   Tf/FastPV: Reconstruct the PV in a fast way
- Packages updated: Calo/CaloPIDs v5r11, Calo/CaloReco v5r13, Muon/MuonID v9r3,
    Muon/MuonTools v5r2p2, Muon/MuonTrackRec v3r6p1, Rec/LumiAlgs v7r2,
    Rec/RecoUpgradeMC v1r3p1, Rich/RichAlignment v1r6, Rich/RichGlobalPID v3r18,
	  Rich/RichHPDImageAnalysis v1r11, Rich/RichIFBAnalysis v1r2,
	  Rich/RichParticleSearch v1r5, Rich/RichRecMCTools v2r29,
    Rich/RichRecMonitors v2r33, Rich/RichRecPhotonTools v1r9,
    Rich/RichRecQC v2r56, Rich/RichRecStereoTools v1r8p1,
    Rich/RichRecTools v4r20, Rich/RichRecTrackTools v1r32, Tf/FastVelo v1r6,
    Tf/PatAlgorithms v4r16, Tf/PatVelo v3r25p2, Tf/PatVeloTT v3r16,
    Tf/TrackMatching v2r33p1, Tf/TsaAlgorithms v3r25p1, Tr/PatChecker v3r11,
    Tr/TrackCheckers v4r12, Tr/TrackExtrapolators v2r32p1,
    Tr/TrackProjectors v2r29p3, Tr/TrackTools v4r10, Tr/TrackUtils v1r43p1,
    Velo/VeloRecMonitors v2r16

- In CaloPIDs v5r11
  . CaloPIDs/PIDs.py : fix external cluster setup

- In CaloReco v5r13
  . CaloMergedPi0Rec : fix abusive 'return 0'

- In MuonID v9r3
  . Remove an unused variable from ImuIDTool interface, fixes gcc46 warning
  . MuonPID objects are now saved only if track is InAcceptance, unless
    AllMuonTracks = True.

- In LumiAlgs v7r2
  . In FSRNavigator, move service retrieval from constructor to initialize
    Fixes a problem when building configurables with Gaudi v23
  . Fix ERROR message from PropertyConfigSvc at initialization.

- In RichAlignment v1r6, RichIFBAnalysis v1r2, RichRecMonitors v2r33,
     RichRecQC v2r56, RichRecTrackTools v1r32
  . Use long long instead of long

- In RichGlobalPID v3r18
  . Use int instead of long for keyed object key.

- In RichHPDImageAnalysis v1r11, RichIFBAnalysis v1r2, RichRecMonitors v2r33,
     RichRecTrackTools v1r32
  . Adapt to changes in RichSmartID

- In RichParticleSearch v1r5
  . Use long long where appropriate
  . Removed bug from Viet Nga code causing crashes when ran over data.
  . Added Track selector in order to have cut on momentum
  . Added slot for Max/Min number of photons per track
  . Use stable_sort instead of sort, to avoid reproducibility problems

- In RichRecMCTools v2r29, RichRecPhotonTools v1r9
  . Adapt to changes to PhotonKey in RichRecBase

- In RichRecPhotonTools v1r9
  . Load the Snell's law refraction correction tool on demand in
    PhotonRecoUsingQuarticSoln

- In RichRecQC v2r56
  . Adapt to changes in method names, to make things PD neutral.
  . Introduce RichHPDFlashMoni

- In RichRecTools v4r20
  . Adapt to changes in method names to make things PD neutral
  . Use DeRich detectors to get the PD panels, to correctly get PMT/HPD types.

- In RichRecTrackTools v1r32
  . Adapt to changed return type for nInputTracks()

- In FastVelo v1r6
  . Loop on phi pair combination, not only the best one. Improve efficiency
    for tracks at large IP. Increases the ghost rate by 0.5%
  . Change the definition of dSin (remove centre offset ) in space search.
    Gains some tracks...
  . Update default cut in FastTTValidation to 3.

- In PatAlgorithms v4r16
  . Fix in PatAddTTCoord: If chi2 was still much too high with only 3 hits left
    (in method calculateChi2), it went into an infinite loop.

- In PatChecker v3r11
  . In PrimaryVertexChecker, properly initialize MCPVInfo struct to avoid
    floating point exceptions in debug mode.

- In TrackCheckers v4r12
  . Fix a wrong length string, was causing a memory corruption on occasions
    when running debug version of Brunel.
  . New algorithm VertexChecker to measure the performance of vertexing
  . New type of tracks monitored in TrackEffChecker: 
    Tracks with IP between 1 and 2 mm

- In TrackProjectors v2r29p3
  . Fix an unprotected debug() stream

- In TrackTools v4r10
  . Remove use of Track::nodes
  . Fix memoryleak in unused method of VeloMuonBuilder

- In VeloRecMonitors v2r16
  . Work on VeloOccupancyMonitor to have code to monitor dead/noisy channels
    based on ZS data during normal data taking:
    o most plots have labelled axes now
    o add a few monitoring plots for dead/noisy channels
    o some changes in the internal structure which make the algorithm a factor
      35 faster (histograms are now updated only every 255 events)
    o some effort to make the XML and txt files with dead/noisy channels a bit
      more informative (now have comments with who and where the list was
      produced, and which run numbers were seen)
    o removed some obsolete plots after discussion with Marco Gersabeck

- In LumiAlgs v7r2
  . Fix some UNINIT_CTOR Coverity defects

- In MuonID v9r3, MuonTools v5r2p2, MuonTrackRec v3r6p1, LumiAlgs v7r2,
     RecoUpgradeMC v1r3p1, RichGlobalPID v3r18, RichRecStereoTools v1r8p1,
     FastVelo v1r6, PatAlgorithms v4r16, PatVelo v3r25p2, PatVeloTT v3r16, 
     TrackMatching v2r33p1, TsaAlgorithms v3r25p1, TrackExtrapolators v2r32p1,
     TrackTools v4r10, TrackUtils v1r43p1, VeloRecMonitors v2r16
  . Fix gcc4.6 warnings

- In MuonID v9r3, MuonTools v5r2p2, RecoUpgradeMC v1r3p1, FastVelo v1r6,
     PatAlgorithms v4r16, PatVelo v3r25p2, PatVeloTT v3r16,
     TrackMatching v2r33p1, PatChecker v3r11, TrackTools v4r10,
     TrackUtils v1r43p1, VeloRecMonitors v2r16
  . Fix trivial icc remarks

- In MuonTools v5r2p2, PatChecker v3r11
  . Replace endreq by endmsg

2011-11-11 RecSys v12r1

This version uses Gaudi v22r5 and LHCb v33r1

- Production release for 2011 data analysis

- Packages updated: CaloPIDs v5r10, MuonID v9r2, MuonTrackRec v3r6,
    GlobalReco v6r39, LumiAlgs v7r1, RecConf v2r4, RichHPDImageAnalysis v1r10,
    RichRecMonitors v2r32, RichRecQC v2r55, RichRecTools v4r19, 
    PatAlgorithms v4r15, TfTools v1r15p1, TsaAlgorithms v3r25,
    TrackExtrapolators v2r32, TrackFitEvent v5r12, TrackMCTools v3r1,
    TrackMonitors v1r35, TrackProjectors v2r29p2, TrackTools v4r9

- In Calo/CaloPIDs v5r10
  . CaloPhotonMatch : fix Hcal matching setup

- In Muon/MuonID v9r2
  . Add additional info to Muon tracks using enums instead of hardcoded numbers
  . Move the level of many log messages from DEBUG to VERBOSE.

- In Rec/GlobalReco v6r39
  . Remove some unnecessary includes
  . Update ChargedProtoParticleMoni to define a ProtoParticle as having Muon info
    when LHCb::ProtoParticle::InAccMuon is present in the ProtoParticle

- In Rec/LumiAlgs v7r1
  . Bug fixes in GetIntegratedLuminosity.cpp:
    o Integrated luminosity was not computed if msgLevel > INFO
    o Base class finalize was never called

- In Rec/RecConf v2r4
  . Change the number of the sequencer used for the inclusive timing monitor
    from "BrunelSequencer" to "PhysicsSeq" to avoid problems with the monitor
    timing a still running sequence.

- In Rich/RichHPDImageAnalysis v1r10
  . Fix incorrect usage of std::unique to remove duplicates
  . Improve the sorting operator of Pixels.
  . Various script improvements.

- In Rich/RichRecMonitors v2r32
  . Adapt to changes made to make the recosntruction PD neutral

- In Rich/RichRecQC v2r55
  . Fix silly type conversion typo in the DAQ decoding errors monitor
  . Change the title of the DAQ decoding errors by board histogram
  . Fix a bug in the fill of the 2D decoding errors histogram
  . Avoid multiple ODIN TES requests per event in DataDecodingErrorMoni

- In Rich/RichRecTools v4r19
  . Various small changes to make things PD neutral

- In Tf/PatAlgorithms v4r15
  . Fix insane TES usage in PatSeedFit: instead of getting the container of
    STLiteClusters for every track, we cache the pointer for the duration of
    the event (no changes in performance, though)
  . Properly initialise a few pointers in the constructor of PatSeedFit

- In Tr/TrackFitEvent v5r12
  . FitNode.h: protect against NULL pointer in computeClassicalSmoothedState
               remove obsolete member variable, fixes coverity defects

- In Tr/TrackMCTools v3r1
  . Migrate to LHCb::ParticlePropertySvc
  . Remove obsolete file TrackMCTools_dll.cpp
  . Bug fix in TrackGhostClassificationBase::fromPhi : was returning True if
    ancestor of first particle was Phi, without checking second particle

- In Tr/TrackTools v4r9
  . In TrackNNGhostID, fix typo in ITClusterLocation, effect of which is that
    IT hit multiplicity was never added to the hit multiplicity used to get the
    ghost probability

- In Rec/GlobalReco v6r39, Tr/TrackMonitors v1r35
  . Fix coverity UNINIT_CTOR defects

- In Muon/MuonTrackRec v3r6, Rec/LumiAlgs v7r1, Tf/TfTools v1r15p1,
     Tf/TsaAlgorithms v3r25, Tr/TrackExtrapolators v2r32, Tr/TrackMCTools v3r1,
     Tr/TrackMonitors v1r35, Tr/TrackProjectors v2r29p2
  . Fix or mask icc warning and remarks

- In Muon/MuonTrackRec v3r6
  . Replace obsolete DeclareFactoryEntries.h by ToolFactory.h

- In Muon/MuonTrackRec v3r6, Tr/TrackMonitors v1r35
  . Replace obsolete endreq by endmsg

2011-09-06 RecSys v12r0

This version uses Gaudi v22r4 and LHCb v33r0

- Production release for 2011 end of year reprocessing and MC11

- Packages updated: CaloMoniDst v1r34, CaloReco v5r12, MuonID v9r1,
    MuonTrackMonitor v2r4, LumiAlgs v7r0, RecAlgs v2r6, RecConf v2r3,
    RichAlignment v1r5, RichENNRingFinder v1r4, RichGlobalPID v3r17,
    RichHPDImageAnalysis v1r9, RichParticleSearch v1r4, RichRecAlgorithms v2r19,
    RichRecQC v2r54, RichRecSys v4r4, RichRecTemplateRings v1r5, 
    RichRecTools v4r18, RichRecTrackTools v1r31, TrackMonitors v1r34, 
    TrackSys v7r0, TrackTools v4r8, PatPV v3r20, VeloRecMonitors v1r34

- In Calo/CaloMoniDst v5r9
  . fix CaloAlignment.cpp

- In Calo/CaloReco v5r12
  . fix tracks list reset in CaloProcessor.XXSequence when called from CaloLines
  . python/Configuration.py: 
    o remove dependency on GlobalRecoConf (was producing loop in configurable).
    o TrackTypes & TrackCuts is now private property currently with the same
      default as in GlobalRecoConf

- In Muon/MuonID v9r1
  . Only look for RecHeader when MSG::DEBUG and never warn about its absence.
  . Implemented IsMuonTight, which is IsMuon requiring hits with x,y crossing.
    Option UseUncrossed does not affect IsMuonLoose or IsMuon or IsMuonTight
    anymore.
  . Remove use of random weights for IsMuon or IsMuonLoose. Keep, however, 
    weight 0 for hits in M4 if p<3.5 GeV and hits in M5 if p<4.2 GeV.
    Property Weight_flag continues in database, bit is not used anymore.

- In Muon/MuonTrackMonitor v2r4
  . Moved MuEffMonitor from MuonTrackMonitor to DaVinciMonitors and removed it
    from Brunel sequence

- In Rec/LumiAlgs v7r0
  . Update references for IOHelper FSR fixes and switch of default persistency
    to ROOT
  . Add a filter algorithm FilterFillingSchema: Filters on the presence of
    buckets in a given beam for a given magnet polarity. Needs the online
    partition of the CondDB filling scheme data (2011 onward)
  . Activate this filer for 2011 MAGUP data Beam1, Beam2 in Brunel sequences
    (in Configuration.py)
  . Task #21133:
    o Moved src/IGetLumiParameters.h to LHCbKernel and changed
      src/GetLumiParameters.h accordingly
    o Moved GetLumiParameters::rateFromTCK to RateFromTCK (LHCbAlgs)
    o Adapt GetLumiParameters to use this tool
    o Remove duplicate defined interfaces
  . Cleanup LumiMergeFSR, LumiIntegrator, DumpFSR:
    o indent properly
    o Protect a few debug()
  . GetLumiParameters.cpp: Bug #85240
    o Rename method init(..) to initialise and push the properties passed to that
      method to this class. Change LumiCheckCondDB and 
      GetIntegratedLuminosity.cpp accordingly.
    o Move UseOnline property to tool in LumiIntegratorConf
  . GetLumiParameters and GetIntegratedLuminosity.cpp:
    o Indent properly
    o Protect debug() and verbose()
    o Added doxygen comment
    o Make a few methods inline and const

- In Rec/RecAlgs v2r6
  . Fill the total number of (Best) tracks in the RecSummary data object

- In Rec/RecConf v2r3
  . Introduce new StandardPV configuration to include radial cut for primary
    vertices. See http://savannah.cern.ch/task/?19768.

- In Rich/RichAlignment v1r5, Rich/RichHPDImageAnalysis v1r9
  . Various improvements to the alignment scripts.

- In Rich/RichENNRingFinder v1r4
  . Use stable_sort when sorting the pixels

- In Rich/RichGlobalPID v3r17
  . Various improvements designed to investigate instabilities seen in the
    nightlies.
  . Go back to the full std::log( std::exp(x) - 1.0 ) calculation instead
    of the power series expansion, as this caused 32/64 bit differences and
    possible instabilities.
  . Sort track list on first value (DLL) only.
  . Change std::sort to std::stable_sort in the LikelihoodTool

- In Rich/RichParticleSearch v1r4
  . Added track and Evt information

- In Rich/RichRecAlgorithms v2r19
  . Load the background tool privately.

- In Rich/RichRecQC v2r54
  . Add a 2D plot to the decoding errors monitor to show the number of each
    error type, for each L1 board, by copy number.
  . Get the number L1 boards from DeRichSystem, instead of hard coding them.

- In Rich/RichRecSys v4r4
  . Explicitly set options for the pixel background tools, for each iteration

- In Rich/RichRecTemplateRings v1r5
  . Added factory declaration in
    RichRingRecAlgBase,RichRingRecToolBase,RichRingRecTupleAlgBase

- In Rich/RichRecTools v4r18
  . For better debugging, include P and Pt in track printout in track
    selector and creator.
  . Various small improvements to the background tools

- In Rich/RichRecTrackTools v1r31
  . Allow an empty input track location in the track creators.

- In Tf/TrackSys v7r0
  . Changed default global event cut for number of OT hits from 1M to 15k.

- In Tr/TrackMonitors v1r34
  . Added histograms for IT overlap residuals by stack for use in DQ monitoring
  . Add TrackParticleMonitor

- In Tr/TrackTools v4r8
  . VeloMuonBuilder: move trackfit after selection of the best candidate
                     o tiny impact on efficiency and ghost rate
                     o large reduction of CPU consumption
- In Tr/PatPV v3r20
  . Add standard PV configuration class to PVConf: StandardPV to activate beam
    spot radial cut for reprocessing.
  . Add PV to beamspot radial cut to be activated on demand. Default is no cut as
    before. The radial cut protects high multiplicity SV of B from being
    reconstructed as PV (and lost)
    see https://indico.cern.ch/conferenceDisplay.py?confId=134893
    (PV definition modification)

- In Velo/VeloRecMonitors v2r15
  . Updated track selection in VeloIPResolutionMonitor to be consistent with
    standard offline selection.
  . Cleaned code for VeloIPResolutionMonitor.
  . Added extra track hit info to VeloIPResolutionMonitorNT.

2011-07-27 RecSys v11r6

This version uses Gaudi v22r2 and LHCb v32r5

- Production release for 2011 August data, 
             developments for 2011 MC and end of year reprocessing

- Packages updated: CaloMoniDst v5r8, CaloReco v5r11, HltMonitors v1r4,
    MuonID v9r0p2, MuonTrackMonitor v2r3, ChargedProtoANNPID v1r5,
    GlobalReco v6r38, LumiAlgs v6r1, RecAlgs v2r5, RecConf v2r2, 
    RichAlignment v1r4, RichENNRingFinder v1r3, RichGlobalPID v3r16,
    RichHPDImageAnalysis v1r8, RichRecQC v2r53, RichRecStereoTools v1r8,
    RichRecSys v4r3, RichRecTrackTools v1r30, PatAlgorithms v4r14,
    TfTools v1r15, TrackSys v6r3, TrackExtrapolators v2r31, TrackFitEvent v5r11,
    TrackMonitors v1r33, TrackTools v4r7, TrackUtils v1r43, VeloRecMonitors v2r14

- In Calo/CaloReco v5r11
  . python/Configuration.py :
    o correctly propagate track locations in CaloLines.
    o apply default GlobalRecoConf settings for chargedProtoPMaker
      (when activated on-demand in CaloProcessor)

- In Hlt/HltMonitors v1r4
  . Fix uninitialised m_disabled.

- In Muon/MuonID v9r0p1
  . Change error by warning when no correct region is obtained for DLL calculation
- Rec/ChargedProtoANNPID v1r5
  . Add the flag '-2' when creating NeuroBayes Experts, which in future NB
    releases (10.12 onwards) should suppress the messages from NB when loading
    the expertise files.

- In Rec/GlobalReco v6r38
  . Some minor improvements to the charged ProtoParticle monitor
  . NeutralProtoPAlg : add pi0/gamma separation variable

- In Rec/LumiAlgs v6r1
  . Add LHCbExclusions for reference file comparisons of all QM tests, ensures
    forward compatibility of tests with next Gaudi version
  . Add a method in LumiIntegrator to extract values of "mu" per raw file
    (under control of AccumulateMu and MuKeyName options, default is OFF)

- In Rec/RecAlgs v2r5
  . Add "Hlt" to the list of sub-systems ProcStatAbortMoni knows about

- In Rec/RecConf v2r2 
  . Propagate "Simulation" flag to RichRecQCConf Configurable.

- In Rich/RichAlignment v1r4, Rich/RichHPDImageAnalysis v1r8
  . Various script improvements

- In Rich/RichGlobalPID v3r16
  . Fine tune LikelihoodTool::logExp for better branch prediction
  . Fine tune the event 'abort' messages in TrackSel to distinguish between
    the cases where there are no tracks in the input container, from the case
    when no tracks where selected for RICH processing.

- In Rich/RichRecQC v2r53
  . Remove "DBConsistencyCheck" from the list of monitors run Online.
  . Add optional (disabled by default) per PD resolution plots to RecoQC.
  . Reduce a message in RichDataDBCheck from Error to Warning.
  . Add new flag "Simulation" to RichRecQCConf
  . Turn off monitors that require HLT DecReports, when running on MC data.
  . Enable aerogel tile and sub-tile plots in Rich::Rec::MC::RecoQC only for
    instances running on 'Long' tracks.
  . Add new CK theta monitors with tight track quality cuts
  . Extend the track selection efficiency monitor to include plots for the
    track clone distance variable.
  . Add L1 ingress detail plots to RawDataSize, showing the distribution of
    event sizes for each ingress
  . Update python configuration to activate detail plots in RawDataSize when
    "Expert" histograms are selected.
  . Update the Cherenkov reconstruction monitor to create plots for individual
    aerogel sub-tiles, when active.
  . Small improvements to the data size monitor
    o Fix a small bug in the size calculation when only 3 ingresses are active
    o Add a new plot to give the average size by L1 ingress
    o Add a few additional cross checks to the size calculation
    o Add a second instance of the monitor to the python configuration that
      runs on L0 selected events (no HLT bias).

- In Rich/RichRecSys v4r3
  . Loosen off the abort cuts for 2011+ data. No changes for 2010 or 2009
    o MaxUsedTracks set to 1000(Offline) or 500(HLT)
    o MaxPixels set to 30000 everywhere (previous 20000 in global PID)
  . Increase slightly the size of the aerogel photon selection window for the
    "Wide" photon selection

- In Rich/RichRecTrackTools v1r30
  . Fix a problem with the track selector when trying to apply a clone distance
    cut.

- In Tf/PatAlgorithms v4r14,
  . In PatAlgConf.py, apply global global event cuts taken from
    TrackSys().GlobalCuts to PatSeeding and PatForward. If GEC on Velo hits is
    set, cut on Velo tracks in PatForward is removed
  . In PatSeedingTool, skip event processing if the VELO ProcStatus abort is set.
    Switched on by new option "AbortOnVeloAbort", true by default
  . Added NCandCommonHits to TrackInfo field for calculation of ghost prob.

- In Tf/TfTools v1r15
  . Protect OTHitCreator::handle from dereferencing a NULL m_detectordata
    pointer.

- In Tf/TrackSys v6r3
  . Add new slot TrackSys().GlobalCuts. It consists of a dictionary which is
    then used to set global event cuts on the number of hits used in the
    tracking. Default values are { 'Velo':6000, 'IT':999999, 'OT':999999 },
    except for DataTypes MC09,2008,2009,2010,Upgrade where the defaults are
    those defined in the algorithms
  . Cut on number of Velo clusters is defined by setting MaxVeloClusters
    property of DecodeVeloRawBuffer in VeloTracking.py

- In Tr/TrackExtrapolators v2r31
  . Remove explicit calls to PrintProps (already done in base class)
  . Fix some icc remarks

- In Tr/TrackFitEvent v5r11
  . Use trajectory.endRange/beginRange instead of module().wireLength
    to improve performance

- In Tr/TrackMonitors v1r33
  . ITTrackMonitor: add histogram for overlaps
  . TrackVertexMonitor: introduce cutoff for IP profiles to be more sensitive
                        to mean

- In Velo/VeloRecMonitors v2r14 
  . Fixed integer division bug in new occpancy vs. BCID code
  . Re-implementation of occupancy per bunch crossing ID in
    VeloOccupancyMonitor: much cleaner code and fixes a bug that caused these
    occupancies to be off by a factor of two.
  . Protected unprotected debug messages in VeloClusterMonitor,
    VeloTrackMonitor and VeloIPResolutionMonitor

- In Calo/CaloMoniDst v5r8, Calo/CaloReco v5r11, Muon/MuonTrackMonitor v2r3,
     Rec/RecAlgs v2r5, Rich/RichENNRingFinder v1r3, Rich/RichRecQC v2r53,
     Rich/RichRecStereoTools v1r8, Rich/RichRecTrackTools v1r30,
     Tf/PatAlgorithms v4r14, Tf/TfTools v1r15, Tr/TrackExtrapolators v2r31,
     Tr/TrackMonitors v1r33, Tr/TrackTools v4r7, Tr/TrackUtils v1r43,
     Velo/VeloRecMonitors v2r14 
  . Create debug(), verbose() messages only when output level requires it

- In Calo/CaloMoniDst v5r8, Muon/MuonTrackMonitor v2r3, Tf/PatAlgorithms v4r14,
     Tr/TrackExtrapolators v2r31, Tr/TrackTools v4r7, Tr/TrackUtils v1r43
  . Replace all endreq by endmsg

2011-06-15 RecSys v11r5

This version uses Gaudi v22r2 and LHCb v32r4

This is the first version of Rec to support the ROOT persistency framework.

Major changes:
  . Muon/MuonID v9r0: Implement use of KalmanFoI in MuonIDAlg;
                      introduce nshared tool;
                      add flag to restrict use of uncrossed hits in MuonID
  . Rec/LumiAlgs v6r0: IOHelper now used for reading/writing FSRs and tests

Several changes are included in this version of Rec which previously were
released within other projects:
  . Tr/TrackTools v4r3 with DaVinci v28r3+
  . Tf/TrackSys v6r2 with Brunel v39r3+ and DaVinci v28r3+
  . Rich/RichRecTrackTools with Brunel v39r4+
  . Rich/RichRecQC [v2r51, intermediate state with Brunel v39r4+]
  . Rec/LumiAlgs [v5r2 with DaVinci v28r3+, since then the package has further improved]

For links to the changesets and details of many other minor changes see:
https://lhcb-tag-collector.web.cern.ch/lhcb-tag-collector/display.html?project=Rec&version=v11r5

2011-04-29 RecSys v11r4

This version uses Gaudi v22r2 and LHCb v32r3

- This is a development version of Rec, for use with 2011 data.

- Modified packages: CaloPIDs v5r9, CaloReco v5r9, MuonID v8r1, 
    MuonTrackMonitor v2r2, MuonTrackRec v3r5, GlobalReco v6r37, LumiAlgs v5r1,
    RecoUpgrade v2r2, RecoUpgradeMC v1r3, RichAlignment v1r3,
    RichHPDImageAnalysis v1r7, RichParticleSearch v1r1, RichRecQC v2r50,
    RichRecTools v4r16, RichRecTrackTools v1r28, TrackFitEvent v5r9, 
    TrackTools v4r5

- In CaloPIDs v5r9
  . Update CaloProcessor configurable with 'ExternalClusters' slot

- In CaloReco v5r9
  . update CaloProcessor configurable with 'MakeExternalClustersWithTag' and
    'ExternalClusters' slots

- In MuonID v8r1
  . Implemented reading of new dll tuning (DLL_flag == 4) from database.
  . Fixed small bugs.

- In MuonTrackMonitor v2r2
  . Disable use of TisTosTool in MuEffMonitor when DoTrigger property is True.

- In MuonTrackRec v3r5
  . Switch off clone killing when seed station is not M5.
  . Reset shared hit list ("sameM") for each track in clone killing stage.
  . Stop extrapolating beyond M1.
  . When using strong clone killing, switch off normal clone killing.

- In GlobalReco v6r37
  . Remove from ChargedProtoParticleMaker the option to reuse an existing
    TES location
  . Add a work around to the insert call in ChargedProtoParticleMaker that
    could potentially fail if more than one Track location is used.
  . Update ChargedProtoParticleMoni to no longer rely on the assumption that
    a ProtoParticle will always have the same key as its parent Track

- In LumiAlgs v5r1
  . update logic in GetLumiParameters to accept nBunches from online database
    even if wrongBucketFlag is on (for limited period beginning 2011 run)

- In RecoUpgrade v2r2
  . modify covariance matrix

- In RecoUpgradeMC v1r3
  . Add initial and delete created class

- In RichAlignment v1r3
  . Fix some bugs in the order of arguments passed to richHisto2D
  . Bug fixes to the alignment and calibration scripts, to properly handle
    differences between the CET and GMT timezones.
  . Some improvements to the alignment monitor algorithm, to use the RICH
    methods to book and fill histograms.

- In RichHPDImageAnalysis v1r7
  . Fix a seg. fault in the HPD imge fitting algorithm
  . Bug fixes to the alignment and calibration scripts to handle CET and GMT
    time zones correctly.

- In RichParticleSearch v1r1
  . Remove unneccessary DaVinciInterfaces include

- In RichRecQC v2r50
  . Revert a small hack in Pixel QC algorithm for DC06 compatibility

- In RichRecTools v4r16
  . Remove some DC06 specific hacks.

- In RichRecTrackTools v1r28
  . minor cleanups (remove CVS comments)
  . Remove the caching of some variables in the segment creator tool

- In TrackFitEvent v5r9
  . Fix KalmanFitResult copy constructor from a KalmanFitResult
  . Fix some initialised variables in constructor of FitNode, KalmanFitResult,
    MuonMeasurements and VeloPixMeasurements

- In TrackTools v4r5
  . VeloMuonBuilder: o info on the muon chamber as extra info on the track
                     o initialisation of track type before track fit
                     o Fix a memory leak

2011-04-06 RecSys v11r3

This version uses Gaudi v22r1 and LHCb v32r2

- This is a production version of Rec, for use with 2011 data.

- Modified packages: MuonID v8r0p2, ChargedProtoANNPID v1r4, GlobalReco v6r36,
    RecAlgs v2r3, RecoUpgrade v2r1, RecoUpgradeMC v1r2, RichAlignment v1r2,
    RichHPDImageAnalysis v1r6, RichRecQC v2r49, RichRecSys v4r1,
    RichRecTrackTools v1r27, TfTools v1r14, PatChecker v3r10, TrackFitEvent v5r8,
    TrackMonitors v1r32, TrackTools v4r4

- In MuonID v8r0p1, v8r0p2
  . Fixed memory leak (see https://savannah.cern.ch/bugs/index.php?79569 )
    which was duplicated 5 times or so in the code.
  . Move 0-protection check to 1e-30 and ensure consistency
  . Fixed debug printout, only prepare string if debug is required.
  . Fixed bug in MuonIDAlg: 
    Null ProbMu and ProbNonMu in method calcMuonLL_tanhdist_landau
    Change to low value to avoid log(ProbMu) and log(ProbNonMu) divergence.
  . Move WARNING message during initialize to INFO

- In ChargedProtoANNPID v1r3p1, v1r4
  . Add protection against NaN and infinite input variables
  . Fix icc11 compilation issue with above fix

  . Get rid of some extra ; (icc11 remarks)
  . Remove some CVS comments.

- In RecoUpgrade v2r1
  . Add new pattern recognition algorithm for velopix

- In RecoUpgradeMC v1r2
  . Modifed cheat pat to make real cheat pat
  . add cluster sort for patlhcbid
  . add two new counters for efficiency study

- In RichAlignment v1r2
  . Various improvements to the alignment python scripts.

- In RichHPDImageAnalysis v1r6
  . Rework the way the pixel list in HPDFit is handled, to try and fix an
    obscure and intermittent segmentation fault when these objects are deleted
  . Some minor improvements to the monitor gaudi algorithm
  . More improvements to the HPD fits
    o Remove a bias in the HPD boundary finding, that resulted in top/bottom hits
      being preferred over left/right ones
    o Add an 'intensity' to each pixel and use this in the fit. Helps the fit to
      ignore rogue 'boundary' pixels
    o Add a HPD image cleaner that performs various preprocessing tasks on each
      image before fitting
      + Removes hot/dead pixels
      + removes dead pixel rows and columns
      + Removes the centre region (IFB area)
  . Rework the code to separate out the HPD fitting into a separate linker
    library that is then used by both the component library producing the image
    summaries and also the python code

- In RichRecQC v2r49
  . Remove "HPDImageShifts" from list of monitors run by default
  . Extend the Decoding error monitor to make a summary plot for each L1
    board separately, as well as the overall combined summary
  . Add some more internal consistency checks to Rich::DAQ::DataDBCheck
  . Adapt to change in HPD image monitoring algorithm name

- In RichRecSys v4r1
  . Increase a bit the size of the photon selection window for Rich1gas when
    using the "Wide" photon selection criteria.

- In RichRecTrackTools v1r27
  . Track Track States errors before as well as after propagating them in
    DetailedTrSegMakerFromRecoTracks

- In TfTools v1r14
  . Register OT/STHitCreator to detector geometry conditions

- In PatChecker v3r10
  . Modified PatTTCounter to inherit from a virtual class

- In TrackFitEvent v5r8
  . Add a check for negative element in the state covariance matrix diagonal in
    FitNode, in the smoothing step. Update the error types of KalmanFitResult
    accordingly

- In TrackMonitors v1r32
  . Add PV cov matrix to Vertex Compare ntuple

- In TrackTools v4r4
  . Protect TrackSelector::accept against exceptions being thrown from the
    Track and/or State methods with a try block. If an exception is intercepted
    a warning is printed and the track rejected.
  . Included renamed version of Hlt/HltMuon (used in TrackEffVeloMuon), which is
    not maintained by the HLT-crew anymore. Included to Tr/TrackTools to remove
    it from Hlt

- In GlobalReco v6r36, RecAlgs v2r3
  . Fixes for icc remarks (remove extra ;)

- In GlobalReco v6r36
  . Remove some CVS comments

- In RecAlgs v2r3
  . Add svn:ignore

2011-03-10 RecSys v11r2p1

This version uses Gaudi v22r1 and LHCb v32r1p1

- This is a production version of Rec, required to pick up certain
  patches for 2011 data.

- The L0TCK major version has increased requiring a
  L0DU (Lbcom) and Rec/LumiAlgs v5r0p1 patch

- The RecHeader now also holds for each event a string of the 
  raw file GUID, required before we can use conditions to 
  perform DQ checks, This is filled by RecInit in Rec/RecAlgs v2r2

- Minor changes were also made to Tr/TrackMonitors v3r31

2011-02-28 RecSys v11r2

This version uses Gaudi v22r1 and LHCb v32r1

- This is a production version of Rec, preparing for new data in 2011
  Gaudi v22r1 picks up the latest cmt/Root combination necessary
  to fix a memory leak discovered by Alice.

New packages:
 - Rich/RichParticleSearch, looking for heavy-multiple-charged exotics in the Rich
 - Rec/RecInterfaces, interfaces which are non-subdetector specific

Highlights:
 - Muon/MuonID, new tuning of the muon probability based on 2010 data
 - Rec/RecAlgs, add #TT clusters to RecSummary, only add MuonCoord if #>0
 - Tr/TrackTools, roll back of error parameterisation to DC06 settings
                  new MC10 parameterisation is under study
 - Tr/TrackSys, make 2011 the default datatype
 - Rec/LumiAlgs, 
      . move database access to a tool, "GetLumiParameters" 
        used by LumiIntegrateFSR, LumiCheckCondDB
      . add usage of online partition for LHC parameters (filling scheme) and TCK
        dependent parameters (e.g. rate limiters)
      . update unit tests using new pinned input files
      . update requirements file to enable TCK and online partition

Otherwise many minor cosmetic changes, including the start of the campaign to 
suppress the many icc warnings, remarks, and coverity defects in Rec.

For more details, links to changesets and bugs, see:
https://lhcb-tag-collector.web.cern.ch/lhcb-tag-collector/display.html?project=Rec&version=v11r2

2011-02-02 RecSys v11r1

This version uses Gaudi v22r0 and LHCb v32r0

- Development release, first release of Rec not on slc4.

- Highlights:

  - 2011 track sequence uses FastVelo by default
    . add ForceOldSeq and ForceNewSeq switch in TrackSys to override
    . Major change: TrackSys v6r0

  - EarlyData flags now the default for 2010 and 2011 datatypes
    . Many packages changed
    . Removes the need to set EarlyData flag
    . Older datatypes (such as MC09) will keep the old MC-tuned defaults

  - Modification to DST content:
    . Add new algorithm RecSummaryAlg that fills the new summary object
    . contains some basic information from the reconstruction
    . Major change Rec/RecAlgs v2r0, and Rec/RecConf v2r0

  - Major modification of the KalmanFilter implementation:
    . Major change: Tr/TrackFitter v4r0
    . see changeset r116383


For more details, links to changesets and bugs, see:
https://lhcb-tag-collector.web.cern.ch/lhcb-tag-collector/display.html?project=Rec&version=v11r1

2011-01-17 RecSys v11r0

This version uses Gaudi v21r11 and LHCb v31r8

- Development release, likely to be the last slc4 release of Rec.

- First 2011 release, to be used in preparation of 2011 Moore series
  and Phys/DaVinci stack for 2011 development

- Highlights:
  - Support for 2011 DataType, now the default, currently the same as 2010
  - FastVelo and FastForward tracking updates, ready to be tested for production
    FastVelo not yet the default sequence, requires thought about 2010/2011 behaviour
  - Bugfix in Rec/LumiAlgs which caused segfaults during finalize on S12b files

- For more details and minor bugfixes, patches, see:

https://lhcb-tag-collector.web.cern.ch/lhcb-tag-collector/display.html?project=Rec&version=v11r0

2010-12-16 RecSys v10r6

This version uses Gaudi v21r11 and LHCb v31r8

- Development releases for 2011. 

- Many changes in underlying packages, new LHCb version
- Retire the package Rich/RichMarkovRingFinder
- Added Tf/FastVelo, a faster/better Velo reconstruction sequence for 2011

For details on the individual packages, you can now see:

https://lhcb-tag-collector.web.cern.ch/lhcb-tag-collector/display.html?project=Rec&version=v10r6

2010-11-23 RecSys v10r5p3

This version uses Gaudi v21r11 and LHCb v31r6p1

- This is a minimal patch and clean-up to include the latest fixes which were also
  done for the reprocessing release of Brunel v37r8p3.

- This version replaces v10r5p2 for user analysis and MC production.

- Two packages were branched in this release:
  Rec/RecConf and Rich/RichRecMCTools, to really pick up the minimal changes.
  Along with Rich/RichRecSys these instrument smearing for MC cherenkov angles.

- Patches:
  Rec/RecConf v1r3p1, Rich/RichHPDImageAnalysis v1r4, Rich/RichRecMCTools v2r27p1,
  Rich/RichRecSys v3r34,  Tf/PatVelo v3r25p1, Tr/TrackTools v3r35p3

- In Rec/RecConf v1r3p1:
  . Pass the DataType option to the RICH Reconstruction Configurable

- In Rich/RichHPDImageAnalysis v1r4:
  . Fix a bug in the monitor that causes a NULL histogram pointer to be dereferenced.
  .  Is triggered when a non-empty disabled HPD list used in the Conditions DB
  . Various updates to the python scripts

- In Rich/RichRecMCTools v2r27p1:
  . Extend the photon creator with Gaussian smearing of the CK theta values to properly
    propagate the photon creator job options to owned private tools

- In Rich/RichRecSys v3r34:
  . Add 'DataType' slot to python Configurable
  . Add 2010 MC tuning to smear the reconstructed CK theta values to match resolutions
    achieved in 2010 end-of-year reprocessing. (Aerogel to be done).

- In Tf/PatVelo v3r25p1:
  . Fixed R Tracking update problem: bug #75039

- In Tr/TrackTools v3r35p3:
  . Fix unintialised pointer member in MeasurementProvider

2010-11-05 RecSys v10r5p2

This version uses Gaudi v21r11 and LHCb v31r6p1

- This is a minimal patch to include the latest fixes to FSR processing.
- This version replaces Rec v10r5p1, and will be usd for the winter reprocessing.

- Modified packages:
  Rec/LumiAlgs v4r1p1 (Fix FSR bug), Tr/TrackMonitors v1r30p1 (fix monitoring bug #74815)

- The FSR bug was resulting in some small files without the correct FSRs.
  This caused some segfaulting in user jobs and would have prevented merging FSRs.

2010-10-28 RecSys v10r5p1

This version uses Gaudi v21r11 and LHCb v31r6p1

- This stack is expected to be the last release of 2010, with minor updates
  and agreed-upon patches for the winter reprocessing

- Relevent for Brunel, there was a major update in Det/DetDescSvc v3r0, see bug #74255

- Rec/LumiAlgs now will merge FSRs into a single top-level FSR,
  This should fix bug #69575, needs a special flag to be set in the configurable.

- Packages updated:
  Calo/CaloMoniDst v5r5, Calo/CaloReco v5r7p1, Hlt/HltMonitors v1r1p1, Rec/LumiAlgs v4r1,
  Rich/RichRecPhotonTools v1r8, Rich/RichRecQC v2r47, Rich/RichRecSys v3r33,
  Rich/RichRecTools v4r13, Rich/RichRecTrackTools v1r25, Tf/TsaAlgorithms v3r23p1,
  Tr/PatPV v3r19, Tr/TrackMCTools v2r28, Tr/TrackTools v3r35p2, Tr/TrackUtils v1r39p1
  Rich/RichHPDImageAnalysis v1r4

- In Calo/CaloMoniDst v5r5:
  . fix windows compilation warnings
  . fix type of Relations tables
  . fix finalization crash
  . update ntp algs

- In Calo/CaloReco v5r7p1:
  . clean obsolete options file

- In Hlt/HltMonitors v1r1p1:
  . Fill rate histos with correct weights

- In Rec/LumiAlgs v4r1:
  . update unit tests, include database checker
  . minor correction to configuration
  . merge EventCount, add CondDB checker, add ignoreEE method
  . code for FSR merging
  . put duplicated navigation code in tool
  . fix run numbers in LumiIntegrateFSR and unittests

- In Rich/RichRecPhotonTools v1r8:
  . Update the ray Tracing photon reconstruction tool
  . Update ray tracing an quartic photon reconstruction tools new snell

- In Rich/RichRecQC v2r47:
  . Improve HPD plots in data size monitoring
  . Change histo range + add comment
  . Add a new option to the python Configurable
  . Tune CK theta resolution histogram limits for improved resolutions in data
  . Various updates to avoid loading radiator detector elements
  . Remove aerogel specific monitor

- In Rich/RichRecSys v3r33:
  . Fine tune the photon creator selection cuts

- In Rich/RichRecTools v4r13:
  . Changes to avoid loading the radiator detector elements until they are actually needed
  .  Update Cherenkov cone ray tracing tool to use the new refraction correction

- In Rich/RichRecTrackTools v1r25:
  . Remove caching of refractive indices in CherenkovAngle tool
  . Add a new method saturatedCherenkovTheta that returns
    the saturated CK theta angle for a given track segment
  . Various changes to avoid loading radiator detector elements until they are actually needed

- In Tf/TsaAlgorithms v3r23p1:
  . Fixed compilation problem with Boost 1.44.

- In Tr/PatPV v3r19:
  . change of argument type to const in removeTracksAndRecalculatePV of IPVOfflineTool interface
  . supress final printout in PVOfflineRecalculate if tool instantiated but not used
  . new tool to recalculate PV without refitting

- In Tr/TrackMCTools v2r28:
  . Update DebugTrackingLosses, new ald MeaasureIPResolution

- In Tr/TrackTools v3r35p2:
  . Added "setFilterPassed" to MuonTTTrack.cpp
  . fix a Windows compilation warning

- In Tr/TrackUtils v1r39p1:
  . replace include of ANNSvc with IANNSvc

- In Rich/RichHPDImageAnalysis v1r4:
  . Fix a bug in the monitor that causes a NULL histogram pointer to be dereferenced

2010-09-27 RecSys v10r5

This version uses Gaudi v21r11 and LHCb v31r6

- This stack of releases is the penultimate release of 2010, with the
  last major developments in the series before the winter reprocessing.

- There has been considerable repackaging higher up the release stack,
  now Phys depends directly on Rec.

- A major reshuffling of the upgrade tracking sequence now uses the
  existing configurables (see task #14927)

- The default track selection chi2 has been reduced to <10 from <50.

- Weights for tracks in each PV are now stored on the DST.
  This is a major new development to speed up and correct refitting
  (see task #17004)

- The event time is now stored int the Rec header, avoiding the need
  to open the raw file to configure the updateManagerSvc

- Packages Added:
  Hlt/HltMonitors v1r0
  . Algorithms for offline monitoring of Hlt rate and composition.
  Add new package Rec/ChargedProtoANNPID
  . NN-based (NeuroBayes) PID

- Packages Modified:
  Calo/CaloMoniDst v5r4, Calo/CaloPIDs v5r8, Calo/CaloReco v5r7,
  Muon/MuonID v7r9p2,
  Rec/GlobalReco v6r33, Rec/LumiAlgs v4r0p2, Rec/RecAlgs v1r11p1,
  Rec/RecConf v1r3, Rec/RecoUpgrade v2r0, Rec/RecoUpgradeMC v1r1,
  Rich/RichAlignment v1r1, Rich/RichHPDImageAnalysis v1r3,
  Rich/RichPIDMerge v2r9p1, Rich/RichRecPhotonTools v1r7p2,
  Rich/RichRecQC v2r46, Rich/RichRecSys v3r32, Rich/RichRecTools v4r12p1,
  Rich/RichRecTrackTools v1r24p1, Tf/PatAlgorithms v4r7, Tf/PatVeloTT v3r15,
  Tf/TrackMatching v2r32, Tf/TrackSys v5r0, Tr/PatPV v3r18,
  Tr/TrackCheckers v4r11, Tr/TrackExtrapolators v2r29,
  Tr/TrackMCTools v2r27, Tr/TrackMonitors v1r30, Tr/TrackTools v3r35,
  Tr/TrackUtils v1r39, Velo/VeloRecMonitors v2r12

- In Calo/CaloMoniDst v5r4:
  . Fix uninitialised member variables in CaloPhotonChecker
  . new monitoring alg CaloHypoNtp

- In Calo/CaloPIDs  v5r8:
  . update configurables + CaloPhotonIDAlg
  . fixed compiltion warnings and unchecked status code

- In Calo/CaloReco v5r7:
  . update configurable + CaloMergedPi0Alg
  . fix DoD setting
  . improve LCorrection

- In Muon/MuonID v7r9p2:
  . Supress some unnecessary printouts (Savannah bug #64670)

- In Rec/GlobalReco v6r33:
  . ProtoParticle monitor now produces efficiency plots by track type
  . Move files to RecreatePIDTools
  . Remove "earlyData" tuning
  . Change default track selection chi^2 cuts for charged ProtoParticles
    to <10 from <50
  . update NeutralProtoPAlg

- In Rec/LumiAlgs v4r0p2:
  . Add Simulation slot, switch off LumiAccounting in case of Simulation
  . Properly check existence of conditions before trying to register them

- In Rec/RecAlgs v1r11p1:
  . Set HistoTopDir property for RecProcessingTimeMoni to "Timing"
  . In RecInit.cpp: Copy gpsTime to RecHeader from ODIN Raw bank
  . bugfix in order of the arguments when processing time histogram is booked
  . The histogram in RecProcessingTimeMoni is now booked at initialization

- In Rec/RecConf v1r3:
  . Add upgrade special datatype and special case for muonId if veloPix is in
  . Do not run Hlt mon on DataTypes without HltDecReports or on simulation
  . Added Hlt monitors to the default monitoring configuration

- In Rec/RecoUpgrade v2r0:
  . Add upgrade configurables and remove useless classes/options
  . enable PatVeloPixFitLHCbIDs compatibility with non velopix only tracks
  . addition of a simple option file for velopix
  . cleaning of configurables files

- In Rec/RecoUpgradeMC v1r1:
  . Remove printout in VeloPixChecker and useless states in CheatedVeloPixPat
  . Add some vertex monitoring + update algorithms

- In Rich/RichAlignment v1r1:
  . Add pickled run data for all of August
  . Cache resuts of DB look ups for run information for speed
  . More improvements to the CK theta fit used to extract the n-1 scale factors
  . Add plots showing the CK theta resolution as a function of run number
  . Some more improvements to the refractive index calibration scripts.

- In Rich/RichHPDImageAnalysis v1r3:
  . Some more improvements to the run by run calibration script.
    Now it is possible to seperately fit field Up, Down and Off data.
  . Various improvements in the image alignment scripts

- In Rich/RichPIDMerge v2r9p1:
  . remove CVS comment

- In Rich/RichRecPhotonTools v1r7p2:
  . Minor changes in comments

- In Rich/RichRecQC v2r46:
  . Some minor improvements to the Track selection efficiency monitor

- In Rich/RichRecSys v3r32:
  . Add new Wide photon selection
  . minor bugfixes

- In Rich/RichRecTools v4r12p1:
  . add debug printout

- In Rich/RichRecTrackTools v1r24p1:
  . Fix against very rare crashed in the isolated track tool,
    (when the photon Cherenkov phi value is precisely 2.0*M_PI)

- In  Tf/PatAlgorithms v4r7:
  . add earlyData tuning for PatSeeding
  . some small PatSeedingTool bugs fixed (dead modules in real data)
  . make fit in PatSeedFit more similar to what is in PatSeeding,
    some code cleanup
  . fix compiler warning in PatSeedTrack.h (gcc 4.3/SLC5)
  . lots of PatSeeding development
  . see Tracking and Alignment meeting 2nd Sept 2010

- In Tf/PatVeloTT v3r15:
  . Add VeloPix case in IDs count in PatVeloTT.cpp

- In Tf/TrackMatching v2r32:
  . Modify MeasurmentProvider tool initialisation in TrackMatchVeloSeed

- In Tf/TrackSys v5r0:
  . Add call of upgrade configurables when there is upgrade special data

- In Tr/PatPV v3r18:
  . Removed obsolete cut of collecting tracks for PV fit in LSAdaptPVFitter
  . fix PVConf problem after removal of zMaxSpread parameter in LSAdaptPVFitter
  . Modifications to store track weights
  . removal of obsolete algorithms and tools
  . include track weights in vertex chi2 calculation

- In Tr/TrackCheckers v4r11:
  . Add VeloPix LHCbID case to the TrackEffChecker

- In Tr/TrackExtrapolators v2r29:
  . several bug fixes in TrackStateProvider

- In Tr/TrackMCTools v2r27:
  . Remove hardcoded VeloPix cluster locations in LHCbIDsToMCHits
    and replace it by proper VeloPIxClusterLocation::VeloPixClusterLocation

- In Tr/TrackMonitors v1r30:
  . Remove unused variable from previous commit
  . widened window for PV plot
  . initialized histogram pointers in OTTrackMonitor and OTHitEfficiencyMonitor
  . Add TrackPV2HalfAlignMonitor to sequence
  . moved some histograms out of expert level in TrackMonitor
  . added histograms for velo-calo matching to TrackCaloMatchMonitor

- In Tr/TrackTools v3r35:
  . Modify veloFitter tool initialisation in TrackStateInitTool
  . fix for OT expected hits
  . fix for windows warnings in VeloCaloBuilder and VeloMuonBuilder
  . Added minimal number of TT hits in MuonTTTrack.cpp
  . Added VeloMuonBuilder.cpp/.h and VeloCaloBuilder.cpp/.h building
    Tracks from Velo and Calo/Muon for TrackingEfficiency Stripping
  . Added MuonTTTrack.cpp / .h for making tracks with muon and TT station,
    added MuonInterfaces to requirements file

- In Tr/TrackUtils v1r39:
  . fixed bug in TrackHitAdder

- In Velo/VeloRecMonitors v2r12:
  . minor bugfixes
  . added VeloIPResolutionMonitor to standard VELO monitoring sequence
  . removed obsolete histogramming code from VeloIPResolutionMonitorNT

2010-08-26 RecSys v10r4

This version uses Gaudi v21r10p1 and LHCb v31r5

- This version pick up the latest geometry and event model changes
  from LHCb and Lbcom.

- The Luminosity methods have been updated to allow for -log(P), and write those FSRs
  but this requires a full reprocessing before they can be used

- Tracking and Vertexing have been updated to more appropriate cuts,
  timing has also been improved slightly

- The DDDB, SIMCOND, LHCBCOND tags required to use this software have been
  updated. The software is not strictly backward-compatible on the old DB tags.
  head-20100826 tags should be used. Det/DDDB v1r34 contains the new defaults.

- bug #71012, has been totally fixed
  . (new fit mechanism for tracks breaks Calo photon reconstruction)
	. this allows the new code from Tr/TrackFitter and Tr/TrackTools to be used

- Packages Added:
	Rich/RichAlignment v1r0:
    . Alignment algorithms moved over from Rich/RichRecQC
    . scripts directory containing ganga based run by run scripts

- Packages Modified:
  Calo/CaloPIDs v5r7, Calo/CaloReco v5r6, Rec/LumiAlgs v4r0p1,
  Rec/RecAlgs v1r10, Rich/RichGlobalPID v3r14p2, Rich/RichHPDImageAnalysis v1r2,
  Rich/RichRecQC v2r45, Rich/RichRecTrackTools v1r24, Tf/PatAlgorithms v4r6,
  Tf/TrackMatching v2r31, Tf/TsaAlgorithms v3r23, Tr/PatPV v3r17,
  Tr/TrackExtrapolators v2r28, Tr/TrackFitEvent v5r3,
  Tr/TrackFitter v3r0, Tr/TrackMonitors v1r29, Tr/TrackTools v3r34p2,
  Tr/TrackUtils v1r38, Velo/VeloRecMonitors v2r11

- In Calo/CaloPIDs v5r7:
  . new CaloPhotonIDAlg (PDF from condDB) + configurable update r53594

- In Calo/CaloReco v5r6:
  . adapt to change in CaloPIDs + configurable consolidation r53596

- In Rec/LumiAlgs v4r0p1:
  . changes in code and configurables to move to -log(P) method

- In Rec/RecAlgs v1r10:
  . New monitoring algorithm TimingTuple _not_ to be run by default in Brunel
  . Adapt TimingTuple to new RICH interfrace that directly gives the number of hits

- In Rich/RichGlobalPID v3r14p2:
  . Small cpu optimisation and tidy up

- In Rich/RichHPDImageAnalysis v1r2:
  . Add a new python script to run over a set of ROOT files,
    each for a given run and to create a DB slice containing the Si sensor alignments for each run,
    based on the chip shift offsets computed by the HPD image analysis algorithm
  . Update monitor with an explicit flag to turn on saving off all 2D plots
  . Add new file pyHPDImageFit.py that performs a fit to the HPD image
  . Update hpdLocalOffset method in pyHistoParsingUtils.py with a fullFit flag
  . Add fit to R graph

- In Rich/RichRecQC v2r45:
  . Move alignment code and options to new Rich/Alignment package
  . Fix some typos in histogram labels in RichRecoQC.cpp
  . Comment out use of RichPIDQCConf

- In Rich/RichRecTrackTools v1r24:
  . Add criteria to the Track Selectors to allow rejection of tracks with a failed fit status (default is enabled).

- In Tf/PatAlgorithms v4r6:
  . Tunes PatMatch for good performance
  . new tuning of PatForward
  . kill Warning printout during event loop of 'Too Many XYZ' in PatForward

- In Tf/TrackMatching v2r31:
  . New tuning of the track matching for early data

- In Tf/TsaAlgorithms v3r23:
  . Fix hardcoding of first and last sectors in the overlap hit adder
  . add switches for timing measurements
  . New tuning of the seeding for early data

- In Tr/PatPV v3r17:
  . Improvements for high mu data

- In Tr/TrackExtrapolators v2r28:
  . added TrackStateProvider
  . changed MaterialLocatorBase to make it usable from TrackExtrapolator
  . adapted TrackMasterExtrapolator to use MaterialLocatorBase for its material corrections

- In Tr/TrackFitEvent v5r3:
  . Fixed bug on caching in KalmanFitResult leading to wrong output for track match chi2

- In Tr/TrackFitter v3r0:
  . fill filtered states in FitNode
  . make TrackEventFitter deal properly with tracks that failed in TrackStateInitAlg
  . split counters by track type
  . we had lost some diagnositics since we moved to fitting a single list

- In Tr/TrackMonitors v1r29:
  . Adjust track multiplicity histogram ranges
  . Excluded 2D profiles from OT online monitoring

- In Tr/TrackTools v3r34p2:
  . cleaned up TrackInterpolator by using cached filtered states in FitNode

- In Tr/TrackUtils v1r38:
  . Add FirstMeasurement state to long and upstream tracks
  . TrackHitAdder now also adds velo hits (using Manuel's code)
  . tightened some cuts on TrackV0Finder
  . add state-at-vertex to tracks from V0

- In Velo/VeloRecMonitors v2r11:
  . Added plots of IP resolution vs eta and phi in VeloIPResolutionMonitor


2010-08-04 RecSys v10r3p1

This version uses Gaudi v21r10p1 and LHCb v31r4

- There were a few bugs in the v10r3 Rec release. This is an emergency patch of those.

- bug #70990, problems with stateless tracks in the Best track container
  . Only one package is changed Tf/TrackSys v4r37

- bug #71012, new fit mechanism for tracks breaks Calo photon reconstruction
  . Two packages are reverted to older versions: Tr/TrackFitter v2r49, Tr/TrackTools v3r33


2010-07-28 RecSys v10r3

This version uses Gaudi v21r10p1 and LHCb v31r4

- It was discovered that LCG_58d has major problems with Oracle, Pyroot and Xerces.
  Gaudi v21r10p1 will pick up the patched LCGCMT.

- New minor version to fix urgent problems in production:
  . Crashes in brunel from a segfault in KalmanFitResult savannah bug #70643
  . Rich processing speed improved by a factor of 5 with better Aerogel cuts


- This release goes hand-in-hand with the CondDB patch #4301 which updates the tile calibration

- Packages modified:
  Rich/RichGlobalPID v3r14p1, Rich/RichHPDImageAnalysis v1r1, Rich/RichRecMonitors v2r29,
  Rich/RichRecQC v2r44, Rich/RichRecSys v3r31, Rich/RichRecTrackTools v1r23,
  Tr/TrackFitEvent v5r2, Tr/TrackFitter v2r50,
  Tr/TrackTools  v3r34, Tr/TrackMonitors v1r28, Tf/TrackSys v4r36

- In Rich/RichGlobalPID v3r14p1:
  . Add a fast approximate log(exp(x)-1) expression.

- In Rich/RichHPDImageAnalysis v1r1:
  . Update to add additional histograms of X,Y offset vs copy nr.

- In Rich/RichRecMonitors v2r29:
  . Update RichCherenkovResMoni to make some plots for real data where possible

- In Rich/RichRecQC v2r44:
  . Reduce aerogel resolution plot range to +- 0.018 mrad
  . Turned on histogram production for Rich/RichHPDImageAnalyis monitor
  . Add histogram axis labels to all plots in RichRecoQC.
  . Add an monitor monitoring option "RichPerfFromData" that runs the PID selections from RichPIDQC
    to monitor the PID performance without the need for MC information (i.e. on real data).
    NOTE : This option requires runtime access to DaVinci components, so has to be run under a combined environment
    like > SetupProject Brunel vXrY --runtime DaVinci vNrM --use DaVinciSys
    where vXrY and vNrM are compatible versions (share the same underlying projects).
    For this reason, it is not enabled by default in any histogram mode.

- In Rich/RichRecSys v3r31:
  . Tighten up the search windows for Aerogel photons, to match the improved resolution
    using the new tile calibration DB values. CondDB patch #4301
  . Add some small extensions to the Configurables for the GPID.

- In Rich/RichRecTrackTools v1r23:
  . Tighten up the maximum CK theta resolution value cutoffs in RichFunctionalCKResForRecoTracks.cpp

- In Tr/TrackFitEvent v5r2:
  . added filtered states to FitNode
  . added boost allocator to FitNode
  . protected KalmanFitResult::computeChi2 against tracks with zero nodes

- In Tr/TrackFitter v2r50:
  . fill filtered states in FitNode

- In Tr/TrackTools  v3r34:
  . cleaned up TrackInterpolator by using cached filtered states in FitNode

- In Tr/TrackMonitors  v1r28:
  . Added property "Online" to OTTrackMonitor and OTHitEfficiencyMonitor to control
    number of produced histograms in online monitoring

- In Tf/TrackSys v4r36:
  . Added slot for DataType, propagated from Brunel
  . Supressed PrimaryVertexChecker if DataType is DC06 savannah bug #70698


2010-07-21 RecSys v10r2

This version uses Gaudi v21r10 and LHCb v31r3

- Packages modified: MuonID v7r9, MuonTrackMonitor v2r1, LumiAlgs v3r7,
    RecAlgs v1r9, RecConf v1r2, RecoUpgrade v1r1, RichGlobalPID v3r14,
    RichPIDMerge v2r9, RichRecMonitors v2r28, RichRecQC v2r43,
    RichRecStereoTools v1r7, RichRecSys v3r30,  RichRecTools v4r12,
    RichRecTrackTools v1r22, PatAlgorithms v4r5, PatVelo v3r25,
    TrackMatching v2r30, TrackSeeding v1r5, TrackSys v4r35, TsaAlgorithms v3r22,
    TrackFitEvent v5r1, TrackFitter v2r49,  TrackMonitors v1r27, TrackTools v3r33

- In MuonID v7r9
	. Update the Muon PID algorithm to lazy load the PID tool for first time it
    is really needed.

- In MuonTrackMonitor v2r1
  . New algorithm for chamber efficiency monitoring, including fixes to
    speed up the track extrapolations
  . Remove empty MuonTrackMonitor algorithm
  . MuonTrackAligMonitor.cpp/h:
    o speeded up the extrapolation for residuals calculation on each muon station
    o added some useful histograms to understand if there are shearings wrt to
      the tracking
  . Configuration.py: refined the track selection to produce Alignment monitoring
    histograms

- In LumiAlgs v3r7
  . src/GetIntegratedLuminosity.cpp/h: update algorithm
  . python/LumiIntegratedConf.py: run GetIntegratedLuminosity

- In RecAlgs v1r9
  . Add new monitor for ProcStatus processing aborts. Fill a single histogram
    with the abort rates (%) overall and by sub-system.
  . Add a new monitor for the event processing times. Simple monitor that takes
    a list of algorithm names, and uses the ChronoSvc to sum the processing time
    per event for them, and produce some basic plots.

- In RecConf v1r2
  . Add a new ProcStatus abort rate monitor
  . Add options to turn on some simple processing time monitors
  . Use loose PV for open velo and micro bias trigger in 2010 data

- In RecoUpgrade v1r1
  . Correct the weights in linear fit in PatVeloPixFitLHCbIDs.

- In RichGlobalPID v3r14, RichRecTrackTools v1r22, PatAlgorithms v4r5,
     TrackMatching v2r30, TsaAlgorithms v3r22
  . Set procStatus->aborted for hot events
  . Adapt calls to ProcStat to use new interface that includes additional abort
    information.

- In RichGlobalPID v3r14, RichPIDMerge v2r9,
  . Don't call ProcStat->addAlgorithmStatus for non-failure cases.

- In RichRecMonitors v2r28
  . Improvements to the processing time monitor

- In RichRecQC v2r43
  . Update decoding error rates monitor to use new features in RichKernel
    histogram booking methods to set axis and bin labels.
  . Enable usage of new Histogram label setting utilities, available in
    Gaudi v21r10
  . Only enable ChronoSvc in timing monitors if not already enabled
  . Changed the Alignment monitor so that it is possible to run an instance
    per radiator, so that the Aerogel can be used as well.
  . Update the Configuration of the processing time monitors.
  . Slight change to binning in the pixel monitor.
  . Add a plot to the reco monitor for the total number of photon candidates
    produced by the reconstruction.

- In RichRecStereoTools v1r7, RichRecTrackTools v1r22
  . Adapt to change in where the method that returns the S.D. of the observable
    n-1 distribution is.

- In RichRecSys v3r30
  . Tighten "large event" abort cuts for photons from <1000000 to <250000
  . Rework the Track Configuration to explicitly set all track selection cuts.
    (Defaults in the C++ now NULL).
  . Remove the "earlyData" track selection cuts (main change is chi^2/dof cut
    is tightened from <100 to <10.
  . Turn off the "earlyData" loose photon selection cuts.

- In RichRecTools v4r12
  . Add some axis labels to RICH PID plot tool histograms.

- In RichRecTrackTools v1r22
  . Change default cuts in track selector tools so they are NULL (no selection)
    All cuts are now explicitly set during configuration.
  . Update the track creator tool so when the maximum number of selected tracks
    limit is exceeded, instead of aborting the entire event straight away, try
    selecting removing 'lesser' track types to see if this takes us below the
    limit. Removal starts with Seed tracks, then VeloTT the KsTracks. If the
    limit is still exceeded (with only long tracks) only then is the entire
    event aborted.
  . Add a method to the effective track refractive index tool that returns the
    standard deviation for a given track segment.

- In PatVelo v3r25
  . Reduced memory consumption of PatVeloAlignTrackFilter
  . Fixed a few uninitialized vectors, see bug #68795

- In TrackSys v4r35
  . RecoTracking.py now fits the tracks after clone cleaning for speed
    Old behaviour available by setting TrackSys().FilterBeforeFit = False

- In TrackFitter v2r49
  . Fixed memory leak affecting HLT2
  . Added counter for number of tracks changing sign

- In TrackMonitors v1r27
  . Add TrackTune algorithm
  . Add HitEffPlotter and TrackExpectedXYZHitsTool to make 2D hit efficiency
    plots for Velo, TT, IT, OT. Runs only in Expert mode
  . Added 2D histo's (hiteff,hoteff,expected occ) per layer in
    OTHitEfficiencyMonitor.cpp

- In TrackMatching v2r30, TrackSeeding v1r5, TrackFitEvent v5r1, TrackTools v3r33
  . Changed include location of ISTClusterPosition (now in Tr/TrackInterfaces).

- In TrackSeeding v1r5
  . Removed obsolete file TrackSeeding_dll.cpp

2010-06-22 RecSys v10r1

This version uses Gaudi v21r9 and LHCb v31r2

- Minor release in the run up to the summer conferences.
  . Campaign against windows compiler warnings, none are left, task #15808
  . Add the possibility to time all the tracking steps
  . Change track locations for HLT, there are no longer any defaults
  . Calculate luminosity based on calibration from the CondDB

- Patches for windows compiler warnings:
  Calo/CaloMoniDst v5r3, Calo/CaloPIDs v5r6p1, Muon/MuonTrackRec v3r4,
  Rec/RecAlgs v1r8p1, Rich/RichRecTrackTools v1r21, Tf/TsaAlgorithms v3r21,
	Tr/TrackCheckers v4r10p2, Tr/TrackFitter v2r48p1, Tr/TrackMonitors v1r26,
  Tr/TrackProjectors v2r28p2, Tr/TrackTools v3r32, Tr/TrackUtils v1r37,
  Velo/VeloRecMonitors v2r10p1

- Changes to add timing to tracking steps:
  Tf/PatAlgorithms v4r3, Tf/PatVelo v3r24, Tf/PatVeloTT v3r14, Tf/TrackMatching v2r29,
  Tr/TrackMonitors v1r26, Tf/TrackSys v4r34

- Adaptation to obsolete track locations for HLT:
  Calo/CaloUtils v8r13, Rec/GlobalReco v6r32p2, Rich/RichRecMCTools v2r27,
  Tf/PatAlgorithms v4r3, Tf/PatVeloTT v3r14, Tr/PatChecker v3r8, Tr/TrackUtils v1r37

- Minor updates for monitoring:
  Tr/TrackMonitors v1r26, Muon/MuonPIDChecker v5r2,
  Rich/RichRecQC v2r42

- In RecSys v10r1:
  . Removal of obsolete package RecUtils

- Other package updates:
  Calo/CaloReco v5r6p1, Rec/LumiAlgs v3r6, Rec/RecConf v1r1,
  Rich/RichGlobalPID v3r13p2, Rich/RichRecSys v3r29p1,
  Rich/RichRecTrackTools v1r21, Tf/PatVelo v3r24, Tf/TrackSys v4r34,
  Tf/TsaAlgorithms v3r21, Tr/TrackFitEvent v5r0, Tr/TrackProjectors v2r28p2,
  Tr/TrackUtils v1r37

- In Calo/CaloReco v5r6p1:
  . suppress printout of another error from CaloClusterCovarianceAlg

- In Rec/LumiAlgs v3r6:
  . Introduce database usage to calculate integrated luminosity
  . remove usage of unnecessary algorithms (TouchFSR).
  . add ascii file writer for FSRs (job/LumiFsrToFile.py) uses LumiFsrReaderConf.py.
  . added qmtest for the file writer
  . All Configurations: . update to be compatible with Moore >= v9r1
  . Update default DataType to 2010
  . allow separate .py files for input files

- In Rec/RecConf v1r1:
  . switch from loose to default PV

- In Rich/RichGlobalPID v3r13p2:
  . Add a threshold consistency check

- In Rich/RichRecSys v3r29p1:
  . Propagate OutputLevel to expected track signal tool, when set

- In Rich/RichRecTrackTools v1r21:
  . Some minor improvements to debugging information in RichExpectedTrackSignal

- In Tf/PatVelo v3r24:
  . Improved rejection of R clusters on other side from non-overlap tracks

- In Tf/TrackSys v4r34:
  . Added option FilterBeforeFit in TrackSys and relevant algorithms
    under that condition in RecoTracking

- In Tf/TsaAlgorithms v3r21:
  . Use OT dead strip list in expected hit calculation

- In Tr/TrackFitEvent v5r0:
  . Changed type of OTMeasurement::deltaTimeOfFlight from float to double

- In Tr/TrackProjectors v2r28p2:
  . Fixed bug with noDrifttimes bug #68610

- In Tr/TrackUtils v1r37:
  . Added 3 algorithms to filter duplicated tracks before the fit
  . Added algorithm to import Tracks from Hlt to offline



2010-05-27 RecSys v10r0p1

This version uses Gaudi v21r9 and LHCb v31r1

- Patch release fixing an issue affecting running of HLT in Moore and DaVinci.
- Packages modified: CaloReco v5r5p1

- In CaloReco v5r5p1:
	. CaloCorrectionBase : reduce verbosity
  . python/Configuration.py : set correctly the charged protop location in
    combinedProtoP algo

2010-05-21 RecSys v10r0

This version uses Gaudi v21r9 and LHCb v31r1

- New Major version of Rec with several sweeping changes
  . Review of warnings across Rec task #15441
  . Splitting of RecSys package into RecSys and RecConf task #14804
    o RecSys is the container package, and can contain sam tests
    o RecConf is where the RecSysConf configurable will sit
  . Eliminate importOptions from Rec task #15141

- Patches for warning printout:
  Muon/MuonID v7r8p1, Muon/MuonPIDChecker v5r1p2, Muon/MuonTrackRec v3r3, Muon/MuonTrackMonitor v1r0,
  Rec/LumiAlgs v3r5, Rich/RichGlobalPID v3r13p1, Rich/RichHPDImageAnalysis v1r0p1,
  Rich/RichRecAlgorithms v2r18p1, Rich/RichRecPhotonTools v1r7p1,
  Rich/RichRecQC v2r41, Rich/RichRecTemplateRings v1r4p1, Rich/RichRecTools v4r11p2,
  Tf/PatAlgorithms v4r2, Tf/PatVelo v3r23, Tf/PatVeloTT v3r13, Tf/TrackMatching v2r28p2,
  Tf/TrackSeeding v1r4p4, Tf/TsaAlgorithms v3r20, Tr/PatChecker v3r7p1,
  Tr/PatPV v3r16, Tr/TrackExtrapolators v2r27p1, Tr/TrackFitter v2r48,
  Tr/TrackProjectors v2r28p1, Tr/TrackTools v3r31, Velo/VeloRecMonitors v2r10


- Eliminating importOptions:
  Tf/PatAlgorithms v4r2, Tf/PatVeloTT v3r13, Tf/TrackMatching v2r28p2,
  Tf/TrackSys v4r33, Tf/TsaAlgorithms v3r20, Tr/PatPV v3r16, RecSys

- In RecSys:
  . Move RecSysConf onto RecConf package
  . eliminated importOptions from the configurable

- New Packages:
  . Rec/RecConf v1r0, holds the RecSysConf configurable
  . Muon/MuonTrackMonitor v1r0, new package for monitors of muon tracks

- Minor updates for monitoring:
  . Calo/CaloMoniDst 	v5r2
  . Rich/RichRecQC v2r41
  . Rich/RichRecTools v4r11p2: Fixed histo bug
  . Tr/TrackMonitors v1r25
  . Velo/VeloRecMonitors v2r10

- Other package updates:
  Calo/CaloReco v5r5, Muon/MuonTrackRec v3r3,
  Rec/LumiAlgs v3r5, Tf/PatVelo v3r23, Tf/TrackMatching v2r28p2,
  Tr/PatPV v3r16, Tr/TrackAssociators v2r8, Tr/TrackFitter v2r48,
  Tr/TrackTools v3r31

- In Calo/CaloReco v5r5:
  . Fix bug in splitCluster onDemand settings (causing crash when running caloSequence() in DaVinci)
  . New framework for CaloCorrections. Parameters come with condDB.
  . small fix in CaloProcessor
  . suppress printout of 'Error from cov', but keep printout at end of job (see bugs #67077)

- In Muon/MuonTrackRec v3r3:
  . add tighter cuts to NN neurons in physics case

- In Rec/LumiAlgs v3r5:
  . LumiIntegrateFSR: remove dependence on rawdata, integration at terminate only, now also integrate LumiLowFSR; improved DumpFSR
  . Added check on "Method" to select random Lumi events correctly (works for Moore >=v9r0)

- In Tf/PatVelo v3r23:
  . Changes to PatVeloSpaceTool and PatVeloTrackTool to improve internal fit in the case of half box misalignments
  . improvements to fit and better PatVeloSpaceTool behaviour for overlap tracks
  . Changed how PatVeloGeneral flags backward tracks for beam gas events

- In Tf/TrackMatching v2r28p2:
  . register Match container before aborting events

- In Tr/PatPV v3r16:
  . Modification of LSAdaptPV3DFitter for HLT. Tuning of track error parametrization.

- In Tr/TrackAssociators v2r8:
  . Clear the linker table before associating

- In Tr/TrackFitter v2r48:
  . for HLT: fit velo-backward tracks towards vertex instead of away from it.

- In Tr/TrackTools v3r31:
  . fix an untested statuscode in filter method of TrackInterpolator




2010-04-28 RecSys v9r2p1

This version uses Gaudi v21r9 and LHCb v31r0p1

- Trivial patch to collect LHCb v31r0p1, with a simple fix in RichRecBase

2010-04-26 RecSys v9r2

This version uses Gaudi v21r9 and LHCb v31r0

- Early data improvements for 2009 reprocessing, and for 2010 data
  Move to the latest new Gaudi release to fix processing on the GRID and Online issues
  Including rate-limiting and signal-capturing watchdogs.

- More fixes for excessive online warnings, magnet polarity, and problems processing large events

- Repackaging of upgrade software see task #14927

- Packages Added:
  Rec/RecoUpgrade   v1r0 -- needed for reconstruction of upgraded detector
  Rec/RecoUpgradeMC v1r0 -- needed for reconstruction of upgraded detector (MC related)

- Packages Updated:
  Calo/CaloMoniDst  v5r1, Muon/MuonPIDChecker  v5r1p1, Rec/GlobalReco  v6r32p1 , Rich/RichGlobalPID v3r13,
  Rich/RichRecQC v2r40, Rich/RichRecSys v3r29, Rich/RichRecTools v4r11, Rich/RichRecTrackTools  v1r20,
  Tf/PatAlgorithms  v4r1, Tf/PatVelo  v3r22, Tf/TrackMatching  v2r28, Tf/TrackSys  v4r32,
  Tf/TsaAlgorithms  v3r19, Tr/PatPV  v3r15, Tr/TrackFitEvent  v4r6, Tr/TrackMCTools  v2r26,
  Tr/TrackProjectors  v2r28, Tr/TrackTools  v3r30, Tr/TrackUtils  v1r36, Velo/VeloRecMonitors  v2r9,
  Tr/TrackMonitors v1r24, Rec/LumiAlgs v3r4p1

- In Calo/CaloMoniDst  v5r1:
  . test if the algorithm properties have been set before (re-)setting them in Monitor.py

- In Muon/MuonPIDChecker  v5r1p1:
  . Initializes vector property in the cpp and fixes some definitions of cuts which are monitored

- In Rec/GlobalReco  v6r32p1:
  . fix harmless bug in ChargedProtoParticleCALOBase
  . bug fix in NeutralProtoP

- In Rich/RichGlobalPID v3r13:
  . Changes to implement updating ProcStatus when event processing aborts are triggered (task #14958)

- In Rich/RichRecQC v2r40:
  . Many changes to histograms for online and offline monitoring

- In Rich/RichRecSys v3r29:
  . Turn on suppression of very high occupancy HPDs (>200 hits)
  . Reduces the # of photon candidates, speeds things up by ~ a factor of 4

- In Rich/RichRecTools v4r11:
  . Add some additional plots to the RichPID plot tool

- In Rich/RichRecTrackTools  v1r20:
  . Changes to implement updating ProcStatus when event processing aborts are triggered (task #14958)

- In Tf/PatAlgorithms  v4r1:
  . Change in parametrisation and some other small changes in PatAddTTCoord
  . Adapt to changes in MagneticFieldSvc

- In Tf/PatVelo  v3r22:
  . Optional RZ overlap track finding in backward direction

- In Tf/TrackMatching v2r28:
  . Add protection against hot events

- In Tf/TrackSys  v4r32:
  . Adapt to change in MagneticFieldSvc options

- In Tf/TsaAlgorithms  v3r19:
  . Add protection against hot events

- In Tr/PatPV  v3r15:
  . new method of transforming tracks to global coordinate system in PatPV2DFit3D
  . Use phi of track when transforming from R-phi to 3D and other cosmetic changes

- In Tr/TrackFitEvent  v4r6:
  . Add VeloPixLiteMeasurement, to deal with upgraded Velo LiteCluster measurement

- In Tr/TrackMCTools  v2r26:
  . Add VeloPix case to LHCbIDsToMCHits

- In Tr/TrackMonitors  v1r24:
  . Various improvements to monitoring histograms, added TrackVeloOverlapMonitor

- In Tr/TrackProjectors  v2r28:
  . Add VeloPix case to TrakProjectorSelector and TrajProjector

- In Tr/TrackTools  v3r30:
  . bug fix for downstream tracks in TrackStateInitTool
  . added VeloTrackSelector and ITTrackSelector
  . adapt to changes in magnetic field service

- In Tr/TrackUtils  v1r36:
  . Added VertexListRefiner and VertexListFilter

- In Rec/LumiAlgs  v3r4p1:
  . SDST set just as RDST

- In Velo/VeloRecMonitors  v2r9:
  . bug fix in occupancy monitor
  . Adapted configurable to deal with missing Velo tracks on RDST. Needed for offline DQ monitoring.



2010-04-12 RecSys v9r1

This version uses Gaudi v21r8 and LHCb v30r1

- Early data improvements for 2009 reprocessing, and for 2010 data

- Fixes for excessive online warnings, and fixes for magnet polarity

- In RecSys itself:
  . Add "Simulation" slot to RecSysConf and propagate to RichRecSysConf
  . RecMoniConf: propagate the Histograms slot to CaloMoniDstConf

- Packages Added:
  Det/Magnet v6r0 -- use this version instead of what is released in the lower
                     packages. this use statment should be deleted in the next release.
                  -- new Major version with better handling of magnet polatities

- Packages Updated:
  Calo/CaloMoniDst v5r0, Calo/CaloReco v5r4p2, Muon/MuonPIDChecker v5r1,
  Muon/MuonTrackRec v3r2, Rich/RichGlobalPID v3r12, Rich/RichRecMonitors v2r27,
  Rich/RichRecQC v2r39, Rich/RichRecSys v3r28, Rich/RichRecTrackTools v1r19,
  Tf/PatAlgorithms v4r0, Tf/PatVelo v3r21, Tf/PatVeloTT v3r12,
  Tf/TfTools v1r13, Tf/TsaAlgorithms v3r18, Tr/TrackExtrapolators v2r27,
	TrackMCTools v2r25, Muon/MuonID v7r8p1
  Tr/TrackFitter v2r47, Tr/TrackMonitors v1r23, Tr/TrackTools v3r29,
  Tr/TrackUtils v1r35, Velo/VeloRecMonitors v2r8

- In Calo/CaloMoniDst v5r0:
  . Many Minor improvements
  . Add simplified PID monitoring algo CaloEMuPIDMon
  . remove completely CaloEMuMonitor and CaloEMuChecker

- In Calo/CaloReco v5r4p2:
  . fix missing Prs Threshold in CaloStandaloneClusterSelection.opts
  . fix bug in Configuration

- In Muon/MuonID v7r8p1:
  . Fix for savannah bug #65618
    - an uninitialized variable in CLTool.cpp

- In Muon/MuonPIDChecker v5r1:
  . Change configurable to look at Dowstream tracks also in OffllineFull mode

- In Muon/MuonTrackRec v3r2:
  . Add method for fake hits to MuonHitDecode

- In Rich/RichGlobalPID v3r12:
  . Fine tune event abort messages

- In Rich/RichGlobalPID v3r12:
  . Fine tune event abort messages

- In Rich/RichRecMonitors v2r27:
  . Improvements to the CK theta and resolution detailed monitors

- In Rich/RichRecQC v2r39:
  . Fine tune the data/DB cross check messages
  . Make sure MC histograms that can be made without extended MC RICH

- In Rich/RichRecSys v3r28:
  . Implement maximum pixel, track and photon cuts abort large events
  . Add "Simulation" slot to configurables, early Data tweaks disabled for MC

- In Rich/RichRecTrackTools v1r19:
  . Improvements to the functional CK theta resolution tool
  . Adapt to retirement of fast track parabolic extrapolator
  . Implement maximum track cuts

- In Tf/PatAlgorithms v4r0:
  . New tuning of PatDownstream
  . fix for polarity of B field problem with extrapolation

- In Tf/PatVelo v3r21:
  . Protected PatVeloGeneralTracking from pathological events
  . replace LoKi::Range with Gaudi::Range

- In Tf/PatVeloTT v3r12:
  . clean up configuration of track fit.

- In Tf/TfTools v1r13:
  . add method to STHitCreator to create Tf::STHit for single lhcbid

- In Tf/TsaAlgorithms v3r18:
  . New tuning of the seeding for early data

- In Tr/TrackExtrapolators v2r27:
  . added method to extropolate a statevector from a track
  . added consts
  . removed TrackFastParabolicExtrapolator

- In Tr/TrackFitter v2r47:
  . replaced Loki::Range by Gaudi::Range
  . fixed crash when track without measurements bug #64336

- In Tr/TrackMCTools v2r25:
  . Replaced FastParabolicExtraplator by ParabolicExtrapolator

- In Tr/TrackMonitors v1r23:
  . make check on track type before processing in IT/TTTrackMonitor
  . Reduces CPU by factor >10 and all extrapolator errors

- In Tr/TrackTools v3r29:
  . fixed compilation warning in TrackSelectorBase.h
  . fix for B field polarity problem with extrapolation
  . Added 'Backward' as to track types
  . Replaced FastParabolicExtraplator by ParabolicExtrapolator

- In Tr/TrackUtils v1r35:
  . new option to TrackPrepareVelo to reverse arbitrary charges on Velo tracks

- In Velo/VeloRecMonitors v2r8:
  . Bug fix in VeloTrackMonitor: protection against missing clusters
  . Changes to histogram wrapper baseclass
  . Other minor improvements to ranges and plots



2010-03-24 RecSys v9r0

This version uses Gaudi v21r8 and LHCb v30r0

- A few non-critical patches to improve 2009 data processing.

- Critical bug fixed in TrackMasterFitter, savannah 64808
  . The veloExtrapolator (straight lines) was not used for VeloR tracks, now it is (correctly) used
  . This could cause changes if any users are specifically interested in those tracks

- Major update to configurables across REC, using the new gaudi functionality
  . ConfigurableUsers can now be named, and identified by that name.
  . This new framework is neccessary for the HLT2

- Minor updates to supress hundreds of wanings in windows compiler

- In RecSys itself:
 . Configuration changes needed to adapt to the RICH changes to support
   multiple reconstruction configurations in the same job.
 . Added tests to instantiate all configurables
 . Configuration changes needed to adapt to the MuonPIDChecker changes
   to support the additional levels in the slot Histograms
 . Add new RICH package RichHPDImageAnalysis

- Updates for configurables:
  Rich/RichENNRingFinder v1r2, Rich/RichGlobalPID v3r11,
  Rich/RichMarkovRingFinder v2r9, Rich/RichPIDMerge v2r8,
  Rich/RichRecAlgorithms v2r18, Rich/RichRecMCTools v2r26,
  Rich/RichRecPhotonTools v1r7, Rich/RichRecQC v2r38,
  Rich/RichRecSys v3r27, Rich/RichRecTemplateRings v1r4,
  Rich/RichRecTools v4r10, Rich/RichRecTrackTools v1r18
  (plus additional BelowThreshold information for all tracks)

- Updates for windows compiler warnings:
  Calo/CaloMoniDst v4r5, Muon/MuonID v7r8, Muon/MuonPIDChecker v5r0,
  Muon/MuonTools v5r2, Muon/MuonTrackAlign v1r8p1,
  Rich/RichRecTrackTools v1r18, Tf/TrackFitter v2r46,
  Tf/TrackMatching v2r27p1, Tf/TrackSeeding v1r4p3,
  Tr/TrackCheckers v4r10p1, Tr/TrackProjectors v2r27p1,
  Velo/VeloRecMonitors v2r7p1

- New Packages:
  Rich/RichHPDImageAnalysis v1r0
  . Monitor for RICH HPD image movements over time

- Additionally updated packages:
  Calo/CaloMoniDst v4r5, Calo/CaloPIDs v5r5, Calo/CaloReco v5r4,
  Muon/MuonTools v5r2, Muon/MuonTrackRec, Rec/GlobalReco v6r32,
  Tf/PatVeloTT v3r11, Tf/TfTools v1r12, Tf/TrackSys v4r31, Tr/PatChecker v3r7,
  Tr/PatPV v3r14, Tr/TrackExtrapolators v2r26, Tr/TrackMonitors v1r22,
  Tr/TrackFitEvent v4r5, Tf/TsaAlgorithms v3r17, Rec/LumiAlgs v3r4,
  Tr/TrackTools v3r28, Velo/VeloRecMonitors v2r7p1,
  Tf/TrackFitter v2r46, Muon/MuonID v7r8

- In Calo/CaloMoniDst v4r5:
  . adapt CaloPhotonChecker to change in CaloPIDs
  . make use of CaloAlgUtils to define context-dependent TES inputs
  . CaloMoniDstConf changes

- In Calo/CaloPIDs v5r5:
  . Small changes to CaloID2DLL, BremPIDeAlg, EcalPIDeAlg,
    EcalPIDmuAlg, HcalPIDeAlg, HcalPIDmuAlg, PrsPIDeAlg
  . many changes in configurables

- In Calo/CaloReco v5r4:
  . bugfixes: CaloSharedCellAlg
  . Many changes in the configurables

- In Muon/MuonID v7r8:
  . Fix bug in MuonIDAlg savannah 64670
  . Set default datatype to 2009

- In Muon/MuonTools v5r2:
  . Various changes in Muon FastHWTool.cpp to allow compilation on windows

- In Muon/MuonTrackRec v3r1:
  . put LHCbIDs into Tracks also when assuming cosmic tracks

- In Rec/GlobalReco v6r32:
  . Add support for the RICH BelowThreshold DLL values
  . remove obsolete tools
  . Turn back on adding the RICH, CALO and CombinedDLLs to the ProtoParticles
    (wiped before saving DST)

- In Tf/PatVeloTT v3r11:
  . Bug fix in pattern recognition

- In Tf/TfTools v1r12:
  . add hit smearing to FlagHitsForPatternReco

- In Tf/TrackFitter v2r46:
  . fixed bug in TrackMasterFitter, savannah 64808
  . this was a critical bug, affecting VeloR tracks

- In Tf/TrackSys v4r31:
  . add ST error tuning for the fit (only for early data)

- In Tr/PatChecker v3r7:
  . fixed small bug in PrimaryVertexChecker

- In Tr/PatPV v3r14:
  . bugfixes in PVSeed3DOfflineTool, PVVerryLoose.py, PVSeed3DOfflineTool
  . modified LSAdaptPVFitter so it could be used insead of SimplePVFitter

- In Tr/TrackCheckers v4r10p1:
  . bugfix in TrackEffChecker savannah 64727

- In Tr/TrackExtrapolators v2r26:
  . switch on the use of DetailedBetheBloch model per default

- In Tr/TrackMonitors v1r22:
  . minor changes to TrackCaloMatchMonitor, TrackMonitor,
    TrackVertexMonitor, OTTrackMonitor, ITTrackMonitor, TTTrackMonitor
  . Changes to use FullDetail and respect Brunel Histogramming levels

- In Tr/TrackFitEvent v4r5:
  . added velopix switch case in KalmanFitResult

- In Tf/TsaAlgorithms v3r17:
  . New early data tuning

- In Rec/LumiAlgs v3r4:
  . replace reference stdout for unittest

- In Tr/TrackTools v3r28:
  . retune dEdx in velo to match 2009 data and improve Doxygen comments for
    TrackVelodEdxCharge

- In Velo/VeloRecMonitors v2r7p1:
  . reduced binning of several plots


2010-02-24 RecSys v8r2

This version uses Gaudi v21r7p1 and LHCb v29r2

- A few critical patches, improve tracking, reduce the number of online histos

- Add support in RecSysConf for different Histogramming levels via a
  'Histograms' slot in the python Configurables. Used by RICH and VELO moni


- Packages updated: Muon/MuonID v7r7p1,
										Tf/PatVelo v3r20, Tf/TsaAlgorithms v3r16,
										Tr/TrackExtrapolators v2r25, Tr/TrackFitter v2r45,
										Tr/TrackMonitors v1r21, Tr/TrackTools v3r27
                    Tf/TfTools v1r11,
										Rich/RichRecMonitors v2r26, Rich/RichRecQC v2r37,
										Rich/RichRecTrackTools v1r17,
										Velo/VeloRecMonitors v2r7, Muon/MuonTrackRec v3r0p2

- In Muon/MuonID v7r7p1:
  . fix to requirements file

- In Tf/PatVelo v3r20:
  . Reduced info level verbosity of PatVeloSpaceTool
  . Improved PatVeloGeneralTracking's finding of tracks

- In Tf/TsaAlgorithms v3r16:
  . fixed memory leak in TTGenericTracking::execute

- In Tr/TrackExtrapolators v2r25:
  . TrackDistanceExtrapSelector: move info messages to debug
  . TrackRungeKuttaExtrapolator: improve warning messages.

- In Tr/TrackFitter v2r45:
  . fixed prefit flag in fastfitter configuration
  . Significant improvements to fitter, and refitting
  . UpdateTransport now true by default
  . changed converged criterion in fitter
  . remove state-at-beamline for tracks without velo and TT hits

- In Tr/TrackMonitors v1r21:
  . added 'y-position' histograms to ITOverlapMonitor
  . added "FullDetail" property to OTTrackMonitor, reduces histograms

- In Tr/TrackTools v3r27:
  . improve initialization of Long and Downstream tracks in TrackStateInitTool
  . added some cuts to TrackSelector

- In Tf/TfTools v1r11:
  . add OTIS level granularity to FlagHitsForPatternReco

- In Rich/RichRecMonitors v2r26:
  . Add some plots moved from RichRecQC

- In Rich/RichRecQC v2r37:
  . Add support for Histogramming levels via a 'Histograms' slot
  . Reduced number of histograms for Online brunel

- In Rich/RichRecTrackTools v1r17:
  . Extensions to isolated track tool with new methods for track classes

- In Velo/VeloRecMonitors v2r7:
  . Added a configurable for VeloRecMonitors, for use in Brunel
  . The configurable chooses which monitoring algs to run depending on options
  . Reduced histos in VeloIPResolutionMonitor + info in VeloOccupancyMonitor

2010-02-16 RecSys v8r1

This version uses Gaudi v21r7p1 and LHCb v29r1

- call different PatPV options for "2009" datatype and/or "earlyData" special data

- Multiple package changes for reprocessing last year's data and preparing for 2010 first data.

- added Muon/MuonTrackRec package


- Packages updated: Calo/CaloMoniDst v4r4, Calo/CaloPIDs v5r4,  Muon/MuonID v7r7,
										Muon/MuonPIDChecker v4r1, Muon/MuonTools v5r1, Rec/LumiAlgs v3r3,
										Rich/RichIFBAnalysis v1r1p1, Rich/RichRecMonitors v2r25,
										Rich/RichRecQC v2r36, Rich/RichRecTemplateRings v1r3,
										Rich/RichRecTools v4r9p2, Rich/RichRecTrackTools v1r16p1,
                    Rich/RichRecSys v3r26, Tf/PatAlgorithms v3r29, Tf/TfTools v1r10,
										Tf/TrackMatching v2r27, Tf/TrackSys v4r30, Tr/PatChecker v3r6,
										Tr/TrackExtrapolators v2r24p2, Tr/TrackFitEvent v4r4, Tr/TrackFitter v2r44p1
										Tr/TrackMonitors v1r20, Tr/TrackProjectors v2r27, Tr/TrackTools v3r26,
										Tr/TrackUtils v1r34, Velo/RecVeloMonitors v2r6

- In Calo/CaloMoniDst v4r4:
  . Replace dependency on DaVinciMCKernel with MCAssociators
  . CaloEMuMonitor: add more histograms
  . Minor fixes in CaloEMuChecker, CaloPi0Monitor, CaloMoniAlg, SpdMonitor, CalOEFlowAlg

- In Calo/CaloPIDs v5r4:
  . PIDs.py : use RungeKutta extrapolator instead of HeraB for HLT processing
  . CaloID2DLL - optionally read the DLLs from CondDB

- In Muon/MuonID v7r7:
  . New DLL_flag=3 method
  . Some global MuonID parameters changed.

- In Muon/MuonPIDChecker v4r1:
  . Added compatibility with DLL_flag=3

- In Muon/MuonTools v5r1:
  . Add new tools

- In Rec/LumiAlgs v3r3:
  . add treatment of LumiLow FSRs

- In Rich/RichIFBAnalysis v1r1p1:
  . Various minor changes for speed and bug fixes
  . Dark count code added

- In Rich/RichRecMonitors v2r25:
  . Adapt to changes in histogramming base classes

- In Rich/RichRecQC v2r36:
  . Many changes for monitoring at the pit and offline

- In Rich/RichRecTemplateRings v1r3:
  . bugfixes: avoid selecting rings around target radius

- In Rich/RichRecTools v4r9p2:
  . Adapt to changes in histogramming base classes

- In Rich/RichRecTrackTools v1r16p1:
  . Adapt to changes in histogramming base class.

- In Rich/RichRecSys v3r26:
  . Add temporary ad hoc correct to aerogel CK theta values for earlyData

- In Tf/PatAlgorithms v3r29:
  . modify early data tuning for PatForward and PatDownstream algorithms
  . changes inkeeping with new interfaces

- In Tf/TfTools v1r10:
  . added hitsLocalXRange function to IT/OT/TT hit creators

- In Tf/TrackMatching v2r27:
  . Change in AddTTClusterTool to reflect change in interface IAddTTClusterTool

- In Tf/TrackSys v4r30:
  . move all hit decoding/clustering to the beginning of the tracking sequence

- In Tr/PatChecker v3r6:
  . added additional printout and histos

- In Tr/TrackExtrapolators v2r24p2:
  . SimplifiedMaterialLocator: move some info messages to debug

- In Tr/TrackFitEvent v4r4:
  . added flag for use of driftttime to OTMeasurement
  . added muon chisquare to KalmanFitResult

- In Tr/TrackFitter v2r44p1:
  . Changes in Configurable required for HLT

- In Tr/TrackMonitors v1r20:
  . Added TrackMuonMatchMonitor.cpp (.h) to monitor the M1-Track residuals.
  . Changes in histograms OTHitEfficiencyMonitor and others
  . ConfiguredTrackMonitors.py updated to include TrackMuonMatchMonitor.cpp

- In Tr/TrackProjectors v2r27:
  . improvements in OTProjector, implement new 'prefit',
  . skip drifttimes that are ~2sigma (6ns) outside drifttime spectrum

- In Tr/TrackTools v3r26:
  . add TrackHitCollector tool (collects hits around a track)

- In Tr/TrackUtils v1r34:
  . added TrackHitAdder, Fixed bug in TrackV0Utils

- In Velo/VeloRecMonitors v2r6:
  . added filtering of beam-gas to VeloIPResolutionMonitor
  . bug fix and update residual method to the change in Det/VeloDet
  . Add projected angle computation in VeloTrackMoniNT algorithm

2010-01-21 RecSys v8r0

This version uses Gaudi v21r7 and LHCb v29r0

- Distinguish between earlyData and 2009 switch for PatPV

- Multiple changes for reprocessing the first data
  Most are activated by the "earlyData" switch


- Packages updated: Calo/CaloMoniDst v4r3, Calo/CaloPIDs v5r3,
                    Muon/MuonID v7r6, Rec/GlobalReco v6r31,
                    Rec/LumiAlgs v3r2, Rich/RichIFBAnalysis v2r35,
										Rich/RichRecQC v2r35, Rich/RichRecTemplateRings v1r2, Rich/RichRecSys v3r25,
                    Tf/PatAlgorithms v3r28, Tf/PatVelo v3r19,
                    Tf/PatVeloTT v3r10, Tf/TfTools v1r9,
                    Tf/TrackMatching v2r26, Tf/TsaAlgorithms v3r15,
                    Tr/PatPV v3r12, Tr/TrackTools v3r25, Tr/TrackUtils v1r33
										Tr/TrackMonitors v1r19, Tr/TrackFitter v2r44

- In Calo/CaloMoniDst v4r3:
	. Bugfixes and small changes in CaloProtoElectronMonitor,
    CaloMoniAlg and CaloPi0Monitor

- In Calo/CaloPIDs v5r3:
	. Follow Gaudi fix #61116

- In Muon/MuonID v7r6:
	. Implemented EarlyData for muonID

- In Rec/GlobalReco v6r31:
	. Always set MuonPID SmartRef in ChargedProtoParticleAddMuonInfo when
   available

- In Rec/LumiAlgs v3r2:
	. added support for TimeSpanFSR
	. DumpFSR: new: walks the FSR tree for each new input file and prints content

- In Rich/RichIFBAnalysis v2r35:
	. Pixel-clustering now outputs "Cluster-size" distributions,
	. RICH hitmaps of all-size clusters and RICH hitmaps of IFB-size clusters

- In Rich/RichRecQC v2r35:
	. Cosmetic changes to monitoring histogram and configurable

- In Rich/RichRecTemplateRings v1r2:
	. Added some options to find Cherenkov Rings in No-Magnetic field data

- In Rich/RichRecSys v3r25:
	. Add early data options to use Loose photon selection cuts.

- In Tf/PatAlgorithms v3r28:
	. changes to use ignore flag of HitBase class

- In Tf/PatVelo v3r19:
	. Set PatVeloRTracking and PatVeloGeneralTracking to correct for known half box
   offsets in x and y for tracks crossing halves

- In Tf/PatVeloTT v3r10:
	. bugfix, and respect new ignore flag of HitBase

- In Tf/TfTools v1r9:
	. add algorithm to flag hits to be not used in pattern reco

- In Tf/TrackMatching v2r26:
	. make sure Forward container is not retrieved if not used

- In Tf/TsaAlgorithms v3r15:
	. add check for ignore flag on Pattern Reco Hits

- In Tr/PatPV v3r12:
	. Fix for Savannah bug #61282, required explicit constructors
  . register for updates of Velo position in PatPV2DFit3D
  . Other cosmetic changes

- In Tr/TrackTools v3r25:
	. Changed STClusterCollector so that it can run on B field on data. An option was
    added to allow to run B off data. Default option is B ON.
	. Minor bugfix

- In Tr/TrackUtils v1r33:
	. add TrackListMerger and TrackListRefiner
	. access containers by Range in TrackContainerCopy

- In Tr/TrackMonitors v1r19:
	. Added TrackITOverlapMonitor
	. Reactivation of OTTimeMonitor
	. Modified TrackVertexMonitor
	. Other cosmetic changes

- In Tr/TrackFitter v2r44:
  . added more stable expression for standard smoother.

2009-12-10 RecSys v7r12

This version uses Gaudi v21r6 and LHCb v28r5

- added SpecialData switch "earlyData"

- Packages updated: Rich/RichRecTools v1r16, Tf/PatAlgorithms v3r27,
                    Tr/TrackExtrapolators v2r24p1, Tr/TrackFitter v2r43,
                    Velo/VeloRecMonitors v2r5, Tf/TsaAlgorithms v3r14p3,
                    Tf/TrackSys v4r29, Tr/PatPV v3r11, Rec/GlobalReco v6r30,
                    Tf/TrackMatching v2r25, Tr/TrackFitEvent v4r3,
										Tr/TrackMonitors v1r18, Tr/TrackUtils v1r32,
										Calo/CaloMoniDst v4r2, Rich/RichRecSys v3r24

- In Tr/TrackFitEvent v4r3:
		. Minor improvements in functionality
		. bugfix: removed default constructors for measurement classes

- In Tr/TrackMonitors v1r18:
		. Added histograms to trackmonitor

- In Tr/TrackUtils v1r32:
		. Small modifications in TrackV0Finder

- In Calo/CaloMoniDst v4r2:
		.	Minor changes in monitoring histograms

- In Rich/RichRecSys v3r24:
		. Extend python Configurable for Track Creator
		. In TrackCreator.py, adapt cuts for "earlyData".

- In Rich/RichRecTools v1r16:
		. Minor changes,
      Remove obsolete fle src/RichRecTools_dll.cpp
      Replace all endreq with endmsg

- In Tf/PatAlgorithms v3r27:
		. bugfix and loosened tuning for early data
			Added options file PatDownstream.py.
			PatDownstream: fixes division by zero
		. make PatDownstream.py use RecSys SpecialData switch "earlyData"

- In Tr/TrackExtrapolators v2r24p1:
		. Minor fixes to warnings and unchecked codes

- In Tr/TrackFitter v2r43:
		. bug fix: in a track refit, count outliers before removing
		. moved code to compute segment chisquares to KalmanFitResult.

- In Velo/VeloRecMonitors v2r5:
		. Minor changes to monitors and options

- In Tf/TsaAlgorithms v3r14p3:
		.	added SpecialData "earlyData" for 450 GeV, low rate, with poorer alignment

- In Tf/TrackSys v4r29:
		. changed TrackEffChecker for Downstream tracks in PatChecking.py
		. added SpecialData "earlyData" for 450 GeV, low rate, with poorer alignment

- In Tr/PatPV v3r11:
		. PVLoose.py - options to run PV reconstruction with relaxed cuts

- In Rec/GlobalReco v6r30:
		. In Configurable, adapt cuts for "earlyData".
		. Downgrade some INFO messages to debug.

- In Tf/TrackMatching v2r25:
		. added SpecialData "earlyData" for 450 GeV, low rate, with poorer alignment

2009-12-03 RecSys v7r11

This version uses Gaudi v21r6 and LHCb v28r4

- Packages updated: Velo/VeloRecMonitors v2r4, Tr/PatPV v3r10
										Tf/TsaAlgorithms v3r14p2

- In Velo/VeloRecMonitors v2r4:
		. in VeloExpertClusterMonitor, minor improvements and fixes

- In Tr/PatPV v3r10:
		.	major bug fix in PatPV2DFit3D
		  (wrong pointers of tracks were filled into vertex)
		. optimized execution time of PatPV2DFit3D and LSAdaptPV3DFitter

- In Tf/TsaAlgorithms v3r14p2
		. bug fix, to clone killing in TTGenericTracking
			would have crashed on real data after ~100 events

2009-11-27 RecSys v7r10

This version uses Gaudi v21r6 and LHCb v28r4

- Packages updated: Rec/GlobalReco v6r29, Tf/PatAlgorithms v3r25,
		Tf/TsaAlgorithms v3r15, Tr/TrackFitter v2r41, Tr/TrackTools v3r24
		Tr/TrackMonitors v1r17, Muon/MuonID v7r4

- In Muon/MuonID v7r4:
		. Faster and more robust, minor improvements

- In Rec/GlobalReco v6r29:
		. Add work around for older data where MuonPID::IsMuonLoose() or
   		MuonPID::InAcceptance() is missing

- In Tf/PatAlgorithms v3r25:
		. Improvements in basic calculations in ROOT
			Affected classes: PatAddTTCoord, PatDownstream, PatFwdFitLine,
   		PatFwdFitParabola, PatFwdTool, PatSeedTool, PatSeedingTool
			use ROOT::Math::CholeskyDecomp
			Avoids saddle point problems in Chi2 calculation

- In Tf/TsaAlgorithms v3r15:
		.	Add options to allow seeding to work without OT drift times

- In Tr/TrackFitter v2r41:
		. correcponding fix to Tf/PatAlgorithms v3r25

- In Tr/TrackTools v3r24:
		.	set b field off momentum from 1 GeV to 100 GeV

- In Tr/TrackMonitors v1r17:
		. Protect some pointer dereferences in OTTrackMonitor


2009-11-23 RecSys v7r9

This version uses Gaudi v21r6 and LHCb v28r3

- Packages updated: Rec/LumiAlgs v3r1, Velo/VeloRecMonitors v2r3,
		Tf/TrackSys v4r28, Tr/TrackFitter v2r40, Tr/TrackMonitors v1r16,
    Rich/RichRecQC v2r34p1

- In RecSys v7r9:
  . Add SpecialData beamGas in Configuration.py

- In Rec/LumiAlgs v3r1:
		. fix in tests, to run with creating ODIN bank correctly

- In Velo/VeloRecMonitors v2r3
		. Mandatory changes for first data
		. Some warnings fixed
		. fix for VeloIPResolutionMonitor.cpp on Windows(TM)
		. VeloTrackMonitor.cpp changed the default of TrackLocation
		. VeloTrackMonitor.cpp changed option to have alignment histograms by default
		. bugfix in VeloIPResolutionMonitor: histogram x-axis limits corrected
		. VeloIPResolutionMonitor:
	  	. changed fit to '3D' IPs from Landau to 'x*gaus(x)'
   		. added options of different fitting methods for '3D' IPs
   		. made the limits of the underlying histos dependent on 1/PT bin
   		. added histos of residuals of 1/PT parametrisation as fn of eta & phi
   		. added option to refit PVs removing track for which IPs are calculated

- In Tf/TrackSys v4r28
    . Added beamGas as specialData option (VeloGeneric is thus used)
		. Added option to turn off material corrections in track fit

- In Tr/TrackFitter v2r40
	  . Added property to set fixed scattering momentum, e.g. for magnet off data
    . Made fitter a toolhandle to make adjustment of configuration easier
		. Important bug fix in ConfiguredFitters
		. Minor update of ConfiguredFitters

- In Tr/TrackMonitors v1r16
    . Include OTTimeMonitor in OT sequence

- In Rich/RichRecQC
    . Fix untested StatusCodes in RichAlignmentMonitor

2009-11-16 RecSys v7r8

This version uses Gaudi v21r6 and LHCb v28r2

- Packages updated: Calo/CaloPIDs v5r2, Calo/CaloReco v5r3, Muon/MuonID v7r3,
		Rec/GlobalReco v6r28, Tf/PatAlgorithms v3r24, Tf/PatVeloTT v3r9,
		Tf/TfTools v1r8, Tf/TrackSys v4r27, Tr/PatPV v3r9, Tr/TrackFitEvent v4r2,
		Tr/TrackFitter v2r39, Tr/TrackMonitors v1r15, Tr/TrackProjectors v2r26,
		Tr/TrackTools v3r23, Tr/TrackUtils v1r31, Rec/LumiAlgs v3r0,
		Tf/TsaAlgorithms v3r14, Tf/TrackMatching v2r25, Tr/TrackCheckers v4r10

- In Calo/CaloPIDs v5r2:
		. minor fixes by Olivier and Vanya for warnings and annoyances

- In Calo/CaloReco v5r3:
		. In CaloReco configurable, propagate OutputLevel to CaloDigitConf
		. CaloClusterizationTool.cpp,h : remove look_neigh(),
      use CaloFunctors::neighbours()
		. CaloClusterizationTool.cpp : fix uninitialized neighbour cell list
                                   for level=1
		. make usage off CaloDigitConf configurable to access digits
		. CaloRecoOnDemand : CaloDigitsSeq imported from CaloDAQ
    . CaloElectronAlg  : fix hypothesis setting (uncorrect since a while!)

- In Muon/MuonID v7r3:
		. Make sure trackfitters are (also) configured by ConfiguredMasterFitter
		. Update MuonIDAlg to allow it to be run when the MuonPIDs and MuonTracks
   		already exist in the TES.

- In Rec/GlobalReco v6r28:
		. Downgrade Warnings to Info in data recreation algorithms
		. Change in ProtoParticles. Do not automatically add the RICH,
			Muon and Combined DLL information to the ProtoParticle extraInfo

- In Tf/PatAlgorithms v3r24:
		. PatSeedingTool: In the case of running over unused hits, added option
		  to reuse hits from PatForward tracks.
		. Replace OTRawBankDecoder with OTHitCreator in PadSeedFit
		. Fix for unitialized member variable in PatForwardTool


- In Tf/PatVeloTT v3r9:
 		. Made MagnetTool aware of field updates

- In Tf/TfTools v1r8:
		.	remove an assert that was in the way in OTHitCreator

- In Tf/TrackSys v4r27:
		. Changes in RecoTracking.py,
			o for determining clones faster
			o Added option to run PatMatch
			o All the track types are fitted with the same TrackMasterFitter config
		. Remove options/TrackRecoHLT.py
		. Added cosmic configurations

- In Tr/PatPV v3r9:
		. add PatPV2DFit3D, new algorithm to fir PV 2D with quasi-3D tracks

- In Tr/TrackFitEvent v4r2:
		.	added new class KalmanFitResult which holds Kalman specific info

- In Tr/TrackFitter v2r39:
 		. New configured fitters
		. Moved projectors to masterfitter.
		. Fix call to node range in TrackMasterFitter
		. Added configuration for cosmics fitter (with drifttimes)

- In Tr/TrackMonitors v1r15:
		. Added TrackAlignMonitor: monitoring histos for velo/tt/it/ot
		. Remove fullDetail from alignment histograms in IT/TTTrackMonitor
	 	. small update of OTTrackMonitor, for the pitch resodual part.
		. fix compilor warning in TrackCaloMatchMonitor on gdb43
		. fix decoder for OT algorithms when running on cosmics
		. added track-calo match algorithms
		. modified histos in TrackMonitor
		. fixed memory leak in OTHitEfficiencyMonitor

- In Tr/TrackProjectors v2r26:
		. Declare TrackProjector to the toolfactory
		. Use faster/simpler computation for alignment derivatives
		. Set default value of fitEventT0 of cosmics projector to true

- In Tr/TrackTools v3r23:
		. Modified TrackCloneFinder::flagClones method to randomly mark a clone
		. Fixed a bug in TrackStateInitTool
		. check for existence of cluster locations in TrackNNGhostId
		. fix small memory leak in TrackNNGhostId, add ghost id for all track types
	 	. Added a tool TrackInitFit, a wrapper around TrackStateInitTool
	    and TrackMasterFitter, to be used for dst refit.

- In Tr/TrackUtils v1r31:
 		.	Fix untested StatusCodes on calls to Warning and Error
		. Fix a Windows warning
		. TrackAddNNGhostId: make ghostId tool private

- In Rec/LumiAlgs v3r0:
		. New MAJOR version reflects major changes in the ideas of Lumi Counting
		. A new FSR EventCountFSR has been added to account for in/out events
		. The philosophy of which files should be processed has changed
		. ETC files should be ignored, only raw files or DSTs will be accounted
		. Configurable majorly changed.

- In Tf/TsaAlgorithms v3r14:
		. Added option to run only over hits unused in the previous run of
	   PatForward (OnlyUnusedHits=true). See options/TsaSeeding.py for example

- In Tf/TrackMatching v2r25:
		. TrackMatchVeloSeed: If DiscardUsedVelo, velo seeds used in "good"
		   PatForward tracks with chi2 < DiscardChi2 (default 1.5) are discarded.

- In Tr/TrackCheckers v4r10:
		.	Added TrackOccupChecker for the studies of the occupancies in IT, OT,
   		and Velo. See also root/occup.C.


2009-10-23 RecSys v7r7

This version uses Gaudi v21r5 and LHCb v28r1

- Packages removed: RecCheckers: obsolete, MCReconstructed tool has been moved
                                 to DaVinciMCTools
                    NNTools: obsolete
- Packages updated: CaloMoniDst v4r1, CaloPIDs v5r1p1, CaloReco v5r2,
    MuonID v7r2p2, MuonTrackAlign v1r8, GlobalReco v6r27, LumiAlgs v2r3,
    RichGlobalPID v3r10p4, RichRecAlgorithms v2r17, RichRecMCTools v2r25p1,
    RichRecMonitors v2r24, RichRecQC v2r34, RichRecSys v3r22,
    RichRecTemplateRings v1r1p1, RichRecTrackTools v1r15,  PatAlgorithms v3r23,
    PatVelo v3r18, PatVeloTT v3r8p1, TrackMatching v2r24, TrackSys v4r26,
    TsaAlgorithms v3r13, TrackAssociators v2r7, TrackCheckers v4r9,
    TrackExtrapolators v2r24, TrackFitEvent v4r1, TrackFitter v2r38,
    TrackIdealPR v2r19, TrackMonitors v1r14, TrackProjectors v2r25,
    TrackTools v3r22, TrackUtils v1r30, VeloRecMonitors v2r2

- In RecSys v7r7
  . Changes to python/RecSys/Configuration.py:
    o Add RecMoniSys configurable to set up Monitoring phase of, e.g., Brunel
    o Allow users to explicit set an empty sequence

- In CaloMoniDst v4r1
  . Update in CaloEFlowAlg
  . CaloMoniAlg.h :
    minor fix for the recent modification in CaloCellCode functions
  . CaloPi0Monitor :
    o selection of non-converted photons
    o isolation criteria
    o Add background subtracted histo
  . Add background histo in resolved pi0 monitor
  . Fix problem with HashMap removing const !

- In CaloPIDs v5r1p1
  . Reduce CaloTrackMatchAlg verbosity
  . Reduce InCaloAcceptance/CaloTrackMatchAlg verbosity when no good tracks found
  . Add protection against missing inputs

- In CaloReco v5r2
  . Fix python modules to avoid make error with Gaudi v21r5
  . Add the possibility to use both Tracks and Spd ( in *OR* mode)
    as neutrality criterion for clusters
  . Brunel.opts, HltCaloSeq.opts, python/Reconstruction.py :
    remove CaloGetterInit/CaloDigitGetter (no longer needed)

- In MuonID v7r2p2
  . In ConfiguredMuonIDs.py and all Muon_*, remove all the absolute path
    references, as these are not valid for Ganga and Dirac.
  . In CLTool.cpp fix a bug appearing when only one momentum bin is applied
  . In IsMuonCandidate.cpp fix a bug related to the units of the momentum
  . In ConfiguredMuonIDs.py, set DoF property of TrackKalmanFilter to 0, since
    MuonID uses an external state as a constraint, worth '5 measurements'.
    Fixes warning in Brunel about negative nDOF

- In GlobalReco v6r27
  . Suppressed PID disabled warning messages in ChargedProtoPAlg for HLT, until
    the move other to the new algorithms, to reduce printout.
  . Fix untested StatusCodes in Charged ProtoParticle tuple monitor.
  . src/NeutralProtoPAlg.cpp
    disable replace of container for "lightMode"  ( it result in HUGE gain
    in calibration mode, avoiding decoding of "old" & "packed" protoparticles)
  . Fix python Configurable to properly set output level for all algorithms

- In LumiAlgs v2r3
  . remove small memory leak in LumiAccounting::finalize()
  . remove EOR from FileRecords path
  . add functionality to write/read MDF files with only lumi events:
    Add LumiWriter[Conf].py, LumiReader[Conf].py,LumiFileReader.cpp/h

- In RichGlobalPID v3r10p4
  . Suppress warning messages about empty track or pixel containers so 0
    instances are printed during processing. They are instead just summarised
    at the end of the job.

- In RichRecAlgorithms v2r17
  . Improve event selection algorithm by including both Min and Max cuts

- In RichRecMCTools v2r25p1
  . Fix untested StatusCodes

- RichRecMonitors v2r24
  . Fix some untested StatusCodes in various ntupling methods.

- In RichRecQC v2r34
  . Remove dedicated hot pixel finder algorithm (now implemented as a generic
    HPD analysis tool). Update python options accordingly.
  . Book histograms during initialisation in the AlignmentMonitor
  . Change default options to fill mirror histograms as well.
  . Add option to monitoring Configurable to apply custom selection of events
    used by the monitoring algorithms.
  . Add new ring search monitor

- In RichRecSys v3r22
  . Fix python modules to avoid make error with Gaudi v21r5
  . Improve "Loose" photon selection for cosmic running.
  . Improvements to how the OutputLevel level property is propagated to other
    python Configurables and used

- In RichRecTemplateRings v1r1p1
  . Added an extra option for selecting all tracks for Cosmics data.
    This allows the TT tracks to be used for ring finding.

- In RichRecTrackTools v1r15
  . Fix track selector to select tracks that have default likelihood or
    ghost probability values (999) (e.g. in the HLT).

- In PatAlgorithms v3r23
  . PatDownstream:
    o Changed options to remove used hits and T-tracks. Use RemoveUsed to switch
      it on. If RemoveAll all hits and T-tracks that have already been used are
      removed. If not RemoveAll, only hits and T-tracks from longtracks with a
      chi2 smaller than LongChi2 are used to remove hits and T-tracks
    o Retuned Parameters for MC09
    o Made search windows momentum dependent
    o Changed way of fitting the x projection

- In PatVeloTT v3r8p1
  . Fix memory leak in PatVeloTTFit

- TrackSys v4r26
  . RecoTracking.py:
    o Use TrackAddNNGhostId instead of NeuralNetTmva to calculate ghost
      probability
    o Remove import of obsolete options file
      $TRACKTOOLSROOT/options/FastMomentumEstimate.opts"
  . Remove obsolete options files RecoTracking.opts, NoFieldTracking.opts

- In TsaAlgorithms v3r13
  . Added new algorithm: TTGenericTracking. See include file for documentation.

- In TrackAssociators v2r7
  . Removed code that would omit outliers in comparison to MC since it was
    anyway broken.

- In TrackCheckers v4r9
  . Adapted TrackCheckerNT to new-style MC association on OT hit level so
    things work again with MC09 data

- In TrackExtrapolators v2r24
  . Fixed division by zero in TrackRungeKuttaExtrapolator
  . Use Runge Kutta extrapolator as default
  . Added missing const to TrackExtrapolator functions with Plane3D and
    small optimization for planes that are not perpendicular to z.

- In TrackFitEvent v4r1
  . Added data member 'doca' to fitnode.

- In TrackFitter v2r38
  . Added extra extrapolator to TrackMasterFitter for velo-only tracks.
    Configuration now identical for all track types except Seed.
  . Update ConfiguredFitters: remove default prefitters, add some flags
  . Removed the lines in TrackMasterFitter that check for the number of
    measurements. This is not strictly needed. Added a warning in
    TrackKalmanFilter when ndof is below zero.

- In TrackMonitors v1r14
  . Added PitchResTool. Calculates pitch residuals in the Outer Tracker
  . In OTTrackMonitor, pitch residuals are calculated & histogrammed.
  . Add a new option in STEfficiency, to allow spill over studies and removed
	  useless option
  . Added OTHitEfficiencyMonitor
  . Made a separate configuration for OT monitors

- In TrackProjectors v2r25
  . Fill new data member doca in FitNode

- In TrackTools v3r22
  . Fix memory leak in TrackStateInitTool
  . Make measurement providers private tool of 'master' provider
  . Add TrackNNGhostId tool to compute the ghost probability using a standalone
    neural net
  . Remove obsolete file options/FastMomentumEstimate.opts

- In TrackUtils v1r30
  . Move HltInsertTrackErrParam from HltSelections
    o hacks the errors and replaces them by some P-dependent value
  . Move NumberOfTracksFilter from HltSelections
    o setFilterPassed depending number of tracks in a container
  . Add initial relese of TrackAddNNGhostId algorithm

- In VeloRecMonitors v2r2
  . VeloClusterMonitor: code only relevant for TED runs removed. Clean up.
  . bug fix in track monitor: C side phi plot was not filled.
  . Fixed hist IDs in sampling monitor
  . All histograms and profiles in VeloTrackMonitor are now booked in
    initialize(). Do not book hitmap histos by default
  . Changed online monitoring options +/- 5 TAE instances of the occupancy
    monitor.
  . Added property to sampling monitor that allows to disable NZS based plots.
  . Online options now disable NZS plots in sampling monitor
  . Fixed wrong property in online options for occupancy monitor
  . Added PVSS TELL1 names to histogram titles in occupancy monitor
  . Masked out XML writing feature in VeloOccupancyMonitor on Windows(TM)
  . Adapted to new locations of tool interfaces. Reverted cmt hack to hide tool
    usage in standard build because no longer needed.
  . Added missing dependency on L0Event and HltEvent

- In MuonTrackAlign v1r8, RichRecTrackTools v1r15, TrackMatching v2r24,
     TrackCheckers v4r9, TrackFitter v2r38, TrackIdealPR v2r19,
     TrackMonitors v1r14, TrackTools v3r22, VeloRecMonitors v2r2
  . Adapted to changes in LHCb::Track

- In MuonTrackAlign v1r8, TrackAssociators v2r7
  . Remove obsolete file _dll.cpp

2009-09-08 RecSys v7r6

This version uses Gaudi v21r4 and LHCb v28r0

- Packages modified: CaloMoniDst v4r0, CaloPIDs v5r1, CaloReco v5r1, MuonID v7r2,
    GlobalReco v6r26, RichGlobalPID v3r10p3, RichMarkovRingFinder v2r8p1,
    RichPIDMerge v2r7p1, RichRecAlgorithms v2r16p1, RichRecMCAlgorithms v1r3p2,
    RichRecMCTools v2r25, RichRecMonitors v2r23p1, RichRecPhotonTools v1r6p1,
    RichRecQC v2r33, RichRecStereoTools v1r6p1, RichRecTemplateRings v1r1,
    RichRecTools v4r9p1, RichRecTrackTools v1r14, PatVelo v3r17, PatVeloTT v3r8,
    TrackSys v4r25, TsaAlgorithms v3r12, NNTools v1r6, PatChecker v3r5,
    PatFitParams v4r0, TrackCheckers v4r8, TrackExtrapolators v2r23,
    TrackFitter v2r37, TrackMonitors v1r13, TrackProjectors v2r24,
    TrackTools v3r21, TrackUtils v1r29, VeloRecMonitors v2r1

- In RecSys v7r6:
  . In Configuration.py: added usage of CaloReco & CaloPIDs configurables
  . In requirements: added apply_pattern container_package.

- In CaloMoniDst v4r0
  . Add proper configurable
  . CaloEMuMonitor.cpp add protection when no charged ProtoParticle
  . CaloEMuMonitor, CaloEMuChecker: add proper calls to the base-class finalize()
  . CaloPIDsChecker.cpp : fix division by zero in divide()
  . Fix bug in CaloMoniAlg (SplitAreas/m_split property/member already exists
    in inherited Calo2DView

- In CaloPIDs v5r0, v5r1
  . Add configurables
  . Implement generic context-dependent TES I/O

- In CaloReco v5r0, v5r1
  . Add proper configurables for calorimeter recontruction
  . Adapt old syntax .opts to change in CaloReco (public->private tool)
  . Implement generic context-dependent TES I/O
  . Add missing #include  for std::auto_ptr

- In MuonID v7r2
  . Change python ConfiguredMuonIDs to prevent the use of pickle
  . Change in MuonIDAlg to update the printing of the version

- In GlobalReco v6r25, v6r26
  . Reorganisation of charged ProtoParticle algorithms for greater
    flexibility :-
    + New algorithm with creates ProtoParticles from Tracks, but no longer
      adds any PID information
    + One algorithm per PID information to be added to the ProtoParticles.
      Seperating these tasks from the main ProtoParticle creator allows PID
      information to be added at a later date (e.g. in the HLT).
    + Each PID algorithm now makes sure to first purge any existingg
      information from the ProtoParticles before adding any new values.
    + python Configurable is updated to use the new algorithms (used by Brunel)
    + New Monitor algorithm (used in Brunel).
  . Implement generic context-dependent TES I/O
  . Make sure default TES locations are always set, even if context() is not set
  . NeutralProtoPAlg: add "LightMode" flag to skip all "additional info"

- In RichRecMCTools v2r25
  . Add new pixel creator that creates a single RichRecPixel object for each and
    every MCRichHit in the event.
  . Fix minor bug in PixelCreatorFromCheatedRawBuffer where the radiator
    corrected local positions were not being updated with the new MC cheated
    information when available.

- In RichRecQC v2r33
  . Add hot pixel finder
  . Disable sending messages about mis-matches in raw data size between
    RawEvent and decoded data structures
  . Extend the data consistency checking algorithm to HPD L0ID
  . Adapt to changes in LHCb::Track
  . Add HPD hit monitor to expert checks.
  . Update HPD hit monitor to make separate plots for ZS and non-ZS data.

- In RichRecTemplateRings v1r1
  . Added an extra option to activate for saturated tracks only for the
    RichTargetDataConfigAlg. This would speed up the cpu.

- In RichRecTrackTools v1r14, NNTools v1r6, TrackCheckers v4r8,
     TrackMonitors v1r13, TrackTools v3r21
  . Adapt to changes in Track.xml

- In PatVelo v3r17
  . Update NewVeloSpaceTracking to get better efficiency with still low ghosts
  . New algorithm VeloUpdateHighThreshold to update the High threshold bit of the
    lite clusters according to the charge of the whole clusters. See release
    notes for usage. The efficiency increases by 0.2%
  . Changed default name of PatVelo hit managers for PatVeloFitLHCbIDs

- In PatVeloTT v3r8
  . Adapt to another change in configuring the fit

- In TrackSys v4r25
  . Add cleaning of track extra info in pattern reco sequence
  . Add algorithm needed for hit efficiency to track checking sequence
  . Remove explicit prefits

- In TsaAlgorithms v3r12
  . ITGenericTracking: remove filling of LHCb::Track::nExpectedIT

- In PatChecker v3r5
  . Replace TfHits by LiteClusters in PatLHCbID2MCParticle

- In PatFitParams v4r0
  . Adapt to python configurable so that it is easy to run:
    after having setup Brunel, just do gaudirun.py ../options/FitParams.py
  . Change output of the fit algorithms to produce python options

- In TrackCheckers v4r8
  . Protect output in TrackEffChecker against nan
  . Add "good" B daughter effiency and hit efficiency to TrackEffChecker output

- In TrackExtrapolators v2r23
  . Add base class TrackFieldExtrapolatorBase and adapted relevant extrapolators
  . Remove TrackLongExtraSelector; fixed properties of TrackDistanceExtraSelector
  . Fixed bug in TrackHerabExtrapolator introduced in v2r20.

- In TrackFitter v2r37
  . Prefit iteration is now implicit in fit: as long as ambiguity of OT hit is
    not set, it will not use the drifttime. Adapted number of iterations of
    normal fit to take this into account.
  . Correct DOF to 4 in case of field off

- In TrackMonitors v1r13
  . Adapt to changes in HitPattern
  . Tidy up STEfficiency algorithm

- In TrackProjectors v2r24
  . OTProjector will not use drifttime if ambiguity is zero (unitialized)

- In TrackTools v3r21
  . In TrackCloneFinder retuned cuts for fast clone finding to match the
    performance of the full clone killing

- In TrackUtils v1r29
  . Add algorithm to fill expected hit information
  . Add algorithm to clean track extra info

- In VeloRecMonitors v2r1
  . Add preprocessor flag -DVETRA if cmt flag VETRA_root is active to allow for
    specialised code that can't be compiled under Brunel dependencies.
  . Use the above flag in the occupancy monitor to mask dependencies on
    VetraKernel and VeloTell1Tools when not compiling in Vetra.
  . Occupancy monitor: now uses the new TELL1 map and time stamp tools when
    writing strip mask XML files. More graceful handling of missing input
    containers. Usage of ODIN bank can be switched off.

- In CaloPIDs v5r1, RichGlobalPID v3r10p3, RichPIDMerge v2r7p1,
     RichRecAlgorithms v2r16p1, RichRecMCAlgorithms v1r3p2,
     RichRecMonitors v2r23p1, RichRecPhotonTools v1r6p1, RichRecQC v2r33,
     RichRecStereoTools v1r6p1, RichRecTemplateRings v1r1, RichRecTools v4r9p1,
     NNTools v1r6, PatFitParams v4r0
  . Remove obsolete file src/_dll.cpp

- In GlobalReco v6r25, RichGlobalPID v3r10p3, RichMarkovRingFinder v2r8p1,
     RichPIDMerge v2r7p1, RichRecAlgorithms v2r16p1, RichRecMCAlgorithms v1r3p2,
     RichRecMCTools v2r25, RichRecMonitors v2r23p1, RichRecPhotonTools v1r6p1,
     RichRecQC v2r33, RichRecStereoTools v1r6p1, RichRecTemplateRings v1r1,
     RichRecTools v4r9p1, RichRecTrackTools v1r14
  . Replace all endreq with endmsg

2009-07-30 RecSys v7r5

This version uses Gaudi v21r3 and LHCb v27r5.

- Packages modified: CaloMoniDst v3r9, CaloReco v4r21, MuonID v7r1,
    GlobalReco v6r24, RichRecMCTools v2r24, RichRecQC v2r32, PatVelo v3r16,
    PatVeloTT v3r7, PatChecker v3r4p2, TrackFitter v2r36, TrackIdealPR v2r18,
    TrackMonitors v1r12, TrackTools v3r20, VeloRecMonitors v1r11

- In RecSys v7r5
  . Configuation.py: Propagate SpecialData property to ConfiguredMuonIDs

- In CaloMoniDst v3r9
  . Remove not needed includes
  . Clean up dependencies in requirements
  . change std::map< std::string, XXX * > to
    GaudiUtils::HashMap< const std::string, XXX * > for faster lookups.

- In CaloReco v4r21
  . CaloRecoOnDemand.opts: Add digit sequence in CaloClusterOnDemand, for HLT

- In MuonID v7r1
  . Change ConfiguredMuonIDs to disable fit when reconstructed data are cosmics
  . Protect debug messages to be printed only if OuputLevel=DEBUG
  . Change some Error/Warning messages to debug messages
  . Change findTrackRegion to use region in M2 or M3 instead of M2 only
  . Remove Error message if findTrackRegion returns -1
  . Skip Prob calculation only if no valid region in M2 AND M3
  . Adapted configurable to change in TrackMasterFitter properties

- In GlobalReco v6r24
  . Store Muon PID information in charged ProtoParticles when
    MuonPID::IsMuonLoose is true, not MuonPID::IsMuon.

- In RichRecMCTools v2r24
  . Add new NULL MC truth tool, that always returns NULL associations.

- In RichRecQC v2r32
  . Update RichRecoQC and RichTracklessRingMoni to use new histogramming
    methods in Rich/RichKernel. Improves CPU usage a little and also moves
    histogram booking to initialize()
  . Use NULL MC Truth tools with WithMC=True in the python Configuration.
  . Suppress some monitors that combine all track types to "Expert" mode.
    In practice, the individual track type monitors are more useful.

- In PatVelo v3r16
  . Changed chi2 cut again to recover more efficiency
  . Added hot sector rejection to prevent exponential in time trigger behaviour
    with very hot events with many ghosts.

- In PatVeloTT v3r7
  . Adapted to change in configuring z positions of reference nodes in fitter

- In PatChecker v3r4p2
  . Remove unnecessary include DVAlgorithm.h, DeVelo.h

- In TrackFitter v2r36
  . Fixed small bug in updating ref vectors in TrackMasterFitter. This had as a
    consequence that we were running the 2nd iteration of the Prefit for nothing
    since it would not actually use this as a reference in the normal fit.
    Now, we can just a single iteration prefit with no change in fitter output.
  . Changed prefitters to run only single iteration.
  . Added 'convergence criterium': can now optionally run fit until it has
                                   converged
  . Moved addition of z-position reference nodes from configuration into fit to
    simplify configuration
  . Added state for last measurement

- In TrackIdealPR v2r18
  . Adapted to change in OT linker table such that this now works for MC09

- In TrackMonitors v1r12
  . Add STEfficiency alg (works only for IT at the moment)
  . Add histograms to IT/TT TrackMonitors

- In TrackTools v3r20
  . Follow changes in IHitExpectation interface

- In VeloRecMonitors v1r11
  . VeloTrackMonitor:
    o change the plot of phi coordinate of the plot, one histogram per half,
      transform phi coordinate for the C side in the range -90,90. Top part of
      both halves has phi between (0,90) and the botton between (-90,0)
    o Add histogram of the efficiency evaluated by interpolation
    o Change the pseudoefficiency versus Sensor number by the efficiency
      evaluated by interpolation
    o Change the cluster phi in local frame with cluster phi in half frame
    o In residual versus phi, change local phi with phi in half frame
    o Replace number of measurement with number of clusters
    o Fix histogram titles
    o Check type of the track instead of the location

- In CaloMoniDst v3r9, PatChecker v3r4p2
  . Clean up dependencies in requirements

- In CaloMoniDst v3r9, CaloReco v4r21, PatVeloTT v3r7, TrackFitter v2r36
  . Remove obsolete file _dll.cpp

2009-07-15 RecSys v7r4

This version uses Gaudi v21r3 and LHCb v27r4.

- Packages modified: MuonID v7r0, MuonPIDChecker v4r0, GlobalReco v6r23,
    LumiAlgs v2r2, RichRecMCTools v2r23, RichRecTrackTools v1r13, PatVelo v3r15,
    TsaAlgorithms v3r11, TrackMatching v2r23, TrackCheckers v4r7,
    TrackExtrapolators v2r22, TrackFitEvent v4r0, TrackFitter v2r35,
    TrackIdealPR v2r17, TrackMonitors v1r11, TrackProjectors v2r23,
    TrackTools v3r19, TrackUtils v1r28, VeloRecMonitors v1r10

- In RecSys v7r4
  . Change configurable to configure MuonID using new configurable

- In MuonID v7r0 (see MuonID/doc/release.notes for many more details)
  . Changes in MuonID(Alg).cpp (renamed from MuonID.cpp(h):
    o Input IsMuonLoose in addition to IsMuon in MuonPID objects
    o MuonPID info made also available in MuonTracks (PreSelMom, InAcceptance,
      IsMuon...)
    o New properties FindQuality, AllMuonTracks, Weight, DLL_Flag
    o New method calcMuonLL_dist to use the distance built with the closest hit
      in order to make a hypothesis test for muons and  non-muons.
  . New set of tools, classes and algorithms for alternative MuonID analysis:
    Interpolator, CLTool, GetArrival, IsMuonCandidateC, chi2MuIDTool,
    distMuIDTool, SmartMuonMeasProvider, MakeMuonMeasurements
  . New python Configurator (ConfiguredMuonIDs) module to configure tools and
	  algorithms in package.

- In MuonPIDChecker v4r0
  . Checker and Monitor now run with configurables. Options are no longer used.
  . The configuration and reference values vary according to the DataType chosen.
    Possible DataTypes so far are: DC06, 2008, MC09, 2009
  . Added Properties "IsMuonFlag", "DLLFlag"
  . Added Histograms for binned DLL, ProbMu, ProbNMu, Eff, Misid vs DLL Cut,
    multiplicity as a function of Track x,y and region and other quantities
    introduced in the new MuonID v7r0
  . Separate monitoring of MuonPIDs from monitoring of Muon tracks in
    methods getTrInfo and getMuTrInfo
  . Pass linker as argument in order to use it only in getTrType if RunningMC
  . Put reference values as properties so that they can be changed more easily

- In GlobalReco v6r23
  . Add an option to ChargedProtoPAlg to allow the track selector type to
    be controlled.
  . Improve how the track selection cuts are implemented in the python
    Configurable.
  . Suppress all Velo and Tracks from being made into ProtoParticles.
  . Add loose track selection criteria to charged ProtoParticle creation.
    Current cut is track Chi^2/d.o.f. < 50
  . Compact a bit the summary printout for charged ProtoParticles.

- In LumiAlgs v2r2
  . Adapt to changed BXType names in ODIN

- In RichRecMCTools v2r23
  . Adapt to change in RichRecTrack charge data member from float to int

- In PatVelo v3r15
  . Changed the chi^2 cut to optimise for signal (not Minimum Bias)
  . Removed usage of VeloClusters from PatVeloAlignTrackFilter.
  . Added PatVeloTraversingTracking cpp and h which adds an algorithm that makes
    tracks that cross between detector halves even if the exact openning distace
    is not known.
  . Changes to NewVeloSpaceTool:
    o Removed double definition of the option for ForwardStepError
    o Copy David's tuning of the track fit
    o Produce two fitted states to get the best Match performance

- In TsaAlgorithms v3r11
  . Faster better generic tracking
  . Tune tuning for MC09. Ghost rate reduced by ~1 % for few per mille loss
    in efficiency. See talk in tracking workshop on July 10

- In TrackMatching v2r23
  . Tune for MC09. See talk in tracking workshop on July 10

- In TrackCheckers v4r7
  . Add efficiency on ks and lambda daughters + B daughters to default output

- In TrackFitEvent v4r0
  . Add constructor with State::Location to FitNode
  . Moved non-event model classes to TrackKernel

- In TrackFitter v2r35
  . Introduced ITrackKalmanFilter as a base class for TrackKalmanFilter

- In TrackIdealPR v2r17
  . Removed StateTraj and dependency on TrackFitEvent

- In TrackTools v3r19
  . Add new base class "TrackSelectorBase" for all track selectors
  . Minor change in TTHitExpectation to get required behaviour
  . Add isolated track selector for IT (ITIsolatedTrackSelector)
  . Add possibility to select parts of IT or TT to IT/TTHitExpectation and
    STClusterCollector
  . Speed up STClusterCollector code

- In TrackUtils v1r28
  . Added test of vertex pointer returned by TrackVertexer in TrackV0Finder

- In VeloRecMonitors v1r10
	. Changes to VeloTrackMonitor:
    o remove one 2d histogram
    o uncomment histograms for measurement number for pos. and neg. tracks
    o added new histograms Pseudoefficiency vs sensorID,  adc distributions for r
      and  phi clusters associated to the tracks
		o bug fix in number of measurements per track
  . Added VeloIPResolutionMonitor algorithm

- In TrackMatching v2r23, TrackCheckers v4r7, TrackExtrapolators v2r22,
     TrackFitter v2r35, TrackMonitors v1r11, TrackProjectors v2r23,
     TrackTools v3r19, TrackUtils v1r28
  . Adapted to migration of track classes to TrackKernel

- In GlobalReco v6r23, RichRecTrackTools v1r13, TrackCheckers v4r7
  . Fix WIN32 warnings

- In TrackCheckers v4r7, TrackMonitors v1r11
  . Replace endreq by endmsg

- In MuonID v7r0, MuonPIDChecker v4r0, GlobalReco v6r23, LumiAlgs v2r2,
     RichRecMCTools v2r23, RichRecTrackTools v1r13, PatVelo v3r15,
     TsaAlgorithms v3r11, TrackMatching v2r23, TrackCheckers v4r7,
     TrackExtrapolators v2r22, TrackFitter v2r35, TrackIdealPR v2r17,
     TrackMonitors v1r11, TrackProjectors v2r23, TrackTools v3r19,
     TrackUtils v1r28, VeloRecMonitors v1r10
  . Remove obsolete file _dll.cpp, no longer needed from Gaudi v21r2

2009-07-01 RecSys v7r3

This version uses Gaudi v21r2 and LHCb v27r3.

- Packages modified: CaloReco v4r20, GlobalReco v6r22, TrackFitEvent v3r23,
    TrackTools v3r18, TrackUtils v1r27, PatVelo v3r14, RichRecQC v2r31,
    RichRecSys v3r21, VeloRecMonitors v1r9

- In RecSys v7r3
  . Add RecSys().OutputLevel property for overall control of the printout levels

- In CaloReco v4r20
  . CaloClusterisationTool : prepare for fast HLT clusterisation
  . CelAutoTaggedCell:
    o Resurrect constructor/destructor (without id argument leading to warnings)
    o Remove unused m_e member. It was not initialised and was causing FPE on
      slc4_ia32_gcc34_dbg
  . Fix WIN32 warning about type conversion
  . Replace all endreq by endmsg
  . Fix untested StatusCodes when calling Warning() and Error()

- In GlobalReco v6r22
  . Add OutputLevel property to Configurable to control the printout level of all
    ProtoParticle algorithms.

- In TrackFitEvent v3r23
  . Remove forgotten std::cout from TrackStateVertex
  . Added some more classes to dictionary

- In TrackTools v3r18
  . TrackCloneFinder:
    o Remove all code related to testing for clones by comparing measurements.
    o Use instead new functionality in Track to compare LHCbIDs.
    o Fix the interface: the 'areClones' call had a flag to set the track clones
      flag. If the flag was set to false it would still do all the work, but
      simply not return anything. Replaced this by two calls: one that simply
      returns a boolean if tracks are clones and another one that sets the flags.

- In TrackUtils v1r27
  . Adapt to fix in ITrackCloneFinder interface

- In PatVelo v3r14
  . Tweaked how tracks are fitted internally for a few microns gain in resolution
    and improved ghost rate

- In RichRecQC v2r31
  . Add OutputLevel property to RichRecQCConf Configurable that can be used
    to global set the output level for all monitoring components.

- In RichRecSys v3r21
  . Add OutputLevel property to RichRecSysConf Configurable that can be used
    to global set the output level for all Rich reconstruction components.

- In VeloRecMonitors v1r9
  . All histograms in VeloCluster- and VeloSamplingMonitor are now booked in
    initialize()


2009-06-22 RecSys v7r2

This version uses Gaudi v21r1 and LHCb v27r2.

- Packages added:    Rich/RichRecTemplateRings - Reconstruct Rings for PID
- Packages removed:  RichLocalPID, RichHLTLocalPID
- Packages modified: CaloMoniDst v3r8, TrackCheckers v4r6, TrackFitEvent v3r22,
    TrackFitter v2r34, TrackIdealPR v2r16, TrackMCTools v2r24,
    TrackMonitors v1r10, TrackSys v4r24, PatAlgorithms v3r22, MuonID v6r3,
    RichENNRingFinder v1r1, RichGlobalPID v3r10p2, RichMarkovRingFinder v2r8,
    RichPIDMerge v2r7, RichRecAlgorithms v2r16, RichRecMCAlgorithms v1r3p1,
    RichRecMCTools v2r22, RichRecMonitors v2r23, RichRecPhotonTools v1r6,
    RichRecQC v2r30, RichRecStereoTools v1r6, RichRecSys v3r20,
    RichRecTemplateRings v1r0, RichRecTools v4r9, RichRecTrackTools v1r12,
    VeloRecMonitors v1r8, LumiAlgs v2r1

- In CaloMoniDst v3r8
  . Change _snprintf() to std::string

- In TrackCheckers v4r6
  . Add check not for MC reconstructible but for track found in best container
    (needed to validate HLT vs. offline efficiency)
  . Add switch to check efficiency only for B daughters and for long tracks
  . Fill ghost category in plot
  . Bug fix in MC bAncestor method

- In TrackFitEvent v3r22
  . Added function for mass constraint to TrackStateVertex for use in alignment

- In TrackFitter v2r34
  . Bug fix in fast fit configurable

- In TrackIdealPR v2r16
  . Fixed two inconsequential bugs in IdealTracksCreator

- In TrackMCTools v2r24
  . Fix bug in LongTrack GhostClassification & add two more categories

- In TrackMonitors v1r10
  . Add TrackDiMuonMonitor

- In TrackSys v4r24
  . Require long tracks in efficiency checking of best track container
  . Use Downstream tracking both in RecoTracking.py and PatChecking.py in case
    of fieldOff

- In PatAlgorithms v3r22
  . Fix a doxygen warning
  . Abort parabola fit in case the distances of hit to reference line gets
    unreasonably large

- In MuonID v6r3
  . Remove creation of measurements in MuonID
  . Add parent track to ancestors in MuonID

- In RichENNRingFinder v1r1
  . Add the option to refit the rings, to get a better radius value before
    converting to radians and storing in the output RichRecRing objects.
  . Various technical improvements to first release.

- In RichMarkovRingFinder v2r8
  . Synchronise the configurable with the ENN Configurable.

- In RichPIDMerge v2r7
  . Remove use of RichLocalPIDs (package obsoleted)

- In RichRecAlgorithms v2r16
  . Abort processing early in trackless ring segment association algorithm in
    the case no tracks are available.
  . Yet more improvements to the trackless ring filtering and isolation
    algorithms.

- In RichRecMCTools v2r22
  . Implement new method in MCTruth tool to return MCParticle for a given
    RichRecRing pointer.

- In RichRecMonitors v2r23
  . Adapt to new # Bin options in base classes

- In RichRecQC v2r30
  . Adapt to changes in track selectors
  . Adapt to new # bin options in base classes
  . Additional histograms in the track selection efficiency monitor
  . Do not abort processig when input tracks to RichTrackSelEffMoni are missing.
    Instead just issue a warning message and carry on.
  . Add a new monitor, RichRawDataSize, to monitor the size of the L1 banks.
  . Improvements to the trackless ring monitor
    o improve histogram limits
    o handle "Template" rings
    o better MC truth based monitoring

- In RichRecSys v3r20
  . Add back Template Ring finder algorithm (FFTW3 now available in the LCG area)

- In RichRecTrackTools v1r12
  . Improvements to the track selectors. Remove the use of obsolete variables
    and instead use the 'recommended' cuts.

- In VeloRecMonitors v1r8
  . VeloClusterMonitor:
    o changed active chip link plot to more straightforward binning.
    o appended TAE sample name to number of clusters histogram title.
    o added occupancy plots in channel order
    o changed occupancy scale to %
    o fixed conversion warnings in some calls to plot1D
    o made the highest bin in number of clusters plot a visible overflow bin.
  . VeloSamplingMonitor:
    o added new plots of cluster ADC values vs. TAE separated for top and bottom.
    o uses the new accessor of DeVeloSensor to determine whether a sensor is top
      or bottom cabled.
  . Changed snprintf to strings in VeloExpertClusterMonitor

- In LumiAlgs v2r1
  . Configuration.py:  when running on DST, different location to pass on
                       LumiSummary
  . LumiReadBackFSR:   New algorithm to test integrator tool
  . ILumiIntegrator.h: Interface for integrator tool
  . LumiIntegrator:    Integrator tool, holds integrated lumi info. This tool is
                       meant to be able to apply calibration constants and give
                       an integrated luminosity at the end of a job
  . LumiIntegrateFSR:  Algorithm to work with the tool.  Picks up all FSRs at
	                     change of run, navigates FileRecords to find all FSRs,
                       and counts all events on input.
  . LumiAccounting:    Follow change to FileRecords

- In RichGlobalPID v3r10p2, RichMarkovRingFinder v2r8, RichRecAlgorithms v2r16,
     RichRecMCAlgorithms v1r3p1, RichRecMCTools v2r22, RichRecPhotonTools v1r6,
     RichRecStereoTools v1r6, RichRecTools v4r9
  . Fixes for WIN32 warnings

2009-06-03 RecSys v7r1

This version uses Gaudi v21r1 and LHCb v27r1.

- Packages added: Rich/RichENNRingFinder - Standalone trackless ring finding
                                           using elastic neural network approach.

- Packages modified: CaloMoniDst v3r7, CaloPIDs v4r17, CaloReco v4r19p1,
    NNTools v1r5, PatFitParams v3r2p3, TrackSys v4r23, PatAlgorithms v3r21,
    MuonPIDChecker v3r2, RichMarkovRingFinder v2r7, RichRecAlgorithms v2r15,
    RichRecQC v2r29, RichRecSys v3r19, RichRecTrackTools v1r11, MuonTools v5r0p1,
    PatVelo v3r13p1, VeloRecMonitors v1r7, TrackFitEvent v3r21p1,
    TrackMonitors v1r9p1

- In CaloMoniDst v3r7
  . Fix invalid matrix indices in computation of "shape" in CaloPhotonChecker.cpp

- In CaloPIDs v4r17
  . Fix untested StatusCode on Warning() and Error() calls

- In CaloReco v4r19p1
  . ClusterSpreadTool.cpp:
    add (debug) printout of counters for spread-corrected clusters

- In NNTools v1r5
  . Use Track::probChi2() instead of TMath::Prob( tr->chi2(), tr->nDoF()) for
    better protection against FPE

- In PatFitParams v3r2p3
  . Fix gcc43 compilation warning

- In TrackSys v4r23
  . In PatChecking.py, switch off TrackAssociator("AssocDownstream") and
    TrackEffChecker("Downstream") in fieldOff case, for consistency with
    RecoTracking.py

- In PatAlgorithms v3r21
  . Make sure that no hits are rejected in the internal fit in the fit
    initialization tool

- In MuonPIDChecker v3r2
  . Bug fix on some array sizes

- In RichMarkovRingFinder v2r7
  . Move monitoring algorithm to RichRecQC
  . Small improvements to the ring finder algorithm
  . Remove obsolete DLL file
  . Fix some bugs in the python Configurable

- In RichRecAlgorithms v2r15
  . Some improvements to the trackless ring filtering and isolation algorithms

- In RichRecQC v2r29
  . Replace MessageSvc() with getConfigurable("MessageSvc") in python
    Configuration to avoid problems with online running, where a different
    Message Service type is used.
  . Rework the configurables a little to avoid importing the ring finders by
    default
  . Import trackless ring monitor from Markov package + Activate by default for
    new ENN rings.
  . Add new track selection efficiency monitors

- In RichRecSys v3r19
  . Add configuration options for new ENN ring finder + enable by default
  . Fix sequencing bug highlighted by the last commit :(
  . Remove remaining manual calls to applyConf

- In RichRecTrackTools v1r11
  . Improvements to track isolation tool
  . Fix a small bug in track creator selection stats.
  . Improvements to track selectors.
    + Remove use of Tsa specific TsaLikelihood
    + Add Likelihood cut to all tracks

- In PatVelo v3r13p1, TrackFitEvent v3r21p1
  . Add temporary workaround for windows: defineNOMINMAX when including
    GaudiKernel/boost_allocator.h, to avoid conflict with max() macro
    defined in windows.h. To be removed with Gaudi v21r2

- In VeloRecMonitors v1r7
  . Added hack to define snprintf as _snprintf on Windows.
  . Added options to choose specific expert plots in VeloExpertClusterMon
  . Added ADC MPV difference plots to sampling monitor
  . Added TAE name (if applicable) to title in per Tell1 occupancy plots

- In MuonTools v5r0p1, VeloRecMonitors v1r7, TrackMonitors v1r9p1
  . Add missing _dll.cpp file, needed on Windows

- In CaloPIDs v4r17, PatFitParams v3r2p3
  . Replace endreq with endmsg

2009-05-11 RecSys v7r0

This version uses Gaudi v21r0 and LHCb v27r0.

- Packages added: Muon/MuonTools v5r0:  Package resumed, contains MuonFastPosTool
                  Rich/RichIFBAnalysis: Ion Feedback Analysis algorithms
- Packages modified: RecCheckers v1r2, CaloMoniDst v3r6, CaloPIDs v4r16,
    CaloReco v4r19, TrackFitEvent v3r21, TrackFitter v2r33, TrackMCTools v2r23,
    TrackMonitors v1r9, TrackTools v3r17, TrackUtils v1r26, PatAlgorithms v3r19,
    PatVelo v3r13, TrackMatching v2r22, TsaAlgorithms v3r10,
    MuonTrackAlign v1r7p2, RichMarkovRingFinder v2r6, RichRecMCAlgorithms v1r3,
    RichRecMCTools v2r21, RichRecQC v2r28, RichRecSys v3r18, RichRecTools v4r8,
    RichRecTrackTools v1r10, GlobalReco v6r21, VeloRecMonitors v1r6,
    LumiAlgs v2r0

- In RecCheckers v1r2
  . Add dependency on DaVinciMCKernel, needed by MCReconstructed

- In CaloMoniDst v3r6
  . CaloEFlowAlg.cpp  : add protection
  . CaloEFlowAlg.opts : change default setting
  . Fix compilation warning for gcc43
  . Replace endreq by endmsg (obsolescent in Gaudi v21)
  . CaloEMuMonitor/Checker.{cpp,h} : produce histogram (+analysis) of CaloPID
  . CaloEFlowAlg.{cpp,h,opts} : produce histogram for 'Energy-Flow' calibration
    method (Aurelien Martens)

- In CaloPIDs v4r16
  . Fix unchecked StatusCode

- In CaloReco v4r19
  . new alg  CaloGetterInit : create a public instance of CaloGetterTool
    (from CaloTools) and process the event-update
  . Brunel.opts/HltCaloSeq.opts : add CaloGetterInit in the reconstruction
    sequence to have fast access to CaloDigits
  . fix minor bug in HltClusterSelection.opts + adapt to change in CaloTools
  . CaloClusterisationTool : reduce verbosity

- In TrackFitEvent v3r21
  . added accessor to matrix A and B in TrackStateVertex
  . in src/MuonMeasurement.cpp x,y x-type, measures x, error = x-size/sqrt(12),
    j-vector trajectory, range +- y-size/2

- In TrackFitter v2r33
  . in src/TrackMasterExtrapolator.h(cpp) add UseSeedStateErrors property to fit
    the measurement using the seed state errors (to fit the muon part of a track
    using the state from the 'long' track)

- In TrackMCTools v2r23
  . New tool PatDebugTracktool to return the MC keys associated to a track.
  . New algorithm DebugTrackingLosses to display missed track with some
    information on the MC particle.
  . Add warning in case linker is not found in CleanPatTrackSelector

- In TrackMonitors v1r9
  . Added more histos and fixed histogram labels in OTTrackMonitor
  . Added columns for hit patterns in TrackMonitorNT
  . Add residuals per layer histos to ITTrackMonitor
  . Changed constrainmethod in TrackFitMatchMonitor. See cvs log.
  . Added hit patterns to TrackMonitor

- In TrackTools v3r17
  . Add the possibility of a restricted search to TrackCloneFinder tool
- . Fix bug with ancestors in TrackStateInitTool
  . Add STClusterCollector tool

- In TrackUtils v1r26
  . Added possibility to just set the flag LHCb::Track::Clone for found
    clonetracks and not copy the tracks to an output container in
    TrackEventCloneKiller
  . Added possibility to deep-copy tracks into keyed containers in
    CreateFastTrackCollection to make the migration easier - users can select
    if they want the old containers which can be used without changes to user
    code or the new fast containers (which remain the default)

- In PatAlgorithms v3r19
  . Bug fix for PatForward (prevent from overwritting selected hits flags)

- In PatVelo v3r13
  . In PatVeloTrackTool:
    o Added an option to not correct for box offsets to allow PR in a closing
      detector more simply. Default is to old behaviour.
    o copy RZ info to PatVeloSpaceTrack, then to output track
  . In PatVeloAlignTrackFilter: Implement tuned options and minor changes to the
    algorithm
  . Tweaked the setting of the number of missing clusters to better cope with
    stations to the beam line missed.
  . In PatRZTRack:
    o Added more comments and cleaned an unused variable
    o Number of missed stations is a int not a bool
  . Changed enums for storing N expected Velo clusters
  . In PatVeloSpaceTrack
    o protect for the case of two hits in the same sensor
    o store nVeloExpected from RZ track
  . In PatVeloSpaceTracking get the tool with freedom of type.
  . Added nVeloExpected info to RZ track and Space/General tracks
    For use in the HLT to reject more ghosts.
  . PatVeloGeneralTracking : set nVeloExpected in track AdditionalInfo
  . Several changes for performance improvements:
    PatVeloPhiList: o Compute a quality factor = chi2 - .5 * nbUnused for better
                      selection of best lists
                    o Tolerance is scaled by fabs(dz) only between 40 and 60 mm.
    PatVeloRTracking: o Change MaxMissed from 3 to 1.
                      o Set nVeloExpected (R+Phi count)
    PatVeloSpaceTol: o Change default match tolerance
                     o Allow some tolerance for checking if r is inside.
                     o Select teh best Phi list by qFact, not chi2.
                     o Correct the half box offset for phi computation.
  . New space tracking tools NewVeloSpaceTool with class NewSpaceTrack

- In TrackMatching v2r22
  . Change default for OmitSeedFitOutliers switch to false
  . Check for at least 2 x and 2 stereo hits in diff. planes NOT removed
    by the fit for all seed tracks entering the matching

- In TsaAlgorithms v3r10
  . Add "assumedMomentum" property to ITGenericTracking

- In MuonTrackAlign v1r7p2
  . Remove unused IMuonPosTool.h

- In RichMarkovRingFinder v2r6
  . Improve how uninitialised sequences are checked for in the python
    configuration.

- In RichRecMCAlgorithms v1r3
  . Improvements to the hit dumping algorithm

- In RichRecMCTools v2r21
  . Update RichPixelCreatorFromRichDigitsWithBg to check the status of both the
    HPD and pixel smart IDs.
  . Add new photon predictor tool that use MC information (available on DSTs) to
    select signal and/or background photons.

- In RichRecQC v2r28
  . Add new IFB monitoring (imported from Panoptes)
  . Use isPropertySet instead of checking against None to see if the sequences
    have been properly configured
  . Various small monitoring changes
    o Make PID performance plots for Long tracks as well as All tracks
    o A few new CK theta resolution plots

- In RichRecSys v3r18
  . Test if sequences are set using "isPropertySet" method instead of testing
    for a None variable.
  . Fix configuration bug where photon predictor settings where not properly
    set when running under non-default settings.
  . Add option to Track Creator Configurable to allow user to set a custom
    input track location
  . Remove 'CaloTracks' option (superceded by above addition).

- In RichRecTools v4r8
  . Small improvements to the PID plots.

- In RichRecTrackTools v1r10
  . Propagate StatusCode from GaudiException to Error(...) call.
  . Fix untested StatusCodes due to missing .ignore() on Warning/Error calls

- In GlobalReco v6r21
  . Improve how uninitialised sequences are check for during Configuration

- In VeloRecMonitors v1r6
  . Added occupancy histograms to cluster monitor
  . Shortened and simplified histogram name in sampling monitor in order to
    avoid potential problems with HistDB and presenter.
  . VeloMonitorBase updated to be able to deal with the printing of options
  . Several additions to VeloLumiRegionMonitor and VeloHltLiteClusterMonitor:
    o trend plotting for the last 1000 lumi region position measurements
    o profiling of position and occupancy vs LHC bunchId
  . Add two gaudirun scripts that add my histos into the histoDB and layout my
    pages: VeloLumiRegion_addToHistDb.py, VeloLumiRegion_setupPages.py
  . All monitoring algos in this package now print the full list of job options
    during initialization, except when running in Brunel
  . Added VeloExpertClusterMonitor algorithm that makes plots of adc for
    clusters and tracks with options to split sensors by regions

- In LumiAlgs v2r0
  . Change input and output FSR locations to be under /FileRecords instead of
    /RunRecords, following reimplementation of FileRecordSvc in Gaudi v21

2009-05-12 RecSys v6r6

This version uses Gaudi v20r4 and LHCb v26r3. Built on branch v6b

- Packages modified: PatAlgorithms v3r20, TrackMatching v2r21p2

- In PatAlgorithms v3r19, v3r20
  . Bug fix for PatForward (prevent from overwriting selected hits flags)
  . Use scale factor from magnetic field service in PatAddTTCoord

- In TrackMatching v2r21p2
  . In TrackMatchveloSeed, change default for OmitSeedFitOutliers switch to false

2009-04-22 RecSys v6r5

This version uses Gaudi v20r4 and LHCb v26r3.

- Packages modified: PatAlgorithms v3r18

- In PatAlgorithms v3r18
  . Make PatSeedFit safe against unreasonable track input

2009-04-20 RecSys v6r4

This version uses Gaudi v20r4 and LHCb v26r3.

- Packages modified: PatAlgorithms v3r17

- In PatAlgorithms v3r17
  . Add correction for tilt of straws to fitter initialization code
  . Fix an untested StatusCode
  . Replace endreq by endmsg everywhere

2009-04-07 RecSys v6r3

This version uses Gaudi v20r4 and LHCb v26r3.

- Packages modified: RecAlgs v1r8, CaloMoniDst v3r5, CaloPIDs v4r15,
    CaloReco v4r18, TrackExtrapolators v2r21, TrackFitter v2r32,
    TrackMCTools v2r22, TrackMonitors v1r8, TrackTools v3r16, TrackUtils v1r25,
    TrackSys v4r22, PatAlgorithms v3r16, PatVelo v3r12, PatVeloTT v3r6,
    MuonID v6r2, RichHLTLocalPID v1r3p2, RichRecMonitors v2r22, RichRecQC v2r27,
    RichRecSys v3r17, RichRecTrackTools v1r9, GlobalReco v6r20,
    VeloRecMonitors v1r5

- In RecSys v6r3
	. New RecSysConf().DataType option, determines which CaloPID calibration to use

- In RecAlgs v1r8
  . RecInit prints also event time if PrintEventTime option is set

- In CaloMoniDst v3r5
  . Set CaloDQ.opts histo selection as default in CaloMonitor.opts for Brunel
  . New options:
    o CaloFullMonitoring.opts (to be added to produce the whole histo set)
    o CaloDQ.opts: selection of relevant monitoring histo for Data Quality stuff
  . Clean monitoring algorithms
  . Add protection against missing data inputs here and there
  . CaloMoniAlg : new property 'splitAreas' allow to produce histo per area

- In CaloPIDs v4r15
  . AddNeigbours in EcalEnergyForTrack and HcalEnergyForTrack changed to FALSE

- In CaloReco v4r18
  . Added file CaloPIDs-DC06.opts, for DC06 pdf histograms
  . Brunel.opts no longer includes CaloPIDs.opts. Instead, RecSysConf includes
    either CaloPIDs.opts or CaloPIDs-DC06.opts
  . CaloPIDs_DC09_v1.root file with new PDF for DC09 in CaloPIDs.opts
  . Clean up messages in CaloMergedPi0Alg:
    o Protect debug() with MsgLevel(MSG::DEBUG)
    o Fix untested status codes from Warning() and Error()
    o Replace endreq with endmsg
  . Fix FPE occurring in CaloMergedPi0Alg (missing initialization)
  . options/CaloECorrectionParam.opts : DC09 tuning
  . options/UnpackCaloHypoOnDemand.opts : new options to unpack packed CaloHypo
                                          on-demand (same as done in DstConf.py)

- In TrackExtrapolators v2r21
  . Add switches to configure the fitter/extrapolator/locator to choose
    dedx tool, default still simple, however switched to detailed for
    extrapolator and locator used in the fitter

- In TrackFitter v2r32
  . Use StateDetailedBetheBlochEnergyCorrectionTool as default in the fit

- In TrackMCTools v2r22
  . Fix some untested StatusCodes

- In TrackMonitors v1r8
  . Added OTTrackMonitor
  . Add six plots for vertex x,y,z positions for left/right half respectively

- In TrackTools v3r16
  . New tool "TrackStateInitTool". This tool re-initializes the track starting
    from LHCbIDs. It can be used to get	the same fit results without dependence
    on previous fitting history. It cleans the states, nodes and measurement the
    the tracks. Then it obtains a new states using Velo and TT hits. The
    PatVeloFitLHCbIDs and PatSeedingTool are used for the Velo and T-stations
    respectively.
  . New algorithm "TrackStateInitAlg". It applies the TrackStateInitTool for all
    tracks in the container.
  . Changed default tune of TrackVelodEdxCharge to expect 47.1 ADC per cluster

- In TrackUtils v1r25
  . Fix untested StatusCode in TrackV0Finder
  . Added CreateFastTrackCollection algorithm which copies pointers to tracks
    from a list of input container to a SharedObjectsContainer on the TES.
    This gives the possibility to quickly create custom track collections
    without the cost of keyed containers and deep-copying the tracks. Potential
    use case might be a collection of all long tracks in the HLT.

- In TrackSys v4r22
  . Add fitter initialization tool in track fitting sequence

- In PatAlgorithms v3r16
  . Fix for FPE in PatDownstream and PatFwdFitLine
  . Use scale factor from magnetic field service in PatDownTrack
  . Add new seed fitting class

- In PatVelo v3r12
  . Changed default constructor of PatVeloPhiList to initialise all members,
    fixes another FPE in scl4_ia32_gcc34_dbg
  . Removed three unused variables from PatVeloSpaceTrack
  . Added more DOxygen comments to PatVeloSpaceTrack
  . Removed an unnecessary dependence from PatVeloLiteClusterPromoter.cpp
  . Removed copy constructor from PatVeloSpaceTrack as it did not cure FPEs

- In PatVeloTT v3r6
  . Replace obsolescent endreq by endmsg
  . Bug fix for inverse polarized magnetic field
  . Add interface to fit of PatVeloTT fit
  . Use pre configured fitter in steering script

- In MuonID v6r2
  . Changed the FOIfactor to 1.2 to recover some efficiency (2009 settings)

- In RichHLTLocalPID v1r3p2
  . Fix uninitialised variables

- In RichRecMonitors v2r22
  . Miscellaneous minor improvements to the detailed MC monitors

- In RichRecQC v2r27
  . Suppress empty plot in MC free running from Rich::Rec::MC::PixelQC

- In RichRecSys v3r17
  . Add new package for ring reconstruction (temporarily disabled).

- In RichRecTrackTools v1r9
  . Suppress warning about isolation tool not implemented for Aerogel.

- In GlobalReco v6r20
  . Improvements to the ROOT scripts for monitoring the PID performance
    from ProtoParticles.

- In VeloRecMonitors v1r5
  . Reduced (unnecessary high) binning of a few histos in VeloTrackMonitor
  . Fix an untested StatusCode
  . Introduce new plots/profile histograms
    o Measurement of +ve and -ve charges
    o Biased/unbiased residuals versus momentum profiles for +ve and -ve charges

2009-02-24 RecSys v6r2

This version uses Gaudi v20r4 and LHCb v26r2.

- Packages added:    LumiAlgs v1r0: Accounting of LumiSummaries
- Packages modified: RecCheckers v1r1, CaloMoniDst v3r4, CaloReco v4r17p1,
    NNTools v1r4, PatChecker v3r4p1, PatFitParams v3r2p2, TrackFitEvent v3r20,
    TrackFitter v2r31, TrackMCTools v2r21, TrackMonitors v1r7,
    TrackProjectors v2r22, TrackTools v3r15, TrackUtils v1r24, TrackSys v4r21,
    PatAlgorithms v3r15, PatVelo v3r11, TrackMatching v2r21p1,
    TsaAlgorithms v3r9, MuonID v6r1, MuonPIDChecker v3r1,
    RichMarkovRingFinder v2r5, RichRecMCAlgorithms v1r2, RichRecMCTools v2r20p1,
    RichRecQC v2r26, RichRecStereoTools v1r5p1, RichRecSys v3r16,
    RichRecTools v4r7, RichRecTrackTools v1r8p1, GlobalReco v6r19,
    VeloRecMonitors v1r4

- In CaloReco v4r17p1
  . Fix FPE occurring in CaloClusterizationTool on ia32 only
  . Fix some doxygen warnings

- In NNTools v1r4
  . Create TMVA::Reader with "Silent" flag, to reduce initialization verbosity
  . Improve protection against FPE in NeuralNetTmva

- In TrackFitEvent v3r20
  . Added Velo "Lite" measurements
  . Cluster size method for STMeasurement now returns value
    given by STPositionTool [was value from cluster]

- In TrackFitter v2r31
  . Add job option for minimum number of remaining hits in outlier removal
  . ConfiguredFitter now also takes an instance as argument
  . Added flag to use lite clusters
  . Set up fit for merged OT events when running cosmics
  . Fixed bug in configuration of FitVelo
  . Fixed bug due to using unkeyed function arguments everywhere
  . Added ability to fit Velo "lite" clusters
  . Added ConfiguredFitForwardLiteOnly and ConfiguredFitVeloLiteOnly to
    ConfiguredFitters.py

- In TrackMCTools v2r21
  . Bug fix in definition of isReal for long tracks
  . Modify isGhost method for Long tracks: it is a ghost if either T or Velo
    part is a ghost
  . Bug fix in isGhost method
  . Use MCParticleSelector in CleanPatTrackSelector
  . Add option to cut on p in CleanPatTrackSelector
  . Changes to Ghost classification tool interface
  . Add the trivial real classification

- In TrackMonitors v1r7
  . Add a warning when container does not exist
  . Protect against non-existance of containers.
  . Add scales for monitoring of residuals for lite cluster types
  . Add TTTrackMonitor algorithm
  . Added the code to monitor "lite" VELO clusters in measurements

- In TrackProjectors v2r22
  . Added the VeloLite projectors

- In TrackTools v3r15
  . Changes to run the track fit with Lite clusters in MeasurementProvider.cpp,h
	  undid all changes in the last two revisions and added instead the
	  properties for the providers for the subdetectors
  . Added option to correct for error on energy loss error on
    StateSimpleBetheBlochEnergyCorrectionTool
  . Added code to handle Velo Lite measurements to tools

- In TrackSys v4r21
  . Removed OTTimeCreator from sequence
  . Switch to special OT decoder for cosmics

- In PatAlgorithms v3r15
  . Add possibility to add TT clusters in matchSingle (for use in HLT1)
	  option to steer it, true as default
  . Fix uninitialised variables in constructor of PatFwdTrackCandidate. Fixes
    slc4_ia32_gcc34_dbg FPE in Brunel
  . Protect PatMakeV0.cpp to create debug() msg only if msgLevel(MSG::DEBUG)
  . Fix two gcc 4.3 warnings

- In PatVelo v3r11
  . Make PatVeloSpaceTrack more robust against FPE on ia32

- In TsaAlgorithms v3r9
  . Removed cut on maximum number of T hits in TsaSeed such that it no
    longer needs OTTimes container
  . Updates to the generic tracking

- In MuonID v6r1
  . Change the extrapolation Z position to one that is saved to the DST

- In MuonPIDChecker v3r1
  . Add histos of hit multiplicity as a function of X,Y and region/station
  . Return warnings when container is not there.

- In RichRecMCAlgorithms v1r2
  . Add a new algorithm that dumps RICH events to a simple text file.

- In RichRecQC v2r26
  . Better structured code RichAlignmentMonitor.cpp.
  . Introduced variable histogram output to the AlignmentMonitor
    + Minimal - only the most basic alignment histograms
    + OnlyPrebooked mirrors - include a predefined list of mirror combinations
    + Full - as before
  . Activate alignment histograms by default at level "Minimal"
  . Update Alignment.py to
    + Not use Brunel() Configurable in order to access the WithMC setting.
      Instead it now has its own setting, which is set from above.
    + Add an option to conditionally enable Rich1 and/or Rich2 monitoring.
  . Fix prebooking of histograms for RICH2 Mirror alignment both in the code
    and in the configurable Alignment.py of RichAlignmentMonitor.
  . Fix activation of the alignment histos dependence on the WithMC on/off
    mode.
  . Fix a few bugs in the activation of the alignment histos
  . Fix typo in configuration for Markov Ring Finder in Configuration.py

- In RichRecSys v3r16
  . Change Pixel cleaning options (disable) by default
  . Fix typo in python options in 'HLT' mode.

- In RichRecTools v4r7
  . Small changes to PID plots tool to rationalise with those produced by the
    DaVinciMonitors plot tools.

- In GlobalReco v6r19
  . Add UpdateMuonPIDInProtoP

- In VeloRecMonitors v1r4
  . Corrected default options
  . Change failure behaviour of residual calculation
  . Reduced number of clusters in VeloClusterMonitor
  . Fixed and improved offline alignment monitoring in VeloTrackMonitor
  . Added alignment offline monitoring plots

- In RecCheckers v1r1, CaloMoniDst v3r4, PatChecker v3r4p1, PatFitParams v3r2p2,
     TrackMonitors v1r7, TrackTools v3r15, TrackUtils v1r24, PatAlgorithms v3r15,
     RichRecMCTools v2r20p1, RichRecQC v2r26, RichRecStereoTools v1r5p1,
     RichRecTools v4r7, RichRecTrackTools v1r8p1
  . Migrate to LHCb::ParticlePropertySvc

- In TrackMatching v2r21p1, MuonPIDChecker v3r1, VeloRecMonitors v1r4
  . Fix untested StatusCodes

- In PatAlgorithms v3r15, TsaAlgorithms v3r9, RichRecQC v2r26
  . Fixes for gcc 4.3 compilation

- In RichMarkovRingFinder v2r5
  . Fix compilation warnings on OSX with gcc 4.0.1


2009-01-13 RecSys v6r1

This version uses Gaudi v20r4 and LHCb v26r1.

- Packages modified: CaloPIDs v4r14p1, CaloReco v4r17, NNTools v1r3p1,
   PatChecker v3r4, TrackCheckers v4r5, TrackFitter v2r30, TrackMCTools v2r20,
   TrackMonitors v1r6, TrackProjectors v2r21, TrackTools v3r14, TrackUtils v1r23,
   TrackSys v4r20, PatAlgorithms v3r14, PatVelo v3r10p1, PatVeloTT v3r5,
   TfTools v1r7, TrackMatching v2r21, TrackSeeding v1r4p2, TsaAlgorithms v3r8,
   PatPV v3r8, MuonID v6r0, MuonPIDChecker v3r0, RichMarkovRingFinder v2r4,
   RichRecMonitors v2r21, RichRecQC v2r25, RichRecStereoTools v1r5,
   RichRecSys v3r15, RichRecTrackTools v1r8, GlobalReco v6r18,
   VeloRecMonitors v1r3

- In RecSys v6r1
  . In Configurable:
    o Added TrackV0Finder to RecoVertexSeq
    o Include MuonID.py instead of MuonID.opts
    o Add OutputType property, and propagate it to TrackSys
    o Use OutputType property to configure PVOfflineTool inputs in case of RDST
    o Update ProtoParticle reconstruction to use python options
  . Fix DoxyFile.cfg for use directly with CMT (without makedoc.py).
    makedoc.py still needed to set LHCBVERS, GAUDIVERS set for the tag file URLs,
    and to use /tmp or /build for the temporary doxygen database files

- In CaloReco v4r17
  . CellularAutomatonAlg.cpp : put cluster container before cluster is sorted -
    to be bakward compatible with CellularAutomaton (-> if not trouble with calo
    MC-association for DC06 data reconstruced with CellularAutomaton)
  . options/Brunel.opts : remove CaloClusterCorrect3x3Position/EcalPosition
    (obsolete, handled by the clusterisation)
  . options/HltCaloSeq.opts
    o use CellularAutomatonAlg as default clusterisation algorithm
      (as already done for offline sequence)
    o remove obsolete CaloClusterCorrect3x3Position/EcalPosition
      (handled by the clusterisation)
  . options/(Hlt)ClusterSelection.opts : add default protection against negative
    cluster energy ( e > threshold = 0 )
  . Fix typo in (HLT)MergedPi0Rec.opts

- In NNTools v1r3p1
  . Remove unneccessary dependency on STDet

- In PatChecker v3r4
  . Add CheatedPrimaryVertices
  . Add PrimaryVertexChecker

- In TrackCheckers v4r5
  . Fix TrackResChecker to work also with post-DC06 OT linkers
  . Fix untested StatusCode in Warning() messages
  . Added test for charge of mc particle

- In TrackFitter v2r30
  . Change outlier rejection such that minimum number of hits is left in each
    system
  . Fix invalid iterator initialisation flagged by gcc 4.3
  . Add 'NoDriftTime' option to StraighLineFitter

- In TrackMCTools v2r20
  . Adapt to new location of IPatDebugTool.h and IPatDebugTTTool.h in PatKernel
  . Fix LHCbIDsToMCHits and LHCbIDsToMCParticles to work also with post-DC06
    OT linkers

- In TrackMonitors v1r6
  . Add protection in TrackMonitor for hits with zero error on residual
  . Add TrackV0Monitor to monitoring sequence
  . Small fixes in TrackMonitor
  . Add ITTrackMonitor.h/.cpp

- In TrackProjectors v2r21
  . Add IT/TTLite projectors to Selector

- In TrackTools v3r14
  . Bug fix in TrackInterpolator (having to do with outliers)
  . Make TrackInterpolator::Extrapolator a jobOption
  . Make measurement providers jobOptions
  . Add TTLite/ITLite creation to MeasurementProviderT.cpp
  . OTMeasurementProvider: added property to set otdecoder and adapted to
    change in otdecoder interface
  . LongReferenceCreator: adapted to change in Track::stateAt
  . TrackSelector: added cut on minimum number of OT hits
  . Move TrackVeloCharge algorithm to use SiChargeFun
    and profit from new functionality of the measurement classes

- In TrackUtils v1r23
  . Fixed unchecked statuscodes
  . Make sure V0 daughters do not share VELO segment
  . Introduced tool handles for interpolator and extrapolator in TrackV0Finder
  . Allow trackcontainercopy without selector
  . Added cuts to TrackV0Finder
  . Add TrackCompetition algorithm

- In TrackSys v4r20
  . In case of RDST output, do not add to TrackVeloFitSeq the algorithm to copy
    Velo tracks into Best container. Avoids having to remove it later when
    defining the RDST content
  . Activate PV checker algorithm in PatChecking.py
  . Add "WithMC" option to TrackSys Configurable, and import PatChecking.py if it
    is set to True
  . Fix PatChecking.py to handle correctly TrackSys().veloOpen() case

- In PatAlgorithms v3r14, PatVelo v3r10p1
  . Adapt to new location of IPatDebugTTTool.h in PatKernel

- In TrackFitter v2r30, TrackUtils v1r23, PatAlgorithms v3r14, PatVeloTT v3r5,
     TrackMatching v2r21
  . Adapted to change in Track::stateAt

- In PatVelo v3r10p1, TrackMCTools v2r20
  . Add explicit PatKernel dependency (previously implicit via TrackInterfaces)

- In TfTools v1r7
  . Added property to set rawbankdecoder to OTHitCreator

- In TsaAlgorithms v3r8
  . Remove unused cleanX function
  . Update ITGenericTracking

- In PatPV v3r8
  . Improved efficiency of PatPV2D for multi PV events. Only 10% increase of
    exe time.
  . Small modifications to degrade not critical warnings and errors comming from
    PV fit.

- In MuonID v6r0, MuonPIDChecker v3r0
  . Options files migrated python options

- In MuonPIDChecker v3r0
  . Fix typo in finalize(), in case when no events processed

- In RichMarkovRingFinder v2r4
  . Fixes to python Configurable
    o change to uppercase parameters following the new convention
    o change "Sequence : None" to "Sequence : GaudiSequencer("DefaultSequence")"
      and raise a run-time error if not changed to a proper sequence
    o raise run-time error if no panels selected to find rings on
- In RichRecMonitors v2r21
  . Remove all Job Option files. How handled by python ConfigurableUser in
    Rich/RichRecQC package.
  . Miscellaneous monitoring updates.

- In RichRecQC v2r25
  . Improve python Configuration :
    o Add expert checking options previously in job options in RichRecMonitors.
      Exact expert checks that are run are controlled by ExpertTests slot.
    o Add global flags to turn on and off histogram and ntuple produce for all
      monitoring algorithms.
  . Suppress database checks in RichDataDBCheck when HPD information is invalid
    or HPD is suppressed.
  . Add expert options to python configurable.

- In RichRecStereoTools v1r5
  . Fix indices in Track State matrix accessors to number from 0.
  . Adapt to changes in refractive index tools.

- In RichRecSys v3r15
  . Follow changes to updates in Configurable for RichMarkovRingFinder
  . Various python Configurable updates to avoid a few build problems.

- In RichRecTrackTools v1r8
  . Add new tool to calculate the effective refractive index seen by a
    given RichRecSegment.
  . Adapt to changes in how the refractive index is calculated for a given
    track. Fixes problem with correct aerogel tile parameters not being taken
    into account in 2008 simulations.

- In GlobalReco v6r18
  . Retire job options and add new python Configurable

- In VeloRecMonitors v1r3
  . Check for zero pitch in residual normalisation

- In CaloPIDs v4r14p1, NNTools v1r3p1, PatChecker v3r4, TrackMonitors v1r6,
     TrackTools v3r14, TrackSeeding v1r4p2, TsaAlgorithms v3r8, PatPV v3r8,
     MuonPIDChecker v3r0, RichMarkovRingFinder v2r4, RichRecStereoTools v1r5
  . Fixes for gcc 4.3 compilation


2008-11-24 RecSys v6r0

This version uses Gaudi v20r3 and LHCb v26r0.

- Packages removed:  TrackPython (obsolete)
- Packages modified: CaloMoniDst v3r3, CaloPIDs v4r14, PatFitParams v3r2p1,
    TrackCheckers v4r4, TrackFitEvent v3r19, TrackFitter v2r29,
    TrackMonitors v1r5, TrackTools v3r13, TrackUtils v1r22, TrackSys v4r19,
    PatAlgorithms v3r13, PatVelo v3r10, TfTools v1r6, TrackMatching v2r20,
    TrackSeeding v1r4p1, TsaAlgorithms v3r7, PatPV v3r7, MuonPIDChecker v2r5,
    MuonTrackAlign v1r7p1, RichGlobalPID v3r10p1, RichHLTLocalPID v1r3p1,
    RichLocalPID v3r6p1, RichMarkovRingFinder v2r3, RichRecAlgorithms v2r14p1,
    RichRecMCTools v2r20, RichRecMonitors v2r20, RichRecQC v2r24,
    RichRecStereoTools v1r4, RichRecSys v3r14, RichRecTrackTools v1r7,
    VeloRecMonitors v1r2, TrackProjectors v2r20

- In RecSys v6r0:
  . Fixes and improvements to python Configurable following latest Gaudi changes

- In CaloMoniDst v3r3
  . Fix a memory leak

- In CaloPIDs v4r14
  . Fix unitialized variable in CaloID2DLL.cpp

- In TrackCheckers v4r4
  . Remove dependency on MCDecayFinder from TrackBaseChecker
  . Add option to TrackResChecker to split histos by track type
  . Added momentum reso to output of TrackChecker
  . In TrackChecherNT.cpp adapt to new return type of KeyedContainer::size()

- In TrackFitEvent v3r19
  . Fix warning in OTMeasurement constructor
    [module should be passed to base class]
  . Add common base class to the VeloMeasurement classes
    o Lots of new functionality
  . Replace sqrt(12) in MuonMeasurement with constant from LHCbMath
  . Remove un-needed module member from OT class
  . Add totalCharge member to velo measurement classes
  . Unify and improve to STMeasurement and STLiteMeasurement classes
  . Add first implemention of STLiteMeasurement
  . Clean up init of STMeasurement

- In TrackFitter v2r29
  . Fix to VeloTT configured fitter to put back StateAtBeamLine
  . Fixes to python Configurable for latest Gaudi and TrackSys changes
  . Added ConfiguredMasterFitter and ConfiguredFastFitter which are
    tools. (Before we only had configured algs)
  . Fixed a configuration problem in TrackFitter/ConfiguredFitters.py: the
    property for a public tool should be set from the tool configurable
    instance (or from the its method .getFullName()).
  . Flag outliers, rather than remove them
  . Change strategy for FitVelo: don't use curvature
  . Add configurable for ConfiguredFastVeloOnlyFit for use in trigger
  . Added flag to force making measurements
  . Create node for state at beamline before fitting track
  . Protection for tracks with insufficient active measurements

- In TrackMonitors v1r5
  . Fix histo IDs in TrackMonitor
  . Fix histoTopDir in TrackVertexMonitor

- In TrackProjectors v2r20
  . Changes for fitting OT tracks with drift times in cosmics data

- In TrackTools v3r13
  . Tidy up TrackCaloMatch algorithm
  . Add selector [ITTrackConfirmation]
  . Use centre of sector to get nominal z [MeasurementProviderT.cpp]
  . Bug fix in TrackUsedLHCbID [duplicates handled correctly]
  . Changes in likelihood tool [allow detector to be missing in init
  . Changes in expected hit tools [allow choice of extrapolator ]
  . Made MeasurementProvider even less verbose

- In TrackUtils v1r22
  . Make TrackEventCloneKiller less verbose at initialisation.
  . Added TrackListFilter

- In TrackSys v4r19
  . In Configurable:
    o Fixes for latest Gaudi changes
    o Add a new method to allow user to more easily set the special data options
    o Improvements to allow easier re-configuration for cosmics reconstruction
  . Fix an option in Fitting.py for using a public tool (to please Gaudi v20r3)
  . Translate PatChecking.opts in PatChecking.py
  . Keep only one instance of TrackResChecker
  . Change detType IT decoding option name to DetType
  . Removed TELL1->Velo sensor mapping from VeloTEDOne.py as it is now in CondDB
  . Remove version numbers from uses in requirements

- In PatAlgorithms v3r13, TrackMatching v2r20, TsaAlgorithms v3r7
  . Adapt to changes in TrackSys python configurable

- In PatAlgorithms v3r12, v3r13
  . Modify PatFwdTool::qOverP for zero magnetic field scale factor to be
    consistent with FastMomentumTool
  . PatSeedingTool:
    o Track history is now set to PatSeeding instead of PatForward
    o Set a flag in ProcStatus when skipping events due to high occupancy
    o Add option to skip events above a certain maximum occupancy
     (currently maximum is set to 20 percent)

- In PatVelo v3r10
  . Fix untested StatusCode on Warning message, print Warnings only in finalize
  . Added very hot sensor triplet trap to PatVeloGeneralTracking to reduce
    total number of combinations of clusters considered in a triplet
  . Added a tool to "promote" VeloLiteClusters to faked VeloClusters
    the ADC values are not right, may be used by HLT to refit VELO quickly
  . Added a configurable threshold for the gap between the two VELO halfs to
    PatVeloGeneric.  The onverlap search is only performed when the distance
    between the two halfs in x is smaller than the threshold.  Default is 10 um.
  . Changed default for full alignment in PatVeloGeneric to true

- In TfTools v1r6
  . Add function to STHitCreator, OTHitCreator to remove all used flags from hits
  . Add new algorithm to remove all used flags from hits

- In TrackMatching v2r20
  . Add job option to make it explicit that seed outliers are not copied to new
    track (needed after change in TrackMasterFitter)

- In TsaAlgorithms v3r7
  . Use new constructors in TsaSeedTrackCnvTool
  . Major upgrade of ITGenericTracking algorithm
    o bugs fixes
    o new functionality
    o use new constructors

- In PatPV v3r7
  . improvements for reconstruction of close primary vertices in multi PV events
    See http://indico.cern.ch/conferenceDisplay.py?confId=33059

- In MuonPIDChecker v2r5, v2r4p1
  . Protect when MC particle does not have a mother
  . Protect divide by zero when magnetic field is off

- In MuonTrackAlign v1r7p1
  . Add explicit use AIDA

- In RichMarkovRingFinder v2r3
  . Fixes to python Configurable for latest Gaudi changes

- In RichRecMonitors v2r20
  . Add histograms for MC to rec position on HPD anode

- In RichRecQC v2r24
  . In python Configurable:
    o Add a new option DataType, default '2008' as in LHCbApp etc.
    o Do not run RichRawDataDBCheck for DC06 DataType
    o Adapt latest Gaudi changes
  . Remove all evidence of obsolete Job Options !
  . Reduce min beta to 0 in All track CK theta monitor
  . Add protection against exceptions from DB lookup in new DataDBCheck monitor
  . Add new monitor to compare numbering information in the decoded data to that
    in the database, to find inconsistencies.

- In RichRecSys v3r14
  . In configurables:
    o Change scope of some imports, to fix genConf warnings
    o Adapt latest Gaudi changes
    o Improvements for cosmic reconstruction
    o Add explicit option "useCaloMomentumTracks"
  . Remove explicit versions from requirements
  . Remove all evidence of obsolete Job Options !

- In RichGlobalPID v3r10p1, RichRecStereoTools v1r4, RichRecTrackTools v1r7
  . Downgrade some Warning messages to counters

- In VeloRecMonitors v1r2
  . Changed residual plots to normalised residuals w.r.t. binary resolution
    adapted alignment monitoring accordingly
  . Added extra plots for alignment online monitoring, switched on by setting
    AlignMoniBasic to true
  . Extra plots (momentum, clusters per event, angle) have been added in
    VeloTrackMonitor as an offline option
  . Put the "Clusters per Event for R sensors and R+Phi" as an offline option
  . Fixed bugs while running on "Best" tracks

- In RichGlobalPID v3r10p1, RichLocalPID v3r6p1, RichRecAlgorithms v2r14p1,
     RichRecQC v2r24
  . Fix trivial compilation warnings introduced by Gaudi v20r3

- In CaloMoniDst v3r3, PatFitParams v3r2p1, TrackCheckers v4r4,
     PatAlgorithms v3r13, TrackSeeding v1r4p1, RichGlobalPID v3r10p1,
     RichHLTLocalPID v1r3p1, RichRecMCTools v2r20, RichRecTrackTools v1r7
  . Fixes for gcc 4.3

2008-10-08 RecSys v5r12

This version uses Gaudi v20r2 and LHCb v25r2.

- Packages modified: CaloMoniDst v3r2, CaloReco v4r16, MuonPIDChecker v2r4,
    MuonTrackAlign v1r7, RichMarkovRingFinder v2r2, RichRecAlgorithms v2r14,
    RichRecQC v2r23, RichRecTools v4r6, PatAlgorithms v3r11, PatVelo v3r9,
    TrackSys v4r18, TsaAlgorithms v3r6, TrackCheckers v4r3, TrackFitEvent v3r18,
    TrackFitter v2r28, TrackMonitors v1r4, TrackProjectors v2r19,
    TrackTools v3r12, VeloRecMonitors v1r1

- In CaloMoniDst v3r2
  . Review histogram production & prepare XXXMonitor for real data.
  . Cleanup algorithm and options
  . Add #units directive to CaloMonitor.opts, needed by Brunel pythonisation

- In CaloReco v4r16
  . New cluster selection tools :
    o CaloSelectCluster               : selection with energy and #entries
    o CaloSelectClusterWithPrs        : selection with Prs energy & multiplicity
    o CaloSelectNeutralClusterWithSpd : selection with Spd hits multiplicity
    o CaloSelectNeutralClusterWithTracks (replaces CaloSelectNeutralCluster)
  . CaloExtraDigits : use of the new CaloHypo2Calo tool (located in CaloTools)
      as CaloSelectClusterWithPrs & CaloSelectNeutralClusterWithSpd
      Bonus : the matching now takes the actual calo alignment into account
  . CaloElectronAlg : remove hardcoded Prs/Spd criteria (use selection tool)
  . CellularAutomaton & CellularAutomatonAlg & CaloClusterizationTool :
    o fix problem of incomplete  clusteriwation due to rare digits configuration
    o add statistics printout in finalize()
    o complete CellularAutomatonAlg (Level property + missing HLT/Calo context)
    o include the possibility to select digit for energy computation using
      CaloUtils/CellSelector (mask by options)  : default '3x3' mask
    o CellularAutomatonAlg is now the default in Brunel options (and on-Demand)
      and replaces 'CellularAutomaton' everywhere
  . New options :
    o (Hlt)ClusterSelection.opts : based on tracks (default)
    o CaloStandaloneClusterSelection.opts : based on Prs/Spd
    o CaloStandalonePartialReco.opts : partial reco (no pid) for commissioning
    o remove ExtraDigits.opts (default setting now in CaloTools/CaloHypo2Calo)
    o Et(cluster)>2GeV is now the default for offline MergedPi0 reconstruction
  . Adapt here and there to change in CaloUtils & CaloTools

- In MuonPIDChecker v2r4
  . Added MuonPIDMonitor.opts, switches off use of MC true information

- In MuonTrackAlign v1r7
  . Remove some of the verbosity of AlignMuonRec.cpp

- In RichMarkovRingFinder v2r2
  . Update Monitoring code
  . RichMarkovRingFinderAlg.cpp, ThreePointCircleProposerB.cc
    o Reduce severity of messages to info and debug
    o Remove special characters ( | ) from histogram name/titles to please DIM

- In RichRecAlgorithms v2r14
  . Update the isolated Ring finding algorithm

- In RichRecQC v2r23
  . Only fill occupancy plots when #hits > 0

- In RichRecTools v4r6
  . Remove incorrect attempt to use conditions in
	  Rich::Rec::TabulatedGasQuartzWindowAbs
  . Turn off histogram printing by default in RichPIDPlots.cpp
  . Fix unchecked StatusCode in Sellmeir tool

- In PatAlgorithms v3r11
  . In PatForward.py configure PatForwardTool as private tool

- In PatVelo v3r9
  . Updated PatVeloFitLHCbIDs to allow a first measurement state and a variable
    multiple scattering term based on the input track's momentum
  . Added PatVeloAlignTrackFilter{.cpp,.h} : Fast filter for tracks parallel to
    the beam axis

- In TrackSys v4r18
  . Add MuonTrackAlignRec to RecoTracking.py
  . Add TrackRecoHLT.py to run HLT2 sequence
  . Add VeloTEDOne.py to optimise the reconstruction of the VELO for TED data
    taken in August and up to Sept 10th 2008.
  . Change TrackClones.opts to python (directly included in RecoTracking.py)
  . Add missing CMT use statements to requirements file
  . Replace Fitting.py with ConfiguredFitters

- In TsaAlgorithms v3r6
  . Bug fixes in generic tracking code
  . Add ITGenericTrackingCode
  . Fix untested StatusCode

- In TrackCheckers v4r3
  . Fix warning when filling histograms with nan
  . Fix output for event weighted ghost rate

- In TrackFitEvent v3r18
  . Add driftTime function to OTMeasurement
  . Fix memory leak in TrackStateVertex.cpp
  . Use GOD_NOALLOC flag to switch off custom allocators
  . Added 'pocaVector' to fitnode

- In TrackFitter v2r28
  . Added ConfiguredStraightLineFit
  . Use new function in TrackProjector interface
  . Added python configurables for track fitters, including a 'fast fit'
  . Add option to ignore e-loss corrections
  . Move setting of FitStatus flag from event fitter to master fitter

- In TrackMonitors v1r4
  . Added configurable for creating monitoring sequence
  . Added residuals

- In TrackProjectors v2r19
  . Major cleanup
  . Added project method for FitNode
  . Added TrajOTCosmicsProjector

- In TrackTools v3r12
  . Added option to set cluster location
  . Made TrackVertexer and MeasurementProvider less verbose

- In VeloRecMonitors v1r1
  . First version of the track-based monitoring algorithm VeloTrackMonitor:
    o default settings are for online monitoring
    o user options to switch from online to offline analysis are available
      for unbiased residuals and hitmap plots
  . Added StatusCode missing
  . Added number of clusters per sensor to cluster monitor, off by default.
  . Added sampling monitor plots separated for A and C side.

2008-09-08 RecSys v5r11

This version uses Gaudi v20r2 and LHCb v25r1.

- Packages added:    VeloRecMonitors v1r0: Velo monitoring for ZS Reco data
- Packages removed:  RichHLTSys, obsoleted by new Configuration.py in RichRecSys
- Packages modified: CaloReco v4r15, TrackCheckers v4r2,
    TrackExtrapolators v2r20, TrackTools v3r11, TrackSys v4r17, NNTools v1r3,
    PatAlgorithms v3r10, PatVelo v3r8, TfTools v1r6, PatPV v3r6,
    MuonPIDChecker v2r3, RichGlobalPID v3r10, RichHLTLocalPID v1r3,
    RichLocalPID v3r6, RichMarkovRingFinder v2r1, RichPIDMerge v2r6,
    RichRecAlgorithms v2r13, RichRecPhotonTools v1r5, RichRecQC v2r22,
    RichRecSys v3r13, RichRecTools v4r5, RichRecTrackTools v1r6

- In RecSys v5r11
  . Add new python Configurable RecSys(). This configurable replaces the old
    options and python files previously in the options sub-directory, which has
    been removed

- In CaloReco v4r15
  . HltCaloSeq.opts : CaloDigits created via the on-Demand service to avoid
                      conflict with offline processing.

- In TrackCheckers v4r2
  . Added output to job finalization
  . Added some safety checks for division by zero
  . Replace number of histograms by names

- In TrackExtrapolators v2r20
  . Fixed bug in HeraBExtrapolator::rk5numde which would make it fail for q/p=0

- In TrackTools v3r11
  . make FastMomentumTool and PtTransporter safe for 0 b field
  . StateSimpleBetheBlochEnergyCorrectionTool.cpp, correction never applied,
    added missing tX[4] = 1.0/newP;

- In TrackSys v4r17
  . Fix bug to extrapolator options in Fitting.py
  . Fix bugs for nonDrifttimes and BfieldOff in Fitting.py and RecoTracking.py
  . Add option file for track checking sequence,
  . Minor improvements to python configurable, to fit in with changes in RecSys

- In NNTools v1r3
  . Fix FPE in ghost probability tool

- In PatAlgorithms v3r10
  . PatSeedingTool:
    o fix for L0 confirmation: account properly for tilt in search windows
      derived from state given by caller
    o use newly introduced PatRange object to represent search windows
    o fix for cosmics: in X search, try all combinations of regions to find
      initial three x hits (allowing hits in IT to be found)
    o fix for fallback momentum estimate: if FastMomentumTool returns failure for
      some reason and we run without magnetic field, return  momentum 1 GeV with
      uncertainty on q/p = 1 / 1MeV
    o when specifying track model parameters as options, make sure that
      initialize() does not overwrite them
  . PatSeedTool, PatSeedTrack, PatSeedingTool: use unsigned instead of int
    if we know that a number is positive
  . Move public tools private, to allow for separate configuration in HLT and
    offline in same job

- In PatVelo v3r8
  . Small bug fix to track sort order between RZ and Space tracking;
    slight improvement in efficiency and ghost rate
  . Added PatVeloResetClusterUsed to all the rerunning of VELO PR routines in
    the same job for the HLT2 group. Modifications to PatVeloRHitManager and
    PatVeloPhiHitManager make this possible.

- In TfTools v1r6
  . Add function to remove all used flags from hits to STHitCreator and
    OTHitCreator
  . Add new algorithm to remove all used flags from hits, e.g. to run HLT2
    on initial scenario after HLT1

- In PatPV v3r6
  . Improvements for reconstruction of low multiplicity PVs and bad quality
    tracks. Triggered by options. Deafult performance not changed.

- In MuonPIDChecker v2r3
  . Edit reference numbers
  . Add the possibility to save monitoring or checking histos
  . Modify some histos

- In RichGlobalPID v3r10,  RichHLTLocalPID v1r3, RichLocalPID v3r6,
     RichPIDMerge v2r6
  . Adapt to changes in RichPID from RecEvent v2r15

- In RichGlobalPID v3r10, RichRecPhotonTools v1r5, RichRecTools v4r5,
     RichRecTrackTools v1r6
  . Update default property values

- In RichHLTLocalPID v1r3
  . Add context specific default RichPID TES locations

- In RichMarkovRingFinder v2r1
  . Update the trackless ring monitor
  . Some minor improvements

- In RichRecAlgorithms v2r13
  . Add new selection criteria to EventSelectionAlg

- In RichRecQC v2r22
  . Add a couple new plots to RichRecoQC to fill photon yield plots
  . Make sure some plots are filled in MC-free mode.
  . Add python configurable

- In RichRecSys v3r13
  . Add python Configuration. Job Option files remain for the moment to allow,
    testing whilst moving over, but will be removed in a future release.

- In RichRecTools v4r5
  . Improve handling of updates in RichSellmeirFunc and
    RichTabulatedRayleighScatter.
  . Improve use of aerogel properties in RichSellmeirFunc and
    RichTabulatedRayleighScatter.

- In RichRecTrackTools v1r6
  . Don't abort processing when input Tracks are missing.

2008-07-30 RecSys v5r10

This version uses Gaudi v20r2 and LHCb v25r0.

- Packages modified: MuonID v5r2p1, MuonTrackAlign v1r6, PatAlgorithms v3r9,
    PatVeloTT v3r3, RecAlgs v1r7, RichRecAlgorithms v2r12, RichRecQC v2r20,
    RichRecSys v3r12, TrackExtrapolators v2r19, TrackFitEvent v3r17,
    TrackFitter v2r27, TrackMatching v2r19, TrackMonitors v1r3, TrackTools v3r10,
    TrackSeeding v1r4, TrackSys v4r16, TsaAlgorithms v3r5

- In MuonID v5r2p1
  . Remove #pragma print on from options

- In MuonTrackAlign v1r6, PatAlgorithms v3r9, TrackTools v3r10,
     TrackSeeding v1r4, TsaAlgorithms v3r5
  . Adapt to new ITrackMomentumEstimate interface

- In PatAlgorithms v3r9, PatVeloTT v3r3, TrackMatching v2r19, TsaAlgorithms v3r5
  . Use TrackSys instead of Brunel configurable in python options

- In PatAlgorithms v3r9, TrackTools v3r10
  . Adapt tools to use new ILHCbMagnetSvc interface where needed
  . Adapt tuning for new B field map

- In PatAlgorithms v3r9
  . PatSeedingTool: fixed a bug introduced when migrating to BOOST_FOREACH
                    which caused jobs with isolation cuts to crash

- In RecAlgs v1r7
  . Adapt to new location of IGenericTool.h

- In RichRecAlgorithms v2r12
  . Add two new algorithms
    o RichRecEventSelectionAlg : To select and filter events (GC studies)
    o TrackUseCaloMomentumAl : Clones Track objects and updates their momentum
      using CALO information (used in field off RICH reconstruction).

- In RichRecQC v2r20
  . Disable the reconstruction summary data objects monitor

- In RichRecSys v3r12
  . Disable the Rich::Rec::SummaryAlg algorithm

- In TrackExtrapolators v2r19
  . Protect MaterialLocator base to against 'null' extrapolation

- In TrackFitEvent v3r17
  . In FitNode:
    o added smoother gain matrix to fitnode for use in alignment
    o renamed Upstream->Forward, Downstream->Backward (less confusing, less code)

- In TrackFitter v2r27, TrackMonitors v1r3, TrackTools v3r10
  . Adapted to change in FitNode

- In TrackFitter v2r27
  . Revived standard smoother

- In TrackMonitors v1r3
  . Added histograms for monitoring track errors on TrackMonitor

- In TrackTools v3r10
  . Add options to TrackSelector to reject clones
  . Use new matrix inversion

- In TrackTools v3r10, TrackSeeding v1r4
  . Fix compilation warning.
    Complete REC project now compiles with gcc34 without warnings

- In TrackSys v4r16
  . Add a TrackSys configurable, with options expertHistos, fieldOff, veloOpen,
    expertTracking. RecoTracking.opts and Fitting.py now test on TrackSys()
    options instead of Brunel() options


2008-07-21 RecSys v5r9

This version uses Gaudi v20r1 and LHCb v24r1.

- Packages modified: CaloPIDs v4r13, CaloReco v4r14, PatChecker v3r3p1,
    TrackFitter v2r26, TrackMCTools v2r19, TrackMonitors v1r2, TrackTools v3r9,
    TrackUtils v1r21, TrackSys v4r15, PatAlgorithms v3r8, PatVeloTT v3r2,
    TrackMatching v2r18, TsaAlgorithms v3r4, PatPV v3r5, MuonTrackAlign v1r5

- In RecSys v5r9
  . Rename Reco.opts to RecoSequences.opts, excluding Tracking sequences
  . Reco.opts calls RecoSequences.opts and RecoTracking.opts (legacy, for *.exe)
  . Reco.py calls RecoSequences.opts and RecoTracking.py (for gaudirun.py)
  . Add "Vertex" to Reco.DetectorList, called after "Tr", for primary vertex Reco

- In CaloPIDs v4r13
  . duplicate PhotonPDF.opts for Hlt usage (HltPhotonPDF.opts)

- In CaloReco v4r14
  . Make the Hlt stream fully independent of the offline sequence in options
  . Fix missing prefix in CaloOnDemand.opts

- In PatChecker v3r3p1
  . Fix uninitialised variables

- In TrackFitter v2r26
  . Use cholesky decomposition for track covariance matrix inversion

- In TrackMCTools v2r19
  . Added some protection in IdealStateCreator::findClosestHit

- In TrackMonitors v1r2
  . Added monitoring algorithms

- In TrackTools v3r9
  . Add use of dead strips to TTHitExpectation
  . Added tests for VELO sensors readout and bad strips to VeloExpectation
  . Added more cuts to TrackSelector
  . Make TrackVertexer less verbose

- In TrackUtils v1r21
  . TrackRemoveDoubleHits: separated OT double hits in acceptable (high tx) / not
    acceptable.

- In TrackSys v4r15
  . Add options/RecoTracking.py and Fitting.py, replaces corresponding .opts
    files which are now obsolete
  . Implements the following "expertTrackng" options for Brunel:
    "usePatSeeding", "noDrifttimes" and "simplifiedGeometry"

- In PatAlgorithms v3r8
  . PatDownstream:
    o use a proper check for x layers instead of comparing sine of stereo angle
      to zero
    o use boost::assign::list_of where applicable when declaring properties
  . PatSeedTool:
    o more effective protection against singular matrix in fit
    o use of BOOST_FOREACH to clean up code
    o more straightforward bit-shifting when trying to fix ambiguities
  . PatSeedingTool:
    o when reconstructing cosmics, make sure we do not pick up hits from the
      upper half of the OT when we know that the track is in the lower half and
      vice-versa
    o use of BOOST_FOREACH to clean up code
    o more straightforward bit-shifting when trying to fix ambiguities
  . PatSeedTrack:
    o use of BOOST_FOREACH to clean up code
    o add method coords() to have a BOOST_FOREACH-compatible interface for the
      rest of the code
    o use initializer lists in constructors more extensively
    o remove unused members
    o changed order of members to improve memory layout
    o better documentation of methods
  . Add python job options PatForward.py and PatSeeding.py

- In PatVeloTT v3r2
  . Translate VeloTT.opts and VeloTT_noB.opts in PatVeloTT.py. These .opts files
    are obsolete

- In TrackMatching v2r18
  . Add python job options TrackMatch.py

- In TsaAlgorithms v3r4
  . Add use of dead strips in ITExpectedHits tool
  . Add TsaSeeding.py options file

- In PatPV v3r5
  . Fix the options

- In MuonTrackAlign v1r5
  . Fixed bug in detectClone() and StrongCloneKiller()

2008-07-07 RecSys v5r8

This version uses Gaudi v20r1 and LHCb v24r0.

- Packages added:    RichMarkovRingFinder v2r0
- Packages modified: CaloMoniDst v3r1, CaloPIDs v4r12, CaloReco v4r13,
    PatChecker v3r3, PatFitParams v3r2, TrackCheckers v4r1, TrackFitEvent v3r16,
    TrackFitter v2r25, TrackMCTools v2r18, TrackTools v3r8, PatAlgorithms v3r7,
    PatVelo v3r7, PatPV v3r4, MuonTrackAlign v1r4, RichRecAlgorithms v2r11,
    RichRecMonitors v2r19

- In CaloMoniDst v3r1, CaloPIDs v4r12
  . Adapt to Gaudi::Math namespace changes in Kernel/LHCbMath v3r0

- In CaloPIDs v4r12
  . CaloTrackMatchAlg, inCaloAcceptanceAlg: protect against empty track container
  . Use default HLT locations for the HLT context in all algorithm/tool

- In CaloReco v4r13
  . Use default HLT locations for the HLT context in all algorithm/tool
  . Set default location to run the clusterisation sequence on Hcal
    (depends on the instance name)
  . New options : HltCaloSeq with setting to run the Reco/PID within HLT framework
  . Fix id warning in CelAutoTaggedCell.h

- In PatChecker v3r3
  . For VELO tracks, provides a breakdown of PR performance per algorithm

- In PatFitParams v3r2
  . Update to bring SeedFitParams back in sync with the parameters actually
    used in PatSeeding

- In TrackCheckers v4r1
  . Added safety checks to protect against division by zero in TrackEffChecker

- In TrackFitEvent v3r16
  . Added initialization of deltaEnergy variable to 0 in FitNode

- In TrackFitter v2r25
  . In TrackKalmanFilter, downgrade Errors to Warnings, reduce verbosity (now
    Warnings only printed once, more info available in debug() )
  . Added more safety checks in TrackMasterFitter
  . Added minMomentumForELossCorr and maxMomentumForScattering variables in
    TrackMasterFitter
  . Fail fit if smoother fails to calculate reasonable error on residual
  . Added safety check to avoid FPE in TrackKalmanFilter::updateResidual
  . Bug fix: don't remove outlier from track with 1 dof

- In TrackMCTools v2r18
  . Fix implicit conversions

- In TrackTools v3r8
  . Fix compilation warning
  . LongTrackReferenceCreator: Changed default extrapolator to
    TrackMasterExtrapolator
  . StateSimpleBetheBlochEnergyCorrectionTool: added safety checks
  . TrackLikelihood: added a safety check to avoid FPE in initialisation of "lik"

- In PatAlgorithms v3r7
  . PatSeedingTool:
    o Added code to deal better with cosmics
    o Tuning for new field map, now used per default
    o Added new tuning for old field map, in options/PatSeedingTool-field047.opts
    o Fixed a bug in the code calculating cluster positions, we now really do
      it the "Kisel" way
    o Made new option-controllable parameter OTNHitsLowThresh which gives the
      threshold below which OT only tracks have to satisfy stricter criteria
    o Add options to extract T station part of Forward tracks and add resulting
      tracks to output container
  . Add option file to find cosmics
  . Removed superfluous include file (fenv.h)
  . PatSeedTrack: changes to follow new parametrisation in PatSeedingTool
  . Fix a possible divide-by-zero in PatDownstream

- In PatVelo v3r7
  . Fix for FPE problem in PatVeloGeneralTracking

- In PatPV v3r4
  . New functionality and package structure change:
    o PV off-axis reconstruction
    o Seeding interface introduced IPVSeeding.h
    o PVSeed3DTool.cpp - new (second) seeding for off-axis PVs
    o LSAdaptPV3DFitter - new PV fitting algorithm for PatPV3D
    o PatPV3D - new algorithm. Uses PVOfflineTool
  See presentation at tracking and alignment workshop, 2008-06-11
  . Added example options for displaced vertices

- In MuonTrackAlign v1r4
  . Added the long track state errors to the match chi^2
  . Added some monitoring histograms

- In RichRecAlgorithms v2r11
  . Add some new algorithms for trackless rings
    o Rich::Rec::TracklessRingFilterAlg : Filter rings using quality cuts
    o Rich::Rec::TracklessRingIsolationAlg : Finds isolated trackless rings
    o Rich::Rec::TracklessRingSegmentAssociationAlg: Associates rings to segments

- In RichRecMonitors v2r19
  . Add protection against invalid HPD IDs in the decoded data.

2008-06-05 RecSys v5r7

This version uses Gaudi v19r9 and LHCb v23r7.

- Packages added:    TrackMonitors v1r1 - Track data quality (without MC truth)
- Packages modified: CaloReco v4r12, CaloPIDs v4r11, GlobalReco v6r16,
    PatAlgorithms v3r6, PatPV v3r3, PatVelo v3r6, RichGlobalPID v3r9,
    RichRecMCTools v2r19, RichRecMonitors v2r18, RichRecPhotonTools v1r4,
    RichRecQC v2r19, RichRecStereoTools v1r2, RichRecTrackTools v1r5,
    TfTools v1r5, TrackCheckers v4r0, TrackFitEvent v3r15, TrackTools v3r7,
    TrackSys v4r14

- In CaloReco v4r12, CaloPIDs v4r11, TfTools v1r5
  . Move cleaning of private containers to BeginEvent instead of EndEvent

- In GlobalReco v6r16
  . Fix wrong counter initialization in NeutralProtoPAlg

- In PatAlgorithms v3r6
	. PatMatchTool: Add interface for Hlt implementation
  . PatSeedTool:  Various fixes to avoid dividing by zero
  . PatSeedingTool:
    o fixed a bug in the y window calculation used in L0 confirmation
      (no tracks are found in the L0 case)
    o protect against a division by zero in initialize
    o increase m_minMomentum to 500 MeV - very few tracks lost
    o several adjustments triggered by the changes to PatSeedTool above
    o several changes to improve efficiency (see release notes)
    o some checks skipping unneccessary stages for trigger applications to keep
      the high speed from previous versions

- In PatAlgorithms v3r6, TfTools v1r6, TrackFitEvent v3r15, TrackTools v3r7
  . Removed all float variables, replaced them by doubles, no loss in performance

- In PatPV v3r3
  . Removed setting of Invalid flag for 2D tracks

- In PatVelo v3r6
  . Changed behaviour of PatVeloSpaceTracking in the case of invalid RZ tracks
    Now prints a warning and continues, previously aborted job
  . Added ConsiderOverlaps to property to PatVeloGeneric, allowing to pick up
    clusters in the other VELO half during candidate propagation.
    Default is false, i.e. the old behaviour.
  . PatVeloSpaceTool now used as a private tool in PatVeloSpaceTracking and
    defaults to not flagging clusters as used
  . All R clusters are now flagged as used in PatVeloRTracking, tweaked
    PatVeloGeneralTracking to compensate.
  . Changed how PatVeloGeneralTracking uses R clusters only found on RZ tracks,
    this has a 1% better efficiency for "Velo only" tracks (i.e. out of the
    acceptance) and ~0.1% improvement for long tracks, but about a 0.1% higher
    ghost rate.

- In RichGlobalPID v3r9, RichRecTracktools v1r5
  . Fix untested StatusCodes

- In RichRecMCTools v2r19
  . Reorganise Track -> MCParticle linkers handling to avoid memory corruptions.

- In RichRecMonitors v2r18, RichRecQC v2r19
  . Adapt to changes in decoded data format

- In RichRecPhotonTools v1r4, RichRecStereoTools v1r2, RichRecTrackTools v1r5
  . Fixes for floating point exceptions caught using the new FPEAuditor

- In RichRecStereoTools v1r2
  . Fix some valgrind warnings

- In RichRecTracktools v1r5
  . Make 'AbortEarly = true' the default option for IsolatedTrackTool

- In TrackCheckers v4r0
  . Removed TrackMonitor (moved to new Tr/TrackMonitors package). This package
    is now intended exclusively for checking algorithms requiring MC truth
  . Protect division by zero in TrackEffChecker

- In TrackFitEvent v3r15
  . Added fit-status flag to TrackStateVertex
  . Added method to get propagation time to OTMeasurement

- In TrackTools v3r7
  . PtTransporter.h,cpp: add interface for Hlt implementation
  . Add StateDetailedBetheBloch dE/dx correction tool
  . Check #dof for chisquare cut in TrackSelector
  . Extend interface of TrackVertexer

- In TrackSys v4r14
  . Added a line to set PatVeloSpaceTool to flag clusters as used, to preserve
    previous default behaviour after PatVelo v3r6 change.
  . In Fitting.opts:
    o use default extrapolator also for seed, velo, velo-tt fits
    o extrapolate also downstream tracks to beamline (for Ks)

- In CaloReco v4r12, CaloPIDs v4r11, GlobalReco v6r16, RichGlobalPID v3r9,
     RichRecPhotonTools v1r4, RichRecQC v2r19, TfTools v1r5, TrackCheckers v4r0,
     TrackTools v3r7
  . Fix doxygen warnings

2008-05-19 RecSys v5r6

This version uses Gaudi v19r9 and LHCb v23r6.

- Packages modified: CaloMoniDst v3r0p2, CaloPIDs v4r10, NNTools v1r2p1,
    PatAlgorithms v1r5,  RecAlgs v1r6, RecCheckers v1r0p1, RichRecMCTools v2r18,
    RichRecMonitors v2r17, RichRecQC v2r18, RichRecPhotonTools v1r3,
    RichRecStereoTools v1r1, RichRecSys v3r10, RichRecTools v4r4,
    RichRecTrackTools v1r4, TrackCheckers v3r4p2, TrackFitEvent v3r14,
    TrackTools v3r6, TrackUtils v1r20, TsaAlgorithms v3r3

- In CaloMoniDst v3r0p2, TrackCheckers v3r4p2
  . Fixes for Python job options parsing and type checking

- In CaloPIDs v4r10
  . Restore void _setProperty(..) instead of StatusCode setProperty(...) to fix
    untested StatusCodes

- In NNTools v1r2p1
  . Fix unchecked StatusCode

- In PatAlgorithms v3r5
  . Many timing and efficiency improvements to PatSeeding
  . Minor timing improvements in PatForward
  . PatMatchTool: New implementation of PatMatch as tool
    o public function: matchSingle for Hlt
    o quality of match is now job option: maxMatchChi2
    o momentum of matched tracks is calculated with tool
  . PatMatch: algorithm which only calls the tool

- In RecAlgs v1r6
  . Remove obsolete STSummaryCreator class

- In RecCheckers v1r0p1
  . src/MCEffBuilder.h src/MCReconstructed.h : Added documentation for Doxygen

- In RichRecMCTools v2r18, RichRecMonitors v2r17, RichRecPhotonTools v1r3,
     RichRecQC v2r18, RichRecStereoTools v1r1, RichRecTools v4r4,
     RichRecTrackTools v1r4
  . Adapt to removal of obsolete RichDet locations

- In RichRecMCTools v2r18
  . Update RichPixelCreatorFromCheatedRawBuffer to use the improved HPD photon
    impact position.

- In RichRecMonitors v2r17
  . Add new monitor for stereographic refitting tests
  . Add new plots to RichPhotonSignal monitor

- In RichRecPhotonTools v1r3
  . Add new cuts to photon predictors to allow hits close to the (0,0) to be
   (optionally) rejected (disabled by default).

- In RichRecQC v2r18
  . Update ROOT scripts for new implementation of RichPIDQC
  . Update RichPIDQC to use new PID plotting tool
  . Add use of stereographic refit and isolated tracks to RichRecoQC
  . Fix typo in job options that cause the monitor RiCKResLongAll to consider
    all tracks, instead of just Long tracks as intended.

- In RichRecStereoTools v1r1
  . Implement improvements to the IStereoFitter interface
  . Remove hard-coded refractive index assumptions in StereoFitter
  . Move declareProperty(...) calls to constructor in StereoFitter
  . Add additional debug printout + remove all cout calls from StereoFitter
  . Suppress some Warning messages in the fitter sooner + set status to SUCCESS
  . Add configuration option to allow the user to decide if the segment and
    fitted photons are updated or not following the fit.

- In RichRecSys v3r10
  . Tune track state tolerances to allow DST tracks to be used (no radiator
    exit states).

- In RichRecTools v4r4
  . Add a new method to RichSellmeirFunc
  . Add new tool for creating 'standard' PID calibration and monitoring plots

- In RichRecTrackTools v1r4
  . Update the state z-tolerances in DetailedTrSegMakerFromRecoTracks to allow
    running from DSTs
  . Add new track isolation tool

- In TrackFitEvent v3r14, TrackTools v3r6, TsaAlgorithms v3r3
  . Update to changes in STDet v4r0 [introduction of DeSTSensor]

- In TrackFitEvent v3r14
  . Change STMeasurement to prevent crash in init due to 0 pointer for sensor
  . Fixed bug in MuonMeasurement

- In TrackTools v3r6
  . Add PtTransporter.h,cpp: new tool to transport pt from T to origin
  . Add HltV0Upgrade.cpp and HltV0Upgrade.h (needs also IHltV0Upgrade)
  . TrackCloneFinder: update for speed and lower clone rate

- In TrackUtils v1r20
  . Update of TrackEventCloneKiller for speed and lower clone rate

2008-04-22 RecSys v5r5

This version uses Gaudi v19r9 and LHCb v23r5.

- Packages added   : RecCheckers v1r0 - Check reconstruction with MC truth
- Packages modified: CaloReco v4r11, GlobalReco v6r15p1, MuonTrackAlign v1r3,
    PatAlgorithms v3r4p1, PatChecker v3r2, PatVelo v3r5, RichGlobalPID v3r8,
    RichHLTLocalPID v1r2, RichHLTSys v3r3, RichRecAlgorithms v2r10,
    RichRecMCTools v2r17, RichRecMonitors v2r16,  RichRecSys v3r9,
    RichRecTools v4r3, RichRecTrackTools v1r3, TfTools v1r4,
    TrackAssociators v2r6, TrackExtrapolators v2r18, TrackFitEvent v3r13,
    TrackFitter v2r24, TrackTools v3r5, TrackUtils v1r19

- In CaloReco v4r11
 - Replace DataOnDemandSvc.Algorithms option with .AlgMap
 - Add new algorithm CellularAutomatonAlg and new tool CaloClusterizationTool

- In GlobalReco v6r15p1
  . MuonPIDsFromProtoParticlesAlg : Check StatusCodes.
  . Protect some verbose() statements with if ( msgLevel(MSG::VERBOSE) )

- In MuonTrackAlign v1r3
  . Changes to be compatible with MuonDAQ v4r0

- In PatAlgorithms v3r4p1
  . Removed white space from property impactCurrentNorm in PatMakeV0,
    Python doesn't like it.
  . Fixed option in PatFwdTool.opts: zMagnetParams -> ZMagnetParams

- In PatChecker v3r2, TrackAssociators v2r6
  . Adapt to new OT linkers produced by Boole v15r0 (backward compatible change)

- In PatVelo v3r5, TrackFitter v2r24
  . Follow changes in fitter interface

- In RichGlobalPID v3r8
  . Large reworking of Global PID package to allow for tool based track-by track
    particle ID
    o Introduce local base class for tools and algorithms
    o Add new tool RichGlobalPIDLIkelihoodTool that performs the event
      likelihood minimisation previously performed by the RichGlobalPIDLikelihood
      algorithm.
    o Add new tool 'RichGlobalPIDMultiStepTool' that performs multiple iterations
      of the Global PID likelihood minisation and background estimation steps.
      This functionality is the same as that currently achieved using the
      algorithm sequencing options in RichRecSys but allows for this to be called
      on a track by track basis using the tool interface.
    o Updating the existing algorithms to use the new tools, so that the previous
      functionality and algorithm sequencing in Brunel is maintained.

- In RichHLTLocalPID v1r2
  . Reimplement PID algorithm as a tool, using the new PID interface from
    RichRecBase.

- In RichHLTSys v3r3
  . Adapt options to changes in Global and Local PID packages

- In RichRecAlgorithms v2r10
  . Make the nickname of the PID tool in RichTrackPIDAlg a configurable option
  . Remove HPD pixel background algorithms (now implemented as tools in the
    RichRecTools package). Add new generic background algorithm that simply
    uses one of these tools.
  . Add a new generic PID algorithm that uses the new IRichPID tool interface
    to PID tracks.

- In RichRecMCTools v2r17
  . Update RichPixelCreatorFromSignalRawBuffer to reject specific types of
    backgrounds

- In RichRecMonitors v2r16
  . Cosmetic improvements to how phi regions are handled

- In RichRecSys v3r9
  . Rework options to adapt to new 'tool' based reconstruction
  . Add options for new photon reconstruction tool

- In RichRecTools v4r3
  . Add new background tools (previously algorithms in RichRecAlgorithms)
  . Add support for missing mirror segments in RichTabulatedSignalDetectionEff

- In RichRecTrackTools v1r3
  . Pre-load beam pipe objects during initialisation of track creator, if
    needed, to avoid initialisation during first event
  . Add a debug option to track creator to only make one track per event
    (disabled by default)

- In TfTools v1r4
  . Add TsaTStationHitManager.cpp and PatTStationHitManager.cpp, previously in
    TsaKernel, to have the factory in a component library. Header files stay in
    TsaKernel to keep them visible from outside

- In TrackExtrapolators v2r18
  . Add particle id to extrapolator tool

- In TrackFitEvent v3r13
  . Add new class TrackStateVertex, holds the result of a multi-track vertex fit

- In TrackTools v3r5
  . Remove whitespace from property iWeight of TrackSelector. Python doesn't
    like it.
  . Follow interface adaption in IStateCorrection tool
  . Fixed bug in FastMomentumEstimate.cpp: sigmaQOverP used to be negative
    for qOverP negative
  . MeasurementProviderT now throws exception instead of crashing if the
    clusters have not been loaded.
  . TrackSelector : initialisation printout in debug instead of info.

- In TrackUtils v1r19
  . Bug fix in TrackFromDST for backward compatibility: add PatKShort tracks
    (old name of PatDownstream tracks) in PatDownstream collection.
  . Renamed algorithm TrackRemoveDoubleITHits to TrackRemoveDoubleHits:
    now removes all double hits: in IT, OT and TT (two kinds: same sector and
    different sectors)
  . Add list of states to be written out for muon tracks in TrackToDST

2008-03-03 RecSys v5r4

This version uses Gaudi v19r8 and LHCb v23r4.

- Packages modified: MuonTrackAlign v1r2, PatAlgorithms v3r4, PatPV v3r2,
    PatVelo v3r4, RichRecMCTools v2r16, RichRecMonitors v2r15,
    RichRecPhotonTools v1r2, RichRecQC v2r17, RichRecTools v4r2,
    RichRecTrackTools v1r2, TrackCheckers v3r4p1, TrackExtrapolators v2r17p1,
    TrackFitEvent v3r12, TrackMCTools v2r17, TrackTools v3r4

- In MuonTrackAlign v1r2
  . Add a missing include following changes to TrackEvent
  . Fix a compilation warning
  . Changes in AlignMuonRec.cpp + AlignMuonStation.h to reject events with
    cross talk in the muon
  . Assigned the long track momentum to the muon states
  . Changes in MuonRead.cpp to read the states from the nodes
  . Fix bug in option file

- In PatAlgorithms v3r4
  . PatSeedingTool can now take an optional state giving a hint where a track
    is to be found
  . Added job option which makes it possible to ignore hits used in a previous
    run of PatSeedingTool

- In PatPV v3r2
  . Added missing setTechnique(LHCb::RecVertex::Primary) in PatPV2D and PatPV3D

- In PatVelo v3r4
  . Finished port of PatVeloGeneric and PatGenericFitter to Tf framework.
  . Added PatVeloFitLHCbIDs as a tool with the interface ITrackFitter to expose
    the internal track fit from PatVelo.
  . Added an option to PatVeloRTracking to turn off reconstruction of backward
    RZ tracks
  . Added option to run RZ tracking in 'backward only' mode
  . Retuned PatVeloGeneralTracking to pick up very long halo tracks better.
  . Fix to avoid asking for phi of cluster at an r smaller than the inner radius
  . The names of all hit manager related tool instances are now configurable.

- In RichRecMCTools v2r16
  . Update RichPhotonCreatorFromCheatedTrackDir to (optionally) also cheat
    assumed photon emission point
  . Add missing implementations of buildPixel( const LHCb::RichSmartID & id )
    to pixel creator tools
  . Adapt to changes in track creator base class.

- In RichRecMonitors v2r15
  . Add more comparison histos to pixel position monitor
  . Add additional plots to photon angle monitor to give CK theta resolution
    in various bins of CK phi

- In RichRecPhotonTools v1r2
  . Added new Photon reconstruction method using iterative raytracing
  . Make sure CK phi values computed by iterative ray-tracing photon
    reconstruction tool lie in the range 0 to 2PI
  . Set pointers to photon mirrors in CKRing and Raytracing photon
    reconstruction tools.
  . Introduce base class for all geom. photon reconstruction tools that
    contains all common functionality.
  . Add checks for non-physical photons to iterative ray-tracing photon
    reconstruction tool. Helps reject fake photons.

- In RichRecQC v2r17
  . Fix little bug where expect CK theta and CK resolution values where not
    properly computed in the case where MC information was missing
  . Fix bug where MC particle type was not correctly being found.

- In RichRecTools v4r2
  . Optimise RichRayTraceCherenkovCone by caching cos and sin phi values
  . Adapt to changes in RichGeomPhoton and RichRecPointOnRing
  . Rename RichTabulatedSignalDetectionEff RichNominalTabulatedSignalDetectionEff
  . Add new implementation of RichTabulatedSignalDetectionEff which instead
    of using the nominal HPD Q.E. and mirror reflectivies, determines on a
    track by track basis the a weighted average of those associated to the track

- In RichRecTrackTools v1r2
  . Add flag to RichCherenkovAngle::avgCherenkovTheta to allow force the
    calculation to use the the emitted photon energy spectra instead of the
    detected one (needed to prevent data race conditions where A depends on B
    but B depends on A ...).
  . Adapt to changes in track creator base class.

- In RichRecMonitors v2r15, RichRecPhotonTools v1r2, RichRecQC v2r17
  . Adapt to changes in RichGeomPhoton

- In TrackFitEvent v3r12
  . Clean up public includes, using new GaudiObjDesc forward declaration
    possibilities
  . Added pointer to detector element to Measurement classes

- In TrackMCTools v2r17
  . Modifications in ghost classification tools to make them work better on DST:
    o get ghost parent from the LHCbIDs
    o add specializations for downstream and upstream tracks

- In TrackTools v3r4
  . Adapted MuonMeasurementProvider to change in MuonMeasurement interface

- In PatVelo v3r3p1, TrackCheckers v3r4p1, TrackExtrapolators v2r17p1,
     TrackTools v3r4
  . Add missing includes following changes in event model includes

2008-02-04 RecSys v5r3

This version uses Gaudi v19r7 and LHCb v23r3.

- Packages modified: CaloPIDs v4r9, CaloReco v4r10, GlobalReco v6r15,
    NNTools v1r2, PatAlgorithms v3r3, PatFitParams v3r1, PatVelo v3r3,
    RecUtils v1r5, RichGlobalPID v3r7, RichRecMCAlgorithms v1r1,
    RichRecMCTools v2r15, RichRecMonitors v2r14, RichRecPhotonTools v1r1,
    RichRecQC v2r16, RichRecSys v3r8, RichRecTools v4r1, RichRecTrackTools v1r1,
    TfTools v1r3,TrackCheckers v3r4, TrackExtrapolators v2r17, TrackFitter v2r23,
    TrackIdealPR v2r15, TrackMCTools v2r16, TrackSys v4r13, TrackTools v3r3,
    TrackUtils v1r18

- In CaloPIDs v4r9
  ._setProperty was changed to setProperty
  . fixed mistypo with AddNeigbours instead AddNeibours

- In CaloReco v4r10
  . Fix unprotected array index in CaloMergedPi0.cpp

- In GlobalReco v6r15
  . Protect against NaN in NeutralProtoPAlg::finalize()

- In NNTools v1r2
  . Change the option file options/NeuralNetTmva.opts to take the weights files
    from $PARAMFILESROOT/data/. Needs ParamFiles v7r1 or greater

- In PatVelo v3r3
  . Modified the space tracking so it uses the new hit preparation on demand
    features in TfKernel.

- In PatAlgorithms v3r3
  . New algorithm PatMakeV0 to build V0 candidates. Requires PV to be found first
    Resulting V0s in RecVertexLocation::V0 and track pairs in Rec/Track/FromKs.
  . Modify PatDownstream to tag TT used hits with the option SeedFilter.
  . Use new enum values to tag TT hits with meaningful names.
  . Added code to PatSeedingTool to perform better without magnetic field
  . Added code to PatSeedingTool to allow better tuning when running with
    a misaligned detector
  . Added code to PatSeedTool to fix a corner case which could produce NaNs
    as track parameters

- In PatFitParams v3r1
  . Add the PatCalibV0 algorithm from Maurice, to debug V0 processing.
  . Update options for Gaudi v19r7

- In RecUtils v1r5
  . Update options for Gaudi v19r7
  . In CopyStripETC.cpp book output ETC with explicit numeric ID

- In RichGlobalPID v3r7
  . Improve handling of Global PID TES data objects. Fixes crash observed when
    running Brunel using FieldOff-VeloOpen.opts

- In RichRecMCAlgorithms v1r1
  . Fix bug in missing MCRichTrack adding algorithm (adding the wrong tracks)
  . Add ray tracing option to MC mass hypothesis ring algorithm

- In RichRecMCTools v2r15
  . Remove setting of average track segment photon energy in MC track creator
    tool (now done in segment creator).

- In RichRecMonitors v2r14
  . Add new monitor that compares reconstructed photons to ray traced photons
  . Misc. improvements to other monitors

- In RichRecPhotonTools v1r1
  . Improvements to ray tracing photon reconstruction.
  . Update quartic photon reconstruction tool to use new Snell's law tool.
  . Change messages about CK theta correction factors from warning to info.

- In RichRecQC v2r16
  . Extend pixel monitoring to include new MC background types (HPD reflections
    and silicon back-scattering).

- In RichRecSys v3r8
  . Minor changes to tool options (ray tracing mode)
  . Improvements to ray-tracing photon reconstruction options

- In RichRecTools v4r1
  . Add options to mass hypothesis ring creator to allow ray tracing mode to
    be configurable

- In RichRecTrackTools v1r1
  . Add new methods to average track signal tool.
  . Add ray tracing options to photon ray tracing geom. eff. tool.
  . Set segment average photon energy in segment creator (remove setting
    in track creator).

- In TfTools v1r3
  . OTHitCreator now has job options to switch off using drift times in the
    pattern reco; the drift radius and resolution reported can also be set
    through job options
  . Use a small struct instead of function pointer in std::sort to allow inlining

- In TrackCheckers v3r4
  . Add hit-track residuals to Monitoring classes
  . Replace PoolDbCacheSvc.Catalog by FileCatalog.Catalogs

- In TrackExtrapolators v2r17
  . Cleanup of debug output in MaterialLocatorBase

- In TrackFitter v2r23
  . Changes in TrackKalmanFilter to improve fit stability
    o remove smoothing of nodes outside measurement range
    o better preconditioning for matrix inversion
    o more stable expression for smooting covariance matrix
  . Increased errors of initial cov matrix to be suitable also for velo-TT
    and T tracks
  . Moved filling of material corrections and propagation matrices to
    TrackMasterFitter, making use of trajectory approximation

- In TrackIdealPR v2r15
  . Added missing PatRecID flag to track in IdealTracksCreator

- In TrackMCTools v2r16
  . Bug fixes in CleanPatTrackSelector and IdealStateCreator::addMCHitStates

- In TrackSys v4r13
  . In RecoTracking.opts, add NeuralNetTmva ghost probability algorithm to end
    of tracking sequence
  . In NoFieldTracking.opts, added include to use new PatSeeding tuning when
    running without magnetic field, but left it commented out because
    PatSeeding is not executed in the default setup

- In TrackTools v3r3
  . Change Si measurement providers to use track-state by default
  . Correct small bug in TrackSelector eta cut

- In TrackUtils v1r18
  . Fix TrackV0Finder to follow changes in TwoProngVertex.h

2007-12-13 RecSys v5r2

This version uses Gaudi v19r6 and LHCb v23r2.

- Packages added: RichRecPhotonTools  v1r0: 'photon' tools for Rich reco.
                  RichRecTrackTools   v1r0: 'track'  tools for Rich reco.
                  RichRecMCAlgorithms v1r0: Rich reco. algs that use MC info.
                  MuonTrackAlign      v1r1: Now migrated to Tf, hits added
- Packages modified: CaloMoniDST v3r0p1, GlobalReco v6r14, NNTools v1r1,
    PatAlgorithms v3r2, PatPV v3r1, PatVelo v3r2, PatVeloTT v3r1, RecAlgs v1r5,
    RecUtils v1r4, RichHLTLocalPID v1r1, RichHLTSys v3r2, RichGlobalPID v3r6,
    RichRecMCTools v2r14, RichRecMonitors v2r13, RichRecQC v2r15,
    RichRecTools v4r0, RichRecSys v3r7, TfTools v1r2, TrackExtrapolators v2r16,
    TrackFitEvent v3r11, TrackFitter v2r22, TrackIdealPR v2r14,
    TrackMatching v2r17, TrackMCTools v2r15, TrackTools v3r2, TrackSeeding v1r3,
    TrackSys v4r12, TrackUtils v1r17, TsaAlgorithms v3r2

- In CaloMoniDST v3r0p1
  . Fix a compiler warning
  . Fix an ostream in CaloPhotonChecker.cpp

- In GlobalReco v6r14
  . Update how Offline/HLT data locations are handled, to always try and guess
    the correct location using the context() flag

- In NNTools v1r1
  . Tml p neural network was added;option files allow the user to choose the
    method from TMVA package and use own weights files.
    See Neural Net TWiki

- In PatAlgorithms v3r2
  . getOrCreate at PatForward
  . bug fix (screwed up region numbering for IT and OT)
  . write out states in T at 3 z positions
  . switch off use of TT in PatForwardTool per default to simplify usage in HLT

- In PatPV v3r1
  . Correction for unchecked StatusCode
  . Major modification of the structure and some improvements
  . Split PatPVOffline into Alg and Tool (PVOfflineTool)
  . add new LSAdaptPVFitter; rename old PVFitter to LSIterPVFitter

- In PatVelo v3r2
  . Set chi2 of RZ tracks properly
  . Tidied up RZ track fitting code to only calculate slope & pos after 3 coords
  . Fix to PatVeloOpenTracking to use coordinates in the VELO half box frame
  . Fixed divide by zero in log file output when PatVeloGeneralTracking ran on
    no events

- In PatVeloTT v3r1
  . Removed no-longer-existing TrackMasterFitter flag from VeloTT.opts

- In RecAlgs v1r5
  . In RecInit.cpp, raise AbortEvent incident if ODIN is missing. Allows to skip
    the event but continue processing the next one.

- In RecUtils v1r4
  . Fix the type of "int" columns in CopyStripETC/ReadStripETC
    From now the type is picked up directly from Tuples::TupleObj

- In RichHLTLocalPID v1r1
  . Set the current best mass hypothesis for the track
  . Update the used RICH flags to properly be set depending on if Rich1 or Rich2
    was used for a given track
  . Fix some NaN values that where being filled into the DLL values
  . Make more parameters tunable
  . Remove some hardcoded values
  . Provide initial tuning for DC06 MC

- In RichGlobalPID v3r6
  . Add new track selection algorithm that can select tracks using RichPID
    information (from a previous algorithm).
  . Update likelihood minimisation to repeat full minimisation more than once
    if needed.
  . Add ability to freeze certain tracks to a fixed mass hypothesis during
    the likelihood minimisation
  . Minor tidy up

- In RichRecMCTools v2r14
  . Add RichMCTruePhotonEmissionPoint which uses MC to cheat the photon emission
    point calculation
  . Add RichPhotonCreatorWithMCHitPosition which uses the true MC hit position to
    cheat reconstruct the photon candidates
  . Other various minor cleanups
  . Improvements to the MCRichTrack based track creators
  . Properly initialize fake tracks

- In RichRecMonitors v2r13
  . Various improvements to monitors + adapt to changes to photon
    reconstruction tool.
  . Move RichMCMassHypoRingsAlg to new package RichRecMCAlgorithms
  . Add plots for fake photons to photon angle monitor

- In RichRecQC v2r15
  . Make sure RichPIDQC always uses the Error(...) and Warning(..) methods.
  . Cleanup RichRecoQC, removing its own momentum cuts (use track selector).
    Also make number of bins and histogram ranges configurable via options.
  . Add new monitor RichRecSummaryCKResMoni that produces CK theta resolution
    plots using the RICH summary information
  . Add options to create PID tables for MCRichTracks
  . Suppress table printout for empty summaries
  . Improvements to PID performance monitor
  . Add MC-fake and inclusive CK theta resolution plots to RichRecoQC
  . Add some formatting to verbose printout to aid comparisons between
    different platforms.

- In RichRecTools v4r0
  . Major reorganisation of this package to try and reduce the size of this
    pacakge (compilation times are too long).
    o 'Photon' tools are now in RichRecPhotonTools
    o 'Track'  tools are now in RichRecTrackTools
  . Improve printout for track selector
  . Update threshold info in expected signal tool

- In RichRecSys v3r7
  . Add new MC cheating options for photon reconstruction
  . Reorganise sequences to have a single sequence for each initialisation
    task (Makes it easy to append algorithms at correct place later).
  . Fix some of the cheated MC options that had stopped working
  . Fixes to get MCRichTracks working again

- In TfTools v1r2
  . Fix crash due to OTHitCreator

- In TrackCheckers v3r3
  . Adapted to change in OTMeasurement interface

- In TrackExtrapolators v2r16
  . Added new methods to MaterialLocatorBase for use in TrackFit
  . Fix bug in TrackHerabExtrapolator

- In TrackFitEvent v3r11
  . Added new trajectory interface class 'ZTrajectory'
  . Replaced OTTime by OTLiteTime in OTMeasurement; added access to calibration
  . Adapted to movement of refvector from Measurement to Node
  . Adapt to new location of IVeloClusterPosition.h, in TrackInterfaces
  . Bug fixed in TrackTraj constructor and caching
  . Added new method to obtain driftRadius in OTMeasurement (for Panoramix)
  . Added member for material energy loss to FitNode

- In TrackFitter v2r22
  . Set and use reference for each node (no longer from measurement)
  . Set references using TrackTraj from all existing states
  . Add counters to TrackFitEvent

- In TrackIdealPR v2r14
  . changes in IdealTracksCreator
    o removed option to add Measurements
    o added flag for adding States at each MCHit position on track

- In TrackMatching v2r17
  . Copy all seed states to match track
  . Removed 'AddMeasurements' functionality
  . Adapt to new STL serializers in Gaudi v19r6

- In TrackMCTools v2r15
  . Add IdealStateCreator::addMCHitStates

- In TrackProjectors v2r18
  . Add StateVector as argument to alignmentDerivatives, because ref no longer
    stored in Measurement
  . Use OT calibration in fit

- In TrackSeeding v1r3
  . Removed addition of Measurements

- In TrackSys v4r12
  . Removed reference to TsaSeedReferenceCreator in Fitting.opts
  . Add TrackV0.opts
  . Switch on use of TT to PatForward in RecoTracking.opts (default has changed)
  . Update NoFieldTracking.opts and VeloOpenTracking.opts to Tf tracking sequence

- In TrackTools v3r2
  . fixed Interpolator such that it also does the right thing for extrapolation
  . remove extrapolators from MeasurementProviders: use TrackTraj instead
  . add OTMeasurementProvider which calculates tof correction
  . adapt to new functionality in Track such that measurements no longer cloned
  . adapt LongTrackReferenceCreator to chaneg in Measurement interface
  . added missing tolerances for float comparison in LongTrackRefCreator
  . Added TrackVertexer
  . Added const to 'StateCorrection' tools

- In TrackUtils v1r17
  . Remove removal of measurements in TrackToDST, not needed since measurements
    are in any case transient only members of Track
  . Added TrackV0Finder

- In TsaAlgorithms v3r2
  . Modify state filling in case fast momentum parameterization is used
  . Change default value of z position of output track state to mid T
    (before at z of last hit)
  . Removed TsaSeedReferenceCreator
  . Modified tools using Seed(Parabola|Line)Fit to create the fit object in
    initialize instead the constructor, so that job options are respected
  . TsaLikelihood now returns an error in initialize when there are less
    weight factors in the job options than likelihood contributions
  . Turned another hardcoded constant in TsaOTStereoSearch into a job option

- In PatAlgorithms v3r2, TrackIdealPR v2r14, TrackMatching v2r17,
     TrackTools v3r2, TsaAlgorithms v3r2
  . Change name of ZAtT state to ZEndT to follow TrackEvent change

2007-11-12 RecSys v5r1

This version uses Gaudi v19r5 and LHCb v23r1.
This version includes also the bug fixes of RecSys v4r11 (not included in v5r0)

- Packages modified: TrackFitEvent v3r10, TrackProjectors v2r17, TrackTools v3r1,
    TrackExtrapolators v2r15, TrackCheckers v3r2, TrackMCTools v2r14,
    PatChecker v3r1, TrackSys v4r11, TsaAlgorithms v3r1, PatAlgorithms v3r1,
    TrackUtils v1r16, TrackFitter v2r21, MuonPIDChecker v2r2, PatVelo v3r1,
    TfTools v1r1, RichHLTLocalPID v1r0p1

- In TrackFitEvent v3r10
  . Adapted trajectories to change in Trajectory interface
  . Added TrackTraj, StateZTraj, CubicStateVectorInterpolationTraj,
          CubicStateInterpolationTraj
  . Fixed dependencies for building dictionaries

- In TrackProjectors v2r17
  . Adapted to changes in Trajectory interface
  . Replaced StateTraj with StateZTraj in projectors (to speed things up)

- In TrackTools v3r1
  . Add Fast Momentum Tool
  . Add default values for momentum parametrization in FastMomentumEstimate
  . Add a missing template<> declaration needed by gcc 4.0 on osx

- In TrackExtrapolators v2r15
  . Bug fixes in TrackLongExtraSelector
  . Make sure to release tool handle in MasterExtrapolator::finalize
  . Removed instantiation of unused function arguments to get rid of compiler
    warnings
  . Check status code in finalize method of TrackMasterExtrapolator

- In TrackCheckers v3r2
  . Various updates to TrackCheckerNT and corresponding root macros

- In TrackMCTools v2r14
  . Add PatDebugTool and PatDebugTTTruthTool to print truth information when
    debugging pattern recognition.

- In PatChecker v3r1
  . Put all track locations by default in PatTrack2MCParticle
  . Restore the message for missed downstream track in PatChecker with option
    CheckMissedDownstream.

- In TrackSys v4r11
  . Updated RecoTracking, Fitting, NoFieldTracking, DSTReffitting.opts to
    re-introduce downstream tracks
	. options/RecoTracking.opts and NoFieldTracking.opts:
	  included parameter file for fast momentum estimate tool
  . Fixed typo in DSTRefitting.opts

- In TsaAlgorithms v3r1
  . Removed hardcoded constants for resolution which the code now gets from the
    Tf::-framework
  . Outlier rejection cuts now tunable through job options
  . Likelihood contributions can be weighted differently (or switched off)
  . Move TsaTStationHitManager to TsaKernel, so that it can be used outside
    TsaAlgorithms (e.g. HLT)
	. TsaSeedTrackCnvTool.cpp, h:
		o add new tool which does the conversion from TsaSeed to LHCb::Track
		o add possibility to return state at mid T
		o add possibility (set as default) to get momentum for Track from
      FastMomentumEstimate
	. TsaSeedTrackCnv.cpp,h algorithm now calls the tool for track conversion
	. TsaStereoBase.cpp, h add possibility to restrict Ty slope in track search
	. TsaITStereoSearch.cpp, TsaOTStereoSearch.cpp:
	  adapt for possible Ty restriction
  . Fix unchecked StatusCode

- In PatAlgorithms v3r1
  . Import PatDownstream, an adaptation of PatKShort
  . Update the history flag with the proper value in PatSeeding and PatMatch
  . Bug fix in PatMatch
  . Add switch for z position of output state for PatSeeding and PatForward
    algorithm
  . Set default values for parameter arrays in PatFwdTool and PatSeedingTool
  . Add double -> float conversion in PatForwardTool to remove compiler warning

- In TrackUtils v1r16, PatChecker v3r1
  . Adapt to the new name of Downstream track container

- In TrackFitter v2r21
  . Fix unchecked status codes
  . Use Warning() rather than private failure method in TrackKalmanFilter
  . Make checkInvertMatrix and CheckPositiveMatrix faster in TrackKalmanFilter
  . Add possibility to check [safe] or not [faster] in TrackKalmanFilter

- In PatVelo v3r1
  . Import PatVeloOpenTracking from the old Pat package, adapt to Tf context and
    improve ghost rate by cleaning tracks sharing 1 R and 1 Phi according to chi2
  . Fix to PatVeloGeneralTracking to improve hit efficiency when detector is open

- In TfTools v1r1
  . Adapted to change in OTLiteTime and OTHit

- In MuonPIDChecker v2r2
  . Protect against divide by zero when zero or few events processed
  . Change some ints to unsigned ints

- In RichHLTLocalPID v1r0p1
  . Remove unneccessary malloc.h include, to please gcc 4.0 on osx

2007-10-12 RecSys v5r0

This version uses Gaudi v19r5 and LHCb v23r0. Introduces Tf framework
This version includes all bug fixes up to RecSys v4r10, but not those of v4r11

- Packages removed: Pat/PatUtils        - obsolete
                    Pat/PatVelo         - Now Tf/PatVelo
                    Pat/PatVeloTT       - Now Tf/PatVeloTT
                    Pat/PatForward      - Now Tf/PatAlgorithms
                    Pat/PatPV           - Now Tf/PatPV
                    Pat/PatChecker      - Now Tr/PatChecker
                    Pat/PatFitParams    - Now Tr/PatFitParams
                    Tr/TsaAlgorithms    - Now Tf/TsaAlgorithms
                    Tr/TrackMatching    - Now Tf/TrackMatching
                    Tr/TrackSeeding     - Now Tf/TrackSeeding
                    Tr/TrackSys         - Now Tf/TrackSys
                    Pat/PatKShort       - Not yet migrated to Tf framework
                    Muon/MuonTrackAlign - Not yet migrated to Tf framework
- Packages added: Tr/PatFitParams  - Was Pat/PatFitParams
                  Tr/PatChecker    - Was Pat/PatChecker then Tf/PatChecker
                  Tr/PatPV         - Was Pat/PatPV
                  Tf/PatVelo       - Tf migration of Pat/PatVelo
                  Tf/PatVeloTT     - Tf migration of Pat/PatVeloTT
                  Tf/PatAlgorithms - Tf migration of Pat/PatForward
                  Tf/TsaAlgorithms - Tf migration of Tr/TsaAlgorithms
                  Tf/TrackSeeding  - Tf migration of Tr/TrackSeeding
                  Tf/TrackMatching - Tf migration of Tr/TrackMatching
                  Tf/TrackSys      - Tf migration of Tr/TrackSys
                  Tf/TfTools       - Component library previously in TfKernel
- Packages modified: TrackTools v3r0

- In TrackTools v3r0
  . Migrate to Tf framework

2007-10-26 RecSys v4r11

This version uses Gaudi v19r5 and LHCb v22r10.

- Packages modified: TrackFitter v2r20, TrackMCTools v2r13

- In TrackFitter v2r20
  . Fixed unchecked status code when projecting reference, leading to fatal
    error in TransportSvc

- In TrackMCTools v2r13
  . Fix problem in DaVinci with ghost classification tool

2007-10-12 RecSys v4r10

This version uses Gaudi v19r5 and LHCb v22r10.

Further changes to RecSys v4r* package should from now on be on v4b CVS branch

- Packages added:    CaloMoniDst v3r0 - Updated for DC06
                     NNTools     v1r0 - Calculate the Ghost Probability of a
                                        Track with NeuralNetworks
- Packages modified: PatVelo v2r19, PatForward v2r16, TrackFitEvent v3r9,
    TrackMatching v2r16, TrackProjectors v2r16, TrackFitter v2r19,
    TrackTools v2r19, TrackUtils v1r15, TsaAlgorithms v2r7, TrackSys v4r10,
    RichRecTools v3r14, GlobalReco v6r13, PatVeloTT v2r15

- In PatVelo v2r19
  . Change to more closely replicate old kinked track behaviour. See talk at T-Rec on 2007-10-08

- In PatForward v2r16, TrackMatching v2r16
  . Add variables to track for NN ghost ID

- In PatVeloTT v2r15
  . Adjust some jobOptions for more stable fitting

- In TrackFitEvent v3r9
  . added constructor from StateVector to StateTraj
  . replaced 'projectionTerm' by residual of reference in FitNode

- In TrackMatching v2r16
  . Change cut on match chi^2
  . Change Likelihood flag to TsaLikelihood

- In TrackProjectors v2r16
  . add method to project StateVector
  . remove the use of the reference vector in the projection
  . Add an option to ignore the drift distance in TrajOTProjector
    Default is to use it, so by default the behaviour remains the same

- In TrackFitter v2r19
  . Added jobOption to switch on/off the invocation of the 'makeNodes' method
    When off, nodes and references are not (re)made, for fitting after prefitting
  . KalmanFilter:
    o 'bug' fix: set reference vector from prediction in case not set before
    o Reference state now only projected in forward filter
  . make sure first measurement state still added to track even if extrapolation
    to beam line fails
  . Add logic to create only nodes for reference z-positions that are between the
    first and the last measurement. This will become the default after effects in
    matching are under control.

- In TrackTools v2r19
  . Change deweighting to 1 in likelihood, as it's no longer needed
  . Make sensible check on t-station range in LongTrackReferenceCreator

- In TrackUtils v1r15
  . Changes in TrackAddLikelihood to allow different values for different
    track types

- In TsaAlgorithms v2r7
  . Change extraInfo flag to TsaLikelihood

- In TrackSys v4r10
  . Added jobOptions for track prefitting with OT projections without drifttimes.
    2 prefit iterations are followed by 2 fit iterations using drifttimes.
    Changes apply for Forward, KShort and Match only
  . Tidy-up of options
  . Add TrackLikelihood calculation to the running sequence

- In RichRecTools v3r14
  . Take cbrt from GaudiKernel rather than LHCbMath
  . Change to TsaLikelihood flag in seed track selection
  . Small change to Binned CK theta tool to also handle MCRichTracks

- In GlobalReco v6r13
  . Update ChargedProtoCombineDLLsAlg to produce better combined DLL values
  . Update ntuple algorithm ChargedProtoParticleTupleAlg with better default
    values and also to not require RichPIDs or MuonPIDs to be in the TES - i.e.
    to take all information from the ProtoParticles.

2007-09-20 RecSys v4r9

This version uses Gaudi v19r4 and LHCb v22r9.

- Packages removed:  RichTrgGlobal (same functionality in RichGlobalPID)
- Packages added:    RichRecStereoTools v1r0: Stereographic tools
                     RichHLTLocalPID v1r0:    Fast local PID algorithm
- Packages modified: PatVelo v2r18, PatChecker v2r14, PatVeloTT v2r14,
    TrackSys v4r9, TrackFitEvent v3r8, TrackUtils v1r14, TrackTools v2r18,
    TrackProjectors v2r15, TrackExtrapolators v2r14, TrackFitter v2r18,
    TrackSeeding v1r2, TrackCheckers v3r1, RichHLTSys v3r1, RichRecSys v3r6,
    RichRecQC v2r14, RichRecMCTools v2r13, RichRecMonitors v2r12,
    RichLocalPID v3r5, RichGlobalPID v3r5, RichPIDMerge v2r5, RichRecTools v3r13,
    RichRecAlgorithms v2r9, GlobalReco v6r12, CaloReco v4r9, CaloPIDs v4r8,
    MuonPIDChecker v2r1, RecUtils v1r3

- In RecSys v4r9
  . Added include in Reco.opts to use the Tf framework tracking options.  This
    is commented out by default, no change in behaviour.

- In PatVelo v2r18
  . Changes to ensure no floating point comparisions
  . Stable sort to ensure good ordering in PatVeloSpaceTracking

- In PatVeloTT v2r14
  . Adapt to addition of constant term to initial error of p in fit

- In PatChecker v2r14
  . Modified PatMCInfo.cpp to use keyRange instead of intRange for LinkedFrom
  . Some additional protections to PatCounter and PatTTCounter for the case
    when m_link->direct() returns NULL (was causing crashes)
  . Improvements to the debug printout from PatTrack2MCParticle (To utilise
    the fact that LHCbIDs can now print themselves in a useful way)

- In TrackSys v4r9
  . added Tf version of VELO open tracking options file
  . added option files for pattern recognition in the Tf framework.  They are
    not used by default.  One has to change the $RECSYSROOT/options/Reco.opts
    (example provided) and $BRUNELROOT/BrunelCheck.opts (example provided).
  . Add options to run a new sequence at the end of the tracking, to find
    and flag clones using the new KL distance algorithms
  . Increase # of fit iterations to get better convergence
  . Update ErrorP to add extra parameter
  . Added Fitting.opts: file with all fitting options
  . Added DSTRefitting.opts: file to be able to refit tracks from DST
  . Removed obsolete TrackSeeding.opts file
  . Removed obsolete TsaSeeding.opts file
  . Modified and cleaned up RecoTracking.opts accordingly:
    o cleaned up options for obsolete TrackSeeding.opts file
    o included necessary options from TsaSeeding
    o all fitting options now taken from Fitting.opts

- In TrackFitEvent v3r8
  . changes to FitNode
    o removed cached unbiased residual. replaced with calculation on the fly
    o added fields for chisquare contribution of upstream and downstream fit
    o implemented missing clone method
    o initialized all data members in constructors
  . added calculation of unbiased state

- In TrackUtils v1r14
  . Add algorithm TrackRemoveDoubleITHits: when two hits are found in the same IT
	  ladder, remove both lhcbIDs from the track's lhcbIDs.
  . Clean up TrackBuildClone table a little for speed
  . Update TrackCloneCleaner to instead of creating a new 'cleaned' track
    container, simply flag those tracks in the original container that are
    likely clone candidates
  . Add algorithm that adds likelihood to the track
  . Add clone killing algorithms based on relative entropy
  . Add selection possibility to TrackContainer copy

- In TrackTools v2r18
  . Add hit expectation tools
  . Remove comparisions of equality between floats/doubles
  . Use chi2 in clone killing in case the two tracks have same number of hits

- In TrackProjectors v2r15
  . Fix misunderstanding on the sign in the alignmentDerivative methods of the
    (two) Traj Projectors. Only affects alignment code.

- In TrackExtrapolators v2r14
  . Fixed bug in SimplifiedMaterialLocator that would make it miss entire volumes
  . Fixed bug in extrapolators: transport matrix was not calculated if
    extrapolation distance below threshold
  . Replaced 'hiTolerance' with 'propagationTolerance'
  . Revised 'verbose' and 'debug' output of MasterExtrapolator
  . Corrected Track to Point and to Plane methods.

- In TrackFitter v2r18
  . ensure error q/p is not zero for infinite momentum tracks
  . stable sort the nodes rather than sort (ensure order is always same)
  . revision of verbose/debug output
  . removed 'Upstream' job-option from KalmanFitte since that already existed in
    MasterFitter client
  . added filling of delta-chisquare contributions on all FitNodes
  . added method to fill 'extra-info' with segment chisquares to MasterFitter

- In TrackSeeding v1r2
  . Adapt to changes in IGeometryInfo interface (from DetDesc v18r0)

- In TrackCheckers v3r1
  . Add monitor for Clone variable (KL distance)
  . Add a little additional protection to TrackCheckerBase
  . Bug fix, pulls at first meas were in fact last meas

- In RichRecQC v2r14
  . Update PID monitor to use context to switch between HLT and Offline mode
  . Other minor improvements.

- In RichRecMCTools v2r13
  . Update Track -> MCParticle association method to determine on the fly
    from the Track container location which linker to use.

- In RichRecMonitors v2r12
  . Add new monitor algorithm that produces an ntuple containing information
    that allows correlations between RichPID results to be studied.
  . Update algorithm that produces MC CK rings to correctly apply refraction
    correction for aerogel rings.
  . Adapt to changes in radiator correction location position method.
  . Monitoring improvements

- In RichLocalPID v3r5
  . Minor increased protection for odd ball cases.

- In RichGlobalPID v3r5
  . Update base class to use context() to switch between HLT and Offline mode.
  . Update likelihood algorithm so it is able to only consider a limited number
    of mass hypotheses. It uses the particle properties tool to determine at
    run time which are to be considered.

- In RichPIDMerge v2r5
  . Use context() to configure HLT and Offline modes

- In RichRecTools v3r13
  . Add new tool to randomly reject a given fraction of tracks
    (RichTrackCreatorFromRecoTracksWithForcedIneffic).
  . Update Track Creator to use clone information
  . Minor speed improvements to photon signal and sellmeir tools
  . Set 'closest HPD' smartID in RichRecSegment
  . Downgrade some debug messages to verbose in track selector
  . Upgrade various tools to use the active mass hypotheses list, as obtained
    from the particle properties tool
  . Apply aerogel refraction correction during ray tracing where appropriate.
  . Add new photon predictor that uses the n sigma (in CK resolution) bands
    around the expected CK theta, as opposed to a fixed roadwidth.
  . Add new geom. eff. tool that uses the mass CK RichRecRings associated to
    the RichRecSegment.
  . Tidy update Mass hypotheses ring creator.
  . Add a new fast photon reconstruction tool that uses the ray traced CK rings
    as a calibration device to compute the CK theta from the pixel/segment
    hit points on the detector plane.
  . Rework CK cone ray tacing tool to use new interfaces etc.
  . Tidy up geometry tool (better speed).
  . Set average photon energy in track creator eariler during its creation
    (need by ray tracing methods).

- In RichRecAlgorithms v2r9
  . Minor speed improvement to background algorithm
  . Update init algorithm to avoid tool loading during first event
  . Add option to just load raw tracks to initialisation algorithm.

- In RichHLTSys v3r1
  . Add configuration to run 'Offline' global PID in fast HLT mode.

- In RichRecSys v3r6
  . Add options to run new 'Fast' configuration of the RICH reconstruction
  . Update standard options to use new geom. eff. tool.
  . comment out local algorithm from default running
  . Rename algorithm instances a little

- In RichRecQC v2r14, RichRecMCTools v2r13, RichRecMonitors v2r12,
     RichRecTools v3r13
  . Adapt to changes in RichKernel

- In CaloReco v4r9, CaloPIDs v4r8
  . Fix unchecked StatusCodes

- In GlobalReco v6r12
  . Do not depend on MC
  . ChargedProtoPAlg: changes needed for HLT
    o Allow to switch off Rich Muon and Velo PID.
    o All switch options are now called UseXxxPID, like UseRichPID. This
      is backward-incompatible with the Calo options.
  . Update charged protoparticle maker to use context() to determine the
    RichPID and Track locations in the TES.

- In MuonPIDChecker v2r1
  . Made it possible to change the MuonPIDs Path in the options file

- In RecUtils v1r3
  . New tool WriteSelResult that does what it's called.
  . Use this tool in ReadStripETC
  . depend on Kernel/RecInterfaces

2007-07-23 RecSys v4r8

This version uses Gaudi v19r4 and LHCb v22r8.

- Packages added   : MuonTrackAlign - Track reconstruction for Muon Alignment
- Packages modified: PatVelo v2r17, TsaAlgorithms v2r6, TrackSys v4r8,
    TrackFitEvent v3r7, TrackProjectors v2r14,TrackTools v2r17,TrackIdealPR v2r13

- In PatVelo v2r17
  . Fix for using uninitialised variable in PatVeloGeneralTracking

- In TsaAlgorithms v2r6
  . Bug in selection routine fixed
  . Retuning to follow bug fix

- In TrackSys v4r8
 - Fix TrackMatch options in NoFieldTracking.opts, option names were wrong

- In TrackFitEvent v3r7
  . Changed MuonMeasurements to single trajectory
  . Fixed a doxygen warning

- In TrackProjectors v2r14
  . Add TrajMuonProjector

- In TrackTools v2r17
  . Changed MeasurementProvider to allow creation of y trajectory for Muon hits

- TrackIdealPR v2r13
  . Adapted to change in MeasurementProvider

2007-07-16 RecSys v4r7

This version uses Gaudi v19r4 and LHCb v22r7.

- Packages modified: PatVelo v2r16, PatVeloTT v2r13, PatPV v2r9, PatKShort v1r7,
   PatForward v2r15, TrackFitEvent v3r6, TrackProjectors v2r13, TrackUtils v1r13,
   TrackFitter v2r17, TrackTools v2r16, TrackMatching v2r15, TsaAlgorithms v2r5,
   TrackExtrapolators v2r13, TrackMCTools v2r12, TrackIdealPR v2r12,
   TrackCheckers v3r0, TrackAssociators v2r5, TrackSys v4r7, RichRecSys v3r5,
   RichGlobalPID v3r4, RichRecAlgorithms v2r8, RichRecQC v2r13,
   RichRecTools v3r12, MuonID v5r2, GlobalReco v6r11, RecUtils v1r2

- In PatVelo v2r16
  . Each of R, Space, Generic, Open and General tracking set their own track
    history type
  . PatVeloGeneralTracking: designed to run after the 2D and 3D tracking to
                            catch tracks not from the interaction point
  . PatVeloFilterUsedClusters: Marks as used only clusters in existing 3D tracks
  . Removed clone cleaning from PatVeloTrackTool
  . Made linear fit a semi public part of PatVeloSpaceTrack

- In PatVeloTT v2r13
  . Fix uninitialized variables in PatTTMagnetTool.cpp
  . Fix wrong endreq usage in PatVTTTrack.h, PatVeloTT.cpp and PatVeloTTTool.cpp
  . Protect usage of debug() MsgStream with test on msgLevel(MSG::DEBUG)

- In PatPV v2r9
  . Modify returning status code fatal which is in fact not fatal

- In PatKShort v1r7
  . Make Q/p on all states of output tracks consistent
  . Remove use of pow
  . Reserve space in vectors

- In PatForward v2r15
  . Add ITracksFromTrack interface to PatForwardTool
  . Add doClean option in PatForward to switch on/off the track cleaning.

- In TrackFitEvent v3r6
  . Replaced TrackParameters::kappa with c_light as in the extrapolators.

- In TrackProjectors v2r13
  . Introduced jobOption: "UseBField". If true, then the StateTraj in the
    projector is made using the B from the magnetic field service. If false,
    then B = (0,0,0) is used, making the StateTraj behave like a LineTraj. The
    latter option is faster and set as default.

- In TrackExtrapolators v2r13
  . Fix bug in propagation of StateVector in TrackExtrapolator
  . Removed m_F data member and associated getter and setter methods.
  . Added State,z,TrackMatrix propagate method.

- In TrackUtils v1r13
  . Fixed TrackToDST for PatVeloR tracks so that states correctly prepared

- In TrackFitter v2r17
  . Add some const
  . Remove workaround following bug fix in += operator for Sym matrix
  . Removed transportMatrix() use from TrackKalmanFilter

- In TrackMatching v2r15
  . Retune of matching accounting for better fit/new velo pattern

- TsaAlgorithms v2r5
  . Initialize variable in TsaCollector

- In TrackTools v2r16
  . Add selection by eta/likelihood to track selector
  . Small change in Measurement provider (following new functionality in LHCbID)

- In TrackMCTools v2r12
  . Transport the covariance matrix correctly
  . Follow addition of propagate method to extrapolator class
  . Remove obsolete files TrackAcceptance.h/cpp TrackCriteriaSelector
  . LHCbIDsToMCParticles, LHCbIDsToMCHits:
    + Extend functionality to include muons
    + Check that all linker tables exist before using them (exception if missing)

- In TrackIdealPR v2r12
  . Add possibility of allowing inefficiency in hits addition
  . Add possibility of smearing seed state p
  . Add possibility of adding muon hits

- In TrackCheckers v3r0
  . Add new checking base class TrackCheckerBase
  . New checkers TrackResChecker (replaces TrackChecker), TrackEffChecker
  . Remove TrackChecker
  . ExtrapolatorChecker derives from TrackCheckerBase, particles
    selected using IMCReconstructible not TrackCriteriaSelector
  . For configuration for long track see TrackChecking.opts in TrackSys

- In TrackAssociators v2r5
  . Added Muon hits in association decision,
  . jobOption "DecideUsingMuons" = false by default

- In TrackSys v4r7
  . Added PatFilterUsedClusters and PatVeloGeneralTracking to RecoTracking.opts
  . Modified VeloOpenTracking.opts to just run PatVeloGeneralTracking with
    "open" cuts
  . TrackChecking.opts updated to add TrackEffChecker example
  . Set Ks Fit iterations to three

- In RichRecSys v3r5
  . Relax completely the max number of raw input track cut. Max cut of 400 on
    the number of tracks used by the RICH remains.
  . Explicitly set the min signal option to 1e-3
  . Increase max number of iterations of quartz solving in photon creator to 3

- In RichGlobalPID v3r4
  . Update the default minimum pixel dll signal cut from 1e-25 to 1e-3

- In RichRecAlgorithms v2r8
  . Add a minimum background value job option to Rich::Rec::BackgroundEstiAvHPD

- In RichRecQC v2r13
  . Add new root directory containing various ROOT scripts for producing
    RICH performance measures from the histograms produced by the various
    monitors in this package

- In RichRecTools v3r12
  . Improvement to the way the photon reconstruction is done inside
    Rich::Rec::PhotonRecoUsingQuarticSoln
    + Properly uses the real found spherical and flat mirror segments
    + Determines on the fly how many iterations are need to deal with the
      non-flat secondary mirrors
    + Add an optional test to check if the reconstructed photon direction
      properly intersects the actual mirror segment it is supposed to have
      reflected off.
  . Split the RichPhotonSignal into two
    + Base class RichPhotonSignalGaussProb that implements a single gaussian
      probability distribution for the expected signal
    + Add an (experimental) RichPhotonSignalJeffreysErf that uses a modified
      probability distribution that attempts to deal with outliers, essentially
      by giving the distribution larger tails)

- In MuonID v5r2
  . Add SmartRef to Muon track

- In GlobalReco v6r11
  . Set the new MuonTrack SmartRef in MuonPID data objects when recreating them
    using the algorithm MuonPIDsFromProtoParticlesAlg
  . Add a check to the neutral Protoparticle maker to test if ProtoParticles
    already exist at the output location

- In RecUtils v1r2
  . Adapt CopyStripETC and ReadStripETC to new DataStreamTool in Gaudi v19r4

- In TrackMatching v2r15, TrackExtrapolators v2r13, TrackTools v2r16
  . Fix doxygen warnings

2007-06-14 RecSys v4r6

This version uses Gaudi v19r4 and LHCb v22r6.

- Packages modified: PatForward v2r14, PatVeloTT v2r12,PatKShort v1r6,PatPV v2r8,
    PatVelo v2r15, TrackSys v4r6, TrackFitEvent v3r5, TrackTools v2r15,
    TrackMCTools v2r11, TrackMatching v2r14,TrackIdealPR v2r11,TrackFitter v2r16,
    TrackCheckers v2r14, TrackPython v3r1, TsaAlgorithms v2r4, GlobalReco v6r10,
    CaloReco v4r8, CaloPIDs v4r7, RichRecQC v2r12, RichRecMonitors v2r11,
    RichLocalPID v3r4, RichGlobalPID v3r3, RichRecMCTools v2r12,
    RichTrgGlobalPID v3r6

- In PatForward v2r14
  . Set uncertainties on q/p for all existing track states. Fixes pulls in HLT

- In PatVeloTT v2r12
  . Fix HltVeloTT.opts

- In PatKShort v1r6
  . First release of PatMakeKShort, which identifies pairs of downstream tracks
    that make a good KShort candidate. The output is tracks in Rec/Track/FromKs
    where two (even+odd) tracks form a Ks
  . New algorithm PatCalibKShort to produce plots useful to calibrate the
    PatMakeKShort algorithm, using MC truth.

- In PatPV v2r8
  . Backward compatible fixes for compatibility with Gaudi v19r4

- In PatVelo v2r15
  . Add algorithm PatVeloOpenTracking with auxiliary class PatVeloOpenTrack.
    This is the tracking without pointing condition developed by Muriel Pivk

- In TrackFitEvent v3r5
  . Made init calls in OT,ST,Velo public for use in MeasurementCreator
  . Added support for calling velo position tool with reference vector
  . Added some missing consts in STMeasurement

- In TrackExtrapolators v2r12
  . added propagation of StateVector in TrackExtrapolator
  . Moved propagate(state,z,pid) method to TrackExtrapolator and minor
  . improvements, o.a. misuse of gsl_pow_2
  . introduced MaterialLocator instances and their use in MasterExtrapolator

- In TsaAlgorithms v2r4
  . Follow change in ITrackManipulator interface

- In TrackTools v2r15
  . Changes in VeloExpectation:
    + Follow change to interface
    + Use closestState rather than firstState
  . Follow change in TrackManipulator

- In TrackMatching v2r14
  . Faster version with less ghosts ---> see February 2006 Heidelberg Workshop
    for details. Speed is ~ 6 ms /event.

- In TrackMCTools v2r11
  . Update IdealStateCreator:
    + Follow extension of IIdealStateCreator interface (StateVector methods)
    + use fast parabolic instead of master extrapolator
    + don't call configure in case of vertex methods

- In TrackIdeal PR v2r11
  . Update IdealTracksCreator:
    + faster (factor 5) for many reasons
    + use StateVector instead of state
    + allow to run making ids only + not measurements
    + use IMCReconstructible interface for defining acceptance

- In TrackFitter v2r16
  . Default number of fit iterations set to 3 (in TrackMasterFitter.cpp)
    so that long tracks are fitted with all default options

- In TrackSys v4r6
  . Update B = 0 Matching options
  . Fix bug in zero field options

- In TrackSys v4r6, PatVeloTT v2r12
  . Adapt options to change in TrackMasterFitter default

- In GlobalReco v6r10
  . Update ChargedProtoPAlg
    + Split up the handling of the CALO information so each CALO sub-det
      (ECAL, PRS etc.) are handled completely seperately.
    + Fix crash when trying to recreate ProtoParticles with some CALO
      information missing
    + Replace some internal use of StatusCodes with simplier bools
    + Fixes for compatibility with Gaudi v19r4

- In CaloReco v4r8
  . Modified Brunel.opts and BrunelPIDs.opts to pick up new DLL hist for Calo
    PIDe/mu (CaloPIDs_DC06_v2.root, in ParamFiles v6r1) in ECAL, HCAL, Prs, Brem

- In CaloPIDs v4r7
  . DLL hist (DC06) for different BremPID added, needs ParamFiles v6r1
  . New PIDs from DC06 added in src/BremPIDeAlg.cpp

- In TrackPython v3r1
  . Removed unnecessary "loaddict" from the gtractools.py module
  . StateVector, MuonMeasurement classes, MuonProjector tool exposed
  . Adapted to new projector names in Tr/TrackProjectors

- In GlobalReco v6r10, TrackSys v4r6, TrackMCTools v2r11, TrackIdealPR v2r11,
     TrackCheckers v2r14, TrackPython v3r1, RichRecQC v2r12,  RichLocalPID v3r4,
     RichRecMCTools v2r12, RichTrgGlobalPID v3r6, RichRecMonitors v2r11
  . Adapt to new location of interfaces in MCInterfaces

- In TrackFitEvent v3r5, RichLocalPID v3r4, RichGlobalPID v3r3
  . Adapted requirements to new GaudiObjDesc v10r0 patterns

- In TrackMCTools v2r11, CaloPIDs v4r7
  . Fixed doxygen warnings

2007-05-21 RecSys v4r5

This version uses Gaudi v19r3 and LHCb v22r5.

- Packages modified: PatChecker v2r13, PatVelo v2r14, PatVeloTT v2r11,
    TrackSys v4r5, TrackFitEvent v3r4, TrackTools v2r14, TrackFitter v2r15,
    TrackProjectors v2r12, TrackExtrapolators v2r11, TrackMatching v2r13,
    TrackCheckers v2r13, TrackAssociators v2r4, TrackMCTools v2r10,
    TrackIdealPR v2r10, RichRecSys v3r4, RichRecTools v3r11, RichRecQC v2r11,
    RichRecMCTools v2r11, RichRecMonitors v2r10, MuonID v5r1, RecAlgs v1r4,
    TsaAlgorithms v2r3

- In PatChecker v2r13
  . Follow MCTrackInfo change in LHCb v22r5 and cleanup to use new methods
  . Minor changes to PatChecker to monitor K0 reconstructed by Maurice.
  . Add dedicated PatVeloTTChecker

- In PatVelo v2r14
  . Bug fix to 3D track fit with cluster sort direction reversed

- In PatVeloTT v2r11
  . Split PatVeloTT into main algo and tool: PatVeloTT and PatVeloTTTool
  . Modify PatTTMagnetTool for no B field
  . Modify options, add VeloTT_noB.opts for no B field

- In TrackSys v4r5
  . Add VeloTT to NoFieldTracking.opts

- In TrackFitter v2r15
  . Use counter service for monitoring fit success rate.
  . Improvements to matrix handling

- In TrackMatching v2r13
  . Set reference vector of velo measurements when adding to track
  . Minor change to default value of TTClusterCut

- In TrackAssociators v2r4
  . Association through LHCbIDs rather than Measurments.

- In TrackExtrapolators v2r11
  . Added several propagate methods
  . Make magnetic field service string a property

- In TrackMCTools v2r10
  . Follow extension of interface to MCHits
  . Clean up code (more consts, remove duplicate lines)
  . Use IncidentSvc to avoid repeated slow getting of Linker tables
  . Add Ghost Classification tools
  . Add LHCbIDsToMCParticles, LHCbIDsToMCHits

- In TrackCheckers v2r13
  . Put monitoring histos in Track dir
  . Add TrackMonitor, TrackMonitorBase (MC independent monitoring)

- In TrackMCTools v2r10, TrackIdealPR v2r10, TrackCheckers v2r13
  . Follow LHCB_v22r5 changes in IIdealStateCreator interface

- In TrackFitEvent v3r4
  . Add MuonMeasurement.xml

- In TrackTools v2r14
  . Add MuonMeasurements to MeasurementProvider

- In TrackProjectors v2r12
  . Add MuonProjector class

- In TsaAlgorithms v2r3
  . TsaCollector: adapt x-search window
  . TsaXSearchBase: include job option for nSigma of tx, fix small sign bug
  . TsaOTClusterCreator: put OTTimeLocation as job option

- In MuonID v5r1
  . Add a foi factor to enlarge the FOI if needed, default = 1.
  . Add measurements to the MuonTrack

- In RichRecMCTools v2r11
  . Add new method for MC CK rings

- In RichRecSys v3r4, RichRecQC v2r11, RichRecMonitors v2r10
  . Remove now obsolete RichToolRegistry settings in options (default values)

- In RichRecMonitors v2r10
  . Update MC CK ring building algorithm to create a linker object to link
    MCRichSegments to MC CK ring objects
  . Update BuildMCCherenkovRings.opts to run on demand

- In RichRecTools v3r11
  . Fix bug in Cherenkov Cone raytracing tool, which causes an infrequent
    crash in Panoramix
  . Update CK ring tool to determine the number of ring points to use based
    on the size of the ring
  . Fixes to CK ring ray tracing to fix the 'wobbly ring' issue observed by Guy
    in Panoramix

- In RecAlgs v1r4
  . In RecInit.cpp, fill CondDBTags in RecHeader

- In TrackAssociators v2r4, TrackCheckers v2r13, RecAlgs v1r4
  . Remove obsolete file xxx_load.cpp

- In TrackExtrapolators v2r11, TrackMCTools v2r10, TrackCheckers v2r13,
     TrackFitter v2r15, TsaAlgorithms v2r3
  . Fix doxygen warnings

2007-04-26 RecSys v4r4

This version uses Gaudi v19r3 and LHCb v22r4.

- Packages removed: VeloTools (moved to LBCOM)
- Packages added:   RichHLTSys v3r0 - job options for Rich HLT reconstruction
- Packages updated: PatVelo v2r13, PatVeloTT v2r10, PatPV v2r7, TrackSys v4r4,
   TrackFitEvent v3r3, TrackUtils v1r12, TrackFitter v2r14, TrackTools v2r13,
   RichRecSys v3r3, RichRecMCTools v2r10, RichRecMonitors v2r9, RichRecQC v2r10,
   RichRecAlgorithms v2r7, RichRecTools v3r10, RichLocalPID v3r3, MuonID v5r0,
   GlobalReco v6r9

- In PatVelo v2r13
  . A few small code speed ups and name corrections/improvements
  . Improved angular comparisons
  . Also make outward track fit for VELO tracks: write two states to Track
  . Add option to merge clone tracks by comparisons on angles and z position,
    off by default
  . Added the concept of a station to PatVeloSector. Means events with
    significant missing sensors in the readout are reconstructed properly in
    PatVeloRTracking and PatVeloSpaceTool
  . Various updates to open tracking for ACDC analysis
  . Automatically determine range of sensors to scan from options [for beam gas]

- In PatVeloTT v2r10
  . PatVeloTT uses all VELO track states (if more than one)

- In TrackSys v4r4
  . Added VeloBeamGas.opts for reconstructing beam gas events

- In TrackFitEvent v3r3
  . Add operator+= to StateTraj because of extension of DifTraj interface
  . Add LineDifTraj class to parameterize lines which are roughly parallel to
    the z-axis

- In TrackUtils v1r12
  . TrackPrepareVelo sets q/p for all VELO states (if more than one)

- In TrackFitter v2r14
  . Bug fix in TrackKalmanFilter: residuals from last measurement were not
    calculated
  . Add TrajFitter, an implementation of the ITrajFitter interface which allows
    one to fit any DifTraj implementation to a set of LHCb::Measurement
  . Add TrackTrajFitter, an example implementation of the ITrackFitter interface
    using the above ITrajFitter

- In RichRecSys v3r3
  . Minor reorganisation of the algorithm sequence
  . Some fixes for MC cheating reconstruction modes

- In RichRecMCTools v2r10
  . Adapt to changes in RichPixelCreatorBase in RichRecBase
  . Make MC truth tool check context() to determine input track locations

- In RichRecAlgorithms v2r7
  . Add options to RichRecInit to trigger creation of pixels, tracks and photons

- In RichRecTools v3r10
  . Some additions to the fixed geom eff. tool and CK res tools (for HLT)
  . Propagate options from delegated track creator to underlying creators

- In RichLocalPID v3r3
  . Add bug fix for crash seen in DC06 productions

- In MuonID v5r0
  . Make a Muon Track with the Muon hits LHCbIDs

- In GlobalReco v6r9
  . Pick up ICaloElectron.h from new CaloUtils location
  . Remove some verbose() messages

- In TrackFitEvent v3r3, PatVelo v2r13, TrackTools v2r13
  . Updated to work with new DeVelo interface

- In RichRecMCTools v2r10, RichRecMonitors v2r9, RichRecTools v3r10
  . Adapt to changes in RichSmartIDTool interface

- In RichRecMonitors v2r9, RichRecQC v2r10, RichRecTools v3r10
  . Adapt to changes in decoded RICH data format

- In RichRecTools v3r10, RichRecMCTools v2r10
  . Adapt to changes in RichKernel

- In PatVelo v2r13, PatVeloTT v2r10, PatPV v2r7
  . Fixed all unchecked StatusCodes

- In TrackFitEvent v3r3, RichRecTools v3r10
  . Fix doxygen warnings

2007-03-13 RecSys v4r3

This version uses Gaudi v19r3 and LHCb v22r3.

- Packages updated: TrackSys v4r3, TrackExtrapolators v2r10, TrackUtils v1r11,
    TrackMatching v2r12, TsaAlgorithms v2r2, TrackFitter v2r13, TrackTools v2r12,
    TrackProjectors v2r11, PatForward v2r13, RichRecSys v3r2, RichRecQC v2r9,
    RichTrgGlobalPID v3r5, RichRecMCTools v2r9, RichRecMonitors v2r8,
    RichLocalPID v3r2, RichGlobalPID v3r2, RichPIDMerge v2r4, RichRecTools v3r9,
    RichRecAlgorithms v2r6, MuonID v4r6, MuonPIDChecker v2r0

- In PatForward v2r13, TrackSys v4r3
  . Add switch for running on B field off data
    (default false, switched on in $TRACKSYSROOT/options/NoFieldTracking.opts)

- In PatForward v2r13
  . Use explicitly EndVelo state and set q/p if more than one state

- In TrackExtrapolators v2r10
  . Clean up Kisel extrapolator

- In TrackUtils v1r11
  . Fix bug in PrepareVelo track selection in case when Best container is ignored

- In TsaAlgorithms v2r2
  . Use findModule method from OT detector element

- In TrackTools v2r12
  . Add VeloExpectation tool
  . Minor modifications to TrackPtKick, to calculate error as function of p

- In RichRecSys v3r2
  . Update background estimation algorithm name
  . Add options for clustering
  . Add default Raw buffer decoding options from RichDAQ to RecoToolPara.opts

- In RichRecTools v3r9
  . Remove the use of random numbers in GeomEffPhotonTracing

- In RichRecMCTools v2r9, RichRecMonitors v2r8, RichRecTools v3r9,
     RichRecAlgorithms v2r6
  . Adapt to new HPD pixel clusters

- In RichRecAlgorithms v2r6
  . Rename RichRecBackgroundEsti RichRecBackgroundEstiAvHPD
  . Add new (prototype) background algorithm RichRecBackgroundEstiClustering

- In MuonID v4r6
  . fixed the number of Landau parameters for the muon
  . changed the binning of the pion DLL to be the same as the muon

- In MuonPIDChecker v2r0
  . Add Total Misid to monitoring table
  . DLL Cut changed to -1 in the options
  . fillTrHistos and checkMCAss name starts with lower case (coding convention)

- In RichRecQC v2r9, RichLocalPID v3r2, RichGlobalPID v3r2, RichRecTools v3r9
  . Replace use of Gaudi format with boost::format to fix various issues

- In TrackExtrapolators v2r10, TrackUtils v1r11, TrackMatching v2r12,
     TsaAlgorithms v2r2, TrackFitter v2r13, TrackTools v2r12,
     TrackProjectors v2r11, RichRecQC v2r9, RichTrgGlobalPID v3r5,
     RichRecMCTools v2r9, RichRecMonitors v2r8, RichLocalPID v3r2,
     RichGlobalPID v3r2, RichPIDMerge v2r4, RichRecTools v3r9
  . Fix doxygen comments

- In TrackUtils v1r11, TsaAlgorithms v2r2, TrackFitter v2r13, TrackTools v2r12,
     RichRecQC v2r9, RichTrgGlobalPID v3r5, RichRecMCTools v2r9,
     RichRecMonitors v2r8, RichLocalPID v3r2, RichGlobalPID v3r2,
     RichPIDMerge v2r4, RichRecTools v3r9, RichRecAlgorithms v2r6
  . Remove obsolete file xxx_load.cpp

- In TrackExtrapolators v2r10, TrackMatching v2r12, TsaAlgorithms v2r2,
     TrackFitter v2r13, TrackTools v2r12, TrackProjectors v2r11,
     PatForward v2r13, RichRecTools v3r9, MuonPIDChecker v2r0
  . Fix unchecked StatusCodes

2007-03-05 RecSys v4r2

This version uses Gaudi v19r2 and LHCb v22r2.

- Packages updated: PatVelo v2r12, PatForward v2r12, PatKShort v1r4, PatPV v2r6,
    PatChecker v2r12, GlobalReco v6r8, MuonPIDChecker v1r0p1, TrackSys v4r2,
    TrackPython v3r0, TrackMCTools v2r9, CaloPIDs v4r6, CaloReco v4r7,
    PatFitParams v2r5, PatVeloTT v2r9, TrackExtrapolators v2r9,TrackIdealPR v2r9,
    TrackMatching v2r11, TrackProjectors v2r10, TrackSeeding v1r1,
    VeloTools v1r1p1, TrackFitEvent v3r2, MuonID v4r5

- In PatVelo v2r12
  . Added small tolerance to code to fix phi between -pi and pi in PatVeloSectors
  . Ensured that the sensors not in the readout are skipped in PatVeloRTracking
    and PatVeloSpaceTool
  . PatVeloAlignTool now regsisters all of the sensors with the update manager
    service so the cached parameters will update correctly.
    PatVeloDataHolder is also updated via PatVeloAlignTool

- In PatForward v2r12
  . New algorithm PatMatch to match seeds and Velo tracks using the centre of the
    magnet to match the two straight line extrapolations.
  . Avoid using [] access in PatOTModule and PatITSector
  . Check the best RL ambiguity also for Y projection in PatSeeding.
  . Use the selected RL ambiguity in the initial stereo fit in PatSeedTool

- In PatKShort v1r4
  . Add a missing protection when debugging if there is no MC truth available.
  . Fix qOverP in TT state: Was unsigned!
  . Add PatMakeKShort algorithm with corresponding  options file

- In PatPV v2r6,
  . Small memory leak in PatPV3D removed
  . Get and check statuscodes when available

- In PatChecker v2r12
  . Large speed improvement by computing once the list of LHCbID per MCParticle
    in PatChecker, not by inverting the relation in each counter!
  . New option MeasureTime in PatChecker to distinguish between initialisation
    per event and loop over tracks.
  . Use either Tsa or PatSeeding tracks to compute the Ks efficiencies (requires
    to have a seed) and to debug the missed Ks tracks

- In GlobalReco v6r8
  . Always store Muon system acceptance flag in ProtoParticle, even if IsMuon
    is not satisfied, using new ProtoParticle flag.
  . Update ntuple algorithm to use this new flag
  . Add root direcitory containing useful scripts
  . Exit with StatusCode::SUCCESS but setFilterPassed(false) when no tracks
    are there.
  . use rootOnTES() in ChargedProtoCombineDLLsAlg for ProtoP location
  . Renormalise Rich DLL contributions to the el and mu combined DLL values
    in order to suppress huge values, which adversely affect the performance
  . Rename ProtoCombineDLLsAlg to ChargedProtoCombineDLLsAlg

- In MuonPIDChecker v1r0p1
  . Remove unneccessary L0Event dependency
  . Updated reference values in the printout

- In TrackPython v3r0
  . Remove reflex dictionary generation. This is now done directly in the
    LHCb v22r2 packages containing the interface header files

- In TrackMCTools v2r9
  . added consts to interface
  . added test on non-empty vector of states in TrackCriteriaSelector
  . removed buggy caching in TrackCriteriaSelector

- In TrackIdealPR v2r9
  . fixed bug in seeding. seed-z is no longer cached between (!) tracks

- In TrackFitEvent v3r2
  . Add no_auto_imports to use GaudiObjDesc, to avoid getting a dependency on
    python in the TrackFitEvent link library

- In MuonID v4r5
  . Save MuonPID in container with same key as associated Track

- In PatVelo v2r12, CaloPIDs v4r6, CaloReco v4r7, PatFitParams v2r5,
     PatVeloTT v2r9, VeloTools v1r1p1,TrackExtrapolators v2r9, TrackIdealPR v2r9,
     TrackMatching v2r11, TrackProjectors v2r10, TrackSeeding v1r1
  . Remove LHCbDefinitions includes

- In PatVelo v2r12, PatForward v2r12, PatKShort v1r4,PatPV v2r6,PatChecker v2r12,
     GlobalReco v6r8, MuonPIDChecker v1r0p1, TrackMCTools v2r9, CaloPIDs v4r6,
     CaloReco v4r7, PatFitParams v2r5, PatVeloTT v2r9, TrackExtrapolators v2r9,
     TrackIdealPR v2r9, TrackMatching v2r11, TrackProjectors v2r10,
     TrackSeeding v1r1, VeloTools v1r1p1, TrackFitEvent v3r2, MuonID v4r5
  . Remove obsolete xxx_load.cpp file

- In PatPV v2r6, CaloReco v4r7, PatFitParams v2r5, PatVeloTT v2r9,
     TrackIdealPR v2r9, TrackSeeding v1r1
  . Remove obsolete ApplicationMgr.DLLs options

- In GlobalReco v6r8, TrackMCTools v2r9, CaloPIDs v4r6, TrackExtrapolators v2r9,
     VeloTools v1r1p1
  . Fix doxygen warnings

2007-02-12 RecSys v4r1

This version uses Gaudi v19r1 and LHCb v22r1.

- Packages added:   MuonPIDChecker v1r0 - Checking algorithms for MuonID

- Packages updated: TsaAlgorithms v2r1, PatForward v2r11, PatVelo v2r11,
    PatFitParams v2r4, PatKShort v1r4, PatPv v2r5, TrackSys v4r1,
    TrackFitEvent v3r1, TrackTools v2r11, GlobalReco v6r7, RichRecSys v3r1,
    RichGlobalPID v3r1, RichLocalPID v3r1, RichPIDMerge v2r3,
    RichRecAlgorithms v2r5, RichRecMCTools v2r8, RichRecMonitors v2r7,
    RichRecQC v2r8, RichRecTools v3r8, RichTrgGlobalPID v3r4, TrackCheckers v2r12

- In PatVelo v2r11
  . Added an option (off by default) to PatVeloSpaceTool to use the RZ crossing
    tracks better when the VELO is open
  . Added an option (off by default) to PatVeloRTracking to look for RZ tracks
    crossing R sectors when the VELO is open
  . PatVeloGeneric - change the seeding so that it looks for clusters in three
    consecutive READ-OUT sensors. This means the seeding in the Generic case will
    work even if there is a switched-off module between working ones

- In PatFitParams v2r4
  . New algorithm SeedFitParams to fit the parameters of PatSeeding
  . Common tool FitTool to fit straight lines, parabola and cubics.
  . Update KsFitParams to fit a pion track at a time. Adaptation to root tuples.
  . Fitted parameters for DC06 KShort.

- In PatKShort v1r4
  . Re-work PatKShort: Introduce curvature in TT, common x-y fit, re-fit
    parameters, introduce not straight Y projection.
  . Tuned with PatSeeding, but can run with TSA or PatSeeding.
  . Improved efficiency by 4-5 % with 2% extra ghost rate
  . Removed PatNewKShort algorithm, was for future development, no longer needed

- In PatPv v2r5
  . Return setFilterPassed(false) if no PV was found in PatPV2D and 3D.
  . Use LHCb::RecVertexLocation::Velo3D and 2D in PatPV3D.cpp, PatPV2D.cpp
    instead of hard-coded strings.

- In TrackSys v4r1
  . Added VeloOpenTracking.opts which retunes the VELO pattern recognition for
    the open VELO case

- In TrackFitEvent v3r1
  . Remove rootmap for Dict library
  . Temp fix in STMeasurement to make sure correct strip is used for the
    trajectory calculation

- In TrackTools v2r11
  . bug fix in the TrackCloneFinder tool
    (affects comparisons of hits in the seeding stations)

- In GlobalReco v6r7
  . Allow sub-det information to be absent when creating ProtoParticles with
    ChargedProtoPAlg.
  . Suppress FAILURE from warning messages when PID information is missing
  . add protections in ChargedProtoCombineDLLsAlg
  . add the possibility to disable some Det in ChargedProtoCombineDLLsAlg
  . update Charged and Neutral ProtoPAlg (new CaloTrajectoryL info + ecalE)
  . Rename ProtoPTupleAlg as ProtoParticleTupleAlg + fix some doxygen comments

- In RichGlobalPID v3r1
  . Rename RichGlobalPIDAlg RichGlobalPIDLikelihood

- In RichRecQC v2r8
  . Add new monitoring options for PID tables with various pt cuts

- In RichRecSys v3r1
  . Update pixel suppression options to use new clustering tool

- In RichRecTools v3r8
  . Use new method in DeRichBeamPipe to only test for intersection

- In TsaAlgorithms v2r1, PatForward v2r11
  . Minor update due to changes in OTDet

- In TrackCheckers v2r12
  . Fix bug in TrackCheckerNT which could cause Brunel to crash under
    some circumstances.

- In TsaAlgorithms v2r1, PatForward v2r11, PatFitParams v2r4, PatKShort v1r4,
     TrackTools v2r11, GlobalReco v6r7
  . Remove references to LHCbDefinitions includes

- In RichRecSys v3r1, RichGlobalPID v3r1, RichLocalPID v3r1, RichPIDMerge v2r3,
     RichRecAlgorithms v2r5, RichRecMCTools v2r8, RichRecMonitors v2r7,
     RichRecQC v2r8, RichRecTools v3r8, RichTrgGlobalPID v3r4
  . Adapt to new RICH namespaces


2007-01-23 RecSys v4r0

This version uses Gaudi v19r1 and LHCb v22r0.

- Packages updated: TrackFitEvent v3r0, TrackSys v4r0, RichRecSys v3r0,
    VeloTools v1r1, PatFitParams v2r3, TrackAssociators v2r3,TrackCheckers v2r11,
    PatKShort v1r3, PatUtils v1r3, PatChecker v2r111, RecAlgs v1r3,
    RichLocalPID v3r0, RichGlobalPID v3r0, RichPIDMerge v2r2,
    RichRecAlgorithms v2r4, TrackExtrapolators v2r8, TrackFitter v2r12,
    TrackProjectors v2r9, TrackUtils v1r10, TsaAlgorithms v2r0

- In RecSys v4r0, TrackSys v4r0
  . Remove obsolete ApplicationMgr.DLLs options from options files, no longer
    needed with new Gaudi plugin mechanism

- In TrackSys v4r0
  . In RecoTracking.opts, introduce a "Track" process phase with Pat, PreFit and
    Fit sequences for each track type, update other options files accordingly
  . Add NoFieldTracking.opts, contains options needed in addition to those
    defined in RecoTracking.opts. This file should be included in addition
    (and *after*) RecoTracking.opts to configure tracking for no magnetic field

- In TsaAlgorithms v2r0
  . Major new release. Faster, more flexible, more efficient, less ghosts,
    less outliers, etc. - See release notes for details
  . Fix some untested status codes

- In TrackUtils v1r10
  . Add new TrackPrepareForFit algorithm

- In TrackExtrapolators v2r8
  . Bug fix in TrackExtrapolator, for the extrapolation to a plane:
    the distance point-plane is signed!

- In TrackProjectors v2r9
  . General consolidation of various projectors into less code
  . Remove of old non-trajectory projectors
  . Addition of derivatives wrt. alignment parameters
  . Add a 'projector selector' to replace the 'call-thru' master selector

- In TrackFitter v2r12, TrackCheckers v2r11
  . use the projector selector tool to obtain the relevant projector
    instead of using the master projector

- In TrackFitEvent v3r0, RichLocalPID v3r0
  . Fixes in requirements, for InstallArea

- In TrackFitEvent v3r0
  . Remove LHCbDefinitions dependency

- In PatFitParams v2r3, TrackAssociators v2r3, PatKShort v1r3, PatUtils v1r3,
     PatChecker v2r11, RecAlgs v1r3, RichLocalPID v3r0, RichPIDMerge v2r2,
     RichRecAlgorithms v2r4, TsaAlgorithms v2r0
  . Use DECLARE_xxx_FACTORY macros, needed for Gaudi v19r0 plugins

- In VeloTools v1r1, PatFitParams v2r3, PatKShort v1r3
  . Get SystemOfUnits.h from GaudiKernel

2006-12-06 RecSys v3r14p1

This version uses Gaudi v18r10 and LHCb v21r12. It is identical to v3r14 but
with the HLT packages removed

- Packages removed: HltCommon     - moved to new HLT project
                    HltTracking   - moved to new HLT project
                    HltHadAlley   - moved to new HLT project
                    HltRecChecker - moved to new HLT project
                    HltMuon       - moved to new HLT project
                    HltMuonAlley  - moved to new HLT project

2006-12-04 RecSys v3r14

This version uses Gaudi v18r10 and LHCb v21r12.

- Packages updated: PatVeloTT v2r8, PatForward v2r10, PatCheckers v2r10,
    PatPV v2r4, TrackFitEvent v2r7, TrackTools v2r10, TrackFitter v2r11,
    TrackUtils v1r9, TrackPython v2r5, TrackCheckers v2r10, TrackIdealPR v2r8,
    TrackMatching v2r10, TrackProjectors v2r8, TsaAlgorithms v1r6, CaloReco v4r6,
    CaloPIDs v4r5p1, GlobalReco v6r6 RichRecQC v2r7, RichRecMCTools v2r7,
    RichRecMonitors v2r6, RichRecTools v3r7, RichRecSys v2r7

- In PatVeloTT v2r8
  . Fix a memory leak

- In PatForward v2r10
  . Improved PatSeeding and related tools, to get higher efficincy and lower
    ghost rate, with improved speed.
  . Filter T-station ghost at the end of PatForward, killing 1.7% ghosts without
    much effect (1 per mil) on efficiency.

- In PatChecker v2r10
  . Compute the event averaged ghost rate, as this is now the official number
  . Add monitoring for strange daughters in Velo tracks too.
  . MissingSeed prints also missed long over 5 GeV and missed strange daughters
    of all momentum

- In PatPV v2r4
  . Adjust chi2 cut in PVFitterTool

- In TrackFitEvent v2r7:
  . Changed VeloRMeasurement and VeloPhiMeasurement to use offline cluster
    centroid calculation in trajectory
  . FitNode: Renamed predictedStateRev to predictedStateDown and predictedState
             to predictedStateUp

- In TrackTools v2r10
  . New tool: TrackInterpolator
  . Adapted LongTrackReferenceCreator so that it can be used when refitting
    tracks from DST

- In TrackUtils v1r9
  . Add test to speed up TrackPrepareVelo: speed improvement by factor 3!

- In TrackFitter v2r11
  . TrackKalmanFilter:
    + Fix propagation of error return of biSmooth() step
    + Adapted to new State naming conventions in FitNode
    + New FitUpstream job-option, must be consistent with TrackMasterFitter one
  . TrackMasterFitter: use gsl_pow_2 instead of pow(x,2.)
  . Fix possible uninitialised variable in a printout message

- In TrackPython v2r5
  . gtracktools module simplified - better usage of latest GaudiPython
    functionality
  . MCTrackInfo class exposed

- In TrackCheckers v2r10
  . Added TrackCheckerNT, an NTuple writing class
  . Added subdirectory scripts for ROOT macros which process the NTuple
  . Added a few ROOT macros to do something with the NTuple

- In TrackIdealPR v2r8, TrackCheckers v2r5, TrackMatching v2r10,
     TrackTools v2r10, TrackProjectors v2r8,
  . Check return code from TrajPoca minimize method

- In CaloReco v4r6
  . Update CaloECorrection.cpp & CaloECorrectionParam.opts for electron calibration
  . Update CaloMergedPi0Alg and CaloXCorrection tools
  . Update MergedPi0Rec.opts
  . DC06 tuning for merged pi0

- In CaloPIDs v4r5p1
  . Removed warning " ... very priliminary version ... " from CaloID2DLL.cpp

- In GlobalReco v6r6
  . Add ProtoPTupleAlg which produces a simple ntuple for combined DLL tuning
  . Split of calculation of combined DLL values in ChargedProtoPAlg into new
    dedicated algorithm ChargedProtoCombineDLLsAlg
    ChargedProtoCombineDLLsAlg can then be run in DaVinci to 'recalibrate'
    the combined DLL values as the user requires
  . Remove CaloPID default values
  . Minor update to ChargedProtoPAlg to force ProtoParticle to have same
    key as its parent Track.

- In RichRecQC v2r7
  . Improvements to monitors

- In RichRecMCTools v2r7
  . Update MC truth tool
  . Improve pixel creator from signal only too

- In RichRecMonitors v2r6
  . Add new monitor to study the properties of ghost tracks in the RICH system
  . Improvements to expert monitors

- In RichRecTools v3r7
  . Update default fit chi^2 cut value from 100 to 10
  . Remove hack for RICH1 beam pipe in track segment maker and use new
    DeRich beam pipe objects
  . Add ability to take beam pipe into account during ray tracing in the
    geometrical efficiency tool
  . Add ability to reject reconstructed photons that might have had to cross
    the beam pipe
  . Add new pixel creator tool that can simulate additional RICH
    inefficiencies by randomly removing hits
  . Update RichDetailedTrSegMakerFromRecoTracks to get *ALL* its radiator
    intersections from the RichRadiatorTool instead of directly from the RichDet
    radiator objects

- In RichRecSys v2r7
  . Various updates to the default options

2006-11-07 RecSys v3r13

This version uses Gaudi v18r10 and LHCb v21r11.

- Packages updated: CaloPIDs v4r5, CaloReco v4r5, TrackSys v3r6,
    TrackMCTools v2r8, TrackFitEvent v2r6, TrackFitter v2r10,
    TrackProjectors v2r7, TrackUtils v1r8, TrackCheckers v2r9, PatVelo v2r10,
    PatVeloTT v2r7, PatForward v2r9, PatChecker v2r9, RichRecSys v2r6,
    RichRecTools v3r6, RichRecMCTools v2r6, RichRecMonitors v2r5,
    RichRecQC v2r6, HltCommon v1r1, HltTracking v1r2, HltHadAlley v1r1,
    HltRecChecker v1r1, HltMuon v1r1, HltMuonAlley v1r1

- In CaloPIDs v4r5
  . In requirements change CALOPIDOPTS variable to CALOPIDSOPTS, to be standard
  . Added DC06 PIDs and DLL hist for different types tracks for PIDe/mu
    (Ecal, Hcal, Prs). For BremPID - still old PIds and hist

- In CaloReco v4r5
  . added new DLL hist for Calo PIDe/mu (CaloPIDs_DC06_v1.root) in ECAL, HCAL,
    Prs for different types of tracks
  . old hist for Brem PIDe (CaloPIDs.root)
  . Preliminary setting for DC06 (CaloECorrections.opts)
  . fix Cluster CaloPosition in CaloMergedPi0Alg.cpp
    (was undefined  when  cluster on-Demand is requested)

- In TrackSys v3r6
  . Move VeloTT after Forward, Match, KShort in RecoTracking.opts

- In TrackMCTools v2r8
  . Added job-option flag "CorrectSlopes" in IdealStateCreator that can be set to
    apply a correction for the magnetic field effect in the slopes of the MCHit.

- In TrackFitEvent v2r6
  . Added unbiasedResidual and errUnbiasedResidual to FitNode.
  . Renamed biState to predictedStateRev (rev stands for reverse fit) in FitNode

- In TrackFitter v2r10
  . Added job option flag "UnbiasedResiduals" to calculate the unbiased
    residuals. Default is false.
  . Fixed small decrease in efficiency for match tracks: the prediction and
    smoother step in the bidirectional fit are not applied for the first node.
  . Calculate unbiased residual in bidirectional smoother step

- In TrackProjectors v2r7
  . TrajXxxProjectors: the B-field is now determined from the position of the
    reference vector

- In TrackUtils v1r8
  . Bug fix in TrackPrepareVelo
  . Add FirstMeasurement state to T state list for DST writing
  . TrackFromDST keeps the key of the original track in the "best" container
  . Modified TrackPrepareVelo so that Velo tracks ancestors of tracks in the
    "best" container can be ignored

- In TrackCheckers v2r9
  . Improvements in ExtrapolatorChecker: include plots of q/p pull, adapted
    binning, added seperate plots for long extrapolations, apply correction on
    slopes

- In PatVelo v2r10
  . PatVeloGeneric - added flagged option to propagate tracks seeds forward
  . Changed default alignment procedure to use misalignment in from Sensor to
    Velo half box. Then correct the position of the track to the global frame
    after fitting in PatVeloSpaceTracking

- In PatVeloTT v2r7
  . removed MC checks (inside ifdef)
  . modifications for off-line mode:
    - time optimization by reducing number of Kalman fit calls. PatVeloTT called
      after Forward and Match to remove Velo tracks already used and
      corresponding TT hits.
    - Stored VTT tracks are after fit inside PatVeloTT

- In PatForward v2r9
  . Remove the use of Trajectory when decoding the IT/OT data. Cache the useful
    Trajectory information into PatOTModule and PatITSector (new object)
    Reduces the time of PatTCoordFromRaw form ~6.0 to 2.2 ms
  . New option "MeasureTime" in PatTCoordFromRaw to get detailed account of the
    time spent in the decoding / sorting
  . New algorithm PatSeeding to construct tracks in the T stations. Need
    an auxiliary class PatSeedTrack and a tool PatSeedTool

- In PatChecker v2r9
  . Monitor the Seed tracks. Monitor for long tracks and also for daughters of
    strange particles produced near the beam axis.

- In RichRecSys v2r6
  . More tunings to the DC06 options

- In RichRecTools v3r6
  . Improvements to track/pixel seperation tool, to better deal with
    tracks and pixels on different sides of the detectors
  . Improvements to the various CK theta resolution tools
  . Improvements to RICH1 beampipe hole hack in the detailed track segment maker
  . Tweaking of the treshold information
  . Add ability to apply small scalings to reconstructed CK theta values
  . Various debug printout improvements
  . Use Gaudi::Math:cbrt for cube root

- In RichRecMCTools v2r6
  . Use new base class method in track creator to store HPD panel points

- In RichRecMonitors v2r5
  . Improvements to photon geometry monitor

- In RichRecQC v2r6
  . Improvements to PID monitoring

- In HltCommon v1r1
  . src/HltEnd setting default options only to deal with summary
  . src/HltL0Monitor monitoring the L0
  . more histos in HltSequencer, and some extra operations in HltEnd

- In HltTracking v1r2
  . HltTracking setting timers and improve loadTracks
  . HltTracking adding configuration for MuonForward

- In HltHadAlley v1r1
  . Adding extra functionality

- In HltRecChecker v1r1
  . src/HltRecVertices to check the PV reconstruction
  . src/HltRecUtils utilities to handle the MC

- In HltMuon v1r1
  . Compatible with new HltTracking and HltMuonAlley

- In HltMuonAlley v1r1
  . Compatible with new HltTracking and HltEvent

2006-10-27 RecSys v3r12

This version uses Gaudi v18r9 and LHCb v21r10.


2006-10-24 RecSys v3r11

This version uses Gaudi v18r8 and LHCb v21r9.

- Packages removed: MuonRec - algorithm moved to MuonDAQ
- Packages updated: TrackSys v3r5, TrackExtrapolators v2r7, TrackMCTools v2r7,
    TrackFitter v2r9, TrackIdealPR v2r7, TrackCheckers v2r8, PatVelo v2r9,
    PatVeloTT v2r6, PatChecker v2r8, TsaAlgorithms v1r5, TrackPython v2r4,
    CaloReco v4r4, HltTracking v1r1, TrackMatching v2r9, PatPV v2r3,
    RichRecSys v2r5, RichRecQC v2r5, RichRecMCTools v2r5, RichRecMonitors v2r4,
    RichRecAlgorithms v2r3, RichRecTools v3r5, MuonID v4r4

- In TrackSys v3r5
  . Added new file TrackChecking.opts, for use in Brunel ExpertCheck.opts
  . Tracking options re-structured for better readability
  . Removed unnecessary option from TsaSeeding.opts

- In TrackExtrapolators v2r7
  . Reduce number of warnings by better use of Warning method

- In TrackMCTools v2r7
  . All options names capitalized to comply to conventions

- In TrackFitter v2r9
  . Clean up warning messages
  . Correct state at first measurement on backward tracks
  . Fixed inconsistency in option name (for case-sensitive options parser)
  . Fix bug affecting the final chi2 of the track and the outlier removal.

- In TrackMatching v2r9
  . sqrtless version (saves some time ?)
  . Retune presented in TRec on 2006-10-16

- In TrackIdealPR v2r7
  . Added option to change the track selector tool

- In TrackCheckers v2r8
  . Added new histograms to TrackChecker and adapted some binnings

- In TrackPython v2r4
  . Exposed missing tracking tools to Python:
  . Exposed all existing tracking Monte Carlo tools to Python:
  . Added declarations for all these tools in the gtracktools module

- In PatVelo v2r9,
  . Fix in PatVeloRTracking : Adding the cluster on the other side was
    not working, due to a wrong direction flag.
  . Added to PatVeloRTracking an option to merge tracks sharing enough clusters.
    Not ON by default, as this decreases the clone rate, but also decreases
    the Space tracking efficiency
  . Allow several candidates in PatVeloSpaceTool, to get some increase in
    efficiency at the price of some more ghosts and clones. A clean-up is added
    to merge tracks sharing many hits.
  . Bug fix in PatVeloAlignTool when using a large number of R alignment sectors
  . PatVeloGeneric can account for alignment without approximations
  . new option flag FullAlignment added
  . PatGenericFitter modified

- In PatVeloTT v2r5, v2r6
  . Modification and tuning of PatVeloTT package for off-line use.
    Tuning of reconstruction for low momentum range down to about 0.8 GeV
    Due to low momentum tuning PatChecker reports more ghosts (20%)
    Same algorithm should work for on-line with different parameters
  . Added multipurpose tool (Magnet and TT geometry): PatTTMagnetTool.cpp
    and its slave tool TableForFunction.cpp
  . Use Kalman fit to select best candidate (off-line)
  . Quality conditions for Hlt
  . Added options for Off-line and Hlt

- In PatPV v2r3
  . Correction of bugs (chi2=0, improve of error handling, setTechnique)
  . Put input tracks and output vertices location into options PatPV2D, PatPV3D

- In PatChecker v2r8
  . New algorithm PatVeloAddTruth to add truth information on PatVeloCoord.
  . New option in PatChecker to debug tracks found by Match but not by Forward
  . PatChecker monitors also the Best container, and builds the truth for Seed
    if present

- In TsaAlgorithms v1r5
  . Add duplicate removal in TsaCollector
  . Allow possibility to sort input data to data services
  . Add hits in the other boxes to allow for IT overlaps
  . Bug fix in IT/TTDataSvc
  . Add possibility to use 'L0 seed' y in TsaCollector
  . Tidy up TsaSeed some more and gain alittle speed
  . Changes in OTExpectedHits to gain speed

- In CaloReco v4r4
  . Modify CaloMergedPi0Alg to allow the separate creation of CaloClusters
    and CaloHypos
  . Add DVCaloRecoOnDemand.opts: CaloDigits and CaloClusters on-Demand for use in
    DaVinci

- In RichRecSys v2r5
  . Various updates to the options
  . Add algorithm to start of reco sequence that just triggers the RICH
    DAQ decoding. Useful for timing studies.

- In RichRecQC v2r5
  . Add simple HPD # hits and hit map monitors (inspired by TB)
  . Add more options to produce PID tables for different DLL cuts

- In RichRecMCTools v2r5
  . Adapt to changes in RichTrackSegment

- In RichRecMonitors v2r4
  . Update test algorithm to new RichTrackSegments
  . Update of the Alignment monitor. It can be added to the Check or Moni
    sequence using the appropriate options file.

- In RichRecAlgorithms v2r3
  . Store expected number of photons per segment/hypo in summary information

- In RichRecTools v3r5
  . Adapt to new RichTrackSegment
  . Updates to functional CK resolution tool
  . Replace pow(x,1/3) with cbrt(x) (much faster)
  . Replace sin(acos(cosgamma)) with sqrt(1.0-cosgamma*cosgamma) (also faster)
  . Add missing property to interpolated CK res tool for Ks tracks

- MuonID v4r4
  . FOI has now 3 parameters
  . new FOI tuning
  . new DLL fit

- In HltTracking v1r1
  . Use Hlt as prefix of the track location from the Pat
  . Make the mode "select" the default of the track selector
  . Protect HltTracking against initialization failures

2006-10-03 RecSys v3r10

This version uses Gaudi v18r7 and LHCb v21r8.

- Packages removed:  PatTools           - moved to LHCb
- Packages added:    HltCommon     v1r0 - Common algorithms and tools for Hlt
                     HltTracking   v1r0 - Steering the tracking by Hlt
                     HltHadAlley   v1r0 - Algorithms for the HLT hadron alley
                     HltRecChecker v1r0 - Checking algorithms for HLT reco.
                     HltMuon       v1r0 - Muon reconstruction for triggers
                     HltMuonAlley  v1r0 - Decision algorithms for muon trigger
- Packages modified: TsaAlgorithms v1r4, CaloReco v4r3, CaloPIDs v4r4
    PatVeloTT v2r4, PatVelo v2r8, PatKShort v1r2, PatCheckers v2r7,
    PatForward v2r8, TrackFitter v2r8, GlobalReco v6r4, RecAlgs v1r2,
    TrackAssociators v2r2, TrackSys v3r4, PatFitParams v2r2, TrackUtils v1r7,
    TrackCheckers v2r7

- In TsaAlgorithms v1r4
  . Add functionality to make Tsa::Clusters from TT hits
  . Add hit collection tool as used by trigger in L0 confirmation studies
  . Changes to allow seeding to be run with selected hits as in L0 confirmation
  . Speed up by a few ms
  . New tuning of seeding as reported at T-Rec on 25th September
  . Hot events rejected and hot OT modules cuts relaxed

- In CaloReco v4r3
  . Remove CaloBank.opts (moved to CaloDAQ as CaloBanksHandler.opts)

- In CaloPIDs v4r4
  . bug fix for invalid linear state extrapolation

- InPatVeloTT v2r4
  . Speed-up decoding by removing a test on valid TT channel ID and avoid
    computing of sqrt(12.);
  . Cleaning and small modifications for HLT

- In PatVelo v2r8
  . Changes for HLT, to allow selection of 2D tracks to process in 3D
  . works with ACDC2 test beam DATA (needs temporary ACDC2 flag)

- In PatKShort v1r2
  . Improve selection: Make the x tolerance P dependent
  . Fix a bug in removal of the first(s) stereo hits
  . Change to false the default for removing seeds used by the matching

- In PatCheckers v2r7
  . For KShort track, select daughters form strange particles only for counting
    efficiencies.
  . Option to debug the not-found good KShort tracks
  . Ignore electrons in PatChecker counting.

- In PatForward v2r8
  . Two new parameters for zMagnet. Improve slightly the efficiency.
  . Call to updateTable() for the track container, for HLT generic
  . Use a new way to collect the stereo coordinates, similar to the selection
    of X groups. Reduces the ghost rate and increases slightly the efficiency
    for high momentum tracks.

- In TrackFitter v2r8
  . Improved calculation of noise matrix in predictReverseFit(). Fast
    bidirectional fit (storeTransport=true) is now (almost) as good as slow one.
  . Using the reference state for extrapolating. This improves the dp/p
    resolution for forward tracks.

- In GlobalReco v6r4
  . include CaloDigit (Spd/Prs) info in NeutralProtoP and ChargedProtoP.

- In RecAlgs v1r2
  . Adapt RecInit to get event number and run number from DAQ/ODIN

- In TrackAssociators v2r2
  . Fix a typo in a linker check

- In TrackSys v3r4
  . Changes to Velo fit options: use linear extrapolator, do not apply dEdx
    correction, do not extrapolate to Rich1

- In PatFitParams v2r2
  . Use Root NTuyples
  . Fit with zReference = 8520, optimal performance

- In TrackUtils v1r7
  . Fixed probable bug in TrackPrepareVelo, wrong indices in vec
  . New algorithm TrackFromDST: it classifies the tracks given as input
    according to their History / pattern recognition algorithms

- In TrackCheckers v2r7
  . bug fix in the purity calculations in the TrackChecker

2006-09-05 RecSys v3r9

This version uses Gaudi v18r7 and LHCb v21r7.

Changes since last official release (v3r7):

- New packages: PatKShort v1r1 - resurrected
                TrackSys  v3r3 - defines job options for track reconstruction
- Packages modified: PatTools v2r6, PatVeloTT v2r3, PatForward v2r7,
    PatChecker v2r6, TrackCheckers v2r6, TrackExtrapolators v2r6,
    TrackMCTools v2r6, TrackTools v2r9, TrackUtils v1r6, TrackMatching v2r8,
    TrackPython v2r3, TsaAlgorithms v1r3, RichRecSys v2r4, RichGlobalPID v2r4,
    RichLocalPID v2r3, RichPIDMerge v2r1, RichRecAlgorithms v2r2,
    RichRecMCTools v2r4, RichRecMonitors v2r3, RichRecQC v2r4, RichRecTools v3r4,
    RichTrgGlobalPID v3r3

- In Reco.opts:
  . Take tracking sequences from $TRACKSYSROOT/options/RecoTracking.opts

- In PatKShort v1r1
  . Adapt to new TT detector element, code and tuning improvements

- In PatTools v2r5, v2r6
  . Add a highThreshold data member to PatTTCoord, set by constructor.
  . Add a rl data member to PatTCoord, to force the right/left OT ambiguity.

- In PatVeloTT v2r3
  . Decode and save the high threshold bit for TT coordinate
  . Don't use the cluster size to compute the error on TT coordinate

- In PatForward v2r7
  . Many changes to optimise the ghost rate.
  . Implement (but do not use) another way to select stereo hits
  . Remove neighbouring IT clusters

- In PatChecker v2r5, v2r6
  . Fix truth association for IT when several MC in the same strip.
  . Purity and hit efficiency for Forward and Match measured only in T part
  . Create the truth information for Tsa and Match tracks
  . Change the seed container to be Tsa container
  . Add TT counter for Match and KShort tracks

- In TrackCheckers v2r6
  . added errors on true states to pull distributions
  . added new histograms
  . small fixes and redefinitions of histograms IDs
  . new properties capitalized, to meet conventions
  . added to TrackMatchChecker possibility to use other "add TT clusters" tools

- In TrackExtrapolators v2r6
  . changes TrackMasterExtrapolator:
    + code for state corrections removed. Now using state correction tools
    + small code improvements for speed

- In TrackMCTools v2r6
  . Bug fixes in IdealStateCreator

- In TrackTools v2r8, v2r9
  . Update the Pt kick tool parameters
  . TrackCloneFinder: "CompareAtLHCbIDsLevel" flag set to false
  . improvements/clean-up in TrackCloneFinder and MeasurementProvider
  . New tools for state corrections (from code previously in master extrapolator)
    + StateSimpleBetheBlockEnergyCorrectionTool
    + StateElectronEnergyCorrectionTool
    + StateThickMSCorrectionTool
    + StateThinMSCorrectionTool
  . Corrected electron dE/dx formula

- In TrackUtils v1r5, v1r6
  . Many code and speed improvements to TrackEventCloneKiller - including:
    + ancestor tracks removed from tracks to be considered and flagged as clones
    + skip clone comparison between tracks in same container
  . bug fix corrected in option name of TrackPrepareVelo
  . Kshort tracks from PatKShort added to TrackEventCloneKiller's default input

- In TrackMatching v2r7, v2r8
  . Only allow hits with y consistent with track to be added to match track in TT
  . Add possibility to use other cluster tools
  . Retune

- In TrackPython v2r2, v2r3
  . added pre-defined class and tools declarations in gtracktools module
  . updated to new location of "poca" tool
  . added ITrackInterpolator, ITrackPtKick, ITrajPoca, IStateCorrectionTool

- In TsaAlgorithms v1r2, v1r3
  . Clean up TsaOTClusterCreator: factor 10 faster
  . In TsaSeedTrackCnv, only use selected hits on tracks (removes outliers)
  . Many optimizations in TsaSeed: speed down from 380 to 175 ms
  . Updates in the data classes: speedier, tidier etc
  . Change ExpectedHits interface to add a sector
  . Include IT seeding and second pass stub finding

- In RichRecSys v2r4, RichGlobalPID v2r4, RichLocalPID v2r3, RichRecMCTools v2r4,
     RichRecAlgorithms v2r2, RichRecMonitors v2r3, RichRecQC v2r4,
     RichRecTools v3r4, RichTrgGlobalPID v3r3
  . Adapt to changes in RichTrackSelector

- In RichRecSys v2r4
  . Update track CK resolution options
  . Update pixel suppression options

- In RichGlobalPID v2r4
  . Retuning of the likelihood minimisation algorithm, removing old speed
    optimisations and improving the final maximisation

- In RichPIDMerge v2r1
- In RichRecMCTools v2r4
  . Add MC truth track selector
  . Update MCTruth association tool to handle option weights for track
    associations
  . Updates due to changes in RichTraceMode
  . Adapt to new MCRichDigit

- In RichRecMonitors v2r3
  . Minor improvements to monitor algorithms
  . Updates due to changes in ray tracing
  . Add algorithm RichTrackRayTraceTest that tests ray tracing
  . Improvements to MC ring builder and track monitors

- In RichRecQC v2r4
  . Unpdate monitoring to include more background types
  . Add new histogram to RichRecoQC showing # photons versus CK theta
  . Tidy up job options a little
  . Modified RichRecoQC to produce histograms that require no MC information.
    It can now be used also in the Monitor sequence.
  . Adapt to new MCRichDigit

- In RichRecTools v3r4
  . Add hack to radiator segment tool to reject tracks in the RICH1 beam pipe
    area. To be remove when XML description is updated to include the hole.
  . Tidy up Cherenkov resolution tools
  . Add RichTrackSelector tools (updated and moved from RichRecBase).
  . Adapt to changes in RichTraceMode and ray tracing tool interface
  . Adapt to new Ring and Pixel classes in RichRecBase
  . Update default track selection cuts to current best values

2006-08-21 RecSys v3r8

This version uses Gaudi v18r6 and LHCb v21r6.
It was a version for development, never officially released

2006-08-04 RecSys v3r7

This version uses Gaudi v18r6 and LHCb v21r4.

- New packages: TrackSeeding v1r0 - First public version of Henk Jan's seeding

- Packages modified: RichGlobalPID v2r3, TrackProjectors v2r6, TrackMCTools v2r5,
    TrackIdealPR v2r6, TrackMatching v2r6, TrackTools v2r7, TrackFitter v2r7,
    TsaAlgorithms v1r1, PatForward v2r6, PatVelo v2r7, PatVeloTT v2r2,
    CaloPIDs v4r3, TrackCheckers v2r5

- In RecSys v3r7
  . Add Seed and Match tracks to Reco.opts
  . Remove artificially large errors in forward fit

- In RichGlobalPID v2r3
  . Adapt to backward incompatible changes in GaudiObjDesc v9r7

- In TrackProjectors v2r6
  . Set the OT L/R ambiguity according to the track fit, update at each iteration

- In TrackMCTools v2r5
  . IdealStateCreator: default state errors set to zero

- In TrackIdealPR v2r6
  . Set the z-position of the measurement based on the track (state) info.
  . small fixes for consistency and extra warning messages included

- In TrackMatching v2r6
  . Tune for DC 06
  . Add possibility to cut on pt of match - set to 50 MeV by default
  . Match chi2 is added to the track extra info
  . Many code improvements to gain speed

- In TrackTools v2r7
  . Protect against missing states, plus code improvements
  . Add Ttrack to the list of default selected track types in TrackSelector

- In TrackFitter v2r7
  . bi-directional fit by default
  . Reference information now set by default
  . Maximum 2 outliers removed by default

- In TrackFitter v2r7, TrackMatching v2r6, PatForward v2r6
  . Use the pre-defined z-positions related to state locations from the
    new file StateParameters.h

- In TsaAlgorithms v1r1
  . Add reference creator tool
  . Tune jobOptions in SeedTrack converter
  . Take p from pt kick method

- In PatVelo v2r7
  . Restructured the 3D pattern recognition to allow single RZ tracks to be
    found as 3D tracks for the trigger. Two new tools to do this:
    PatVeloSpaceTool and PatVeloTrackTool

- In PatVeloTT v2r2, CaloPIDs v4r3
  . Fix uninitialized variables

- In GlobalReco v6r3
  . Add RichPIDsFromProtoParticlesAlg and MuonPIDsFromProtoParticlesAlg

- In TrackCheckers v2r5
  . New algorithm ExtrapolatorChecker, to check the consistency between
    Geant and the TrackExtrapolators.
  . Add L/R ambiguity checking

2006-07-24 RecSys v3r6

This version uses Gaudi v18r6 and LHCb v21r3.
It will be used in the stripped DST production phase of DC06 computing challenge.

- New packages:      TsaAlgorithms v1r0
- Packages modified: PatTools v2r4, PatPV v2r2, PatVeloTT v2r1, PatForward v2r5,
    PatVelo v2r6, TrackFitEvent v2r5, TrackUtils v1r4, TrackTools v2r6,
    TrackFitter v2r6, CaloReco v4r2,CaloPIDs v4r2, GlobalReco v6r2, RecUtils v1r1

- In RecSys v3r6
  . Fixes to Reco.opts for more pedantic job options parser in Gaudi v18r6
  . Set reference trajectory in FitForward (Reco.opts)
  . Switch on outlier removal in FitForward for maximum 2 outliers (Reco.opts)

- In PatVelo v2r6
  . Moved algorithm code from PatVeloSector.h to a new PatVeloSector.cpp
  . Use inv_sqrt_12 const from LHCbDefinitions, instead of repeated calculation

- In TrackFitEvent v2r5
  . provide boost allocators for StateTraj class
  . add dictionary for FitNode class

- In PatTools v2r4
  . Use RecVertex instead of TrackVertex in PatDataStore

- In PatPV v2r2
  . Use RecVertex instead of TrackVertex
  . Use SMatrix::Inverse() instead of Sinverse(), for Root 5.12.00
  . Cleanups to speed up code

- In PatVeloTT v2r1
  . Pick up low threshold hits

- In PatForward v2r5
  . Allow low threshold clusters to be on track
  . Change cut on min p to 1 GeV

- In TrackUtils v1r4
  . Allow filtering of any set of states from any set of Tracks in TrackToDST
    and protect against missing states
  . Add bool "copyFailures" option to TrackContainerCopy, by default does not
    copy tracks that failed the track fit

- In TrackFitter v2r6
  . Options "StatesAtMeasZPos" and "ZPositions" exclusive
  . State at first measurement always saved
  . Track fit set as failed when not possible to determine all the requested
    states on a track
  . Setting of states at measurements z-positions (when requested) handled
    correctly when outliers are removed
  . Clean-up of unnecessary methods/code
  . Improved debug/warning/error messages, for clarity

- In CaloReco v4r2, CaloPIDs v4r2
  . Fixes for migration to Gaudi v18r6 and Root v5.12.00

- In TrackTools v2r6
  . Add TrackVelodEdxCharge tool for calculating Velo charge from dE/dx
  . Remove unphysical terms from the parameterization in pt kick tool
  . Tune pt kick parameters for DC'06

- In GlobalReco v6r2
  . Add Velo Charge information to charged protoparticles

- In RecUtils v1r1
  . New algorithm to copy contents of ETC used as input to an output ETC that
    correctly links to the ouput DST

2006-07-07 RecSys v3r5

This version uses Gaudi v18r5 and LHCb v21r2.
It will be used in the reconstruction phase of DC06 computing challenge.

- Packages added:    RecUtils v1r0 - general purpose components linked to REC

- Packages modified: PatVelo v2r5, PatForward v2r4, PatPV v2r1, PatChecker v2r4,
    TrackTools v2r5, TrackProjectors v2r5, TrackUtils v1r3, TrackFitter v2r5,
    TrackMCTools v2r4, TrackExtrapolators v2r5, TrackCheckers v2r4,
    TrackMatching v2r5, TrackIdealPR v2r5, CaloReco v4r1, CaloPIDs v4r1,
    GlobalReco v6r1

2006-06-22 RecSys v3r4

This version uses Gaudi v18r5 and LHCb v21r1.
It is a pre-release for commissioning tests of the reconstruction for DC06.

- Packages added:    CaloReco   v4r0 - migrated to new event model, 1MHz r/o etc.
                     CaloPIDs   v4r0 - migrated to DC06
                     PatVeloTT  v2r0 - migrated to DC06
                     PatPv      v2r0 - migrated to DC06
                     GlobalReco v6r0 - migrated to DC06
- Packages modified: PatTools v2r3, PatForward v2r3, PatVelo v2r4,
    TrackAssociators v2r1, TrackCheckers v2r3, TrackFitter v2r4,
    TrackFitEvent v2r4, TrackExtrapolators v2r4, TrackIdealPR v2r4,
    TrackProjectors v2r4, TrackTools v2r4, TrackUtils v1r2, TrackMatching v2r4,
    MuonID v4r3, RichTrgGlobalPID v3r2, RichRecQC v2r3, RichRecMCTools v2r3,
    RichRecMonitors v2r2, RichLocalPID v2r2, RichGlobalPID v2r2,
    RichRecAlgorithms v2r1, RichRecTools v3r3, RichRecSys v2r3

2006-05-18 RecSys v3r3

This version uses Gaudi v18r4 and LHCb v21r0.
It is an (incomplete) release for commissioning of the reconstruction for DC06.

2006-05-03 RecSys v3r2

This version uses Gaudi v18r3 and LHCb v20r4.
It is an (incomplete) release for commissioning of the reconstruction for DC06.

2006-04-13 RecSys v3r1

This version uses Gaudi v18r3 and LHCb v20r3.
It is an (incomplete) release for commissioning of the reconstruction for DC06.

2006-03-23 RecSys v3r0

This version uses Gaudi v18r2 and LHCb v20r1.
It is the first (incomplete) release for commissioning of the software for DC06.

It breaks all backward compatibility and introduces many new features, including
a major redesign of event model classes following the review in Autumn 2006,
changes for the 1MHz readout, changes to the geometry to introduce detector
tilts and capability for misalignement, changes to replace CLHEP with MathCore,
as well as deployment of the new tracking software based on the new track model

All packages have been touched. Please look at release notes of the individual
packages for details.

2005-12-08 RecSys v2r2

This version uses Gaudi v17r2, LHCb v19r3. Backwards compatible for RTTC data

- Packages added:    PatKShort     - Reconstruct downstream tracks from seeds
                     TrackCheckers - Algorithms for checking tracks
                     TrackFitter   - Tools for fitting tracks
                     TrackPython   - Exposes track interfaces etc. to Python
                     TrackVeloTT   - Velo-TT pattern recognition algorithms
- Packages modified: PatSys v1r5, PatTools v1r3, PatChecker v1r3, PatVelo v1r5,
    PatFitParams v1r2, TrackExtrapolators v1r3, TrackFitEvent v1r5,
    TrackIdealPR v1r4p1, TrackMCTools v1r4, TrackProjectors v1r4,
    TrackTools v1r3, TrConverters v1r5, CaloMoniDst v2r1

- In PatTools v1r3:
  . Add class IncreaseingByZ in PatTTCoord

- In PatChecker v1r3:
  . Adapt the truth associator for Seed, Match and KsTrack: List of containers
    in PatTrack2MCParticle.
  . LHCbID linker to MCParticle: the SpareBits field of the LHCbID is cleared so
    that it works with LHCbIDs created by the Measurements
  . PatChecker has adapted counters for Match, Seed and KsTrack.
  . Add new algorithm PatKShortChecker, adapted from Tr/TrKShort KShortMonitor.

- In PatVelo v1r5:
  . Added the PatVeloAlignTool code to make the pattern recognition
    (partially) independent of the known mis-alignments

- In PatFitParams v1r2:
  . Add new algorithm to fit the KShort parameters, adapted from Tr/TrKShort

- In TrackExtrapolators v1r3:
  . TrackTransportStep.h helper class removed
  . Added extrapolators selectors:
    The TrackMasterExtrapolator chooses the extrapolator to use via a set of
    tools that work as follows:
    + TrackSimpleExtraSelector:   just has one extrapolator
    + TrackDistanceExtraSelector: chooses between 2 based on stepsize
    + TrackLongExtraSelector:     chooses between two except in the T stations
                                  where it takes the short distance always
  . Bug fix in master extrapolator

- In TrackFitEvent v1r5:
  . VeloPhiMeasurement:
    Added resolution(), needed to determine the error in Carthesian coordinates.
    Old method errMeasure() returns the error in terms of the phi angle.
  . FitNode:
    Added member m_transportDeltaZ to cross check transport data correctness.
    Removed obsolete data member filtered state.
    Data member m_predictedState is not a pointer anymore.

- In TrackIdealPR v1r4p1:
  . Code clean-ups
  . Added the estimate for R to the VeloPhiMeasurement.
  . Changes to comply with MC associations as in TrackAssociators

- In TrackMCTools v1r4:
  . Propagation of changes in enum methods interfaces from TrackEvent

- In TrackProjectors v1r4:
  . Adapt to changes in VeloPhiMeasurement. Now using method resolution().
  . New tool RayIntersector, computes the distance between two straight lines
   (rays) and the derivative of that distance.
  . TrackOTRayProjector computes the OT projection using the RayIntersector

- In TrackTools v1r3:
  . Minor code cleanups, possible memory leak corrected
  . MeasurementProvider tool sets Status flag for tracks with Measurements.

- In TrConverters v1r5
  . TrStoredTrack2TrackCnv fills the Tracks with measurements and LHCbIDs

- In CaloMoniDst v2r1
  . Use only Cnv tracks in monitoring

2005-11-22 RecSys v2r1

This version uses Gaudi v17r2, LHCb v19r2. Backwards compatible for RTTC data

- Packages added:    TrackAssociators - Associators to MC Truth for Tracks
- Packages modified: RichHltSys v1r2, RichTrgGlobalPID v2r1, RichTrgTools v1r2,
    RichRecSys v1r19, RichRingRefit v1r11, RichLocalPID v1r13, RichRecQC v1r12,
    RichGlobalPID v1r11, RichRecAlgorithms v1r1, RichRecTools v2r16,
    RichRecMCTools v1r10, RichRecMonitors v1r1, GlobalReco v5r1, CaloReco v3r0,
    CaloPIDs v3r0, CaloMoniDst v2r0, PatSys v1r3, PatVelo v1r4, PatVeloTT v1r3,
    PatForward v1r2, MuonID v3r9p1

- In RichRecSys v1r19
  . Update requirements and job options for:
    + Support for new track event model
    + Clean up usage of context()
    + Support for spherical secondary mirrors

- In RichTrgGlobalPID, RichTrgTools, RichRingRefit, RichLocalPID, RichRecQC,
     RichRecAlgorithms, RichRecTools, RichRecMCTools, RichRecMonitors
  . Updates for use of context() in base classes

- In RichTrgGlobalPID, RichRecQC, RichRecMonitors
  . Update to new base classes

- In RichTrgGlobalPID, RichRecQC, RichRecTools
  . Updates for new tracking event model

- In RichTrgTools
  . Improvements to RichTrackSegment creators

- In RichRecQC
  . Reactivate RichRecoQC algorithm

- In RichGlobalPID
  . Improvements to HLT/Offline running

- In RichRecTools
  . Adapt to changes in RichDAQ
  . Adapt to changes in RichTrackSegment and RichGeomPhoton creators
  . Move RichParticleProperties tool to RichTools package

- In RichRecMCTools
  . Improvements to photon reconstruction interface to avoid data copying
  . Improvements to MC truth tool. Delegate more to the lower level tool.
  . Some improvements to Cherenkov theta smearing tool

- In RichRecMonitors
  . Split up RichPhotonMonitor into smaller dedicated monitors.
  . Added the option to pre book histograms in RichAlignmentMonitor

- In GlobalReco v5r1
  . Adapt to change in RichPID interface

- In CaloReco v3r0, CaloPIDs v3r0, CaloMoniDst v2r0
  . Adapt to new Track model

- In PatVelo v1r4, PatVeloTT v1r3, PatForward v1r2
  . Add status to Tracks

- In PatVelo v1r4
  . Fixed bug in how code mapped sectors to zones in R sensors
    (reduce clone rate in RZ tracking)

- In MuonID v3r9p1
  . Various improvements (c.f. DaVinci v12r14)

2005-11-15 RecSys v2r0

This version uses Gaudi v17r2, LHCb v19r1. Backwards compatible for RTTC data

- Packages added:    MuonMoniDst v1r0 - Monitoring algorithms for Muon from DST

- Packages modified: PatSys v1r3, PatTools v1r2, PatVelo v1r3, PatVeloTT v1r2,
    PatPV v1r0p1, PatForward v1r1, PatChecker v1r2, PatFitParams v1r1,
    TrackFitEvent v1r4, TrConverters v1r4, TrackProjectors v1r2p1,
    TrackMatching v1r1, TrackMCTools v1r3, TrackIdealPR v1r3, TrgSys v2r11,
    TrgMuon v1r3, TrgConverter v1r0p1, L1Reco v7r2, RichRecSys v1r18p1,
    RichHLTSys v1r1p2, TrFitEvent v4r10

- In PatTools v1r2
  . Add projection number to PatTTCoord and sort according to it
  . Fix wrong initialization of an iterator, causing random crashes in destructor

- In PatVelo v1r3
  . Set the history value of the track

- In PatVeloTT v1r2
  . New algorithm to add truth information to the PatTTCoord, for debugging
  . Test wafer pointer before using it in call to STWafer::isInVDeadZone()

- In PatForward v1r1
  . Compute state after T stations, with momentum. Add momentum to firstState
  . Ghost rejection using TT information, add TT measurements to track
  . Refit X after adding stereo hits before fitting Y. Slightly slower, but
    improves efficiency and ghost rejection
  . Add IPatForwardTool, to reconstruct one track at a time. PatForward becomes
    a simple loop on the input container

- In PatChecker v1r2
  . Count the expected hit according to the selected pattern in PatCounter

- In PatFitParams v1r1
  . Fit also the momentum. Remove the fit of the old parameters no longer used
  . Allow to use the fitted MC Velo track instead of the PatVelo found one

- In TrackFitEvent v1r4
  . add method to update measurements parameters
  . method name change in FitNode

- In TrackProjectors v1r3
  . Replace pow(x,3) by gsl_pow_3(x)

- In TrConverters v1r4
  . Added setHistory methods, tiny changes for speed optimization

- In TrgMuon v1r3
  . Provide a single algorithm for both HLT and MuonID muon track reconstruction
  . Add HltMuonRec for Muon identification of Velo tracks
  . Improved tuning of cuts, faster muon buffer decoding
  . Requires changes in HltGeneric sequence, see release notes

- In TrConverters v1r4, TrackMCTools v1r3, TrackMatching v1r1, TrackIdealPR v1r3,
     PatPV v1r0p1, PatForward v1r1, PatVelo v1r3, PatVeloTT v1r2,
     TrgConverter v1r0p1
  . Adapt to changes in TrackKeys etc. enums, and move to Track.h and State.h

- In L1Reco v7r2
  . Bug fix: needed three tracks to enter loop. Two should be enough

- In TrackFitEvent v1r4, TrFitEvent v4r10
  . Change to requirements to produce Reflex dictionaries

2005-09-21 RecSys v1r5

This version uses Gaudi v16r5, LHCb v18r9

- Packages added:    PatVeloTT v1r1 - Adaptation of TrgVeloTT to Pat project
                    PatForward v1r0 - New implementation of Forward track PatRec
                         PatPV v1r0 - Adaptation of L1Reco 2D prim vtx to Pat
                  PatFitParams v1r0 - Fit MC tracks to compute PatForward params
                 TrackMatching v1r0 - Adaptation of TrMatching to new Track model
- Packages modified: TrgSys v7r6, TrgVeloTT v8r1, L1Decision v5r2, PatSys v1r2,
                     PatTools v1r1, PatUtils v1r1, PatVelo v1r2, PatChecker v1r1
                     TrackTools v1r2, TrackMCTools v1r2, TrackIdealPR v1r2,
                     TrackExtrapolators v1r2, TrTools v2r7, TrConverters v1r3

- In Reco.opts
  . Add conversion of Rec/FitTrack/Best into Rec/Track/Best (new track model)
    at the end of tracking sequence

- In TrgVeloTT v8r1
  . Port new implementation from DC04 branch. See details in v8r0 release notes
  . Remove BdlTool (moved to Det/Magnet), pick up IBdlTool interface from
    LHCbKernel

- In L1Decision v5r2
  . Upgrade to accept multiple primary vertices

- In PatTools v1r1
  . Add containers for PatTCoord and PatTTCoord

- In PatUtils v1r1
  . Add PatTrack2TES algorithm to convert (L1) trcks in PatDataStore to standard
    TES tracks and containers

- In PatVelo v1r2
  . Changed the extra track flags definition from PatTrack to TrackKeys
    namespace, for future inclusion in the normal TrackKeys namespace.

- In PatChecker v1r1
  . Implement the checking of TT and Forwardtracks.
  . Use 'context' and no longer name for L1/HLT checking
  . Remove from PatTrack2MCParticle conversion from PatDataStore to TES tracks

- In TrTools v2r7, TrackTools v1r2
  . Remove BIntegrator tool (moved to Det/Magnet), pick up interface from new
    location in LHCbKernel

- In TrConverters v1r3, TrackTools v1r2
  . Adapt to change in MeasurementProvider interface, and fix memory leaks

- In TrackMCTools v1r2, TrackIdealPR v1r2
  . Change names of components to avoid clashes with old event model versions

- In TrackExtrapolators v1r2
  . Improvement to Parabolic extrapolator
  . Remove temporary vectors from TrackMasterExtrapolator

2005-07-25 RecSys v1r4

This version uses Gaudi v16r5, LHCb v18r8

- Package added: TrgConverter v1r0 - Coverts Trg tracks into new track model

- Packages modified: TrgSys v7r5, TrgVelo v7r4, TrgMuon v1r2p3, TrgForward v5r2,
                     L1Reco v7r1, L1Decision v5r1p1, PatSys v1r1, PatVelo v1r1,
                     RichRecSys v1r18, RichLocalPID v1r12, RichHltSys v1r1p1,
                     TrackFitEvent v1r2, TrackTools v1r2, TrConverters v1r2,
                     TrackProjectors v1r2, TrackExtrapolators v1r1

- In Reco.opts
  . Change name of DecodeRawVelo to BrunelDecodeRawVelo, to avoid clash when
    running Reco sequence after HLT

- In DoxyFile.cfg
  . Get dot tool configuration from dottools.cfg, rather than from makedoc.py
  . Exclude L1Decision root macros from generated documentation

- In L1Decision v5r1p1
  . Fix 2kB/event memory leak in L1Info.cpp

- In L1Reco v7r1
  . For 2D tracks, get phi-zone geometry from Velo detector element. Fixes L1
    accept rate problem in RTTC data
  . Retune cuts to recover nominal Velo-TT matching working point

- In TrgVelo v7r4, PatVelo v1r1
  . Modified code to use reversed R sensors properly

- In TrgMuon v1r2p3
  . Fix in usage of std::vector.reserve() to fix execution problem on Windows

- In TrgForward v5r2
  . Fix decoding of ST Raw Bank, was always decoding one word beyond end of bank
  . Add support for OT RawBank v2

- In RichLocalPID v1r12
  . Fixes to prevent accesses to TES before main event processing.

- In TrackFitEvent v1r2, TrackTools v1r2, TrConverters v1r2,
     TrackProjectors v1r2, TrackExtrapolators v1r1
  . Various updates to tools for new track model

2005-06-27 RecSys v1r3

This version uses Gaudi v16r4, LHCb v18r7 (also CLHEP 1.9, ROOT 4.0)

- Packages added   : RichRecAlgorithms - MC free algs, replaces RichRecCommon
                     RichRecMonitors   - Expert Rich monitoring
                     PatSys            - New pattern recognition with new Track
                              (contains PatTools, PatUtils, PatVelo, PatChecker)
- Packages removed : RichRecCommon
- Packages modified: TrgSys v2r8, TrgPrimVertex v4r2, TrgMuon v1r2p2,
   RichRecSys v1r17, RichLocalPID v1r11, RichRecMCTools v1r9, RichRecTools v2r15,
   RichRingRefit v1r10, RichRecQC v1r11, RichHLTSys v1r1, RichTrgGlobalPID v2r0,
   RichTrgTools v1r1, TrackFitEvent v1r1, TrackIdealPR v1r1, TrackMCTools v1r1,
   TrackProjectors v1r1, TrConverters v1r1

- In Reco.opts
  . Remove RichRecCommon DLL, add RichRecAlgorithms DLL

- In TrgPrimVertex v4r2, TrgMuon v1r2p2
  . Fix several memory leaks, first seen in Moore v1r0

- In RichRecSys  v1r17
  . Update to photon reconstruction scheme
  . Update geometrical efficiency calculation parameters
  . Add options to run pixel create with forced-dead HPDs

- In RichGlobalPID v1r11
  . Minor speed update

- In RichTools v2r15
  . Various minor updates to existing tools
  . Add RichSepVCKthetaPhotonPredictor and RichSimplePhotonPredictor tools

- In RichRecMCTools v1r9
  . Add RichPhotonCreatorWithGaussianCKSmear tool

- In RichLocalPID v1r11, RichRecMCTools v1r9, RichRecQC v1r11,
     RichRecTools v2r15, RichTrgTools v1r1
  . Adapt to changes in RichKernel and RichRecBase base classes

- In RichHLTSys v1r1, RichRecSys v1r17, RichLocalPID v1r11, RichGlobalPID v1r11,
     RichRecMCTools v1r9, RichRecTools v2r15, RichRingRefit v1r10,
     RichTrgGlobalPID v2r0, RichTrgTools v1r1
  . Changes to allow HLT and offline reconstruction to run in same application

- In TrackFitEvent v1r1
  . type of measurement set in the constructor
  . ambiguity of OTMeasurement set also in the corresponding LHCbID

- In TrackProjectors v1r1
  . TrackMasterProjector can now handle all types of measurements

- In TrackIdealPR v1r1, TrackMCTools v1r1, TrConverters v1r1
  . Adapt to changes in TrackEvent classes

2005-06-10 RecSys v1r2

This version uses Gaudi v16r4, LHCb v18r6 (also CLHEP 1.9, ROOT 4.0)

- Packages modified: RichRecSys v1r16p3, RichRecoQC v1r10p1, TrgSys v2r7,
    TrgVelo v7r3p2, TrgCalo v2r0p1, L1Decision v5r1, CaloReco v2r9,
    CaloPIDs v2r6, CaloMoniDst v1r2

- In RecSys v1r2
  . Add options/Reco.opts, for setting up Reco phase of Brunel

- In RichRecSys v1r16p3, CaloReco v2r9, CaloPIDs v2r6:
  . Adapt job options to change in phase name from BrunelReco to Reco

- In RichRecoQC v1r10p1, CaloMoniDst v1r2
  . Adapt job options to change in phase name from BrunelMoni to Check

- In TrgSys v2r7
  . Modify Hlt.opts to allow running Hlt without running L1

- In TrgVelo v3r7p1
  . In Brunel.opts, change name of offline instances of Velo tracking algorithms,
    to avoid configuring online algorithms with offline tuning when both are
    run in the same job
  . Add property "nTracksMax". This is a dirty hack to allow throttling of L1
    trigger in RTTC. Default is 10000

- In L1Decision v5r1
  . Fix bug in accessing L0Calo L1 bank, reduces L1 accept rate from ~11% to 7.5%
  . Add L1Info class to add L1Score information to L1Buffer, for RTTC monitoring

- In TrgCalo v2r0p1
  . Clean up requirements and fix doxygen warnings

2005-05-30 RecSys v1r1

This version uses Gaudi v16r4, LHCb v18r5 (also CLHEP 1.9, ROOT 4.0)

- Packages added:    TrackExtrapolators v1r0, TrackTools v1r0, TrackMCTools v1r0,
                     TrackProjectors v1r0, TrackFitEvent v1r0, TrackIdealPR v1r0,
                     TrConverters v1r0
- Packages modified: CaloPIDs v2r5p1, CaloReco v2r8p2, GlobalReco v5r0,
    RichRecSys v1r16p2, RichRecTools v2r14p1, TrgSys v2r6, L1Decision v5r0

- In GlobalReco v5r0:
  . Major repackaging of job options to remove Panoramix dependency on DaVinci

- In CaloPIDs v2r5p1:
  . Minor changes CaloPIDsData algorithm (used for testing and PID tuning)

- In CaloReco v2r8p1:
  . Fix typo in CaloRecoOnDemand.opts, for /Event/Rec/Calo/ElectronMatch
  . Add CaloReCorrections.opts, moved from DaVinci

- In TrackExtrapolators v1r0, TrackProjectors v1r0, TrackMCTools v1r0,
     TrackTools v1r0, TrackFitEvent v1r0, TrackIdealPR v1r0, TrConverters v1r0
  . First release of Track Fit tools for new Track model

- In RichRecTools v2r14p1
  . Adapt to interface change in DetDesc v15r0

- In TrgSys v2r6
  . Add L1-RTTC.opts, to run L1 without using any L0 information, needed for RTTC

- In L1Decision v5r0
  . Adapt to DAQEvent v5r* L1Bank definitions, for RTTC compatibility

2005-05-13 RecSys v1r0

This version uses Gaudi v16r3, LHCb v18r4 (also CLHEP 1.9, ROOT 4.0).
It contains the same package versions as in BrunelSys v26r3, LbComSys v1r3
and DaVinciSys v13r1, except for:

. TrgTools is moved to LHCb
. TrgVelo v7r3: contains offline tuning for Brunel v26r3
. TrgVeloTT v7r0: fix decoding of RawBuffer for v1 of ST banks
                  remove fix to decode L1 buffer bug of DC04
. TrgCalo v2r0: Adapt decoding for RTTC data
. TrgSys  v2r4: use TrgVelo v7r3, TrgVeloTT v6r1, TrgCalo v2r0, remove TrgMuonID
                restore TrgCalo in HLT sequence
. LongTrack v1r15, TrKShort v1r6, VeloTT v1r13: updated to use STTools instead
                                                of ITAlgorithms
. CaloReco v2r8, CaloPIDs v2r5, CaloMoniDst v1r1: updated for new base classes
                                     in CaloUtils, and removed all associators
. GlobalReco v4r9: Remove all Calo related associators, use Relations directly