CMS 3D CMS Logo

HiBremRecoveryClusterAlgo.h
Go to the documentation of this file.
1 #ifndef RecoHi_HiEgammaAlgos_HiBremRecoveryClusterAlgo_h_
2 #define RecoHi_HiEgammaAlgos_HiBremRecoveryClusterAlgo_h_
3 
10 
11 #include <vector>
12 
13 /*
14  The HiBremRecoveryClusterAlgo 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  HiBremRecoveryClusterAlgo(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  double theBarrelBremEnergyThreshold = 2.3,
31  double theEndcapBremEnergyThreshold = 5.7,
32  VerbosityLevel the_verbosity = pERROR) {
33  // e*_rdeta_ and e*_rdphi_ are half the total window
34  // because they correspond to one direction (positive or negative)
35  eb_rdeta_ = eb_sc_road_etasize / 2;
36  eb_rdphi_ = eb_sc_road_phisize / 2;
37  ec_rdeta_ = ec_sc_road_etasize / 2;
38  ec_rdphi_ = ec_sc_road_phisize / 2;
39 
40  seedTransverseEnergyThreshold = theSeedTransverseEnergyThreshold;
41  BarrelBremEnergyThreshold = theBarrelBremEnergyThreshold;
42  EndcapBremEnergyThreshold = theEndcapBremEnergyThreshold;
43  verbosity = the_verbosity;
44  }
45 
46  void setVerbosity(VerbosityLevel the_verbosity) { verbosity = the_verbosity; }
47 
48  // the method called from outside to do the SuperClustering - returns a vector of SCs:
50 
51 private:
52  // make superclusters out of clusters produced by the Island algorithm:
53  void makeIslandSuperClusters(reco::CaloClusterPtrVector &clusters_v, double etaRoad, double phiRoad);
54 
55  // return true if the cluster is within the search phi-eta window of the seed
56  bool match(reco::CaloClusterPtr seed_p, reco::CaloClusterPtr cluster_p, double etaRoad, double phiRoad);
57 
59 
60  double eb_rdeta_;
61  double eb_rdphi_;
62  double ec_rdeta_;
63  double ec_rdphi_;
64 
66 
67  // Barrel Basic Cluster threshold in the brem recovery process
70 
72 };
73 
74 #endif
BasicCluster.h
HiBremRecoveryClusterAlgo::pDEBUG
Definition: HiBremRecoveryClusterAlgo.h:23
HiBremRecoveryClusterAlgo::EndcapBremEnergyThreshold
double EndcapBremEnergyThreshold
Definition: HiBremRecoveryClusterAlgo.h:69
HiBremRecoveryClusterAlgo::HiBremRecoveryClusterAlgo
HiBremRecoveryClusterAlgo(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, double theBarrelBremEnergyThreshold=2.3, double theEndcapBremEnergyThreshold=5.7, VerbosityLevel the_verbosity=pERROR)
Definition: HiBremRecoveryClusterAlgo.h:25
BasicClusterFwd.h
reco::SuperClusterCollection
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
Definition: SuperClusterFwd.h:9
HiBremRecoveryClusterAlgo::BarrelBremEnergyThreshold
double BarrelBremEnergyThreshold
Definition: HiBremRecoveryClusterAlgo.h:68
edm::PtrVector< CaloCluster >
CaloClusterFwd.h
HiBremRecoveryClusterAlgo::ec_rdeta_
double ec_rdeta_
Definition: HiBremRecoveryClusterAlgo.h:62
HiBremRecoveryClusterAlgo::setVerbosity
void setVerbosity(VerbosityLevel the_verbosity)
Definition: HiBremRecoveryClusterAlgo.h:46
bsc_activity_cfg.clusters
clusters
Definition: bsc_activity_cfg.py:36
HiBremRecoveryClusterAlgo::match
bool match(reco::CaloClusterPtr seed_p, reco::CaloClusterPtr cluster_p, double etaRoad, double phiRoad)
Definition: HiBremRecoveryClusterAlgo.cc:143
CaloSubdetectorGeometry.h
HiBremRecoveryClusterAlgo::eb_rdphi_
double eb_rdphi_
Definition: HiBremRecoveryClusterAlgo.h:61
HiBremRecoveryClusterAlgo::makeIslandSuperClusters
void makeIslandSuperClusters(reco::CaloClusterPtrVector &clusters_v, double etaRoad, double phiRoad)
Definition: HiBremRecoveryClusterAlgo.cc:44
HiBremRecoveryClusterAlgo::eb_rdeta_
double eb_rdeta_
Definition: HiBremRecoveryClusterAlgo.h:60
edm::Ptr< CaloCluster >
SuperClusterFwd.h
HiBremRecoveryClusterAlgo::verbosity
VerbosityLevel verbosity
Definition: HiBremRecoveryClusterAlgo.h:58
SuperCluster.h
HiBremRecoveryClusterAlgo::superclusters_v
reco::SuperClusterCollection superclusters_v
Definition: HiBremRecoveryClusterAlgo.h:71
HiBremRecoveryClusterAlgo::pERROR
Definition: HiBremRecoveryClusterAlgo.h:23
HiBremRecoveryClusterAlgo
Definition: HiBremRecoveryClusterAlgo.h:21
HiBremRecoveryClusterAlgo::ec_rdphi_
double ec_rdphi_
Definition: HiBremRecoveryClusterAlgo.h:63
HiBremRecoveryClusterAlgo::seedTransverseEnergyThreshold
double seedTransverseEnergyThreshold
Definition: HiBremRecoveryClusterAlgo.h:65
HiBremRecoveryClusterAlgo::pINFO
Definition: HiBremRecoveryClusterAlgo.h:23
HiBremRecoveryClusterAlgo::makeSuperClusters
reco::SuperClusterCollection makeSuperClusters(reco::CaloClusterPtrVector &clusters)
Definition: HiBremRecoveryClusterAlgo.cc:5
HiBremRecoveryClusterAlgo::VerbosityLevel
VerbosityLevel
Definition: HiBremRecoveryClusterAlgo.h:23
HiBremRecoveryClusterAlgo::pWARNING
Definition: HiBremRecoveryClusterAlgo.h:23