#include <HybridClusterAlgo.h>
Public Member Functions | |
HybridClusterAlgo () | |
HybridClusterAlgo (double eb_str, int step, double ethres, double eseed, double xi, bool useEtForXi, double ewing, const std::vector< int > &v_chstatus, const PositionCalc &posCalculator, bool dynamicEThres=false, double eThresA=0, double eThresB=0.1, const std::vector< int > &severityToExclude=std::vector< int >().operator=(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< RectangularEtaPhiRegion > ®ions=std::vector< RectangularEtaPhiRegion >()) |
double | makeDomino (EcalBarrelNavigatorHT &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 (EcalBarrelNavigatorHT &navigator, const EcalRecHitCollection *hits, const CaloSubdetectorGeometry *geometry) |
double | et25 (EcalBarrelNavigatorHT &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 27 of file HybridClusterAlgo.h.
|
private |
Definition at line 31 of file HybridClusterAlgo.h.
|
inline |
Definition at line 117 of file HybridClusterAlgo.h.
References hybridSuperClusters_cfi::eseed, hybridSuperClusters_cfi::ewing, hybridSuperClusters_cfi::useEtForXi, and hybridSuperClusters_cfi::xi.
HybridClusterAlgo::HybridClusterAlgo | ( | double | eb_str, |
int | step, | ||
double | ethres, | ||
double | eseed, | ||
double | xi, | ||
bool | useEtForXi, | ||
double | ewing, | ||
const std::vector< int > & | v_chstatus, | ||
const PositionCalc & | posCalculator, | ||
bool | dynamicEThres = false , |
||
double | eThresA = 0 , |
||
double | eThresB = 0.1 , |
||
const std::vector< int > & | severityToExclude = std::vector<int>().operator=(std::vector<int>(999)) , |
||
bool | excludeFromCluster = false |
||
) |
Definition at line 16 of file HybridClusterAlgo.cc.
References dynamicEThres_, dynamicPhiRoad_, Eseed, eThresA_, eThresB_, LogTrace, posCalculator_, topo_, UseEtForXi, v_chstatus_, and Xi.
|
inline |
Definition at line 141 of file HybridClusterAlgo.h.
References phiRoadAlgo_, and topo_.
|
private |
Definition at line 667 of file HybridClusterAlgo.cc.
References PositionCalc::Calculate_Location(), PVValHelper::dx, PVValHelper::dy, edm::SortedCollection< T, SORT >::end(), edm::SortedCollection< T, SORT >::find(), CaloNavigator< T, TOPO >::home(), CaloNavigator< T, TOPO >::offsetBy(), posCalculator_, and recHits_.
Referenced by mainSearch().
|
private |
Definition at line 627 of file HybridClusterAlgo.cc.
References PositionCalc::Calculate_Location(), PVValHelper::dx, PVValHelper::dy, edm::SortedCollection< T, SORT >::end(), CastorDataFrameFilter_impl::energySum(), stringResolutionProvider_cfi::et, edm::SortedCollection< T, SORT >::find(), CaloNavigator< T, TOPO >::home(), CaloNavigator< T, TOPO >::offsetBy(), posCalculator_, and recHits_.
Referenced by mainSearch().
void HybridClusterAlgo::mainSearch | ( | const EcalRecHitCollection * | hits, |
const CaloSubdetectorGeometry * | geometry | ||
) |
Definition at line 182 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, TOPO >::home(), reco::CaloCluster::hybrid, mps_fire::i, createfilelist::int, gen::k, LogTrace, makeDomino(), particleFlowRecHitECAL_cfi::navigator, nhits, CaloNavigator< T, TOPO >::north(), DetId::null(), phiRoadAlgo_, phiSteps_, posCalculator_, seedClus_, seeds, CaloNavigator< T, TOPO >::south(), mathSSE::sqrt(), groupFilesInBlocks::temp, topo_, useddetids, UseEtForXi, and Xi.
Referenced by makeClusters(), and setDynamicPhiRoad().
void HybridClusterAlgo::makeClusters | ( | const EcalRecHitCollection * | recColl, |
const CaloSubdetectorGeometry * | geometry, | ||
reco::BasicClusterCollection & | basicClusters, | ||
const EcalSeverityLevelAlgo * | sevLv, | ||
bool | regional = false , |
||
const std::vector< RectangularEtaPhiRegion > & | regions = std::vector<RectangularEtaPhiRegion>() |
||
) |
Definition at line 58 of file HybridClusterAlgo.cc.
References PV3DBase< T, PVType, FrameType >::basicVector(), edm::SortedCollection< T, SORT >::begin(), clustered_, eb_st, edm::SortedCollection< T, SORT >::end(), ET, excludedCrys_, excludeFromCluster_, spr::find(), CaloSubdetectorGeometry::getGeometry(), createfilelist::int, isClusterEtLess(), EcalRecHit::kGood, LogTrace, mainSearch(), Basic3DVector< T >::perp(), position, recHits_, seedClus_, seeds, EcalSeverityLevelAlgo::severityLevel(), Basic3DVector< T >::unit(), useddetids, v_chstatus_, v_severitylevel_, x, and y.
Referenced by EgammaHLTHybridClusterProducer::produce(), HybridClusterProducer::produce(), and setDynamicPhiRoad().
double HybridClusterAlgo::makeDomino | ( | EcalBarrelNavigatorHT & | navigator, |
std::vector< EcalRecHit > & | cells | ||
) |
Definition at line 543 of file HybridClusterAlgo.cc.
References CaloNavigator< T, TOPO >::east(), edm::SortedCollection< T, SORT >::end(), EcalRecHit::energy(), Ewing, excludedCrys_, edm::SortedCollection< T, SORT >::find(), CaloNavigator< T, TOPO >::home(), CaloNavigator< T, TOPO >::pos(), recHits_, useddetids, and CaloNavigator< T, TOPO >::west().
Referenced by mainSearch(), and setDynamicPhiRoad().
reco::SuperClusterCollection HybridClusterAlgo::makeSuperClusters | ( | const reco::CaloClusterPtrVector & | clustersCollection | ) |
Definition at line 466 of file HybridClusterAlgo.cc.
References clustered_, reco::CaloCluster::energy(), mps_fire::i, createfilelist::int, isClusterEtLess(), LogTrace, RecoTauValidation_cfi::posX, RecoTauValidation_cfi::posY, edm::PtrVector< T >::push_back(), SurveyInfoScenario_cff::seed, seedClus_, and edm::PtrVectorBase::size().
Referenced by EgammaHLTHybridClusterProducer::produce(), HybridClusterProducer::produce(), and setDynamicPhiRoad().
|
inline |
Definition at line 148 of file HybridClusterAlgo.h.
References postprocess-scan-build::cells, hfClusterShapes_cfi::hits, mainSearch(), makeClusters(), makeDomino(), makeSuperClusters(), and particleFlowRecHitECAL_cfi::navigator.
Referenced by EgammaHLTHybridClusterProducer::EgammaHLTHybridClusterProducer().
|
private |
Definition at line 98 of file HybridClusterAlgo.h.
Referenced by mainSearch(), makeClusters(), and makeSuperClusters().
|
private |
Definition at line 74 of file HybridClusterAlgo.h.
Referenced by HybridClusterAlgo(), and mainSearch().
|
private |
Definition at line 71 of file HybridClusterAlgo.h.
Referenced by HybridClusterAlgo(), and mainSearch().
|
private |
Definition at line 34 of file HybridClusterAlgo.h.
Referenced by makeClusters().
|
private |
Definition at line 59 of file HybridClusterAlgo.h.
Referenced by HybridClusterAlgo(), and mainSearch().
|
private |
Definition at line 54 of file HybridClusterAlgo.h.
Referenced by mainSearch().
|
private |
Definition at line 55 of file HybridClusterAlgo.h.
Referenced by HybridClusterAlgo(), and mainSearch().
|
private |
Definition at line 56 of file HybridClusterAlgo.h.
Referenced by HybridClusterAlgo(), and mainSearch().
|
private |
Definition at line 68 of file HybridClusterAlgo.h.
Referenced by makeDomino().
|
private |
Definition at line 112 of file HybridClusterAlgo.h.
Referenced by makeClusters(), and makeDomino().
|
private |
Definition at line 111 of file HybridClusterAlgo.h.
Referenced by makeClusters().
|
private |
Definition at line 51 of file HybridClusterAlgo.h.
Referenced by mainSearch(), and ~HybridClusterAlgo().
|
private |
Definition at line 39 of file HybridClusterAlgo.h.
Referenced by mainSearch().
|
private |
Definition at line 101 of file HybridClusterAlgo.h.
Referenced by e2Et(), et25(), HybridClusterAlgo(), and mainSearch().
|
private |
Definition at line 81 of file HybridClusterAlgo.h.
Referenced by e2Et(), et25(), makeClusters(), and makeDomino().
|
private |
Definition at line 95 of file HybridClusterAlgo.h.
Referenced by mainSearch(), makeClusters(), and makeSuperClusters().
|
private |
Definition at line 92 of file HybridClusterAlgo.h.
Referenced by mainSearch(), and makeClusters().
|
private |
Definition at line 108 of file HybridClusterAlgo.h.
|
private |
Definition at line 109 of file HybridClusterAlgo.h.
|
private |
Definition at line 84 of file HybridClusterAlgo.h.
Referenced by HybridClusterAlgo(), mainSearch(), and ~HybridClusterAlgo().
|
private |
Definition at line 89 of file HybridClusterAlgo.h.
Referenced by mainSearch(), makeClusters(), and makeDomino().
|
private |
Definition at line 65 of file HybridClusterAlgo.h.
Referenced by HybridClusterAlgo(), and mainSearch().
|
private |
Definition at line 104 of file HybridClusterAlgo.h.
Referenced by HybridClusterAlgo(), and makeClusters().
|
private |
Definition at line 107 of file HybridClusterAlgo.h.
Referenced by makeClusters().
|
private |
Definition at line 62 of file HybridClusterAlgo.h.
Referenced by HybridClusterAlgo(), and mainSearch().