RecoEcal
EgammaClusterAlgos
interface
BremRecoveryClusterAlgo.h
Go to the documentation of this file.
1
#ifndef RecoEcal_EgammaClusterAlgos_BremRecoveryClusterAlgo_h_
2
#define RecoEcal_EgammaClusterAlgos_BremRecoveryClusterAlgo_h_
3
4
#include "
DataFormats/EgammaReco/interface/BasicCluster.h
"
5
#include "
DataFormats/EgammaReco/interface/BasicClusterFwd.h
"
6
#include "
DataFormats/EgammaReco/interface/SuperCluster.h
"
7
#include "
DataFormats/EgammaReco/interface/SuperClusterFwd.h
"
8
#include "
DataFormats/CaloRecHit/interface/CaloClusterFwd.h
"
9
#include "
Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h
"
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
21
class
BremRecoveryClusterAlgo
{
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:
45
reco::SuperClusterCollection
makeSuperClusters
(
reco::CaloClusterPtrVector
&
clusters
);
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
56
VerbosityLevel
verbosity
;
57
58
double
eb_rdeta_
;
59
double
eb_rdphi_
;
60
double
ec_rdeta_
;
61
double
ec_rdphi_
;
62
63
double
seedTransverseEnergyThreshold
;
64
65
reco::SuperClusterCollection
superclusters_v
;
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
Generated for CMSSW Reference Manual by
1.8.16