Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 14:21:00

0001 #ifndef SUSY_HLT_Razor_H
0002 #define SUSY_HLT_Razor_H
0003 
0004 // event
0005 #include "FWCore/Framework/interface/Event.h"
0006 #include "FWCore/Framework/interface/EventSetup.h"
0007 
0008 // DQM
0009 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0010 #include "DQMServices/Core/interface/DQMStore.h"
0011 
0012 // MET
0013 #include "DataFormats/METReco/interface/CaloMET.h"
0014 #include "DataFormats/METReco/interface/CaloMETCollection.h"
0015 #include "DataFormats/METReco/interface/MET.h"
0016 #include "DataFormats/METReco/interface/METCollection.h"
0017 #include "DataFormats/METReco/interface/PFMET.h"
0018 #include "DataFormats/METReco/interface/PFMETCollection.h"
0019 
0020 // Jets
0021 #include "DataFormats/JetReco/interface/CaloJet.h"
0022 #include "DataFormats/JetReco/interface/Jet.h"
0023 #include "DataFormats/JetReco/interface/PFJet.h"
0024 
0025 // Trigger
0026 #include "DataFormats/Common/interface/TriggerResults.h"
0027 #include "DataFormats/HLTReco/interface/TriggerEvent.h"
0028 #include "DataFormats/HLTReco/interface/TriggerEventWithRefs.h"
0029 #include "DataFormats/HLTReco/interface/TriggerObject.h"
0030 
0031 // Hemispheres
0032 #include "DataFormats/Math/interface/LorentzVector.h"
0033 #include "HLTrigger/JetMET/interface/HLTRHemisphere.h"
0034 #include "TLorentzVector.h"
0035 
0036 class SUSY_HLT_Razor : public DQMEDAnalyzer {
0037 public:
0038   SUSY_HLT_Razor(const edm::ParameterSet &ps);
0039   static double CalcMR(TLorentzVector ja, TLorentzVector jb);
0040   static double CalcR(double MR,
0041                       TLorentzVector ja,
0042                       TLorentzVector jb,
0043                       edm::Handle<edm::View<reco::MET>> met,
0044                       const std::vector<math::XYZTLorentzVector> &muons);
0045   ~SUSY_HLT_Razor() override;
0046   static void fillDescriptions(edm::ConfigurationDescriptions &descriptions);
0047 
0048 protected:
0049   void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0050   void analyze(edm::Event const &e, edm::EventSetup const &eSetup) override;
0051 
0052 private:
0053   // histos booking function
0054   void bookHistos(DQMStore::IBooker &);
0055 
0056   // variables from config file
0057   edm::EDGetTokenT<edm::View<reco::MET>> theMETCollection_;
0058   edm::EDGetTokenT<edm::TriggerResults> triggerResults_;
0059   edm::EDGetTokenT<trigger::TriggerEvent> theTrigSummary_;
0060   edm::EDGetTokenT<edm::View<reco::Jet>> theJetCollection_;
0061   edm::EDGetTokenT<std::vector<math::XYZTLorentzVector>> theHemispheres_;
0062 
0063   std::string triggerPath_;
0064   edm::InputTag triggerFilter_;
0065   edm::InputTag caloFilter_;
0066 
0067   // Histograms
0068   MonitorElement *h_mr;
0069   MonitorElement *h_rsq;
0070   MonitorElement *h_mrRsq;
0071   MonitorElement *h_mr_tight;
0072   MonitorElement *h_rsq_tight;
0073   MonitorElement *h_rsq_loose;
0074   MonitorElement *h_ht;
0075   MonitorElement *h_met;
0076   MonitorElement *h_htMet;
0077   MonitorElement *h_online_mr_vs_mr;
0078   MonitorElement *h_online_rsq_vs_rsq;
0079   MonitorElement *h_calo_mr_vs_mr;
0080   MonitorElement *h_calo_rsq_vs_rsq;
0081 };
0082 
0083 #endif