CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

EcalClusterLazyTools Class Reference

#include <EcalClusterLazyTools.h>

List of all members.

Public Member Functions

std::vector< float > covariances (const reco::BasicCluster &cluster, float w0=4.7)
float e1x3 (const reco::BasicCluster &cluster)
float e1x5 (const reco::BasicCluster &cluster)
float e2nd (const reco::BasicCluster &cluster)
float e2x2 (const reco::BasicCluster &cluster)
float e2x5Bottom (const reco::BasicCluster &cluster)
float e2x5Left (const reco::BasicCluster &cluster)
float e2x5Max (const reco::BasicCluster &cluster)
float e2x5Right (const reco::BasicCluster &cluster)
float e2x5Top (const reco::BasicCluster &cluster)
float e3x1 (const reco::BasicCluster &cluster)
float e3x2 (const reco::BasicCluster &cluster)
float e3x3 (const reco::BasicCluster &cluster)
float e4x4 (const reco::BasicCluster &cluster)
float e5x5 (const reco::BasicCluster &cluster)
float eBottom (const reco::BasicCluster &cluster)
 EcalClusterLazyTools (const edm::Event &ev, const edm::EventSetup &es, edm::InputTag redEBRecHits, edm::InputTag redEERecHits)
float eLeft (const reco::BasicCluster &cluster)
float eMax (const reco::BasicCluster &cluster)
std::vector< float > energyBasketFractionEta (const reco::BasicCluster &cluster)
std::vector< float > energyBasketFractionPhi (const reco::BasicCluster &cluster)
float eRight (const reco::BasicCluster &cluster)
float eTop (const reco::BasicCluster &cluster)
std::pair< DetId, float > getMaximum (const reco::BasicCluster &cluster)
std::vector< float > lat (const reco::BasicCluster &cluster, bool logW=true, float w0=4.7)
std::vector< float > localCovariances (const reco::BasicCluster &cluster, float w0=4.7)
std::vector< DetIdmatrixDetId (DetId id, int ixMin, int ixMax, int iyMin, int iyMax)
float matrixEnergy (const reco::BasicCluster &cluster, DetId id, int ixMin, int ixMax, int iyMin, int iyMax)
std::vector< float > scLocalCovariances (const reco::SuperCluster &cluster, float w0=4.7)
double zernike20 (const reco::BasicCluster &cluster, double R0=6.6, bool logW=true, float w0=4.7)
double zernike42 (const reco::BasicCluster &cluster, double R0=6.6, bool logW=true, float w0=4.7)
 ~EcalClusterLazyTools ()

Private Member Functions

void getEBRecHits (const edm::Event &ev, edm::InputTag redEBRecHits)
const EcalRecHitCollectiongetEcalRecHitCollection (const reco::BasicCluster &cluster)
void getEERecHits (const edm::Event &ev, edm::InputTag redEERecHits)
void getGeometry (const edm::EventSetup &es)
void getTopology (const edm::EventSetup &es)

Private Attributes

const EcalRecHitCollectionebRecHits_
const EcalRecHitCollectioneeRecHits_
const CaloGeometrygeometry_
const CaloTopologytopology_

Detailed Description

various cluster tools (e.g. cluster shapes)

Author:
Federico Ferri
Version:
$Id:

Definition at line 23 of file EcalClusterLazyTools.h.


Constructor & Destructor Documentation

EcalClusterLazyTools::EcalClusterLazyTools ( const edm::Event ev,
const edm::EventSetup es,
edm::InputTag  redEBRecHits,
edm::InputTag  redEERecHits 
)

Definition at line 14 of file EcalClusterLazyTools.cc.

References getEBRecHits(), getEERecHits(), getGeometry(), and getTopology().

{
        getGeometry( es );
        getTopology( es );
        getEBRecHits( ev, redEBRecHits );
        getEERecHits( ev, redEERecHits );
}
EcalClusterLazyTools::~EcalClusterLazyTools ( )

Definition at line 24 of file EcalClusterLazyTools.cc.

{
}

Member Function Documentation

std::vector< float > EcalClusterLazyTools::covariances ( const reco::BasicCluster cluster,
float  w0 = 4.7 
)
float EcalClusterLazyTools::e1x3 ( const reco::BasicCluster cluster)

Definition at line 85 of file EcalClusterLazyTools.cc.

References getEcalRecHitCollection(), and topology_.

{
        return EcalClusterTools::e1x3( cluster, getEcalRecHitCollection(cluster), topology_ );
}
float EcalClusterLazyTools::e1x5 ( const reco::BasicCluster cluster)

Definition at line 97 of file EcalClusterLazyTools.cc.

References getEcalRecHitCollection(), and topology_.

{
        return EcalClusterTools::e1x5( cluster, getEcalRecHitCollection(cluster), topology_ );
}
float EcalClusterLazyTools::e2nd ( const reco::BasicCluster cluster)

Definition at line 199 of file EcalClusterLazyTools.cc.

References getEcalRecHitCollection().

{
        return EcalClusterTools::e2nd( cluster, getEcalRecHitCollection(cluster) );
}
float EcalClusterLazyTools::e2x2 ( const reco::BasicCluster cluster)

Definition at line 109 of file EcalClusterLazyTools.cc.

References getEcalRecHitCollection(), and topology_.

Referenced by SoftElectronProducer::produce().

{
        return EcalClusterTools::e2x2( cluster, getEcalRecHitCollection(cluster), topology_ );
}
float EcalClusterLazyTools::e2x5Bottom ( const reco::BasicCluster cluster)

Definition at line 157 of file EcalClusterLazyTools.cc.

References getEcalRecHitCollection(), and topology_.

float EcalClusterLazyTools::e2x5Left ( const reco::BasicCluster cluster)

Definition at line 145 of file EcalClusterLazyTools.cc.

References getEcalRecHitCollection(), and topology_.

float EcalClusterLazyTools::e2x5Max ( const reco::BasicCluster cluster)

Definition at line 163 of file EcalClusterLazyTools.cc.

References getEcalRecHitCollection(), and topology_.

float EcalClusterLazyTools::e2x5Right ( const reco::BasicCluster cluster)

Definition at line 139 of file EcalClusterLazyTools.cc.

References getEcalRecHitCollection(), and topology_.

float EcalClusterLazyTools::e2x5Top ( const reco::BasicCluster cluster)

Definition at line 151 of file EcalClusterLazyTools.cc.

References getEcalRecHitCollection(), and topology_.

float EcalClusterLazyTools::e3x1 ( const reco::BasicCluster cluster)

Definition at line 91 of file EcalClusterLazyTools.cc.

References getEcalRecHitCollection(), and topology_.

{
        return EcalClusterTools::e3x1( cluster, getEcalRecHitCollection(cluster), topology_ );
}
float EcalClusterLazyTools::e3x2 ( const reco::BasicCluster cluster)

Definition at line 115 of file EcalClusterLazyTools.cc.

References getEcalRecHitCollection(), and topology_.

{
        return EcalClusterTools::e3x2( cluster, getEcalRecHitCollection(cluster), topology_ );
}
float EcalClusterLazyTools::e3x3 ( const reco::BasicCluster cluster)
float EcalClusterLazyTools::e4x4 ( const reco::BasicCluster cluster)

Definition at line 127 of file EcalClusterLazyTools.cc.

References getEcalRecHitCollection(), and topology_.

{
        return EcalClusterTools::e4x4( cluster, getEcalRecHitCollection(cluster), topology_ );
}
float EcalClusterLazyTools::e5x5 ( const reco::BasicCluster cluster)
float EcalClusterLazyTools::eBottom ( const reco::BasicCluster cluster)

Definition at line 187 of file EcalClusterLazyTools.cc.

References getEcalRecHitCollection(), and topology_.

float EcalClusterLazyTools::eLeft ( const reco::BasicCluster cluster)

Definition at line 169 of file EcalClusterLazyTools.cc.

References getEcalRecHitCollection(), and topology_.

{
        return EcalClusterTools::eLeft( cluster, getEcalRecHitCollection(cluster), topology_ );
}
float EcalClusterLazyTools::eMax ( const reco::BasicCluster cluster)
std::vector< float > EcalClusterLazyTools::energyBasketFractionEta ( const reco::BasicCluster cluster)

Definition at line 211 of file EcalClusterLazyTools.cc.

References getEcalRecHitCollection().

std::vector< float > EcalClusterLazyTools::energyBasketFractionPhi ( const reco::BasicCluster cluster)

Definition at line 217 of file EcalClusterLazyTools.cc.

References getEcalRecHitCollection().

float EcalClusterLazyTools::eRight ( const reco::BasicCluster cluster)

Definition at line 175 of file EcalClusterLazyTools.cc.

References getEcalRecHitCollection(), and topology_.

float EcalClusterLazyTools::eTop ( const reco::BasicCluster cluster)

Definition at line 181 of file EcalClusterLazyTools.cc.

References getEcalRecHitCollection(), and topology_.

{
        return EcalClusterTools::eTop( cluster, getEcalRecHitCollection(cluster), topology_ );
}
void EcalClusterLazyTools::getEBRecHits ( const edm::Event ev,
edm::InputTag  redEBRecHits 
) [private]

Definition at line 48 of file EcalClusterLazyTools.cc.

References ebRecHits_, edm::Event::getByLabel(), and edm::Handle< T >::product().

Referenced by EcalClusterLazyTools().

{
        edm::Handle< EcalRecHitCollection > pEBRecHits;
        ev.getByLabel( redEBRecHits, pEBRecHits );
        ebRecHits_ = pEBRecHits.product();
}
const EcalRecHitCollection * EcalClusterLazyTools::getEcalRecHitCollection ( const reco::BasicCluster cluster) [private]

Definition at line 66 of file EcalClusterLazyTools.cc.

References ebRecHits_, EcalBarrel, EcalEndcap, eeRecHits_, Exception, and first.

Referenced by covariances(), e1x3(), e1x5(), e2nd(), e2x2(), e2x5Bottom(), e2x5Left(), e2x5Max(), e2x5Right(), e2x5Top(), e3x1(), e3x2(), e3x3(), e4x4(), e5x5(), eBottom(), eLeft(), eMax(), energyBasketFractionEta(), energyBasketFractionPhi(), eRight(), eTop(), getMaximum(), lat(), localCovariances(), matrixEnergy(), scLocalCovariances(), zernike20(), and zernike42().

{
        if ( cluster.size() == 0 ) {
                throw cms::Exception("InvalidCluster") << "The cluster has no crystals!";
        }
        DetId id = (cluster.hitsAndFractions()[0]).first; // size is by definition > 0 -- FIXME??
        const EcalRecHitCollection *recHits = 0;
        if ( id.subdetId() == EcalBarrel ) {
                recHits = ebRecHits_;
        } else if ( id.subdetId() == EcalEndcap ) {
                recHits = eeRecHits_;
        } else {
                throw cms::Exception("InvalidSubdetector") << "The subdetId() " << id.subdetId() << " does not correspond to EcalBarrel neither EcalEndcap";
        }
        return recHits;
}
void EcalClusterLazyTools::getEERecHits ( const edm::Event ev,
edm::InputTag  redEERecHits 
) [private]

Definition at line 57 of file EcalClusterLazyTools.cc.

References eeRecHits_, edm::Event::getByLabel(), and edm::Handle< T >::product().

Referenced by EcalClusterLazyTools().

{
        edm::Handle< EcalRecHitCollection > pEERecHits;
        ev.getByLabel( redEERecHits, pEERecHits );
        eeRecHits_ = pEERecHits.product();
}
void EcalClusterLazyTools::getGeometry ( const edm::EventSetup es) [private]

Definition at line 30 of file EcalClusterLazyTools.cc.

References geometry_, edm::EventSetup::get(), and edm::ESHandle< T >::product().

Referenced by EcalClusterLazyTools().

{
        edm::ESHandle<CaloGeometry> pGeometry;
        es.get<CaloGeometryRecord>().get(pGeometry);
        geometry_ = pGeometry.product();
}
std::pair< DetId, float > EcalClusterLazyTools::getMaximum ( const reco::BasicCluster cluster)
void EcalClusterLazyTools::getTopology ( const edm::EventSetup es) [private]

Definition at line 39 of file EcalClusterLazyTools.cc.

References edm::EventSetup::get(), edm::ESHandle< T >::product(), and topology_.

Referenced by EcalClusterLazyTools().

{
        edm::ESHandle<CaloTopology> pTopology;
        es.get<CaloTopologyRecord>().get(pTopology);
        topology_ = pTopology.product();
}
std::vector< float > EcalClusterLazyTools::lat ( const reco::BasicCluster cluster,
bool  logW = true,
float  w0 = 4.7 
)

Definition at line 223 of file EcalClusterLazyTools.cc.

References geometry_, and getEcalRecHitCollection().

{
        return EcalClusterTools::lat( cluster, getEcalRecHitCollection(cluster), geometry_, logW, w0 );
}
std::vector< float > EcalClusterLazyTools::localCovariances ( const reco::BasicCluster cluster,
float  w0 = 4.7 
)
std::vector< DetId > EcalClusterLazyTools::matrixDetId ( DetId  id,
int  ixMin,
int  ixMax,
int  iyMin,
int  iyMax 
)

Definition at line 255 of file EcalClusterLazyTools.cc.

References topology_.

Referenced by EcalDigiSelector::produce().

{
        return EcalClusterTools::matrixDetId( topology_, id, ixMin, ixMax, iyMin, iyMax );
}
float EcalClusterLazyTools::matrixEnergy ( const reco::BasicCluster cluster,
DetId  id,
int  ixMin,
int  ixMax,
int  iyMin,
int  iyMax 
)

Definition at line 260 of file EcalClusterLazyTools.cc.

References getEcalRecHitCollection(), and topology_.

{
        return EcalClusterTools::matrixEnergy( cluster, getEcalRecHitCollection(cluster), topology_, id, ixMin, ixMax, iyMin, iyMax );
}
std::vector< float > EcalClusterLazyTools::scLocalCovariances ( const reco::SuperCluster cluster,
float  w0 = 4.7 
)

Definition at line 239 of file EcalClusterLazyTools.cc.

References getEcalRecHitCollection(), and topology_.

double EcalClusterLazyTools::zernike20 ( const reco::BasicCluster cluster,
double  R0 = 6.6,
bool  logW = true,
float  w0 = 4.7 
)

Definition at line 244 of file EcalClusterLazyTools.cc.

References geometry_, and getEcalRecHitCollection().

{
        return EcalClusterTools::zernike20( cluster, getEcalRecHitCollection(cluster), geometry_, R0, logW, w0 );
}
double EcalClusterLazyTools::zernike42 ( const reco::BasicCluster cluster,
double  R0 = 6.6,
bool  logW = true,
float  w0 = 4.7 
)

Definition at line 250 of file EcalClusterLazyTools.cc.

References geometry_, and getEcalRecHitCollection().

{
        return EcalClusterTools::zernike42( cluster, getEcalRecHitCollection(cluster), geometry_, R0, logW, w0 );
}

Member Data Documentation

Definition at line 104 of file EcalClusterLazyTools.h.

Referenced by getEBRecHits(), and getEcalRecHitCollection().

Definition at line 105 of file EcalClusterLazyTools.h.

Referenced by getEcalRecHitCollection(), and getEERecHits().

Definition at line 102 of file EcalClusterLazyTools.h.

Referenced by covariances(), getGeometry(), lat(), zernike20(), and zernike42().