Go to the documentation of this file.00001 #ifndef RecoEcal_EgammaClusterAlgos_BremRecoveryClusterAlgo_h_
00002 #define RecoEcal_EgammaClusterAlgos_BremRecoveryClusterAlgo_h_
00003
00004 #include "DataFormats/EgammaReco/interface/BasicCluster.h"
00005 #include "DataFormats/EgammaReco/interface/BasicClusterFwd.h"
00006 #include "DataFormats/EgammaReco/interface/SuperCluster.h"
00007 #include "DataFormats/EgammaReco/interface/SuperClusterFwd.h"
00008 #include "DataFormats/CaloRecHit/interface/CaloClusterFwd.h"
00009 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h"
00010
00011 #include <vector>
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 class BremRecoveryClusterAlgo
00023 {
00024 public:
00025
00026 enum VerbosityLevel { pDEBUG = 0, pWARNING = 1, pINFO = 2, pERROR = 3 };
00027
00028 BremRecoveryClusterAlgo(double eb_sc_road_etasize = 0.06,
00029 double eb_sc_road_phisize = 0.80,
00030 double ec_sc_road_etasize = 0.14,
00031 double ec_sc_road_phisize = 0.40,
00032 double theSeedTransverseEnergyThreshold = 0.40,
00033 VerbosityLevel the_verbosity = pERROR
00034 )
00035 {
00036
00037
00038 eb_rdeta_ = eb_sc_road_etasize / 2;
00039 eb_rdphi_ = eb_sc_road_phisize / 2;
00040 ec_rdeta_ = ec_sc_road_etasize / 2;
00041 ec_rdphi_ = ec_sc_road_phisize / 2;
00042
00043 seedTransverseEnergyThreshold = theSeedTransverseEnergyThreshold;
00044 verbosity = the_verbosity;
00045 }
00046
00047 void setVerbosity(VerbosityLevel the_verbosity)
00048 {
00049 verbosity = the_verbosity;
00050 }
00051
00052
00053 reco::SuperClusterCollection makeSuperClusters(reco::CaloClusterPtrVector & clusters);
00054
00055 private:
00056
00057
00058 void makeIslandSuperClusters(reco::CaloClusterPtrVector &clusters_v,
00059 double etaRoad, double phiRoad);
00060
00061
00062 bool match(reco::CaloClusterPtr seed_p,
00063 reco::CaloClusterPtr cluster_p,
00064 double etaRoad, double phiRoad);
00065
00066
00067
00068 VerbosityLevel verbosity;
00069
00070 double eb_rdeta_;
00071 double eb_rdphi_;
00072 double ec_rdeta_;
00073 double ec_rdphi_;
00074
00075 double seedTransverseEnergyThreshold;
00076
00077 reco::SuperClusterCollection superclusters_v;
00078
00079 };
00080
00081 #endif