Smearer objects take a 4-vector and smear it according to some parameterisation.
They are instantiated and used by the various Maker classes.
Smearers are required for electrons, muons, photons, tracks
and jets.
All Smearer diagrams are shown
in the Smearers class diagram
All smearers take some kinematic entity and smear it according
to a specific parameterisation.
Since the argument and return type are usually 4-vectors,
it is only the parameterisation of the smearing which is specific to each smearer.
Thus making a smearer interface enables the user to select a specific smearer at run-time.
The default smearer provides common functionality to smearers which honour the ISmearer interface.
It provides a random number method and
also a default smearing method which in general will be overwritten by any derived classes.
There are three types of smearer for ReconstructedParticles, all of which can be instantiated at run-time by a DefaultReconstructedParticleMaker.
JetSmearer honours the ISmearer interface and derives from DefaultSmearer and is instantiated by the JetMaker algorithm. It follows the parametrisation of L.Poggioli.
Unlike the smearers documented above, tracks comprise five helix parameters,
rather than a four-vector and so do not conform to the ISmearer interface.
The smearing of Tracks is carried out by a separate TrackSmearer class,
which is instantiated by the TrackMaker algorithm.
There are three types of particle which make tracks in Atlfast