1 #ifndef RecoEcal_EgammaCoreTools_EcalClusterLazyTools_h
2 #define RecoEcal_EgammaCoreTools_EcalClusterLazyTools_h
55 float getESShape(
const std::vector<float>& ESHits0);
95 template<
class EcalClusterToolsImpl>
187 std::vector<DetId>
matrixDetId(
DetId id,
int ixMin,
int ixMax,
int iyMin,
int iyMax );
194 template<
class EcalClusterToolsImpl>
197 return EcalClusterToolsImpl::e1x3( cluster, getEcalRecHitCollection(cluster), topology_ );
201 template<
class EcalClusterToolsImpl>
204 return EcalClusterToolsImpl::e3x1( cluster, getEcalRecHitCollection(cluster), topology_ );
207 template<
class EcalClusterToolsImpl>
210 return EcalClusterToolsImpl::e1x5( cluster, getEcalRecHitCollection(cluster), topology_ );
214 template<
class EcalClusterToolsImpl>
217 return EcalClusterToolsImpl::e5x1( cluster, getEcalRecHitCollection(cluster), topology_ );
220 template<
class EcalClusterToolsImpl>
223 return EcalClusterToolsImpl::e2x2( cluster, getEcalRecHitCollection(cluster), topology_ );
226 template<
class EcalClusterToolsImpl>
229 return EcalClusterToolsImpl::e3x2( cluster, getEcalRecHitCollection(cluster), topology_ );
232 template<
class EcalClusterToolsImpl>
235 return EcalClusterToolsImpl::e3x3( cluster, getEcalRecHitCollection(cluster), topology_ );
238 template<
class EcalClusterToolsImpl>
241 return EcalClusterToolsImpl::e4x4( cluster, getEcalRecHitCollection(cluster), topology_ );
244 template<
class EcalClusterToolsImpl>
247 return EcalClusterToolsImpl::e5x5( cluster, getEcalRecHitCollection(cluster), topology_ );
250 template<
class EcalClusterToolsImpl>
253 return EcalClusterToolsImpl::e2x5Right( cluster, getEcalRecHitCollection(cluster), topology_ );
256 template<
class EcalClusterToolsImpl>
259 return EcalClusterToolsImpl::e2x5Left( cluster, getEcalRecHitCollection(cluster), topology_ );
262 template<
class EcalClusterToolsImpl>
265 return EcalClusterToolsImpl::e2x5Top( cluster, getEcalRecHitCollection(cluster), topology_ );
268 template<
class EcalClusterToolsImpl>
271 return EcalClusterToolsImpl::e2x5Bottom( cluster, getEcalRecHitCollection(cluster), topology_ );
274 template<
class EcalClusterToolsImpl>
277 return EcalClusterToolsImpl::e2x5Max( cluster, getEcalRecHitCollection(cluster), topology_ );
280 template<
class EcalClusterToolsImpl>
283 return EcalClusterToolsImpl::eLeft( cluster, getEcalRecHitCollection(cluster), topology_ );
286 template<
class EcalClusterToolsImpl>
289 return EcalClusterToolsImpl::eRight( cluster, getEcalRecHitCollection(cluster), topology_ );
292 template<
class EcalClusterToolsImpl>
295 return EcalClusterToolsImpl::eTop( cluster, getEcalRecHitCollection(cluster), topology_ );
298 template<
class EcalClusterToolsImpl>
301 return EcalClusterToolsImpl::eBottom( cluster, getEcalRecHitCollection(cluster), topology_ );
304 template<
class EcalClusterToolsImpl>
307 return EcalClusterToolsImpl::eMax( cluster, getEcalRecHitCollection(cluster) );
310 template<
class EcalClusterToolsImpl>
313 return EcalClusterToolsImpl::e2nd( cluster, getEcalRecHitCollection(cluster) );
316 template<
class EcalClusterToolsImpl>
319 return EcalClusterToolsImpl::getMaximum( cluster, getEcalRecHitCollection(cluster) );
322 template<
class EcalClusterToolsImpl>
325 return EcalClusterToolsImpl::energyBasketFractionEta( cluster, getEcalRecHitCollection(cluster) );
328 template<
class EcalClusterToolsImpl>
331 return EcalClusterToolsImpl::energyBasketFractionPhi( cluster, getEcalRecHitCollection(cluster) );
334 template<
class EcalClusterToolsImpl>
337 return EcalClusterToolsImpl::lat( cluster, getEcalRecHitCollection(cluster), geometry_, logW, w0 );
340 template<
class EcalClusterToolsImpl>
343 return EcalClusterToolsImpl::covariances( cluster, getEcalRecHitCollection(cluster), topology_, geometry_, w0 );
346 template<
class EcalClusterToolsImpl>
349 return EcalClusterToolsImpl::localCovariances( cluster, getEcalRecHitCollection(cluster), topology_, w0 );
352 template<
class EcalClusterToolsImpl>
355 return EcalClusterToolsImpl::scLocalCovariances( cluster, getEcalRecHitCollection(cluster), topology_, w0 );
358 template<
class EcalClusterToolsImpl>
361 return EcalClusterToolsImpl::zernike20( cluster, getEcalRecHitCollection(cluster), geometry_, R0, logW, w0 );
365 template<
class EcalClusterToolsImpl>
368 return EcalClusterToolsImpl::zernike42( cluster, getEcalRecHitCollection(cluster), geometry_, R0, logW, w0 );
371 template<
class EcalClusterToolsImpl>
374 return EcalClusterToolsImpl::matrixDetId( topology_,
id, ixMin, ixMax, iyMin, iyMax );
377 template<
class EcalClusterToolsImpl>
380 return EcalClusterToolsImpl::matrixEnergy( cluster, getEcalRecHitCollection(cluster), topology_,
id, ixMin, ixMax, iyMin, iyMax );
const double Z[kNumberCalorimeter]
EcalClusterLazyToolsT< noZS::EcalClusterTools > EcalClusterLazyTools
ESHandle< TrackerGeometry > geometry