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, 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);
69 
70  // Set min & max radius to associate CSC Rechits with Ecal Phi Wedges
72  // Set min & max radius to associate CSC Rechits with Hcal Phi Wedges
74  // Set CaloTowerEtTheshold
76  // run algorithm
77 
78  //CSC-Calo matching parameters:
80  //EB
86  //EE
92  //HB
98  //HE
104 
105 
106 
107  private:
108  float Ecal_R_Min;
109  float Ecal_R_Max;
110  float Hcal_R_Min;
111  float Hcal_R_Max;
113 
114  //Parameters for CSC-calo matching
116 
122 
128 
134 
140 
141 
142 
143  void AddtoBeamHaloEBEERechits(edm::RefVector<EcalRecHitCollection>& bhtaggedrechits,reco::GlobalHaloData & thehalodata, bool isbarrel);
145  bool SegmentMatchingEB(reco::GlobalHaloData & thehalodata, const std::vector<reco::HaloClusterCandidateECAL> & haloclustercands, float iZ, float iR, float iT, float iPhi, bool ishlt);
146  bool SegmentMatchingEE(reco::GlobalHaloData & thehalodata, const std::vector<reco::HaloClusterCandidateECAL> & haloclustercands, float iZ, float iR, float iT, float iPhi, bool ishlt);
147  bool SegmentMatchingHB(reco::GlobalHaloData & thehalodata, const std::vector<reco::HaloClusterCandidateHCAL> & haloclustercands, float iZ, float iR, float iT, float iPhi, bool ishlt);
148  bool SegmentMatchingHE(reco::GlobalHaloData & thehalodata, const std::vector<reco::HaloClusterCandidateHCAL> & haloclustercands, float iZ, float iR, float iT, float iPhi, bool ishlt);
149  bool ApplyMatchingCuts(int subdet, bool ishlt, double rhet, double segZ, double rhZ, double segR, double rhR, double segT, double rhT, double segPhi, double rhPhi);
150 
151 };
152 
153 #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)