Backporting some changes made for CMS pixel high-rate testbeam

Adding new processors:
* EUTelConvertCMSPixel uses the CMSPixelDecoder to convert PSI46 raw data to LCIO
* CMSPixelClusterTupel writes out ntuples of clusters for outside processing (could be generalized probably)
* Minor changes to other processors, some bugfixes
well, in this case: any magic in beam divergence is better than no
divergence at all (as it was before). At least that is what I observed.
For all the prealignment of cms pixel testbeams we used a version
including beam divergence.

On 14.11.2014 23:28, rubinsky wrote:
>
> In src/EUTelPreAlignment.cc:
>
> >    for( int iPlane = 0 ; iPlane < _siPlanesLayerLayout->getNLayers(); iPlane++ ) {
> >  
> > -    if(_siPlanesLayerLayout->getID(iPlane) == _fixedID ) { 
> > -      //Get Zpos of ref plane
> > -      _fixedZ = _siPlanesLayerLayout->getSensitivePositionZ(iPlane); 
> > -    } else {
> > -      //Get 
> > -      _preAligners.push_back( PreAligner( _siPlanesLayerLayout->getSensitivePitchX(iPlane),
> > -					  _siPlanesLayerLayout->getSensitivePitchY(iPlane),
> > -					  _siPlanesLayerLayout->getSensitivePositionZ(iPlane),
> > -					  _siPlanesLayerLayout->getID(iPlane)) );
> > -    }
> > +    if(_siPlanesLayerLayout->getID(iPlane) == _fixedID ) { continue; }
> > +
> > +    // This approach for histogram binning takes the beam divergence into account:
> > +    float ourZ = _siPlanesLayerLayout->getSensitivePositionZ(iPlane);
> > +    float spread = 0.001 * abs( ourZ - _fixedZ ); // beam divergence
>
> magic numbers!
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/eutelescope/eutelescope/pull/31/files#r20391392>.
>