avoid unecessary computations and branches, reduce hte maximum number of iteration: never seen more than 7 if successful
clean second order solution
clean asin protection
Convert BaseCkfTrajectoryBuilder classes to be constructed via plugin factory

- Add new constructors to BaseCkfTrajectoryBuilder classes
- Add BaseCkfTrajectoryBuilderFactory
- Add BaseCkfTrajectoryBuilder::setEvent() (to be called instead of clone)
- Migrate CkfTrackCandidateMakerBase and ConversionTrackCandidateProducer
  to construct BaseCkfTrajectroryBuilder via factory
- In MuonCkfTrajectoryBuilder, the theEtaPhiEstimator must be
  initialised in setEvent_() instead of constructor
- Remove CkfTrajectoryBuilder ESProducers
Convert std::cout to edm::LogError
Migrate configuration to use refToPSet_ for TrajectoryBuilder

The old ESProducer files are kept for now for ConfDB migration, they
will be cleaned afterwards.
Convert TrajectoryFilter classes to be constructed via plugin factory

- Add TrajectoryFilter::setEvent() to read data from edm::Event and/or edm::EventSetup
- Remove TrajectoryFilter ESProducers
- Remove TYPELOOKUP_DATA_REG(TrajectoryFilter)
Migrate BaseCkfTrajectoryBuilder to use TrajectoryFilter via plugin factory
Use unique_ptr in BaseCkfTrajectoryBuilder
Migrate configuration to use refToPSet_ for TrajectoryFilter
Add edm::ConsumesCollector parameter to constructors of BaseCkfTrajectoryBuilder classes

Will need to deliver edm::ConsumesCollector to TrajectoryFilter
constructor (to be added in a later commit).
Add edm::ConsumesCollector parameter to constructors of TrajectoryFilter classes

Will need to deliver edm::ConsumesCollector to
ClusterShapeTrajectoryFilter (to be added in a later commit).
Add edm::Event parameter to SeedComparitor::init()

Needed to deliver edm::Event to LowPtClusterShapeSeedComparitor, so
that it can read pixel cluster cache from Event and deliver it to
ClusterShapeHitFilter (to be committed later).
Add edm::ConsumesCollector parameter to HitTripletGeneratorFromPairAndLayers constructor

Will need to deliver edm::ConsumesCollector to SeedComparitor in
PixelTripletHLTGenerator (to be added in later commit).

Inherit from HitTripletGeneratorFromPairAndLayers
- PixelTripletHLTGenerator
- PixelTripletLargeTipGenerator
- PixelTripletNoTipGenerator

CombinedHitTripletGenerator uses HitTripletGeneratorFromPairAndLayersFactory.
Move the construction of SeedComparitor from trajectorySeed() to constructor SeedForPhotonConversionFromQuadruplets

Will need to deliver edm::ConsumesCollector to SeedComparitor
constructor (to be added in a later commit).

Knock-on effects in PhotonConversionTrajectorySeedProducerFromQuadrupletsAlgo
- move construction of SeedForPhotonConversionFromQuadruplets from
  trajectorySeed() to constructor
Add edm::ConsumesCollector to SeedComparitor constructor

Will need to read pixel cluster shape cache from edm::Event in
LowPtClusterShapeSeedComparitor and PixelClusterShapeSeedComparitor in
order to pass the cache object to ClusterShapeHitFilter (to be
committed later).
Add SiPixelClusterShapeCache data format
Overload ClusterShape::determineShape() to accept also SiPixelCluster
Add SiPixelClusterShapeCacheProducer
Add dictionaries for SiPixelClusterShapeCache