#include <HybridClusterAlgo.h>
Public Member Functions | |
HybridClusterAlgo () | |
HybridClusterAlgo (double eb_str, int step, double ethres, double eseed, double xi, bool useEtForXi, double ewing, std::vector< int > v_chstatus, const PositionCalc &posCalculator, bool dynamicEThres=false, double eThresA=0, double eThresB=0.1, std::vector< int > severityToExclude=std::vector< int >(999), bool excludeFromCluster=false) | |
void | mainSearch (const EcalRecHitCollection *hits, const CaloSubdetectorGeometry *geometry) |
void | makeClusters (const EcalRecHitCollection *, const CaloSubdetectorGeometry *geometry, reco::BasicClusterCollection &basicClusters, const EcalSeverityLevelAlgo *sevLv, bool regional=false, const std::vector< EcalEtaPhiRegion > ®ions=std::vector< EcalEtaPhiRegion >()) |
double | makeDomino (EcalBarrelNavigator &navigator, std::vector< EcalRecHit > &cells) |
reco::SuperClusterCollection | makeSuperClusters (const reco::CaloClusterPtrVector &) |
void | setDynamicPhiRoad (const edm::ParameterSet &bremRecoveryPset) |
~HybridClusterAlgo () | |
Private Types | |
typedef math::XYZPoint | Point |
Private Member Functions | |
double | e2Et (EcalBarrelNavigator &navigator, const EcalRecHitCollection *hits, const CaloSubdetectorGeometry *geometry) |
double | et25 (EcalBarrelNavigator &navigator, const EcalRecHitCollection *hits, const CaloSubdetectorGeometry *geometry) |
Private Attributes | |
std::map< int, std::vector < reco::BasicCluster > > | clustered_ |
bool | dynamicEThres_ |
bool | dynamicPhiRoad_ |
double | eb_st |
double | Eseed |
double | eThres_ |
double | eThresA_ |
double | eThresB_ |
double | Ewing |
std::set< DetId > | excludedCrys_ |
bool | excludeFromCluster_ |
BremRecoveryPhiRoadAlgo * | phiRoadAlgo_ |
int | phiSteps_ |
PositionCalc | posCalculator_ |
const EcalRecHitCollection * | recHits_ |
std::vector< reco::BasicCluster > | seedClus_ |
std::vector< EcalRecHit > | seeds |
float | severityRecHitThreshold_ |
float | severitySpikeThreshold_ |
EcalBarrelHardcodedTopology * | topo_ |
std::set< DetId > | useddetids |
bool | UseEtForXi |
std::vector< int > | v_chstatus_ |
std::vector< int > | v_severitylevel_ |
double | Xi |
Definition at line 33 of file HybridClusterAlgo.h.
|
private |
Definition at line 37 of file HybridClusterAlgo.h.
|
inline |
Definition at line 123 of file HybridClusterAlgo.h.
HybridClusterAlgo::HybridClusterAlgo | ( | double | eb_str, |
int | step, | ||
double | ethres, | ||
double | eseed, | ||
double | xi, | ||
bool | useEtForXi, | ||
double | ewing, | ||
std::vector< int > | v_chstatus, | ||
const PositionCalc & | posCalculator, | ||
bool | dynamicEThres = false , |
||
double | eThresA = 0 , |
||
double | eThresB = 0.1 , |
||
std::vector< int > | severityToExclude = std::vector<int>(999) , |
||
bool | excludeFromCluster = false |
||
) |
Definition at line 15 of file HybridClusterAlgo.cc.
References dynamicEThres_, dynamicPhiRoad_, Eseed, eThresA_, eThresB_, LogTrace, posCalculator_, python.multivaluedict::sort(), topo_, UseEtForXi, v_chstatus_, and Xi.
|
inline |
Definition at line 147 of file HybridClusterAlgo.h.
References dynamicPhiRoad_, phiRoadAlgo_, and topo_.
|
private |
Definition at line 666 of file HybridClusterAlgo.cc.
References PositionCalc::Calculate_Location(), edm::SortedCollection< T, SORT >::end(), edm::SortedCollection< T, SORT >::find(), CaloNavigator< T >::home(), CaloNavigator< T >::offsetBy(), pos, posCalculator_, and recHits_.
Referenced by mainSearch().
|
private |
Definition at line 626 of file HybridClusterAlgo.cc.
References PositionCalc::Calculate_Location(), edm::SortedCollection< T, SORT >::end(), CastorDataFrameFilter_impl::energySum(), edm::SortedCollection< T, SORT >::find(), CaloNavigator< T >::home(), CaloNavigator< T >::offsetBy(), pos, posCalculator_, and recHits_.
Referenced by mainSearch().
void HybridClusterAlgo::mainSearch | ( | const EcalRecHitCollection * | hits, |
const CaloSubdetectorGeometry * | geometry | ||
) |
Definition at line 181 of file HybridClusterAlgo.cc.
References BremRecoveryPhiRoadAlgo::barrelPhiRoad(), PositionCalc::Calculate_Location(), clustered_, reco::CaloID::DET_ECAL_BARREL, dynamicEThres_, dynamicPhiRoad_, e2Et(), Eseed, et25(), eThres_, eThresA_, eThresB_, CaloNavigator< T >::home(), reco::CaloCluster::hybrid, i, j, gen::k, LogTrace, makeDomino(), CaloNavigator< T >::north(), DetId::null(), phiRoadAlgo_, phiSteps_, pos, posCalculator_, seedClus_, seeds, CaloNavigator< T >::south(), mathSSE::sqrt(), groupFilesInBlocks::temp, topo_, useddetids, UseEtForXi, and Xi.
Referenced by makeClusters().
void HybridClusterAlgo::makeClusters | ( | const EcalRecHitCollection * | recColl, |
const CaloSubdetectorGeometry * | geometry, | ||
reco::BasicClusterCollection & | basicClusters, | ||
const EcalSeverityLevelAlgo * | sevLv, | ||
bool | regional = false , |
||
const std::vector< EcalEtaPhiRegion > & | regions = std::vector<EcalEtaPhiRegion>() |
||
) |
Definition at line 57 of file HybridClusterAlgo.cc.
References edm::SortedCollection< T, SORT >::begin(), clustered_, eb_st, edm::SortedCollection< T, SORT >::end(), ET, excludedCrys_, excludeFromCluster_, spr::find(), CaloCellGeometry::getPosition(), j, LogTrace, mainSearch(), position, recHits_, seedClus_, seeds, EcalSeverityLevelAlgo::severityLevel(), funct::sin(), python.multivaluedict::sort(), PV3DBase< T, PVType, FrameType >::theta(), useddetids, v_chstatus_, and v_severitylevel_.
Referenced by HybridClusterProducer::produce(), and EgammaHLTHybridClusterProducer::produce().
double HybridClusterAlgo::makeDomino | ( | EcalBarrelNavigator & | navigator, |
std::vector< EcalRecHit > & | cells | ||
) |
Definition at line 542 of file HybridClusterAlgo.cc.
References CaloNavigator< T >::east(), edm::SortedCollection< T, SORT >::end(), CaloRecHit::energy(), Ewing, excludedCrys_, edm::SortedCollection< T, SORT >::find(), CaloNavigator< T >::home(), CaloNavigator< T >::pos(), recHits_, useddetids, and CaloNavigator< T >::west().
Referenced by mainSearch().
reco::SuperClusterCollection HybridClusterAlgo::makeSuperClusters | ( | const reco::CaloClusterPtrVector & | clustersCollection | ) |
Definition at line 465 of file HybridClusterAlgo.cc.
References clustered_, reco::CaloCluster::energy(), i, j, LogTrace, edm::PtrVector< T >::push_back(), seedClus_, edm::PtrVectorBase::size(), and python.multivaluedict::sort().
Referenced by HybridClusterProducer::produce(), and EgammaHLTHybridClusterProducer::produce().
|
inline |
Definition at line 154 of file HybridClusterAlgo.h.
References dynamicPhiRoad_, and phiRoadAlgo_.
|
private |
Definition at line 104 of file HybridClusterAlgo.h.
Referenced by mainSearch(), makeClusters(), and makeSuperClusters().
|
private |
Definition at line 80 of file HybridClusterAlgo.h.
Referenced by HybridClusterAlgo(), and mainSearch().
|
private |
Definition at line 77 of file HybridClusterAlgo.h.
Referenced by HybridClusterAlgo(), mainSearch(), setDynamicPhiRoad(), and ~HybridClusterAlgo().
|
private |
Definition at line 40 of file HybridClusterAlgo.h.
Referenced by makeClusters().
|
private |
Definition at line 65 of file HybridClusterAlgo.h.
Referenced by HybridClusterAlgo(), and mainSearch().
|
private |
Definition at line 60 of file HybridClusterAlgo.h.
Referenced by mainSearch().
|
private |
Definition at line 61 of file HybridClusterAlgo.h.
Referenced by HybridClusterAlgo(), and mainSearch().
|
private |
Definition at line 62 of file HybridClusterAlgo.h.
Referenced by HybridClusterAlgo(), and mainSearch().
|
private |
Definition at line 74 of file HybridClusterAlgo.h.
Referenced by makeDomino().
|
private |
Definition at line 118 of file HybridClusterAlgo.h.
Referenced by makeClusters(), and makeDomino().
|
private |
Definition at line 117 of file HybridClusterAlgo.h.
Referenced by makeClusters().
|
private |
Definition at line 57 of file HybridClusterAlgo.h.
Referenced by mainSearch(), setDynamicPhiRoad(), and ~HybridClusterAlgo().
|
private |
Definition at line 45 of file HybridClusterAlgo.h.
Referenced by mainSearch().
|
private |
Definition at line 107 of file HybridClusterAlgo.h.
Referenced by e2Et(), et25(), HybridClusterAlgo(), and mainSearch().
|
private |
Definition at line 87 of file HybridClusterAlgo.h.
Referenced by e2Et(), et25(), makeClusters(), and makeDomino().
|
private |
Definition at line 101 of file HybridClusterAlgo.h.
Referenced by mainSearch(), makeClusters(), and makeSuperClusters().
|
private |
Definition at line 98 of file HybridClusterAlgo.h.
Referenced by mainSearch(), and makeClusters().
|
private |
Definition at line 114 of file HybridClusterAlgo.h.
|
private |
Definition at line 115 of file HybridClusterAlgo.h.
|
private |
Definition at line 90 of file HybridClusterAlgo.h.
Referenced by HybridClusterAlgo(), mainSearch(), and ~HybridClusterAlgo().
|
private |
Definition at line 95 of file HybridClusterAlgo.h.
Referenced by mainSearch(), makeClusters(), and makeDomino().
|
private |
Definition at line 71 of file HybridClusterAlgo.h.
Referenced by HybridClusterAlgo(), and mainSearch().
|
private |
Definition at line 110 of file HybridClusterAlgo.h.
Referenced by HybridClusterAlgo(), and makeClusters().
|
private |
Definition at line 113 of file HybridClusterAlgo.h.
Referenced by makeClusters().
|
private |
Definition at line 68 of file HybridClusterAlgo.h.
Referenced by HybridClusterAlgo(), and mainSearch().