CMS 3D CMS Logo

EcalHaloAlgo.h
Go to the documentation of this file.
1 #ifndef RECOMET_METALGORITHMS_ECALHALOALGO_H
2 #define RECOMET_METALGORITHMS_ECALHALOALGO_H
3 /*
4  [class]: EcalHaloAlgo
5  [authors]: R. Remington, The University of Florida
6  [description]: Algorithm to calculate quantities relevant to EcalHaloData object
7  [date]: October 15, 2009
8 */
10 
18 
21 
32 //#include "RecoEcal/EgammaCoreTools/interface/EcalClusterLazyTools.h"
43 
44 class EcalHaloAlgo {
45 public:
46  // constructor
48  // destructor
50 
51  // Run algorithm
52  reco::EcalHaloData Calculate(const CaloGeometry& TheCaloGeometry,
55  edm::Handle<EBRecHitCollection>& TheEBRecHits,
56  edm::Handle<EERecHitCollection>& TheEERecHits,
57  edm::Handle<ESRecHitCollection>& TheESRecHits,
58  edm::Handle<HBHERecHitCollection>& TheHBHERecHits,
59  const edm::EventSetup& TheSetup);
60  // Set Roundness cuts
61  void SetRoundnessCut(float r = 100.) { RoundnessCut = r; }
62  // Set Angle cuts
63  void SetAngleCut(float a = 4.) { AngleCut = a; }
64 
65  // Set RecHit Energy Thresholds
66  void SetRecHitEnergyThresholds(float EB, float EE, float ES) {
70  }
71  // Set Phi Wedge Thresholds
72  void SetPhiWedgeEnergyThreshold(float SumE) { SumEnergyThreshold = SumE; }
74  void SetPhiWedgeThresholds(float SumE, int nhits) {
75  SumEnergyThreshold = SumE;
77  }
78 
79  std::vector<reco::HaloClusterCandidateECAL> GetHaloClusterCandidateEB(
80  edm::Handle<EcalRecHitCollection>& ecalrechitcoll,
81  edm::Handle<HBHERecHitCollection>& hbherechitcoll,
82  float et_thresh_seedrh);
83  std::vector<reco::HaloClusterCandidateECAL> GetHaloClusterCandidateEE(
84  edm::Handle<EcalRecHitCollection>& ecalrechitcoll,
85  edm::Handle<HBHERecHitCollection>& hbherechitcoll,
86  float et_thresh_seedrh);
90 
91  // Get Roundness cut
92  float GetRoundnessCut() { return RoundnessCut; }
93  // Get Angle cut
94  float GetAngleCut() { return AngleCut; }
95 
96  // Get RecHit Energy Threshold
100 
101  // Get Phi Wedge Threhsolds
104 
105 private:
106  // Cut Value for Supercluster "roundness" variable
108  // Cut Value for Supercluster "angle" variable
109  float AngleCut;
110 
111  // Invidiual RecHit Threhsolds
115 
116  // Phi Wedge Thresholds
119 
123 };
124 
125 #endif
EcalHaloAlgo::EEClusterShapeandTimeStudy_OTBH
bool EEClusterShapeandTimeStudy_OTBH(reco::HaloClusterCandidateECAL hcand, bool ishlt)
Definition: EcalHaloAlgo.cc:513
EcalHaloAlgo::SetPhiWedgeEnergyThreshold
void SetPhiWedgeEnergyThreshold(float SumE)
Definition: EcalHaloAlgo.h:72
EcalHaloAlgo::ESRecHitEnergyThreshold
float ESRecHitEnergyThreshold
Definition: EcalHaloAlgo.h:114
EcalHaloAlgo::SetRecHitEnergyThresholds
void SetRecHitEnergyThresholds(float EB, float EE, float ES)
Definition: EcalHaloAlgo.h:66
EcalHaloAlgo::EERecHitEnergyThreshold
float EERecHitEnergyThreshold
Definition: EcalHaloAlgo.h:113
BasicCluster.h
EB
Definition: GlobalHaloAlgo.cc:15
EBDetId.h
EEDetId.h
EcalHaloAlgo::GetRoundnessCut
float GetRoundnessCut()
Definition: EcalHaloAlgo.h:92
EcalBarrelTopology.h
CaloID.h
PhotonFwd.h
ESDetId.h
EcalHaloAlgo::geo
const CaloGeometry * geo
Definition: EcalHaloAlgo.h:121
ConversionFwd.h
edm::Handle< reco::PhotonCollection >
EcalHaloAlgo::geoToken_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > geoToken_
Definition: EcalHaloAlgo.h:120
EcalHaloAlgo::~EcalHaloAlgo
~EcalHaloAlgo()
Definition: EcalHaloAlgo.h:49
EcalRecHitCollections.h
CaloRecHit.h
EcalHaloAlgo::EEClusterShapeandTimeStudy_ITBH
bool EEClusterShapeandTimeStudy_ITBH(reco::HaloClusterCandidateECAL hcand, bool ishlt)
Definition: EcalHaloAlgo.cc:532
DetId
Definition: DetId.h:17
Photon.h
CaloGeometry
Definition: CaloGeometry.h:21
EcalHaloAlgo::GetPhiWedgeEnergyThreshold
float GetPhiWedgeEnergyThreshold()
Definition: EcalHaloAlgo.h:102
EcalHaloAlgo::SetPhiWedgeNHitsThreshold
void SetPhiWedgeNHitsThreshold(int nhits)
Definition: EcalHaloAlgo.h:73
EcalHaloAlgo::GetEERecHitEnergyThreshold
float GetEERecHitEnergyThreshold()
Definition: EcalHaloAlgo.h:98
EcalHaloAlgo::EBClusterShapeandTimeStudy
bool EBClusterShapeandTimeStudy(reco::HaloClusterCandidateECAL hcand, bool ishlt)
Definition: EcalHaloAlgo.cc:484
EcalHaloAlgo::SetAngleCut
void SetAngleCut(float a=4.)
Definition: EcalHaloAlgo.h:63
EcalHaloAlgo::GetPhiWedgeNHitsThreshold
int GetPhiWedgeNHitsThreshold()
Definition: EcalHaloAlgo.h:103
EcalHaloAlgo::getPosition
math::XYZPoint getPosition(const DetId &id, reco::Vertex::Point vtx)
Definition: EcalHaloAlgo.cc:559
nhits
Definition: HIMultiTrackSelector.h:42
EcalHaloAlgo
Definition: EcalHaloAlgo.h:44
CaloGeometryRecord.h
EcalHaloAlgo::GetHaloClusterCandidateEB
std::vector< reco::HaloClusterCandidateECAL > GetHaloClusterCandidateEB(edm::Handle< EcalRecHitCollection > &ecalrechitcoll, edm::Handle< HBHERecHitCollection > &hbherechitcoll, float et_thresh_seedrh)
Definition: EcalHaloAlgo.cc:209
HcalRecHitDefs.h
EcalHaloAlgo::GetHaloClusterCandidateEE
std::vector< reco::HaloClusterCandidateECAL > GetHaloClusterCandidateEE(edm::Handle< EcalRecHitCollection > &ecalrechitcoll, edm::Handle< HBHERecHitCollection > &hbherechitcoll, float et_thresh_seedrh)
Definition: EcalHaloAlgo.cc:337
CaloSubdetectorGeometry.h
EcalHaloAlgo::RoundnessCut
float RoundnessCut
Definition: EcalHaloAlgo.h:107
EcalHaloAlgo::EBRecHitEnergyThreshold
float EBRecHitEnergyThreshold
Definition: EcalHaloAlgo.h:112
math::XYZPoint
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
a
double a
Definition: hdecay.h:119
EcalHaloData.h
EcalHaloAlgo::GetESRecHitEnergyThreshold
float GetESRecHitEnergyThreshold()
Definition: EcalHaloAlgo.h:99
EcalEndcapTopology.h
EcalClusterTools.h
EcalHaloAlgo::Calculate
reco::EcalHaloData Calculate(const CaloGeometry &TheCaloGeometry, edm::Handle< reco::PhotonCollection > &ThePhotons, edm::Handle< reco::SuperClusterCollection > &TheSuperClusters, edm::Handle< EBRecHitCollection > &TheEBRecHits, edm::Handle< EERecHitCollection > &TheEERecHits, edm::Handle< ESRecHitCollection > &TheESRecHits, edm::Handle< HBHERecHitCollection > &TheHBHERecHits, const edm::EventSetup &TheSetup)
Definition: EcalHaloAlgo.cc:32
reco::HaloClusterCandidateECAL
Definition: HaloClusterCandidateECAL.h:21
reco::EcalHaloData
Definition: EcalHaloData.h:21
edm::EventSetup
Definition: EventSetup.h:57
edm::ESGetToken< CaloGeometry, CaloGeometryRecord >
EcalRecHit.h
alignCSCRings.r
r
Definition: alignCSCRings.py:93
EcalHaloAlgo::GetAngleCut
float GetAngleCut()
Definition: EcalHaloAlgo.h:94
EE
Definition: GlobalHaloAlgo.cc:15
GeomDet.h
CaloCellGeometry.h
EcalHaloAlgo::SetRoundnessCut
void SetRoundnessCut(float r=100.)
Definition: EcalHaloAlgo.h:61
reco::Vertex::Point
math::XYZPoint Point
point in the space
Definition: Vertex.h:40
SuperClusterFwd.h
extraflags_cff.vtx
vtx
Definition: extraflags_cff.py:18
EcalHaloAlgo::SetPhiWedgeThresholds
void SetPhiWedgeThresholds(float SumE, int nhits)
Definition: EcalHaloAlgo.h:74
DetId.h
EcalHaloAlgo::EcalHaloAlgo
EcalHaloAlgo(edm::ConsumesCollector iC)
Definition: EcalHaloAlgo.cc:20
EcalHaloAlgo::NHitsThreshold
int NHitsThreshold
Definition: EcalHaloAlgo.h:118
EcalHaloAlgo::AngleCut
float AngleCut
Definition: EcalHaloAlgo.h:109
SuperCluster.h
CaloGeometry.h
BoundPlane.h
EcalHaloAlgo::GetEBRecHitEnergyThreshold
float GetEBRecHitEnergyThreshold()
Definition: EcalHaloAlgo.h:97
EcalHaloAlgo::SumEnergyThreshold
float SumEnergyThreshold
Definition: EcalHaloAlgo.h:117
GlobalPoint.h
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
HaloClusterCandidateECAL.h
Conversion.h