CMS 3D CMS Logo

BremRecoveryClusterAlgo.h
Go to the documentation of this file.
1 #ifndef RecoEcal_EgammaClusterAlgos_BremRecoveryClusterAlgo_h_
2 #define RecoEcal_EgammaClusterAlgos_BremRecoveryClusterAlgo_h_
3 
10 
11 #include <vector>
12 
13 /*
14  The BremRecoveryClusterAlgo class encapsulates the functionality needed
15  to perform the SuperClustering.
16 
17  WARNING: This code assumes that the BasicClusters
18  from the event are sorted by energy
19 */
20 
22 public:
23  enum VerbosityLevel { pDEBUG = 0, pWARNING = 1, pINFO = 2, pERROR = 3 };
24 
25  BremRecoveryClusterAlgo(double eb_sc_road_etasize = 0.06, // Search window in eta - Barrel
26  double eb_sc_road_phisize = 0.80, // Search window in phi - Barrel
27  double ec_sc_road_etasize = 0.14, // Search window in eta - Endcap
28  double ec_sc_road_phisize = 0.40, // Search window in eta - Endcap
29  double theSeedTransverseEnergyThreshold = 0.40,
30  VerbosityLevel the_verbosity = pERROR) {
31  // e*_rdeta_ and e*_rdphi_ are half the total window
32  // because they correspond to one direction (positive or negative)
33  eb_rdeta_ = eb_sc_road_etasize / 2;
34  eb_rdphi_ = eb_sc_road_phisize / 2;
35  ec_rdeta_ = ec_sc_road_etasize / 2;
36  ec_rdphi_ = ec_sc_road_phisize / 2;
37 
38  seedTransverseEnergyThreshold = theSeedTransverseEnergyThreshold;
39  verbosity = the_verbosity;
40  }
41 
42  void setVerbosity(VerbosityLevel the_verbosity) { verbosity = the_verbosity; }
43 
44  // the method called from outside to do the SuperClustering - returns a vector of SCs:
46 
47 private:
48  // make superclusters out of clusters produced by the Island algorithm:
49  void makeIslandSuperClusters(reco::CaloClusterPtrVector &clusters_v, double etaRoad, double phiRoad);
50 
51  // return true if the cluster is within the search phi-eta window of the seed
52  bool match(reco::CaloClusterPtr seed_p, reco::CaloClusterPtr cluster_p, double etaRoad, double phiRoad);
53 
54  //
55 
57 
58  double eb_rdeta_;
59  double eb_rdphi_;
60  double ec_rdeta_;
61  double ec_rdphi_;
62 
64 
66 };
67 
68 #endif
BremRecoveryClusterAlgo::pINFO
Definition: BremRecoveryClusterAlgo.h:23
BremRecoveryClusterAlgo::superclusters_v
reco::SuperClusterCollection superclusters_v
Definition: BremRecoveryClusterAlgo.h:65
BremRecoveryClusterAlgo::BremRecoveryClusterAlgo
BremRecoveryClusterAlgo(double eb_sc_road_etasize=0.06, double eb_sc_road_phisize=0.80, double ec_sc_road_etasize=0.14, double ec_sc_road_phisize=0.40, double theSeedTransverseEnergyThreshold=0.40, VerbosityLevel the_verbosity=pERROR)
Definition: BremRecoveryClusterAlgo.h:25
BremRecoveryClusterAlgo::ec_rdphi_
double ec_rdphi_
Definition: BremRecoveryClusterAlgo.h:61
BasicCluster.h
BremRecoveryClusterAlgo::verbosity
VerbosityLevel verbosity
Definition: BremRecoveryClusterAlgo.h:56
BremRecoveryClusterAlgo::makeSuperClusters
reco::SuperClusterCollection makeSuperClusters(reco::CaloClusterPtrVector &clusters)
Definition: BremRecoveryClusterAlgo.cc:5
BremRecoveryClusterAlgo::pERROR
Definition: BremRecoveryClusterAlgo.h:23
BasicClusterFwd.h
BremRecoveryClusterAlgo
Definition: BremRecoveryClusterAlgo.h:21
reco::SuperClusterCollection
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
Definition: SuperClusterFwd.h:9
edm::PtrVector< CaloCluster >
CaloClusterFwd.h
bsc_activity_cfg.clusters
clusters
Definition: bsc_activity_cfg.py:36
BremRecoveryClusterAlgo::eb_rdphi_
double eb_rdphi_
Definition: BremRecoveryClusterAlgo.h:59
CaloSubdetectorGeometry.h
BremRecoveryClusterAlgo::ec_rdeta_
double ec_rdeta_
Definition: BremRecoveryClusterAlgo.h:60
BremRecoveryClusterAlgo::pWARNING
Definition: BremRecoveryClusterAlgo.h:23
BremRecoveryClusterAlgo::eb_rdeta_
double eb_rdeta_
Definition: BremRecoveryClusterAlgo.h:58
edm::Ptr< CaloCluster >
BremRecoveryClusterAlgo::VerbosityLevel
VerbosityLevel
Definition: BremRecoveryClusterAlgo.h:23
BremRecoveryClusterAlgo::pDEBUG
Definition: BremRecoveryClusterAlgo.h:23
SuperClusterFwd.h
SuperCluster.h
BremRecoveryClusterAlgo::seedTransverseEnergyThreshold
double seedTransverseEnergyThreshold
Definition: BremRecoveryClusterAlgo.h:63
BremRecoveryClusterAlgo::setVerbosity
void setVerbosity(VerbosityLevel the_verbosity)
Definition: BremRecoveryClusterAlgo.h:42
BremRecoveryClusterAlgo::match
bool match(reco::CaloClusterPtr seed_p, reco::CaloClusterPtr cluster_p, double etaRoad, double phiRoad)
Definition: BremRecoveryClusterAlgo.cc:95
BremRecoveryClusterAlgo::makeIslandSuperClusters
void makeIslandSuperClusters(reco::CaloClusterPtrVector &clusters_v, double etaRoad, double phiRoad)
Definition: BremRecoveryClusterAlgo.cc:36