00001 #ifndef DATAFORMATS_METRECO_GLOBALHALODATA_H 00002 #define DATAFORMATS_METRECO_GLOBALHALODATA_H 00003 /* 00004 [class]: GlobalHaloData 00005 [authors]: R. Remington, The University of Florida 00006 [description]: Container class to store global beam halo data synthesized from EcalHaloData, HcalHaloData, and CSCHaloData. Also stores some variables relevant to MET for possible corrections. 00007 [date]: October 15, 2009 00008 */ 00009 #include "DataFormats/METReco/interface/EcalHaloData.h" 00010 #include "DataFormats/METReco/interface/HcalHaloData.h" 00011 #include "DataFormats/METReco/interface/CSCHaloData.h" 00012 #include "DataFormats/METReco/interface/PhiWedge.h" 00013 #include "DataFormats/METReco/interface/CaloMET.h" 00014 #include "DataFormats/METReco/interface/MET.h" 00015 00016 namespace reco { 00017 class GlobalHaloData { 00018 00019 public: 00020 // Constructor 00021 GlobalHaloData(); 00022 // Destructor 00023 ~GlobalHaloData(){} 00024 00025 //A good cut-variable to isolate halo events with no overlapping physics from collisions 00026 float METOverSumEt() const {return METOverSumEt_;} 00027 00028 //Correction to CaloMET x-component 00029 float DeltaMEx() const {return dMEx_;} 00030 00031 //Correction to CaloMET y-component 00032 float DeltaMEy() const {return dMEy_;} 00033 00034 //Correction to SumEt 00035 float DeltaSumEt() const { return dSumEt_;} 00036 00037 //Get CaloMET Object corrected for BeamHalo 00038 reco::CaloMET GetCorrectedCaloMET(const reco::CaloMET& RawMET) const ; 00039 00040 std::vector<PhiWedge>& GetMatchedHcalPhiWedges(){return HcalPhiWedges;} 00041 const std::vector<PhiWedge>& GetMatchedHcalPhiWedges() const {return HcalPhiWedges;} 00042 00043 std::vector<PhiWedge>& GetMatchedEcalPhiWedges(){return EcalPhiWedges;} 00044 const std::vector<PhiWedge>& GetMatchedEcalPhiWedges() const {return EcalPhiWedges;} 00045 00046 //Setters 00047 void SetMETOverSumEt(float x){METOverSumEt_=x;} 00048 void SetMETCorrections(float x, float y) { dMEx_ =x ; dMEy_ = y;} 00049 private: 00050 00051 float METOverSumEt_; 00052 float dMEx_; 00053 float dMEy_; 00054 float dSumEt_; 00055 00056 std::vector<PhiWedge> HcalPhiWedges; 00057 std::vector<PhiWedge> EcalPhiWedges; 00058 }; 00059 } 00060 #endif