1 #ifndef RecoEcal_EgammaCoreTools_EcalClusterLazyTools_h
2 #define RecoEcal_EgammaCoreTools_EcalClusterLazyTools_h
54 float getESShape(
const std::vector<float>& ESHits0);
94 template<
class EcalClusterToolsImpl>
182 std::vector<DetId>
matrixDetId(
DetId id,
int ixMin,
int ixMax,
int iyMin,
int iyMax );
189 template<
class EcalClusterToolsImpl>
192 return EcalClusterToolsImpl::e1x3( cluster, getEcalRecHitCollection(cluster), topology_ );
196 template<
class EcalClusterToolsImpl>
199 return EcalClusterToolsImpl::e3x1( cluster, getEcalRecHitCollection(cluster), topology_ );
202 template<
class EcalClusterToolsImpl>
205 return EcalClusterToolsImpl::e1x5( cluster, getEcalRecHitCollection(cluster), topology_ );
209 template<
class EcalClusterToolsImpl>
212 return EcalClusterToolsImpl::e5x1( cluster, getEcalRecHitCollection(cluster), topology_ );
215 template<
class EcalClusterToolsImpl>
218 return EcalClusterToolsImpl::e2x2( cluster, getEcalRecHitCollection(cluster), topology_ );
221 template<
class EcalClusterToolsImpl>
224 return EcalClusterToolsImpl::e3x2( cluster, getEcalRecHitCollection(cluster), topology_ );
227 template<
class EcalClusterToolsImpl>
230 return EcalClusterToolsImpl::e3x3( cluster, getEcalRecHitCollection(cluster), topology_ );
233 template<
class EcalClusterToolsImpl>
236 return EcalClusterToolsImpl::e4x4( cluster, getEcalRecHitCollection(cluster), topology_ );
239 template<
class EcalClusterToolsImpl>
242 return EcalClusterToolsImpl::e5x5( cluster, getEcalRecHitCollection(cluster), topology_ );
245 template<
class EcalClusterToolsImpl>
248 return EcalClusterToolsImpl::e2x5Right( cluster, getEcalRecHitCollection(cluster), topology_ );
251 template<
class EcalClusterToolsImpl>
254 return EcalClusterToolsImpl::e2x5Left( cluster, getEcalRecHitCollection(cluster), topology_ );
257 template<
class EcalClusterToolsImpl>
260 return EcalClusterToolsImpl::e2x5Top( cluster, getEcalRecHitCollection(cluster), topology_ );
263 template<
class EcalClusterToolsImpl>
266 return EcalClusterToolsImpl::e2x5Bottom( cluster, getEcalRecHitCollection(cluster), topology_ );
269 template<
class EcalClusterToolsImpl>
272 return EcalClusterToolsImpl::e2x5Max( cluster, getEcalRecHitCollection(cluster), topology_ );
275 template<
class EcalClusterToolsImpl>
278 return EcalClusterToolsImpl::eLeft( cluster, getEcalRecHitCollection(cluster), topology_ );
281 template<
class EcalClusterToolsImpl>
284 return EcalClusterToolsImpl::eRight( cluster, getEcalRecHitCollection(cluster), topology_ );
287 template<
class EcalClusterToolsImpl>
290 return EcalClusterToolsImpl::eTop( cluster, getEcalRecHitCollection(cluster), topology_ );
293 template<
class EcalClusterToolsImpl>
296 return EcalClusterToolsImpl::eBottom( cluster, getEcalRecHitCollection(cluster), topology_ );
299 template<
class EcalClusterToolsImpl>
302 return EcalClusterToolsImpl::eMax( cluster, getEcalRecHitCollection(cluster) );
305 template<
class EcalClusterToolsImpl>
308 return EcalClusterToolsImpl::e2nd( cluster, getEcalRecHitCollection(cluster) );
311 template<
class EcalClusterToolsImpl>
314 return EcalClusterToolsImpl::getMaximum( cluster, getEcalRecHitCollection(cluster) );
317 template<
class EcalClusterToolsImpl>
320 return EcalClusterToolsImpl::energyBasketFractionEta( cluster, getEcalRecHitCollection(cluster) );
323 template<
class EcalClusterToolsImpl>
326 return EcalClusterToolsImpl::energyBasketFractionPhi( cluster, getEcalRecHitCollection(cluster) );
329 template<
class EcalClusterToolsImpl>
332 return EcalClusterToolsImpl::lat( cluster, getEcalRecHitCollection(cluster), geometry_, logW, w0 );
335 template<
class EcalClusterToolsImpl>
338 return EcalClusterToolsImpl::covariances( cluster, getEcalRecHitCollection(cluster), topology_, geometry_, w0 );
341 template<
class EcalClusterToolsImpl>
344 return EcalClusterToolsImpl::localCovariances( cluster, getEcalRecHitCollection(cluster), topology_, w0 );
347 template<
class EcalClusterToolsImpl>
350 return EcalClusterToolsImpl::scLocalCovariances( cluster, getEcalRecHitCollection(cluster), topology_, w0 );
353 template<
class EcalClusterToolsImpl>
356 return EcalClusterToolsImpl::zernike20( cluster, getEcalRecHitCollection(cluster), geometry_, R0, logW, w0 );
360 template<
class EcalClusterToolsImpl>
363 return EcalClusterToolsImpl::zernike42( cluster, getEcalRecHitCollection(cluster), geometry_, R0, logW, w0 );
366 template<
class EcalClusterToolsImpl>
369 return EcalClusterToolsImpl::matrixDetId( topology_,
id, ixMin, ixMax, iyMin, iyMax );
372 template<
class EcalClusterToolsImpl>
375 return EcalClusterToolsImpl::matrixEnergy( cluster, getEcalRecHitCollection(cluster), topology_,
id, ixMin, ixMax, iyMin, iyMax );
const double Z[kNumberCalorimeter]
EcalClusterLazyToolsT< noZS::EcalClusterTools > EcalClusterLazyTools
ESHandle< TrackerGeometry > geometry