1 #ifndef RecoEcal_EgammaCoreTools_EcalClusterLazyTools_h
2 #define RecoEcal_EgammaCoreTools_EcalClusterLazyTools_h
55 float getESShape(
const std::vector<float>& ESHits0);
104 template<
class EcalClusterToolsImpl>
197 std::vector<DetId>
matrixDetId(
DetId id,
int ixMin,
int ixMax,
int iyMin,
int iyMax );
204 template<
class EcalClusterToolsImpl>
207 return EcalClusterToolsImpl::e1x3( cluster, getEcalRecHitCollection(cluster), topology_ );
211 template<
class EcalClusterToolsImpl>
214 return EcalClusterToolsImpl::e3x1( cluster, getEcalRecHitCollection(cluster), topology_ );
217 template<
class EcalClusterToolsImpl>
220 return EcalClusterToolsImpl::e1x5( cluster, getEcalRecHitCollection(cluster), topology_ );
224 template<
class EcalClusterToolsImpl>
227 return EcalClusterToolsImpl::e5x1( cluster, getEcalRecHitCollection(cluster), topology_ );
230 template<
class EcalClusterToolsImpl>
233 return EcalClusterToolsImpl::e2x2( cluster, getEcalRecHitCollection(cluster), topology_ );
236 template<
class EcalClusterToolsImpl>
239 return EcalClusterToolsImpl::e3x2( cluster, getEcalRecHitCollection(cluster), topology_ );
242 template<
class EcalClusterToolsImpl>
245 return EcalClusterToolsImpl::e3x3( cluster, getEcalRecHitCollection(cluster), topology_ );
248 template<
class EcalClusterToolsImpl>
251 return EcalClusterToolsImpl::e4x4( cluster, getEcalRecHitCollection(cluster), topology_ );
254 template<
class EcalClusterToolsImpl>
257 return EcalClusterToolsImpl::e5x5( cluster, getEcalRecHitCollection(cluster), topology_ );
260 template<
class EcalClusterToolsImpl>
263 return EcalClusterToolsImpl::n5x5( cluster, getEcalRecHitCollection(cluster), topology_ );
266 template<
class EcalClusterToolsImpl>
269 return EcalClusterToolsImpl::e2x5Right( cluster, getEcalRecHitCollection(cluster), topology_ );
272 template<
class EcalClusterToolsImpl>
275 return EcalClusterToolsImpl::e2x5Left( cluster, getEcalRecHitCollection(cluster), topology_ );
278 template<
class EcalClusterToolsImpl>
281 return EcalClusterToolsImpl::e2x5Top( cluster, getEcalRecHitCollection(cluster), topology_ );
284 template<
class EcalClusterToolsImpl>
287 return EcalClusterToolsImpl::e2x5Bottom( cluster, getEcalRecHitCollection(cluster), topology_ );
290 template<
class EcalClusterToolsImpl>
293 return EcalClusterToolsImpl::e2x5Max( cluster, getEcalRecHitCollection(cluster), topology_ );
296 template<
class EcalClusterToolsImpl>
299 return EcalClusterToolsImpl::eLeft( cluster, getEcalRecHitCollection(cluster), topology_ );
302 template<
class EcalClusterToolsImpl>
305 return EcalClusterToolsImpl::eRight( cluster, getEcalRecHitCollection(cluster), topology_ );
308 template<
class EcalClusterToolsImpl>
311 return EcalClusterToolsImpl::eTop( cluster, getEcalRecHitCollection(cluster), topology_ );
314 template<
class EcalClusterToolsImpl>
317 return EcalClusterToolsImpl::eBottom( cluster, getEcalRecHitCollection(cluster), topology_ );
320 template<
class EcalClusterToolsImpl>
323 return EcalClusterToolsImpl::eMax( cluster, getEcalRecHitCollection(cluster) );
326 template<
class EcalClusterToolsImpl>
329 return EcalClusterToolsImpl::e2nd( cluster, getEcalRecHitCollection(cluster) );
332 template<
class EcalClusterToolsImpl>
335 return EcalClusterToolsImpl::getMaximum( cluster, getEcalRecHitCollection(cluster) );
338 template<
class EcalClusterToolsImpl>
341 return EcalClusterToolsImpl::energyBasketFractionEta( cluster, getEcalRecHitCollection(cluster) );
344 template<
class EcalClusterToolsImpl>
347 return EcalClusterToolsImpl::energyBasketFractionPhi( cluster, getEcalRecHitCollection(cluster) );
350 template<
class EcalClusterToolsImpl>
353 return EcalClusterToolsImpl::lat( cluster, getEcalRecHitCollection(cluster), geometry_, logW, w0 );
356 template<
class EcalClusterToolsImpl>
359 return EcalClusterToolsImpl::covariances( cluster, getEcalRecHitCollection(cluster), topology_, geometry_, w0 );
362 template<
class EcalClusterToolsImpl>
365 return EcalClusterToolsImpl::localCovariances( cluster, getEcalRecHitCollection(cluster), topology_, w0 );
368 template<
class EcalClusterToolsImpl>
371 return EcalClusterToolsImpl::scLocalCovariances( cluster, getEcalRecHitCollection(cluster), topology_, w0 );
374 template<
class EcalClusterToolsImpl>
377 return EcalClusterToolsImpl::zernike20( cluster, getEcalRecHitCollection(cluster), geometry_, R0, logW, w0 );
381 template<
class EcalClusterToolsImpl>
384 return EcalClusterToolsImpl::zernike42( cluster, getEcalRecHitCollection(cluster), geometry_, R0, logW, w0 );
387 template<
class EcalClusterToolsImpl>
390 return EcalClusterToolsImpl::matrixDetId( topology_,
id, ixMin, ixMax, iyMin, iyMax );
393 template<
class EcalClusterToolsImpl>
396 return EcalClusterToolsImpl::matrixEnergy( cluster, getEcalRecHitCollection(cluster), topology_,
id, ixMin, ixMax, iyMin, iyMax );
const double Z[kNumberCalorimeter]
EcalClusterLazyToolsT< noZS::EcalClusterTools > EcalClusterLazyTools
ESHandle< TrackerGeometry > geometry