1 #ifndef RecoEcal_EgammaCoreTools_EcalClusterLazyTools_h
2 #define RecoEcal_EgammaCoreTools_EcalClusterLazyTools_h
55 float getESShape(
const std::vector<float>& ESHits0);
212 std::vector<DetId>
matrixDetId(
DetId id,
int ixMin,
int ixMax,
int iyMin,
int iyMax );
222 template<
class EcalClusterToolsImpl>
225 return EcalClusterToolsImpl::e1x3( cluster, getEcalRecHitCollection(cluster), topology_ );
229 template<
class EcalClusterToolsImpl>
232 return EcalClusterToolsImpl::e1x3( cluster, getEcalRecHitCollection(cluster), topology_, flagsexcl, severitiesexcl, sevLv );
237 template<
class EcalClusterToolsImpl>
240 return EcalClusterToolsImpl::e3x1( cluster, getEcalRecHitCollection(cluster), topology_ );
243 template<
class EcalClusterToolsImpl>
246 return EcalClusterToolsImpl::e3x1( cluster, getEcalRecHitCollection(cluster), topology_, flagsexcl, severitiesexcl, sevLv );
250 template<
class EcalClusterToolsImpl>
253 return EcalClusterToolsImpl::e1x5( cluster, getEcalRecHitCollection(cluster), topology_ );
256 template<
class EcalClusterToolsImpl>
259 return EcalClusterToolsImpl::e1x5( cluster, getEcalRecHitCollection(cluster), topology_, flagsexcl, severitiesexcl, sevLv );
264 template<
class EcalClusterToolsImpl>
267 return EcalClusterToolsImpl::e5x1( cluster, getEcalRecHitCollection(cluster), topology_ );
270 template<
class EcalClusterToolsImpl>
273 return EcalClusterToolsImpl::e5x1( cluster, getEcalRecHitCollection(cluster), topology_, flagsexcl, severitiesexcl, sevLv );
277 template<
class EcalClusterToolsImpl>
280 return EcalClusterToolsImpl::e2x2( cluster, getEcalRecHitCollection(cluster), topology_ );
283 template<
class EcalClusterToolsImpl>
286 return EcalClusterToolsImpl::e2x2( cluster, getEcalRecHitCollection(cluster), topology_, flagsexcl, severitiesexcl, sevLv );
290 template<
class EcalClusterToolsImpl>
293 return EcalClusterToolsImpl::e3x2( cluster, getEcalRecHitCollection(cluster), topology_ );
296 template<
class EcalClusterToolsImpl>
299 return EcalClusterToolsImpl::e3x2( cluster, getEcalRecHitCollection(cluster), topology_, flagsexcl, severitiesexcl, sevLv );
303 template<
class EcalClusterToolsImpl>
306 return EcalClusterToolsImpl::e3x3( cluster, getEcalRecHitCollection(cluster), topology_ );
309 template<
class EcalClusterToolsImpl>
312 return EcalClusterToolsImpl::e3x3( cluster, getEcalRecHitCollection(cluster), topology_, flagsexcl, severitiesexcl, sevLv );
316 template<
class EcalClusterToolsImpl>
319 return EcalClusterToolsImpl::e4x4( cluster, getEcalRecHitCollection(cluster), topology_ );
322 template<
class EcalClusterToolsImpl>
325 return EcalClusterToolsImpl::e4x4( cluster, getEcalRecHitCollection(cluster), topology_, flagsexcl, severitiesexcl, sevLv );
329 template<
class EcalClusterToolsImpl>
332 return EcalClusterToolsImpl::e5x5( cluster, getEcalRecHitCollection(cluster), topology_ );
335 template<
class EcalClusterToolsImpl>
338 return EcalClusterToolsImpl::e5x5( cluster, getEcalRecHitCollection(cluster), topology_, flagsexcl, severitiesexcl, sevLv );
342 template<
class EcalClusterToolsImpl>
345 return EcalClusterToolsImpl::e2x5Right( cluster, getEcalRecHitCollection(cluster), topology_ );
348 template<
class EcalClusterToolsImpl>
351 return EcalClusterToolsImpl::e2x5Right( cluster, getEcalRecHitCollection(cluster), topology_, flagsexcl, severitiesexcl, sevLv );
355 template<
class EcalClusterToolsImpl>
358 return EcalClusterToolsImpl::e2x5Left( cluster, getEcalRecHitCollection(cluster), topology_ );
361 template<
class EcalClusterToolsImpl>
364 return EcalClusterToolsImpl::e2x5Left( cluster, getEcalRecHitCollection(cluster), topology_, flagsexcl, severitiesexcl, sevLv );
368 template<
class EcalClusterToolsImpl>
371 return EcalClusterToolsImpl::e2x5Top( cluster, getEcalRecHitCollection(cluster), topology_ );
374 template<
class EcalClusterToolsImpl>
377 return EcalClusterToolsImpl::e2x5Top( cluster, getEcalRecHitCollection(cluster), topology_, flagsexcl, severitiesexcl, sevLv );
381 template<
class EcalClusterToolsImpl>
384 return EcalClusterToolsImpl::e2x5Bottom( cluster, getEcalRecHitCollection(cluster), topology_ );
387 template<
class EcalClusterToolsImpl>
390 return EcalClusterToolsImpl::e2x5Bottom( cluster, getEcalRecHitCollection(cluster), topology_, flagsexcl, severitiesexcl, sevLv );
394 template<
class EcalClusterToolsImpl>
397 return EcalClusterToolsImpl::e2x5Max( cluster, getEcalRecHitCollection(cluster), topology_ );
400 template<
class EcalClusterToolsImpl>
403 return EcalClusterToolsImpl::e2x5Max( cluster, getEcalRecHitCollection(cluster), topology_, flagsexcl, severitiesexcl, sevLv );
407 template<
class EcalClusterToolsImpl>
410 return EcalClusterToolsImpl::eLeft( cluster, getEcalRecHitCollection(cluster), topology_ );
413 template<
class EcalClusterToolsImpl>
416 return EcalClusterToolsImpl::eLeft( cluster, getEcalRecHitCollection(cluster), topology_, flagsexcl, severitiesexcl, sevLv );
420 template<
class EcalClusterToolsImpl>
423 return EcalClusterToolsImpl::eRight( cluster, getEcalRecHitCollection(cluster), topology_ );
426 template<
class EcalClusterToolsImpl>
429 return EcalClusterToolsImpl::eRight( cluster, getEcalRecHitCollection(cluster), topology_, flagsexcl, severitiesexcl, sevLv );
433 template<
class EcalClusterToolsImpl>
436 return EcalClusterToolsImpl::eTop( cluster, getEcalRecHitCollection(cluster), topology_ );
439 template<
class EcalClusterToolsImpl>
442 return EcalClusterToolsImpl::eTop( cluster, getEcalRecHitCollection(cluster), topology_, flagsexcl, severitiesexcl, sevLv );
446 template<
class EcalClusterToolsImpl>
449 return EcalClusterToolsImpl::eBottom( cluster, getEcalRecHitCollection(cluster), topology_ );
452 template<
class EcalClusterToolsImpl>
455 return EcalClusterToolsImpl::eBottom( cluster, getEcalRecHitCollection(cluster), topology_, flagsexcl, severitiesexcl, sevLv );
459 template<
class EcalClusterToolsImpl>
465 template<
class EcalClusterToolsImpl>
472 template<
class EcalClusterToolsImpl>
475 return EcalClusterToolsImpl::e2nd( cluster, getEcalRecHitCollection(cluster) );
478 template<
class EcalClusterToolsImpl>
481 return EcalClusterToolsImpl::e2nd( cluster, getEcalRecHitCollection(cluster), flagsexcl, severitiesexcl, sevLv );
484 template<
class EcalClusterToolsImpl>
487 return EcalClusterToolsImpl::getMaximum( cluster, getEcalRecHitCollection(cluster) );
490 template<
class EcalClusterToolsImpl>
493 return EcalClusterToolsImpl::getMaximum( cluster, getEcalRecHitCollection(cluster), flagsexcl, severitiesexcl, sevLv );
497 template<
class EcalClusterToolsImpl>
500 return EcalClusterToolsImpl::energyBasketFractionEta( cluster, getEcalRecHitCollection(cluster) );
503 template<
class EcalClusterToolsImpl>
506 return EcalClusterToolsImpl::energyBasketFractionEta( cluster, getEcalRecHitCollection(cluster), flagsexcl, severitiesexcl, sevLv );
510 template<
class EcalClusterToolsImpl>
513 return EcalClusterToolsImpl::energyBasketFractionPhi( cluster, getEcalRecHitCollection(cluster) );
516 template<
class EcalClusterToolsImpl>
519 return EcalClusterToolsImpl::energyBasketFractionPhi( cluster, getEcalRecHitCollection(cluster), flagsexcl, severitiesexcl, sevLv );
523 template<
class EcalClusterToolsImpl>
526 return EcalClusterToolsImpl::lat( cluster, getEcalRecHitCollection(cluster), geometry_, logW, w0 );
536 template<
class EcalClusterToolsImpl>
539 return EcalClusterToolsImpl::covariances( cluster, getEcalRecHitCollection(cluster), topology_, geometry_, w0 );
542 template<
class EcalClusterToolsImpl>
545 return EcalClusterToolsImpl::covariances( cluster, getEcalRecHitCollection(cluster), topology_, geometry_, flagsexcl, severitiesexcl, sevLv, w0 );
548 template<
class EcalClusterToolsImpl>
551 return EcalClusterToolsImpl::localCovariances( cluster, getEcalRecHitCollection(cluster), topology_, w0 );
554 template<
class EcalClusterToolsImpl>
557 return EcalClusterToolsImpl::localCovariances( cluster, getEcalRecHitCollection(cluster), topology_, flagsexcl, severitiesexcl, sevLv, w0 );
560 template<
class EcalClusterToolsImpl>
563 return EcalClusterToolsImpl::scLocalCovariances( cluster, getEcalRecHitCollection(cluster), topology_, w0 );
566 template<
class EcalClusterToolsImpl>
569 return EcalClusterToolsImpl::scLocalCovariances( cluster, getEcalRecHitCollection(cluster), topology_, flagsexcl, severitiesexcl, sevLv, w0 );
572 template<
class EcalClusterToolsImpl>
575 return EcalClusterToolsImpl::zernike20( cluster, getEcalRecHitCollection(cluster), geometry_, R0, logW, w0 );
579 template<
class EcalClusterToolsImpl>
582 return EcalClusterToolsImpl::zernike42( cluster, getEcalRecHitCollection(cluster), geometry_, R0, logW, w0 );
585 template<
class EcalClusterToolsImpl>
588 return EcalClusterToolsImpl::matrixDetId( topology_,
id, ixMin, ixMax, iyMin, iyMax );
591 template<
class EcalClusterToolsImpl>
594 return EcalClusterToolsImpl::matrixEnergy( cluster, getEcalRecHitCollection(cluster), topology_,
id, ixMin, ixMax, iyMin, iyMax );
597 template<
class EcalClusterToolsImpl>
600 return EcalClusterToolsImpl::matrixEnergy( cluster, getEcalRecHitCollection(cluster), topology_,
id, ixMin, ixMax, iyMin, iyMax, flagsexcl, severitiesexcl, sevLv );
const double Z[kNumberCalorimeter]
EcalClusterLazyToolsT< noZS::EcalClusterTools > EcalClusterLazyTools
ESHandle< TrackerGeometry > geometry