CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/DQMOffline/JetMET/interface/MuCorrMETAnalyzer.h

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   // Book MonitorElements
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   // Fill MonitorElements
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   // ----------member data ---------------------------
00086   
00087   edm::ParameterSet parameters;
00088   // Switch for verbosity
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   // list of Jet or MB HLT triggers
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   // Et threshold for MET plots
00125   double _etThreshold;
00126 
00127   // HF calibration factor (in 31X applied by MuonProducer)
00128   double hfCalibFactor_;  //
00129 
00130   // JetID helper
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   //the histos
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