1 #ifndef RecoEcal_EgammaCoreTools_EcalClusterLazyTools_h
2 #define RecoEcal_EgammaCoreTools_EcalClusterLazyTools_h
55 float getESShape(
const std::vector<float>& ESHits0);
102 template<
class EcalClusterToolsImpl>
195 std::vector<DetId>
matrixDetId(
DetId id,
int ixMin,
int ixMax,
int iyMin,
int iyMax );
202 template<
class EcalClusterToolsImpl>
205 return EcalClusterToolsImpl::e1x3( cluster, getEcalRecHitCollection(cluster), topology_ );
209 template<
class EcalClusterToolsImpl>
212 return EcalClusterToolsImpl::e3x1( cluster, getEcalRecHitCollection(cluster), topology_ );
215 template<
class EcalClusterToolsImpl>
218 return EcalClusterToolsImpl::e1x5( cluster, getEcalRecHitCollection(cluster), topology_ );
222 template<
class EcalClusterToolsImpl>
225 return EcalClusterToolsImpl::e5x1( cluster, getEcalRecHitCollection(cluster), topology_ );
228 template<
class EcalClusterToolsImpl>
231 return EcalClusterToolsImpl::e2x2( cluster, getEcalRecHitCollection(cluster), topology_ );
234 template<
class EcalClusterToolsImpl>
237 return EcalClusterToolsImpl::e3x2( cluster, getEcalRecHitCollection(cluster), topology_ );
240 template<
class EcalClusterToolsImpl>
243 return EcalClusterToolsImpl::e3x3( cluster, getEcalRecHitCollection(cluster), topology_ );
246 template<
class EcalClusterToolsImpl>
249 return EcalClusterToolsImpl::e4x4( cluster, getEcalRecHitCollection(cluster), topology_ );
252 template<
class EcalClusterToolsImpl>
255 return EcalClusterToolsImpl::e5x5( cluster, getEcalRecHitCollection(cluster), topology_ );
258 template<
class EcalClusterToolsImpl>
261 return EcalClusterToolsImpl::n5x5( cluster, getEcalRecHitCollection(cluster), topology_ );
264 template<
class EcalClusterToolsImpl>
267 return EcalClusterToolsImpl::e2x5Right( cluster, getEcalRecHitCollection(cluster), topology_ );
270 template<
class EcalClusterToolsImpl>
273 return EcalClusterToolsImpl::e2x5Left( cluster, getEcalRecHitCollection(cluster), topology_ );
276 template<
class EcalClusterToolsImpl>
279 return EcalClusterToolsImpl::e2x5Top( cluster, getEcalRecHitCollection(cluster), topology_ );
282 template<
class EcalClusterToolsImpl>
285 return EcalClusterToolsImpl::e2x5Bottom( cluster, getEcalRecHitCollection(cluster), topology_ );
288 template<
class EcalClusterToolsImpl>
291 return EcalClusterToolsImpl::e2x5Max( cluster, getEcalRecHitCollection(cluster), topology_ );
294 template<
class EcalClusterToolsImpl>
297 return EcalClusterToolsImpl::eLeft( cluster, getEcalRecHitCollection(cluster), topology_ );
300 template<
class EcalClusterToolsImpl>
303 return EcalClusterToolsImpl::eRight( cluster, getEcalRecHitCollection(cluster), topology_ );
306 template<
class EcalClusterToolsImpl>
309 return EcalClusterToolsImpl::eTop( cluster, getEcalRecHitCollection(cluster), topology_ );
312 template<
class EcalClusterToolsImpl>
315 return EcalClusterToolsImpl::eBottom( cluster, getEcalRecHitCollection(cluster), topology_ );
318 template<
class EcalClusterToolsImpl>
321 return EcalClusterToolsImpl::eMax( cluster, getEcalRecHitCollection(cluster) );
324 template<
class EcalClusterToolsImpl>
327 return EcalClusterToolsImpl::e2nd( cluster, getEcalRecHitCollection(cluster) );
330 template<
class EcalClusterToolsImpl>
333 return EcalClusterToolsImpl::getMaximum( cluster, getEcalRecHitCollection(cluster) );
336 template<
class EcalClusterToolsImpl>
339 return EcalClusterToolsImpl::energyBasketFractionEta( cluster, getEcalRecHitCollection(cluster) );
342 template<
class EcalClusterToolsImpl>
345 return EcalClusterToolsImpl::energyBasketFractionPhi( cluster, getEcalRecHitCollection(cluster) );
348 template<
class EcalClusterToolsImpl>
351 return EcalClusterToolsImpl::lat( cluster, getEcalRecHitCollection(cluster), geometry_, logW, w0 );
354 template<
class EcalClusterToolsImpl>
357 return EcalClusterToolsImpl::covariances( cluster, getEcalRecHitCollection(cluster), topology_, geometry_, w0 );
360 template<
class EcalClusterToolsImpl>
363 return EcalClusterToolsImpl::localCovariances( cluster, getEcalRecHitCollection(cluster), topology_, w0 );
366 template<
class EcalClusterToolsImpl>
369 return EcalClusterToolsImpl::scLocalCovariances( cluster, getEcalRecHitCollection(cluster), topology_, w0 );
372 template<
class EcalClusterToolsImpl>
375 return EcalClusterToolsImpl::zernike20( cluster, getEcalRecHitCollection(cluster), geometry_, R0, logW, w0 );
379 template<
class EcalClusterToolsImpl>
382 return EcalClusterToolsImpl::zernike42( cluster, getEcalRecHitCollection(cluster), geometry_, R0, logW, w0 );
385 template<
class EcalClusterToolsImpl>
388 return EcalClusterToolsImpl::matrixDetId( topology_,
id, ixMin, ixMax, iyMin, iyMax );
391 template<
class EcalClusterToolsImpl>
394 return EcalClusterToolsImpl::matrixEnergy( cluster, getEcalRecHitCollection(cluster), topology_,
id, ixMin, ixMax, iyMin, iyMax );
const double Z[kNumberCalorimeter]
EcalClusterLazyToolsT< noZS::EcalClusterTools > EcalClusterLazyTools
ESHandle< TrackerGeometry > geometry