File indexing completed on 2024-04-06 12:04:44
0001 #ifndef DATAFORMATS_METRECO_GLOBALHALODATA_H
0002 #define DATAFORMATS_METRECO_GLOBALHALODATA_H
0003
0004
0005
0006
0007
0008
0009 #include "DataFormats/METReco/interface/EcalHaloData.h"
0010 #include "DataFormats/METReco/interface/HcalHaloData.h"
0011 #include "DataFormats/METReco/interface/CSCHaloData.h"
0012 #include "DataFormats/METReco/interface/PhiWedge.h"
0013 #include "DataFormats/METReco/interface/CaloMET.h"
0014 #include "DataFormats/METReco/interface/MET.h"
0015
0016 namespace reco {
0017 class GlobalHaloData {
0018 public:
0019
0020 GlobalHaloData();
0021
0022 ~GlobalHaloData() {}
0023
0024
0025 float METOverSumEt() const { return METOverSumEt_; }
0026
0027
0028 float DeltaMEx() const { return dMEx_; }
0029
0030
0031 float DeltaMEy() const { return dMEy_; }
0032
0033
0034 float DeltaSumEt() const { return dSumEt_; }
0035
0036
0037 reco::CaloMET GetCorrectedCaloMET(const reco::CaloMET& RawMET) const;
0038
0039 std::vector<PhiWedge>& GetMatchedHcalPhiWedges() { return HcalPhiWedges; }
0040 const std::vector<PhiWedge>& GetMatchedHcalPhiWedges() const { return HcalPhiWedges; }
0041
0042 std::vector<PhiWedge>& GetMatchedEcalPhiWedges() { return EcalPhiWedges; }
0043 const std::vector<PhiWedge>& GetMatchedEcalPhiWedges() const { return EcalPhiWedges; }
0044
0045 edm::RefVector<EcalRecHitCollection>& GetEBRechits() { return ecalebrhRefs; }
0046 const edm::RefVector<EcalRecHitCollection>& GetEBRechits() const { return ecalebrhRefs; }
0047
0048 edm::RefVector<EcalRecHitCollection>& GetEERechits() { return ecaleerhRefs; }
0049 const edm::RefVector<EcalRecHitCollection>& GetEERechits() const { return ecaleerhRefs; }
0050
0051 edm::RefVector<HBHERecHitCollection>& GetHBHERechits() { return hbherhRefs; }
0052 const edm::RefVector<HBHERecHitCollection>& GetHBHERechits() const { return hbherhRefs; }
0053
0054 bool GetSegmentIsHBCaloMatched() const { return segmentisHBcalomatched; }
0055 bool GetSegmentIsHECaloMatched() const { return segmentisHEcalomatched; }
0056 bool GetSegmentIsEBCaloMatched() const { return segmentisEBcalomatched; }
0057 bool GetSegmentIsEECaloMatched() const { return segmentisEEcalomatched; }
0058
0059 bool GetHaloPatternFoundEB() const { return halopatternfoundEB; }
0060 bool GetHaloPatternFoundEE() const { return halopatternfoundEE; }
0061 bool GetHaloPatternFoundHB() const { return halopatternfoundHB; }
0062 bool GetHaloPatternFoundHE() const { return halopatternfoundHE; }
0063
0064
0065 void SetMETOverSumEt(float x) { METOverSumEt_ = x; }
0066 void SetMETCorrections(float x, float y) {
0067 dMEx_ = x;
0068 dMEy_ = y;
0069 }
0070
0071 void SetSegmentIsHBCaloMatched(bool b) { segmentisHBcalomatched = b; }
0072 void SetSegmentIsHECaloMatched(bool b) { segmentisHEcalomatched = b; }
0073 void SetSegmentIsEBCaloMatched(bool b) { segmentisEBcalomatched = b; }
0074 void SetSegmentIsEECaloMatched(bool b) { segmentisEEcalomatched = b; }
0075 void SetHaloPatternFoundEB(bool b) { halopatternfoundEB = b; }
0076 void SetHaloPatternFoundEE(bool b) { halopatternfoundEE = b; }
0077 void SetHaloPatternFoundHB(bool b) { halopatternfoundHB = b; }
0078 void SetHaloPatternFoundHE(bool b) { halopatternfoundHE = b; }
0079
0080 private:
0081 float METOverSumEt_;
0082 float dMEx_;
0083 float dMEy_;
0084 float dSumEt_;
0085
0086 std::vector<PhiWedge> HcalPhiWedges;
0087 std::vector<PhiWedge> EcalPhiWedges;
0088
0089 bool segmentisEBcalomatched, segmentisEEcalomatched, segmentisHBcalomatched, segmentisHEcalomatched;
0090 bool halopatternfoundEB, halopatternfoundEE, halopatternfoundHB, halopatternfoundHE;
0091
0092 edm::RefVector<EcalRecHitCollection> ecalebrhRefs;
0093 edm::RefVector<EcalRecHitCollection> ecaleerhRefs;
0094 edm::RefVector<HBHERecHitCollection> hbherhRefs;
0095 };
0096 }
0097 #endif