CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes
HybridClusterAlgo Class Reference

#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< EcalEtaPhiRegion > &regions=std::vector< EcalEtaPhiRegion >())
 
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< DetIdexcludedCrys_
 
bool excludeFromCluster_
 
BremRecoveryPhiRoadAlgophiRoadAlgo_
 
int phiSteps_
 
PositionCalc posCalculator_
 
const EcalRecHitCollectionrecHits_
 
std::vector< reco::BasicClusterseedClus_
 
std::vector< EcalRecHitseeds
 
float severityRecHitThreshold_
 
float severitySpikeThreshold_
 
EcalBarrelHardcodedTopologytopo_
 
std::set< DetIduseddetids
 
bool UseEtForXi
 
std::vector< int > v_chstatus_
 
std::vector< int > v_severitylevel_
 
double Xi
 

Detailed Description

Definition at line 33 of file HybridClusterAlgo.h.

Member Typedef Documentation

Definition at line 37 of file HybridClusterAlgo.h.

Constructor & Destructor Documentation

HybridClusterAlgo::HybridClusterAlgo ( )
inline

Definition at line 123 of file HybridClusterAlgo.h.

123 { }
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 15 of file HybridClusterAlgo.cc.

HybridClusterAlgo::~HybridClusterAlgo ( )
inline

Definition at line 147 of file HybridClusterAlgo.h.

References dynamicPhiRoad_, phiRoadAlgo_, and topo_.

148  {
149  if (dynamicPhiRoad_) delete phiRoadAlgo_;
150  delete topo_;
151  // delete SCShape_;
152  }
EcalBarrelHardcodedTopology * topo_
BremRecoveryPhiRoadAlgo * phiRoadAlgo_

Member Function Documentation

double HybridClusterAlgo::e2Et ( EcalBarrelNavigatorHT navigator,
const EcalRecHitCollection hits,
const CaloSubdetectorGeometry geometry 
)
private

Definition at line 666 of file HybridClusterAlgo.cc.

double HybridClusterAlgo::et25 ( EcalBarrelNavigatorHT navigator,
const EcalRecHitCollection hits,
const CaloSubdetectorGeometry geometry 
)
private

Definition at line 626 of file HybridClusterAlgo.cc.

void HybridClusterAlgo::mainSearch ( const EcalRecHitCollection hits,
const CaloSubdetectorGeometry geometry 
)

Definition at line 181 of file HybridClusterAlgo.cc.

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.

double HybridClusterAlgo::makeDomino ( EcalBarrelNavigatorHT navigator,
std::vector< EcalRecHit > &  cells 
)

Definition at line 542 of file HybridClusterAlgo.cc.

reco::SuperClusterCollection HybridClusterAlgo::makeSuperClusters ( const reco::CaloClusterPtrVector clustersCollection)

Definition at line 465 of file HybridClusterAlgo.cc.

void HybridClusterAlgo::setDynamicPhiRoad ( const edm::ParameterSet bremRecoveryPset)
inline

Definition at line 154 of file HybridClusterAlgo.h.

References dynamicPhiRoad_, and phiRoadAlgo_.

155  {
156  dynamicPhiRoad_ = true;
157  phiRoadAlgo_ = new BremRecoveryPhiRoadAlgo(bremRecoveryPset);
158  }
BremRecoveryPhiRoadAlgo * phiRoadAlgo_

Member Data Documentation

std::map<int, std::vector<reco::BasicCluster> > HybridClusterAlgo::clustered_
private

Definition at line 104 of file HybridClusterAlgo.h.

bool HybridClusterAlgo::dynamicEThres_
private

Definition at line 80 of file HybridClusterAlgo.h.

bool HybridClusterAlgo::dynamicPhiRoad_
private

Definition at line 77 of file HybridClusterAlgo.h.

Referenced by setDynamicPhiRoad(), and ~HybridClusterAlgo().

double HybridClusterAlgo::eb_st
private

Definition at line 40 of file HybridClusterAlgo.h.

double HybridClusterAlgo::Eseed
private

Definition at line 65 of file HybridClusterAlgo.h.

double HybridClusterAlgo::eThres_
private

Definition at line 60 of file HybridClusterAlgo.h.

double HybridClusterAlgo::eThresA_
private

Definition at line 61 of file HybridClusterAlgo.h.

double HybridClusterAlgo::eThresB_
private

Definition at line 62 of file HybridClusterAlgo.h.

double HybridClusterAlgo::Ewing
private

Definition at line 74 of file HybridClusterAlgo.h.

std::set<DetId> HybridClusterAlgo::excludedCrys_
private

Definition at line 118 of file HybridClusterAlgo.h.

bool HybridClusterAlgo::excludeFromCluster_
private

Definition at line 117 of file HybridClusterAlgo.h.

BremRecoveryPhiRoadAlgo* HybridClusterAlgo::phiRoadAlgo_
private

Definition at line 57 of file HybridClusterAlgo.h.

Referenced by setDynamicPhiRoad(), and ~HybridClusterAlgo().

int HybridClusterAlgo::phiSteps_
private

Definition at line 45 of file HybridClusterAlgo.h.

PositionCalc HybridClusterAlgo::posCalculator_
private

Definition at line 107 of file HybridClusterAlgo.h.

const EcalRecHitCollection* HybridClusterAlgo::recHits_
private

Definition at line 87 of file HybridClusterAlgo.h.

std::vector<reco::BasicCluster> HybridClusterAlgo::seedClus_
private

Definition at line 101 of file HybridClusterAlgo.h.

std::vector<EcalRecHit> HybridClusterAlgo::seeds
private

Definition at line 98 of file HybridClusterAlgo.h.

float HybridClusterAlgo::severityRecHitThreshold_
private

Definition at line 114 of file HybridClusterAlgo.h.

float HybridClusterAlgo::severitySpikeThreshold_
private

Definition at line 115 of file HybridClusterAlgo.h.

EcalBarrelHardcodedTopology* HybridClusterAlgo::topo_
private

Definition at line 90 of file HybridClusterAlgo.h.

Referenced by ~HybridClusterAlgo().

std::set<DetId> HybridClusterAlgo::useddetids
private

Definition at line 95 of file HybridClusterAlgo.h.

bool HybridClusterAlgo::UseEtForXi
private

Definition at line 71 of file HybridClusterAlgo.h.

std::vector<int> HybridClusterAlgo::v_chstatus_
private

Definition at line 110 of file HybridClusterAlgo.h.

std::vector<int> HybridClusterAlgo::v_severitylevel_
private

Definition at line 113 of file HybridClusterAlgo.h.

double HybridClusterAlgo::Xi
private

Definition at line 68 of file HybridClusterAlgo.h.