Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:07:02

0001 #ifndef DiJetVarAnalyzer_h
0002 #define DiJetVarAnalyzer_h
0003 
0004 #include "DQM/DataScouting/interface/ScoutingAnalyzerBase.h"
0005 #include "DataFormats/JetReco/interface/CaloJetCollection.h"
0006 #include "DataFormats/METReco/interface/CaloMETCollection.h"
0007 #include "HLTrigger/HLTcore/interface/TriggerExpressionData.h"
0008 #include "HLTrigger/HLTcore/interface/TriggerExpressionEvaluator.h"
0009 
0010 #include "TLorentzVector.h"
0011 #include <cmath>
0012 #include <vector>
0013 
0014 class DiJetVarAnalyzer : public ScoutingAnalyzerBase {
0015 public:
0016   explicit DiJetVarAnalyzer(const edm::ParameterSet &);
0017   ~DiJetVarAnalyzer() override;
0018   void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0019   void analyze(const edm::Event &, const edm::EventSetup &) override;
0020 
0021 private:
0022   edm::InputTag jetCollectionTag_;
0023   edm::InputTag widejetsCollectionTag_;
0024   edm::InputTag metCollectionTag_;
0025   edm::InputTag metCleanCollectionTag_;
0026   edm::InputTag hltInputTag_;
0027 
0028   unsigned int numwidejets_;
0029   double etawidejets_;
0030   double ptwidejets_;
0031   double detawidejets_;
0032   double dphiwidejets_;
0033   double maxEMfraction_;
0034   double maxHADfraction_;
0035 
0036   // trigger conditions
0037   triggerExpression::Evaluator *HLTpathMain_;
0038   triggerExpression::Evaluator *HLTpathMonitor_;
0039   // cache some data from the Event for faster access by the trigger conditions
0040   triggerExpression::Data triggerConfiguration_;
0041   // 1D histograms
0042   MonitorElement *m_cutFlow;
0043   MonitorElement *m_MjjWide_finalSel;
0044   MonitorElement *m_MjjWide_finalSel_varbin;
0045   MonitorElement *m_MjjWide_finalSel_WithoutNoiseFilter;
0046   MonitorElement *m_MjjWide_finalSel_WithoutNoiseFilter_varbin;
0047   MonitorElement *m_MjjWide_deta_0p0_0p5;
0048   MonitorElement *m_MjjWide_deta_0p5_1p0;
0049   MonitorElement *m_MjjWide_deta_1p0_1p5;
0050   MonitorElement *m_MjjWide_deta_1p5_2p0;
0051   MonitorElement *m_MjjWide_deta_2p0_2p5;
0052   MonitorElement *m_MjjWide_deta_2p5_3p0;
0053   MonitorElement *m_MjjWide_deta_3p0_inf;
0054 
0055   MonitorElement *m_DetajjWide_finalSel;
0056   MonitorElement *m_DetajjWide;
0057 
0058   MonitorElement *m_DphijjWide_finalSel;
0059 
0060   MonitorElement *m_selJets_pt;
0061   MonitorElement *m_selJets_eta;
0062   MonitorElement *m_selJets_phi;
0063   MonitorElement *m_selJets_hadEnergyFraction;
0064   MonitorElement *m_selJets_emEnergyFraction;
0065   MonitorElement *m_selJets_towersArea;
0066 
0067   MonitorElement *m_MjjWide_den_NOdeta;
0068   MonitorElement *m_MjjWide_num_NOdeta;
0069   MonitorElement *m_MjjWide_den_detaL4;
0070   MonitorElement *m_MjjWide_num_detaL4;
0071   MonitorElement *m_MjjWide_den_detaL3;
0072   MonitorElement *m_MjjWide_num_detaL3;
0073   MonitorElement *m_MjjWide_den_detaL2;
0074   MonitorElement *m_MjjWide_num_detaL2;
0075   MonitorElement *m_MjjWide_den;
0076   MonitorElement *m_MjjWide_num;
0077 
0078   MonitorElement *m_metCases;
0079   MonitorElement *m_metDiff;
0080   MonitorElement *m_metCaseNoMetClean;
0081 
0082   MonitorElement *m_HT_inclusive;
0083   MonitorElement *m_HT_finalSel;
0084 
0085   // 2D histograms
0086   MonitorElement *m_DetajjVsMjjWide;
0087   MonitorElement *m_DetajjVsMjjWide_rebin;
0088 
0089   MonitorElement *m_metVSmetclean;
0090 
0091   // define Token(-s)
0092   edm::EDGetTokenT<reco::CaloJetCollection> jetCollectionTagToken_;
0093   edm::EDGetTokenT<std::vector<math::PtEtaPhiMLorentzVector>> widejetsCollectionTagToken_;
0094   edm::EDGetTokenT<reco::CaloMETCollection> metCollectionTagToken_;
0095   edm::EDGetTokenT<reco::CaloMETCollection> metCleanCollectionTagToken_;
0096 };
0097 #endif