HLTTauDQML1Plotter

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
// -*- c++ -*-
#ifndef HLTTauDQML1Plotter_h
#define HLTTauDQML1Plotter_h

#include "DQMOffline/Trigger/interface/HLTTauDQMPlotter.h"
#include "DQMOffline/Trigger/interface/HistoWrapper.h"

#include "FWCore/Utilities/interface/InputTag.h"

#include "DataFormats/L1Trigger/interface/Tau.h"
#include "DataFormats/L1Trigger/interface/EtSum.h"

#include "FWCore/Framework/interface/ConsumesCollector.h"

class HLTTauDQML1Plotter : private HLTTauDQMPlotter {
public:
  HLTTauDQML1Plotter(const edm::ParameterSet&,
                     edm::ConsumesCollector&& cc,
                     int phibins,
                     double maxpt,
                     double maxhighpt,
                     bool ref,
                     double dr,
                     const std::string& dqmBaseFolder);
  ~HLTTauDQML1Plotter();

  using HLTTauDQMPlotter::isValid;

  void bookHistograms(HistoWrapper& iWrapper, DQMStore::IBooker& iBooker);
  void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup, const HLTTauDQMOfflineObjects& refC);

private:
  //The filters
  edm::InputTag l1stage2Taus_;
  edm::EDGetTokenT<l1t::TauBxCollection> l1stage2TausToken_;
  edm::InputTag l1stage2Sums_;
  edm::EDGetTokenT<l1t::EtSumBxCollection> l1stage2SumsToken_;

  const bool doRefAnalysis_;
  const double matchDeltaR_;
  double l1JetMinEt_;
  double l1ETMMin_;

  const double maxPt_;
  const double maxHighPt_;
  const int binsEt_;
  const int binsEta_;
  const int binsPhi_;
  const double maxEta_;

  //MonitorElements general
  MonitorElement* l1tauEt_;
  MonitorElement* l1tauEta_;
  MonitorElement* l1tauPhi_;

  MonitorElement* l1isotauEt_;
  MonitorElement* l1isotauEta_;
  MonitorElement* l1isotauPhi_;

  MonitorElement* l1jetEt_;
  MonitorElement* l1jetEta_;
  MonitorElement* l1jetPhi_;

  MonitorElement* l1etmEt_;
  MonitorElement* l1etmPhi_;

  //Monitor Elements for matching
  MonitorElement* l1tauEtRes_;
  MonitorElement* l1isotauEtRes_;
  MonitorElement* l1jetEtRes_;

  MonitorElement* l1tauEtEffNum_;
  MonitorElement* l1tauEtEffDenom_;

  MonitorElement* l1tauHighEtEffNum_;
  MonitorElement* l1tauHighEtEffDenom_;

  MonitorElement* l1tauEtaEffNum_;
  MonitorElement* l1tauEtaEffDenom_;

  MonitorElement* l1tauPhiEffNum_;
  MonitorElement* l1tauPhiEffDenom_;

  MonitorElement* l1isotauEtEffNum_;
  MonitorElement* l1isotauEtEffDenom_;

  MonitorElement* l1isotauHighEtEffNum_;
  MonitorElement* l1isotauHighEtEffDenom_;

  MonitorElement* l1isotauEtaEffNum_;
  MonitorElement* l1isotauEtaEffDenom_;

  MonitorElement* l1isotauPhiEffNum_;
  MonitorElement* l1isotauPhiEffDenom_;

  MonitorElement* l1jetEtEffNum_;
  MonitorElement* l1jetEtEffDenom_;

  MonitorElement* l1jetHighEtEffNum_;
  MonitorElement* l1jetHighEtEffDenom_;

  MonitorElement* l1jetEtaEffNum_;
  MonitorElement* l1jetEtaEffDenom_;

  MonitorElement* l1jetPhiEffNum_;
  MonitorElement* l1jetPhiEffDenom_;

  MonitorElement* firstTauEt_;
  MonitorElement* firstTauEta_;
  MonitorElement* firstTauPhi_;

  MonitorElement* secondTauEt_;
  MonitorElement* secondTauEta_;
  MonitorElement* secondTauPhi_;

  MonitorElement* firstIsoTauEt_;
  MonitorElement* firstIsoTauEta_;
  MonitorElement* firstIsoTauPhi_;

  MonitorElement* secondIsoTauEt_;
  MonitorElement* secondIsoTauEta_;
  MonitorElement* secondIsoTauPhi_;

  MonitorElement* l1etmEtEffNum_;
  MonitorElement* l1etmEtEffDenom_;
};
#endif