Go to the documentation of this file.00001 #ifndef MuCorrMETAnalyzer_H
00002 #define MuCorrMETAnalyzer_H
00003
00004
00015 #include <memory>
00016 #include <fstream>
00017 #include "TMath.h"
00018 #include "FWCore/Framework/interface/Frameworkfwd.h"
00019 #include "DQMOffline/JetMET/interface/MuCorrMETAnalyzerBase.h"
00020 #include "FWCore/Framework/interface/Event.h"
00021 #include "FWCore/Framework/interface/MakerMacros.h"
00022 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00023 #include "FWCore/ServiceRegistry/interface/Service.h"
00024 #include "DQMServices/Core/interface/DQMStore.h"
00025 #include "DQMServices/Core/interface/MonitorElement.h"
00026
00027 #include "DataFormats/HLTReco/interface/TriggerObject.h"
00028 #include "DataFormats/Common/interface/TriggerResults.h"
00029 #include "DataFormats/HLTReco/interface/TriggerEvent.h"
00030 #include "DataFormats/HLTReco/interface/TriggerTypeDefs.h"
00031
00032 #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h"
00033
00034 #include "RecoMET/METAlgorithms/interface/HcalNoiseRBXArray.h"
00035 #include "DataFormats/METReco/interface/HcalNoiseSummary.h"
00036
00037 #include "RecoJets/JetProducers/interface/JetIDHelper.h"
00038
00039 class MuCorrMETAnalyzer : public MuCorrMETAnalyzerBase {
00040 public:
00041
00043 MuCorrMETAnalyzer(const edm::ParameterSet&);
00044
00046 virtual ~MuCorrMETAnalyzer();
00047
00049 void beginJob(DQMStore * dbe);
00050
00052 void endJob();
00053
00054
00055 void bookMESet(std::string);
00056 void bookMonitorElement(std::string, bool);
00057
00059 void analyze(const edm::Event&, const edm::EventSetup&,
00060 const edm::TriggerResults&);
00061
00063 void beginRun(const edm::Run&, const edm::EventSetup&);
00064
00066 void endRun(const edm::Run& iRun, const edm::EventSetup& iSetup, DQMStore *dbe);
00067
00068
00069 void fillMESet(const edm::Event&, std::string, const reco::CaloMET&);
00070 void fillMonitorElement(const edm::Event&, std::string, std::string, const reco::CaloMET&, bool);
00071 void makeRatePlot(std::string, double);
00072
00073 bool selectHighPtJetEvent(const edm::Event&);
00074 bool selectLowPtJetEvent(const edm::Event&);
00075 bool selectWElectronEvent(const edm::Event&);
00076 bool selectWMuonEvent(const edm::Event&);
00077
00078 void setSource(std::string source) {
00079 _source = source;
00080 }
00081
00082 int evtCounter;
00083
00084 private:
00085
00086
00087 edm::ParameterSet parameters;
00088
00089 int _verbose;
00090
00091 std::string metname;
00092 std::string _source;
00093
00094 edm::InputTag theMuCorrMETCollectionLabel;
00095 edm::InputTag HcalNoiseRBXCollectionTag;
00096 edm::InputTag HcalNoiseSummaryTag;
00097 edm::InputTag theJetCollectionLabel;
00098 edm::InputTag thePfJetCollectionLabel;
00099
00100
00101 std::vector<std::string > HLTPathsJetMBByName_;
00102
00103 std::string _hlt_HighPtJet;
00104 std::string _hlt_LowPtJet;
00105 std::string _hlt_HighMET;
00106 std::string _hlt_LowMET;
00107 std::string _hlt_Ele;
00108 std::string _hlt_Muon;
00109
00110 int _trig_JetMB;
00111 int _trig_HighPtJet;
00112 int _trig_LowPtJet;
00113 int _trig_HighMET;
00114 int _trig_LowMET;
00115 int _trig_Ele;
00116 int _trig_Muon;
00117
00118
00119 double _highPtMuCorrJetThreshold;
00120 double _lowPtMuCorrJetThreshold;
00121 double _highMuCorrMETThreshold;
00122 double _lowMuCorrMETThreshold;
00123
00124
00125 double _etThreshold;
00126
00127
00128 double hfCalibFactor_;
00129
00130
00131 reco::helper::JetIDHelper *jetID;
00132
00133
00134 bool _allhist;
00135 bool _allSelection;
00136
00137
00138 std::vector<std::string> _FolderNames;
00139
00140
00141 DQMStore *_dbe;
00142
00143
00144 MonitorElement* metME;
00145
00146 MonitorElement* meTriggerName_HighPtJet;
00147 MonitorElement* meTriggerName_LowPtJet;
00148 MonitorElement* meTriggerName_HighMET;
00149 MonitorElement* meTriggerName_LowMET;
00150 MonitorElement* meTriggerName_Ele;
00151 MonitorElement* meTriggerName_Muon;
00152
00153 MonitorElement* meNevents;
00154 MonitorElement* meMuCorrMEx;
00155 MonitorElement* meMuCorrMEy;
00156 MonitorElement* meMuCorrEz;
00157 MonitorElement* meMuCorrMETSig;
00158 MonitorElement* meMuCorrMET;
00159 MonitorElement* meMuCorrMETPhi;
00160 MonitorElement* meMuCorrSumET;
00161 MonitorElement* meMuCorrMExLS;
00162 MonitorElement* meMuCorrMEyLS;
00163
00164 MonitorElement* meMuCorrMETIonFeedbck;
00165 MonitorElement* meMuCorrMETHPDNoise;
00166 MonitorElement* meMuCorrMETRBXNoise;
00167
00168 MonitorElement* meMuCorrMETRate;
00169
00170
00171 };
00172 #endif