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 
45 {
46  public:
47  // constructor
48  EcalHaloAlgo();
49  // destructor
51 
52  // Run algorithm
54  // Set Roundness cuts
55  void SetRoundnessCut( float r = 100.){ RoundnessCut=r; }
56  // Set Angle cuts
57  void SetAngleCut(float a = 4.){ AngleCut =a;}
58 
59  // Set RecHit Energy Thresholds
61  // Set Phi Wedge Thresholds
62  void SetPhiWedgeEnergyThreshold( float SumE ){ SumEnergyThreshold = SumE ;}
64  void SetPhiWedgeThresholds(float SumE, int nhits) { SumEnergyThreshold = SumE ; NHitsThreshold = nhits ;}
65 
66 
67  std::vector<reco::HaloClusterCandidateECAL> GetHaloClusterCandidateEB(edm::Handle<EcalRecHitCollection>& ecalrechitcoll, edm::Handle<HBHERecHitCollection>& hbherechitcoll,float et_thresh_seedrh);
68  std::vector<reco::HaloClusterCandidateECAL> GetHaloClusterCandidateEE(edm::Handle<EcalRecHitCollection>& ecalrechitcoll, edm::Handle<HBHERecHitCollection>& hbherechitcoll,float et_thresh_seedrh);
72 
73 
74 
75  // Get Roundness cut
76  float GetRoundnessCut(){return RoundnessCut ;}
77  // Get Angle cut
78  float GetAngleCut(){return AngleCut ;}
79 
80  // Get RecHit Energy Threshold
84 
85  // Get Phi Wedge Threhsolds
88 
89 
90  private:
91 
92  // Cut Value for Supercluster "roundness" variable
93  float RoundnessCut;
94  // Cut Value for Supercluster "angle" variable
95  float AngleCut;
96 
97  // Invidiual RecHit Threhsolds
101 
102  // Phi Wedge Thresholds
105 
108 
109 };
110 
111 
112 
113 #endif
float GetPhiWedgeEnergyThreshold()
Definition: EcalHaloAlgo.h:86
void SetAngleCut(float a=4.)
Definition: EcalHaloAlgo.h:57
float GetEERecHitEnergyThreshold()
Definition: EcalHaloAlgo.h:82
float GetEBRecHitEnergyThreshold()
Definition: EcalHaloAlgo.h:81
bool EEClusterShapeandTimeStudy_OTBH(reco::HaloClusterCandidateECAL hcand, bool ishlt)
float ESRecHitEnergyThreshold
Definition: EcalHaloAlgo.h:100
void SetRecHitEnergyThresholds(float EB, float EE, float ES)
Definition: EcalHaloAlgo.h:60
float SumEnergyThreshold
Definition: EcalHaloAlgo.h:103
float GetRoundnessCut()
Definition: EcalHaloAlgo.h:76
void SetPhiWedgeEnergyThreshold(float SumE)
Definition: EcalHaloAlgo.h:62
void SetPhiWedgeThresholds(float SumE, int nhits)
Definition: EcalHaloAlgo.h:64
math::XYZPoint Point
point in the space
Definition: Vertex.h:39
std::vector< reco::HaloClusterCandidateECAL > GetHaloClusterCandidateEB(edm::Handle< EcalRecHitCollection > &ecalrechitcoll, edm::Handle< HBHERecHitCollection > &hbherechitcoll, float et_thresh_seedrh)
float EERecHitEnergyThreshold
Definition: EcalHaloAlgo.h:99
float GetAngleCut()
Definition: EcalHaloAlgo.h:78
float GetESRecHitEnergyThreshold()
Definition: EcalHaloAlgo.h:83
std::vector< reco::HaloClusterCandidateECAL > GetHaloClusterCandidateEE(edm::Handle< EcalRecHitCollection > &ecalrechitcoll, edm::Handle< HBHERecHitCollection > &hbherechitcoll, float et_thresh_seedrh)
Definition: DetId.h:18
float EBRecHitEnergyThreshold
Definition: EcalHaloAlgo.h:98
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
int GetPhiWedgeNHitsThreshold()
Definition: EcalHaloAlgo.h:87
bool EEClusterShapeandTimeStudy_ITBH(reco::HaloClusterCandidateECAL hcand, bool ishlt)
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
math::XYZPoint getPosition(const DetId &id, reco::Vertex::Point vtx)
double a
Definition: hdecay.h:121
void SetPhiWedgeNHitsThreshold(int nhits)
Definition: EcalHaloAlgo.h:63
float AngleCut
Definition: EcalHaloAlgo.h:95
bool EBClusterShapeandTimeStudy(reco::HaloClusterCandidateECAL hcand, bool ishlt)
float RoundnessCut
Definition: EcalHaloAlgo.h:93
const CaloGeometry * geo
Definition: EcalHaloAlgo.h:106
void SetRoundnessCut(float r=100.)
Definition: EcalHaloAlgo.h:55