CMS 3D CMS Logo

HcalHaloAlgo.h
Go to the documentation of this file.
1 #ifndef RECOMET_METALGORITHMS_HCALHALOALGO_H
2 #define RECOMET_METALGORITHMS_HCALHALOALGO_H
3 
5 
6 /*
7  [class]: HcalHaloAlgo
8  [authors]: R. Remington, The University of Florida
9  [description]: Algorithm to calculate quantities relevant to HcalHaloData object
10  [date]: October 15, 2009
11 */
12 
15 
19 
21 
24 
36 
38 
39 class HcalHaloAlgo {
40 public:
41  //constructor
42  HcalHaloAlgo();
43  //destructor
45 
46  // run algorithm
47  reco::HcalHaloData Calculate(const CaloGeometry& TheCaloGeometry,
48  edm::Handle<HBHERecHitCollection>& TheHBHERecHits,
49  edm::Handle<CaloTowerCollection>& TheCaloTowers,
50  edm::Handle<EBRecHitCollection>& TheEBRecHits,
51  edm::Handle<EERecHitCollection>& TheEERecHits,
52  const edm::EventSetup& TheSetup);
53 
54  reco::HcalHaloData Calculate(const CaloGeometry& TheCaloGeometry,
55  edm::Handle<HBHERecHitCollection>& TheHBHERecHits,
56  edm::Handle<EBRecHitCollection>& TheEBRecHits,
57  edm::Handle<EERecHitCollection>& TheEERecHits,
58  const edm::EventSetup& TheSetup);
59 
60  // Set RecHit Energy Thresholds
61  void SetRecHitEnergyThresholds(float HB, float HE) {
64  }
65 
66  // Set Phi Wedge Thresholds
67  void SetPhiWedgeEnergyThreshold(float SumE) { SumEnergyThreshold = SumE; }
69  void SetPhiWedgeThresholds(float SumE, int nhits) {
70  SumEnergyThreshold = SumE;
72  }
73 
74  // Get RecHit Energy Threshold
77 
78  // Get Phi Wedge Threhsolds
81 
82  std::vector<reco::HaloClusterCandidateHCAL> GetHaloClusterCandidateHB(
84  edm::Handle<HBHERecHitCollection>& hbherechitcoll,
85  float et_thresh_seedrh);
86  std::vector<reco::HaloClusterCandidateHCAL> GetHaloClusterCandidateHE(
88  edm::Handle<HBHERecHitCollection>& hbherechitcoll,
89  float et_thresh_seedrh);
92 
93 private:
94  // Invidiual RecHit Threhsolds
97 
98  // Phi Wedge Thresholds
101 
105 };
106 
107 #endif
float HERecHitEnergyThreshold
Definition: HcalHaloAlgo.h:96
void SetRecHitEnergyThresholds(float HB, float HE)
Definition: HcalHaloAlgo.h:61
std::vector< reco::HaloClusterCandidateHCAL > GetHaloClusterCandidateHE(edm::Handle< EcalRecHitCollection > &eerechitcoll, edm::Handle< HBHERecHitCollection > &hbherechitcoll, float et_thresh_seedrh)
const CaloGeometry * geo_
Definition: HcalHaloAlgo.h:102
void SetPhiWedgeEnergyThreshold(float SumE)
Definition: HcalHaloAlgo.h:67
float GetHERecHitEnergyThreshold()
Definition: HcalHaloAlgo.h:76
bool HBClusterShapeandTimeStudy(reco::HaloClusterCandidateHCAL hcand, bool ishlt)
float GetHBRecHitEnergyThreshold()
Definition: HcalHaloAlgo.h:75
float GetPhiWedgeEnergyThreshold()
Definition: HcalHaloAlgo.h:79
math::XYZPoint Point
point in the space
Definition: Vertex.h:39
void SetPhiWedgeThresholds(float SumE, int nhits)
Definition: HcalHaloAlgo.h:69
reco::HcalHaloData Calculate(const CaloGeometry &TheCaloGeometry, edm::Handle< HBHERecHitCollection > &TheHBHERecHits, edm::Handle< CaloTowerCollection > &TheCaloTowers, edm::Handle< EBRecHitCollection > &TheEBRecHits, edm::Handle< EERecHitCollection > &TheEERecHits, const edm::EventSetup &TheSetup)
Definition: HcalHaloAlgo.cc:39
Definition: DetId.h:17
int GetPhiWedgeNHitsThreshold()
Definition: HcalHaloAlgo.h:80
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
float HBRecHitEnergyThreshold
Definition: HcalHaloAlgo.h:95
const HcalGeometry * hgeo_
Definition: HcalHaloAlgo.h:103
float SumEnergyThreshold
Definition: HcalHaloAlgo.h:99
math::XYZPoint getPosition(const DetId &id, reco::Vertex::Point vtx)
void SetPhiWedgeNHitsThreshold(int nhits)
Definition: HcalHaloAlgo.h:68
bool HEClusterShapeandTimeStudy(reco::HaloClusterCandidateHCAL hcand, bool ishlt)
std::vector< reco::HaloClusterCandidateHCAL > GetHaloClusterCandidateHB(edm::Handle< EcalRecHitCollection > &ebrechitcoll, edm::Handle< HBHERecHitCollection > &hbherechitcoll, float et_thresh_seedrh)