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
0037 triggerExpression::Evaluator *HLTpathMain_;
0038 triggerExpression::Evaluator *HLTpathMonitor_;
0039
0040 triggerExpression::Data triggerConfiguration_;
0041
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
0086 MonitorElement *m_DetajjVsMjjWide;
0087 MonitorElement *m_DetajjVsMjjWide_rebin;
0088
0089 MonitorElement *m_metVSmetclean;
0090
0091
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