CMS 3D CMS Logo

GlobalHaloAlgo.h
Go to the documentation of this file.
1 #ifndef RECOMET_METALGORITHMS_GLOBALHALOALGO_H
2 #define RECOMET_METALGORITHMS_GLOBALHALOALGO_H
3 
4 /*
5  [class]: GlobalHaloAlgo
6  [authors]: R. Remington, The University of Florida
7  [description]: Algorithm to calculate quantities relevant to GlobalHaloData object
8  [date]: October 15, 2009
9 */
10 
51 
56 
59 
61 public:
62  // Constructor
64  // Destructor
66 
67  // run algorithm
68  reco::GlobalHaloData Calculate(const CaloGeometry& TheCaloGeometry,
69  const CSCGeometry& TheCSCGeometry,
70  const reco::CaloMET& TheCaloMET,
71  edm::Handle<edm::View<reco::Candidate> >& TheCaloTowers,
72  edm::Handle<CSCSegmentCollection>& TheCSCSegments,
75  const reco::CSCHaloData& TheCSCHaloData,
76  const reco::EcalHaloData& TheEcalHaloData,
77  const reco::HcalHaloData& TheHcalHaloData,
78  bool ishlt = false);
79 
80  // Set min & max radius to associate CSC Rechits with Ecal Phi Wedges
81  void SetEcalMatchingRadius(float min, float max) {
82  Ecal_R_Min = min;
83  Ecal_R_Max = max;
84  }
85  // Set min & max radius to associate CSC Rechits with Hcal Phi Wedges
86  void SetHcalMatchingRadius(float min, float max) {
87  Hcal_R_Min = min;
88  Hcal_R_Max = max;
89  }
90  // Set CaloTowerEtTheshold
92  // run algorithm
93 
94  //CSC-Calo matching parameters:
96  //EB
102  //EE
108  //HB
114  //HE
120 
121 private:
122  float Ecal_R_Min;
123  float Ecal_R_Max;
124  float Hcal_R_Min;
125  float Hcal_R_Max;
127 
128  //Parameters for CSC-calo matching
130 
136 
142 
148 
154 
156  reco::GlobalHaloData& thehalodata,
157  bool isbarrel);
159  reco::GlobalHaloData& thehalodata);
160  bool SegmentMatchingEB(reco::GlobalHaloData& thehalodata,
161  const std::vector<reco::HaloClusterCandidateECAL>& haloclustercands,
162  float iZ,
163  float iR,
164  float iT,
165  float iPhi,
166  bool ishlt);
167  bool SegmentMatchingEE(reco::GlobalHaloData& thehalodata,
168  const std::vector<reco::HaloClusterCandidateECAL>& haloclustercands,
169  float iZ,
170  float iR,
171  float iT,
172  float iPhi,
173  bool ishlt);
174  bool SegmentMatchingHB(reco::GlobalHaloData& thehalodata,
175  const std::vector<reco::HaloClusterCandidateHCAL>& haloclustercands,
176  float iZ,
177  float iR,
178  float iT,
179  float iPhi,
180  bool ishlt);
181  bool SegmentMatchingHE(reco::GlobalHaloData& thehalodata,
182  const std::vector<reco::HaloClusterCandidateHCAL>& haloclustercands,
183  float iZ,
184  float iR,
185  float iT,
186  float iPhi,
187  bool ishlt);
188  bool ApplyMatchingCuts(int subdet,
189  bool ishlt,
190  double rhet,
191  double segZ,
192  double rhZ,
193  double segR,
194  double rhR,
195  double segT,
196  double rhT,
197  double segPhi,
198  double rhPhi);
199 };
200 
201 #endif
float dr_highthresh_segvsrh_ee
bool SegmentMatchingEE(reco::GlobalHaloData &thehalodata, const std::vector< reco::HaloClusterCandidateECAL > &haloclustercands, float iZ, float iR, float iT, float iPhi, bool ishlt)
void AddtoBeamHaloEBEERechits(edm::RefVector< EcalRecHitCollection > &bhtaggedrechits, reco::GlobalHaloData &thehalodata, bool isbarrel)
void setRcaloMinRsegmLowThresholdforCSCCaloMatchingHB(float x)
void setEtThresholdforCSCCaloMatchingHB(float x)
void SetMaxSegmentTheta(float x)
void setDtcalosegmThresholdforCSCCaloMatchingHE(float x)
void setRcaloMinRsegmHighThresholdforCSCCaloMatchingHE(float x)
void SetHcalMatchingRadius(float min, float max)
float dr_highthresh_segvsrh_eb
void setRcaloMinRsegmHighThresholdforCSCCaloMatchingHB(float x)
void setDPhicalosegmThresholdforCSCCaloMatchingEB(float x)
float dr_highthresh_segvsrh_he
void setDtcalosegmThresholdforCSCCaloMatchingEE(float x)
void setRcaloMinRsegmLowThresholdforCSCCaloMatchingEB(float x)
void setDPhicalosegmThresholdforCSCCaloMatchingEE(float x)
float dphi_thresh_segvsrh_hb
float dr_lowthresh_segvsrh_ee
float dr_lowthresh_segvsrh_hb
void setEtThresholdforCSCCaloMatchingHE(float x)
void setEtThresholdforCSCCaloMatchingEB(float x)
void setRcaloMinRsegmLowThresholdforCSCCaloMatchingHE(float x)
T min(T a, T b)
Definition: MathUtil.h:58
reco::GlobalHaloData Calculate(const CaloGeometry &TheCaloGeometry, const CSCGeometry &TheCSCGeometry, const reco::CaloMET &TheCaloMET, edm::Handle< edm::View< reco::Candidate > > &TheCaloTowers, edm::Handle< CSCSegmentCollection > &TheCSCSegments, edm::Handle< CSCRecHit2DCollection > &TheCSCRecHits, edm::Handle< reco::MuonCollection > &TheMuons, const reco::CSCHaloData &TheCSCHaloData, const reco::EcalHaloData &TheEcalHaloData, const reco::HcalHaloData &TheHcalHaloData, bool ishlt=false)
void SetEcalMatchingRadius(float min, float max)
float dphi_thresh_segvsrh_eb
bool SegmentMatchingHB(reco::GlobalHaloData &thehalodata, const std::vector< reco::HaloClusterCandidateHCAL > &haloclustercands, float iZ, float iR, float iT, float iPhi, bool ishlt)
bool SegmentMatchingEB(reco::GlobalHaloData &thehalodata, const std::vector< reco::HaloClusterCandidateECAL > &haloclustercands, float iZ, float iR, float iT, float iPhi, bool ishlt)
float dr_lowthresh_segvsrh_he
void setEtThresholdforCSCCaloMatchingEE(float x)
void setDtcalosegmThresholdforCSCCaloMatchingEB(float x)
void AddtoBeamHaloHBHERechits(edm::RefVector< HBHERecHitCollection > &bhtaggedrechits, reco::GlobalHaloData &thehalodata)
void setRcaloMinRsegmHighThresholdforCSCCaloMatchingEE(float x)
float dr_highthresh_segvsrh_hb
void setRcaloMinRsegmHighThresholdforCSCCaloMatchingEB(float x)
float dphi_thresh_segvsrh_ee
void setDPhicalosegmThresholdforCSCCaloMatchingHB(float x)
void setDPhicalosegmThresholdforCSCCaloMatchingHE(float x)
float dphi_thresh_segvsrh_he
void SetCaloTowerEtThreshold(float EtMin)
void setDtcalosegmThresholdforCSCCaloMatchingHB(float x)
bool SegmentMatchingHE(reco::GlobalHaloData &thehalodata, const std::vector< reco::HaloClusterCandidateHCAL > &haloclustercands, float iZ, float iR, float iT, float iPhi, bool ishlt)
void setRcaloMinRsegmLowThresholdforCSCCaloMatchingEE(float x)
float dr_lowthresh_segvsrh_eb
bool ApplyMatchingCuts(int subdet, bool ishlt, double rhet, double segZ, double rhZ, double segR, double rhR, double segT, double rhT, double segPhi, double rhPhi)