CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
HLTTauDQML1Plotter Class Reference

#include <HLTTauDQML1Plotter.h>

Inheritance diagram for HLTTauDQML1Plotter:
HLTTauDQMPlotter

Public Member Functions

void analyze (const edm::Event &iEvent, const edm::EventSetup &iSetup, const HLTTauDQMOfflineObjects &refC)
 
void bookHistograms (DQMStore::IBooker &iBooker)
 
 HLTTauDQML1Plotter (const edm::ParameterSet &, edm::ConsumesCollector &&cc, int phibins, double maxpt, double maxhighpt, bool ref, double dr, const std::string &dqmBaseFolder)
 
 ~HLTTauDQML1Plotter ()
 

Private Attributes

const int binsEt_
 
const int binsEta_
 
const int binsPhi_
 
const bool doRefAnalysis_
 
MonitorElementfirstIsoTauEt_
 
MonitorElementfirstIsoTauEta_
 
MonitorElementfirstIsoTauPhi_
 
MonitorElementfirstTauEt_
 
MonitorElementfirstTauEta_
 
MonitorElementfirstTauPhi_
 
MonitorElementl1etmEt_
 
MonitorElementl1etmEtEffDenom_
 
MonitorElementl1etmEtEffNum_
 
double l1ETMMin_
 
MonitorElementl1etmPhi_
 
MonitorElementl1isotauEt_
 
MonitorElementl1isotauEta_
 
MonitorElementl1isotauEtaEffDenom_
 
MonitorElementl1isotauEtaEffNum_
 
MonitorElementl1isotauEtEffDenom_
 
MonitorElementl1isotauEtEffNum_
 
MonitorElementl1isotauEtRes_
 
MonitorElementl1isotauHighEtEffDenom_
 
MonitorElementl1isotauHighEtEffNum_
 
MonitorElementl1isotauPhi_
 
MonitorElementl1isotauPhiEffDenom_
 
MonitorElementl1isotauPhiEffNum_
 
MonitorElementl1jetEt_
 
MonitorElementl1jetEta_
 
MonitorElementl1jetEtaEffDenom_
 
MonitorElementl1jetEtaEffNum_
 
MonitorElementl1jetEtEffDenom_
 
MonitorElementl1jetEtEffNum_
 
MonitorElementl1jetEtRes_
 
MonitorElementl1jetHighEtEffDenom_
 
MonitorElementl1jetHighEtEffNum_
 
double l1JetMinEt_
 
MonitorElementl1jetPhi_
 
MonitorElementl1jetPhiEffDenom_
 
MonitorElementl1jetPhiEffNum_
 
edm::InputTag l1stage2Sums_
 
edm::EDGetTokenT< l1t::EtSumBxCollectionl1stage2SumsToken_
 
edm::InputTag l1stage2Taus_
 
edm::EDGetTokenT< l1t::TauBxCollectionl1stage2TausToken_
 
MonitorElementl1tauEt_
 
MonitorElementl1tauEta_
 
MonitorElementl1tauEtaEffDenom_
 
MonitorElementl1tauEtaEffNum_
 
MonitorElementl1tauEtEffDenom_
 
MonitorElementl1tauEtEffNum_
 
MonitorElementl1tauEtRes_
 
MonitorElementl1tauHighEtEffDenom_
 
MonitorElementl1tauHighEtEffNum_
 
MonitorElementl1tauPhi_
 
MonitorElementl1tauPhiEffDenom_
 
MonitorElementl1tauPhiEffNum_
 
const double matchDeltaR_
 
const double maxEta_
 
const double maxHighPt_
 
const double maxPt_
 
MonitorElementsecondIsoTauEt_
 
MonitorElementsecondIsoTauEta_
 
MonitorElementsecondIsoTauPhi_
 
MonitorElementsecondTauEt_
 
MonitorElementsecondTauEta_
 
MonitorElementsecondTauPhi_
 
- Private Attributes inherited from HLTTauDQMPlotter
bool configValid_
 
std::string dqmFolder_
 
std::string dqmFullFolder_
 

Additional Inherited Members

- Private Types inherited from HLTTauDQMPlotter
typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 
- Private Member Functions inherited from HLTTauDQMPlotter
 HLTTauDQMPlotter (const edm::ParameterSet &pset, std::string dqmBaseFolder)
 
 HLTTauDQMPlotter (const std::string &dqmFolder, const std::string &dqmBaseFolder)
 
bool isValid () const
 
 ~HLTTauDQMPlotter ()
 
std::pair< bool, LVmatch (const LV &, const LVColl &, double)
 
const std::string & triggerTag () const
 

Detailed Description

Definition at line 14 of file HLTTauDQML1Plotter.h.

Constructor & Destructor Documentation

HLTTauDQML1Plotter::HLTTauDQML1Plotter ( const edm::ParameterSet ps,
edm::ConsumesCollector &&  cc,
int  phibins,
double  maxpt,
double  maxhighpt,
bool  ref,
double  dr,
const std::string &  dqmBaseFolder 
)

Definition at line 18 of file HLTTauDQML1Plotter.cc.

References HLTTauDQMPlotter::configValid_, edm::ParameterSet::getUntrackedParameter(), l1ETMMin_, l1stage2Sums_, l1stage2SumsToken_, l1stage2Taus_, and l1stage2TausToken_.

26  : HLTTauDQMPlotter(ps, dqmBaseFolder),
27  doRefAnalysis_(ref),
29  maxPt_(maxpt),
30  maxHighPt_(maxhighpt),
31  binsEt_(ps.getUntrackedParameter<int>("EtHistoBins", 25)),
32  binsEta_(ps.getUntrackedParameter<int>("EtaHistoBins", 14)),
33  binsPhi_(phibins),
34  maxEta_(getMaxEta(binsEta_, ps.getUntrackedParameter<double>("EtaHistoBinWidth", 0.348))) {
35  if (!configValid_)
36  return;
37 
38  //Process PSet
41 
44  l1ETMMin_ = ps.getUntrackedParameter<double>("L1ETMMin");
45 
46  configValid_ = true;
47 }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getUntrackedParameter(std::string const &, T const &) const
const double matchDeltaR_
edm::EDGetTokenT< l1t::TauBxCollection > l1stage2TausToken_
edm::InputTag l1stage2Taus_
HLTTauDQMPlotter(const edm::ParameterSet &pset, std::string dqmBaseFolder)
edm::InputTag l1stage2Sums_
edm::EDGetTokenT< l1t::EtSumBxCollection > l1stage2SumsToken_
HLTTauDQML1Plotter::~HLTTauDQML1Plotter ( )
default

Referenced by bookHistograms().

Member Function Documentation

void HLTTauDQML1Plotter::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup,
const HLTTauDQMOfflineObjects refC 
)

Definition at line 166 of file HLTTauDQML1Plotter.cc.

References a, b, BXVector< T >::begin(), doRefAnalysis_, edm::InputTag::encode(), BXVector< T >::end(), PVValHelper::eta, dqm::impl::MonitorElement::Fill(), firstIsoTauEt_, firstIsoTauEta_, firstIsoTauPhi_, firstTauEt_, firstTauEta_, firstTauPhi_, edm::Event::getByToken(), BXVector< T >::getFirstBX(), BXVector< T >::getLastBX(), mps_fire::i, edm::HandleBase::isValid(), L1Analysis::kMissingEt, l1etmEt_, l1etmEtEffDenom_, l1etmEtEffNum_, l1ETMMin_, l1etmPhi_, l1isotauEt_, l1isotauEta_, l1isotauEtaEffDenom_, l1isotauEtaEffNum_, l1isotauEtEffDenom_, l1isotauEtEffNum_, l1isotauEtRes_, l1isotauPhi_, l1isotauPhiEffDenom_, l1isotauPhiEffNum_, l1stage2Sums_, l1stage2SumsToken_, l1stage2Taus_, l1stage2TausToken_, l1tauEt_, l1tauEta_, l1tauEtaEffDenom_, l1tauEtaEffNum_, l1tauEtEffDenom_, l1tauEtEffNum_, l1tauEtRes_, l1tauHighEtEffDenom_, l1tauHighEtEffNum_, l1tauPhi_, l1tauPhiEffDenom_, l1tauPhiEffNum_, visualization-live-secondInstance_cfg::m, HLTTauDQMPlotter::match(), matchDeltaR_, HLTTauDQMOfflineObjects::met, phi, edm::Handle< T >::product(), DiDispStaMuonMonitor_cfi::pt, secondIsoTauEt_, secondIsoTauEta_, secondIsoTauPhi_, secondTauEt_, secondTauEta_, secondTauPhi_, BXVector< T >::size(), metsig::tau, Tau3MuMonitor_cff::taus, and HLTTauDQMOfflineObjects::taus.

168  {
169  if (doRefAnalysis_) {
170  //Tau reference
171  for (auto const& tau : refC.taus) {
172  l1tauEtEffDenom_->Fill(tau.pt());
174 
175  l1tauEtaEffDenom_->Fill(tau.eta());
176 
177  l1tauPhiEffDenom_->Fill(tau.phi());
178 
180  l1isotauEtaEffDenom_->Fill(tau.eta());
181  l1isotauPhiEffDenom_->Fill(tau.phi());
182  }
183  if (!refC.met.empty())
184  l1etmEtEffDenom_->Fill(refC.met[0].pt());
185  }
186 
187  //Analyze L1 Objects (Tau+Jets)
189  iEvent.getByToken(l1stage2TausToken_, taus);
190 
192  iEvent.getByToken(l1stage2SumsToken_, sums);
193 
194  LVColl pathTaus;
195  LVColl pathIsoTaus;
196 
197  //Set Variables for the threshold plot
198  LVColl l1taus;
199  LVColl l1isotaus;
200  LVColl l1met;
201 
202  if (taus.isValid()) {
203  for (auto const& i : *taus) {
204  l1taus.push_back(i.p4());
205  if (i.hwIso() > 0)
206  l1isotaus.push_back(i.p4());
207  if (!doRefAnalysis_) {
208  l1tauEt_->Fill(i.et());
209  l1tauEta_->Fill(i.eta());
210  l1tauPhi_->Fill(i.phi());
211  pathTaus.push_back(i.p4());
212 
213  l1isotauEt_->Fill(i.et());
214  l1isotauEta_->Fill(i.eta());
215  l1isotauPhi_->Fill(i.phi());
216  if (i.hwIso() > 0)
217  pathIsoTaus.push_back(i.p4());
218  }
219  }
220  } else {
221  edm::LogWarning("HLTTauDQMOffline") << "HLTTauDQML1Plotter::analyze: unable to read L1 tau collection "
222  << l1stage2Taus_.encode();
223  }
224 
225  if (sums.isValid() && sums.product()->size() > 0) {
226  if (!doRefAnalysis_) {
227  for (int ibx = sums->getFirstBX(); ibx <= sums->getLastBX(); ++ibx) {
228  for (auto it = sums->begin(ibx); it != sums->end(ibx); it++) {
229  auto type = static_cast<int>(it->getType());
231  l1etmEt_->Fill(it->et());
232  }
233  }
234  }
235  } else {
236  edm::LogWarning("HLTTauDQMOffline") << "HLTTauDQML1Plotter::analyze: unable to read L1 met collection "
237  << l1stage2Sums_.encode();
238  }
239 
240  //Now do the efficiency matching
241  if (doRefAnalysis_) {
242  for (auto const& tau : refC.taus) {
243  std::pair<bool, LV> m = match(tau, l1taus, matchDeltaR_);
244  if (m.first) {
245  l1tauEt_->Fill(m.second.pt());
246  l1tauEta_->Fill(m.second.eta());
247  l1tauPhi_->Fill(m.second.phi());
248 
249  l1tauEtEffNum_->Fill(tau.pt());
250  l1tauHighEtEffNum_->Fill(tau.pt());
251  l1tauEtaEffNum_->Fill(tau.eta());
252  l1tauPhiEffNum_->Fill(tau.phi());
253 
254  l1tauEtRes_->Fill((m.second.pt() - tau.pt()) / tau.pt());
255 
256  pathTaus.push_back(m.second);
257  }
258  m = match(tau, l1isotaus, matchDeltaR_);
259  if (m.first) {
260  l1isotauEt_->Fill(m.second.pt());
261  l1isotauEta_->Fill(m.second.eta());
262  l1isotauPhi_->Fill(m.second.phi());
263 
264  l1isotauEtEffNum_->Fill(tau.pt());
265  l1isotauEtaEffNum_->Fill(tau.eta());
266  l1isotauPhiEffNum_->Fill(tau.phi());
267 
268  l1isotauEtRes_->Fill((m.second.pt() - tau.pt()) / tau.pt());
269 
270  pathIsoTaus.push_back(m.second);
271  }
272  }
273 
274  if (sums.isValid() && sums.product()->size() > 0) {
275  for (int ibx = sums->getFirstBX(); ibx <= sums->getLastBX(); ++ibx) {
276  for (auto it = sums->begin(ibx); it != sums->end(ibx); it++) {
277  auto type = static_cast<int>(it->getType());
279  l1etmEt_->Fill(it->et());
280  l1etmPhi_->Fill(it->phi());
281 
282  if (it->et() > l1ETMMin_) {
283  l1etmEtEffNum_->Fill(it->et());
284  }
285  }
286  }
287  }
288  }
289  }
290 
291  //Fill the Threshold Monitoring
292  if (pathTaus.size() > 1)
293  std::sort(pathTaus.begin(), pathTaus.end(), [](const LV& a, const LV& b) { return a.pt() > b.pt(); });
294  if (!pathTaus.empty()) {
295  firstTauEt_->Fill(pathTaus[0].pt());
296  firstTauEta_->Fill(pathTaus[0].eta());
297  firstTauPhi_->Fill(pathTaus[0].phi());
298  }
299  if (pathTaus.size() > 1) {
300  secondTauEt_->Fill(pathTaus[1].pt());
301  secondTauEta_->Fill(pathTaus[1].eta());
302  secondTauPhi_->Fill(pathTaus[1].phi());
303  }
304  if (pathIsoTaus.size() > 1)
305  std::sort(pathIsoTaus.begin(), pathIsoTaus.end(), [](const LV& a, const LV& b) { return a.pt() > b.pt(); });
306  if (!pathIsoTaus.empty()) {
307  firstIsoTauEt_->Fill(pathIsoTaus[0].pt());
308  firstIsoTauEta_->Fill(pathIsoTaus[0].eta());
309  firstIsoTauPhi_->Fill(pathIsoTaus[0].phi());
310  }
311  if (pathIsoTaus.size() > 1) {
312  secondIsoTauEt_->Fill(pathIsoTaus[1].pt());
313  secondIsoTauEta_->Fill(pathIsoTaus[1].eta());
314  secondIsoTauPhi_->Fill(pathIsoTaus[1].phi());
315  }
316 }
const_iterator end(int bx) const
type
Definition: HCALResponse.h:21
MonitorElement * secondIsoTauPhi_
const double matchDeltaR_
unsigned size(int bx) const
MonitorElement * l1isotauEtEffDenom_
MonitorElement * secondTauEta_
std::vector< LV > taus
MonitorElement * l1isotauEta_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
MonitorElement * firstTauPhi_
math::XYZTLorentzVectorD LV
MonitorElement * l1etmEtEffNum_
MonitorElement * l1isotauPhiEffNum_
MonitorElement * l1isotauEt_
MonitorElement * firstIsoTauPhi_
MonitorElement * secondIsoTauEt_
MonitorElement * firstTauEta_
std::string encode() const
Definition: InputTag.cc:159
MonitorElement * l1tauEt_
MonitorElement * l1isotauEtaEffDenom_
MonitorElement * l1isotauPhiEffDenom_
MonitorElement * secondTauEt_
MonitorElement * l1tauEtEffDenom_
void Fill(long long x)
MonitorElement * secondIsoTauEta_
MonitorElement * l1tauEtaEffNum_
MonitorElement * firstTauEt_
MonitorElement * l1tauHighEtEffDenom_
edm::EDGetTokenT< l1t::TauBxCollection > l1stage2TausToken_
MonitorElement * l1etmEt_
edm::InputTag l1stage2Taus_
MonitorElement * l1tauEtEffNum_
MonitorElement * l1tauPhi_
bool isValid() const
Definition: HandleBase.h:70
std::vector< LV > met
MonitorElement * l1tauEta_
MonitorElement * l1isotauPhi_
int getFirstBX() const
MonitorElement * l1isotauEtaEffNum_
std::vector< LV > LVColl
MonitorElement * secondTauPhi_
T const * product() const
Definition: Handle.h:69
MonitorElement * l1tauPhiEffDenom_
double b
Definition: hdecay.h:118
MonitorElement * firstIsoTauEta_
MonitorElement * l1isotauEtEffNum_
MonitorElement * l1tauEtaEffDenom_
MonitorElement * l1tauEtRes_
double a
Definition: hdecay.h:119
int getLastBX() const
std::pair< bool, LV > match(const LV &, const LVColl &, double)
MonitorElement * l1isotauEtRes_
MonitorElement * l1etmEtEffDenom_
MonitorElement * l1etmPhi_
MonitorElement * firstIsoTauEt_
const_iterator begin(int bx) const
edm::InputTag l1stage2Sums_
MonitorElement * l1tauPhiEffNum_
MonitorElement * l1tauHighEtEffNum_
edm::EDGetTokenT< l1t::EtSumBxCollection > l1stage2SumsToken_
void HLTTauDQML1Plotter::bookHistograms ( DQMStore::IBooker iBooker)

Definition at line 49 of file HLTTauDQML1Plotter.cc.

References binsEt_, binsEta_, binsPhi_, dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), edmScanValgrind::buffer, HLTTauDQMPlotter::configValid_, constexpr, doRefAnalysis_, firstIsoTauEt_, firstIsoTauEta_, firstIsoTauPhi_, firstTauEt_, firstTauEta_, firstTauPhi_, l1etmEt_, l1etmEtEffDenom_, l1etmEtEffNum_, l1etmPhi_, l1isotauEt_, l1isotauEta_, l1isotauEtaEffDenom_, l1isotauEtaEffNum_, l1isotauEtEffDenom_, l1isotauEtEffNum_, l1isotauEtRes_, l1isotauPhi_, l1isotauPhiEffDenom_, l1isotauPhiEffNum_, l1tauEt_, l1tauEta_, l1tauEtaEffDenom_, l1tauEtaEffNum_, l1tauEtEffDenom_, l1tauEtEffNum_, l1tauEtRes_, l1tauHighEtEffDenom_, l1tauHighEtEffNum_, l1tauPhi_, l1tauPhiEffDenom_, l1tauPhiEffNum_, maxEta_, maxHighPt_, HLT_2018_cff::maxPhi, maxPt_, HLT_2018_cff::minPhi, pi, secondIsoTauEt_, secondIsoTauEta_, secondIsoTauPhi_, secondTauEt_, secondTauEta_, secondTauPhi_, dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), HLTTauDQMPlotter::triggerTag(), and ~HLTTauDQML1Plotter().

49  {
50  if (!configValid_)
51  return;
52 
53  // The L1 phi plot is asymmetric around 0 because of the discrete nature of L1 phi
54  constexpr float pi = 3.1416f;
55  constexpr float phiShift = pi / 18; // half of 2pi/18 bin
56  constexpr float minPhi = -pi + phiShift;
57  constexpr float maxPhi = pi + phiShift;
58 
59  constexpr int BUFMAX = 256;
60  char buffer[BUFMAX] = "";
61 
62  //Create the histograms
63  iBooker.setCurrentFolder(triggerTag());
64 
65  l1tauEt_ = iBooker.book1D("L1TauEt", "L1 #tau E_{T};L1 #tau E_{T};entries", binsEt_, 0, maxPt_);
66  l1tauEta_ = iBooker.book1D("L1TauEta", "L1 #tau #eta;L1 #tau #eta;entries", binsEta_, -maxEta_, maxEta_);
67  l1tauPhi_ = iBooker.book1D("L1TauPhi", "L1 #tau #phi;L1 #tau #phi;entries", binsPhi_, minPhi, maxPhi);
68 
69  l1isotauEt_ = iBooker.book1D("L1IsoTauEt", "L1 isolated #tau E_{T};L1 #tau E_{T};entries", binsEt_, 0, maxPt_);
70  l1isotauEta_ =
71  iBooker.book1D("L1IsoTauEta", "L1 isolated #tau #eta;L1 #tau #eta;entries", binsEta_, -maxEta_, maxEta_);
72  l1isotauPhi_ = iBooker.book1D("L1IsoTauPhi", "L1 isolated #tau #phi;L1 #tau #phi;entries", binsPhi_, minPhi, maxPhi);
73 
74  l1etmEt_ = iBooker.book1D("L1ETM", "L1 ETM E_{T};L1 ETM E_{T};entries", binsEt_, 0, maxPt_);
75  l1etmPhi_ = iBooker.book1D("L1ETMPhi", "L1 ETM #phi;L1 ETM #phi;entries", binsPhi_, minPhi, maxPhi);
76 
77  snprintf(buffer, BUFMAX, "L1 leading #tau E_{T};L1 #tau E_{T};entries");
78  firstTauEt_ = iBooker.book1D("L1LeadTauEt", buffer, binsEt_, 0, maxPt_);
79  snprintf(buffer, BUFMAX, "L1 leading #tau #eta;L1 #tau #eta;entries");
80  firstTauEta_ = iBooker.book1D("L1LeadTauEta", buffer, binsEta_, -maxEta_, maxEta_);
81  snprintf(buffer, BUFMAX, "L1 leading #tau #phi;L1 #tau #phi;entries");
82  firstTauPhi_ = iBooker.book1D("L1LeadTauPhi", buffer, binsPhi_, minPhi, maxPhi);
83 
84  snprintf(buffer, BUFMAX, "L1 second-leading #tau E_{T};L1 #tau E_{T};entries");
85  secondTauEt_ = iBooker.book1D("L1SecondTauEt", buffer, binsEt_, 0, maxPt_);
86  snprintf(buffer, BUFMAX, "L1 second-leading #tau #eta;L1 #tau #eta;entries");
87  secondTauEta_ = iBooker.book1D("L1SecondTauEta", buffer, binsEta_, -maxEta_, maxEta_);
88  snprintf(buffer, BUFMAX, "L1 second-leading #tau #phi;L1 #tau #phi;entries");
89  secondTauPhi_ = iBooker.book1D("L1SecondTauPhi", buffer, binsPhi_, minPhi, maxPhi);
90 
91  snprintf(buffer, BUFMAX, "L1 leading isolated #tau E_{T};L1 #tau E_{T};entries");
92  firstIsoTauEt_ = iBooker.book1D("L1LeadIsoTauEt", buffer, binsEt_, 0, maxPt_);
93  snprintf(buffer, BUFMAX, "L1 leading isolated #tau #eta;L1 #tau #eta;entries");
94  firstIsoTauEta_ = iBooker.book1D("L1LeadIsoTauEta", buffer, binsEta_, -maxEta_, maxEta_);
95  snprintf(buffer, BUFMAX, "L1 leading isolated #tau #phi;L1 #tau #phi;entries");
96  firstIsoTauPhi_ = iBooker.book1D("L1LeadIsoTauPhi", buffer, binsPhi_, minPhi, maxPhi);
97 
98  snprintf(buffer, BUFMAX, "L1 second-leading isolated #tau E_{T};L1 #tau E_{T};entries");
99  secondIsoTauEt_ = iBooker.book1D("L1SecondIsoTauEt", buffer, binsEt_, 0, maxPt_);
100  snprintf(buffer, BUFMAX, "L1 second-leading isolated #tau #eta;L1 #tau #eta;entries");
101  secondIsoTauEta_ = iBooker.book1D("L1SecondIsoTauEta", buffer, binsEta_, -maxEta_, maxEta_);
102  snprintf(buffer, BUFMAX, "L1 second-leading isolated #tau #phi;L1 #tau #phi;entries");
103  secondIsoTauPhi_ = iBooker.book1D("L1SecondIsoTauPhi", buffer, binsPhi_, minPhi, maxPhi);
104 
105  if (doRefAnalysis_) {
106  l1tauEtRes_ = iBooker.book1D(
107  "L1TauEtResol", "L1 #tau E_{T} resolution;[L1 #tau E_{T}-Ref #tau E_{T}]/Ref #tau E_{T};entries", 60, -1, 4);
109  iBooker.book1D("L1IsoTauEtResol",
110  "L1 isolated #tau E_{T} resolution;[L1 #tau E_{T}-Ref #tau E_{T}]/Ref #tau E_{T};entries",
111  60,
112  -1,
113  4);
114 
115  iBooker.setCurrentFolder(triggerTag() + "/helpers");
116 
118  iBooker.book1D("L1TauEtEffNum", "L1 #tau E_{T} Efficiency;Ref #tau E_{T};entries", binsEt_, 0, maxPt_);
119  l1tauHighEtEffNum_ = iBooker.book1D(
120  "L1TauHighEtEffNum", "L1 #tau E_{T} Efficiency (high E_{T});Ref #tau E_{T};entries", binsEt_, 0, maxHighPt_);
121 
123  iBooker.book1D("L1TauEtEffDenom", "L1 #tau E_{T} Denominator;Ref #tau E_{T};entries", binsEt_, 0, maxPt_);
124  l1tauHighEtEffDenom_ = iBooker.book1D("L1TauHighEtEffDenom",
125  "L1 #tau E_{T} Denominator (high E_{T});Ref #tau E_{T};Efficiency",
126  binsEt_,
127  0,
128  maxHighPt_);
129 
131  iBooker.book1D("L1TauEtaEffNum", "L1 #tau #eta Efficiency;Ref #tau #eta;entries", binsEta_, -maxEta_, maxEta_);
132  l1tauEtaEffDenom_ = iBooker.book1D(
133  "L1TauEtaEffDenom", "L1 #tau #eta Denominator;Ref #tau #eta;entries", binsEta_, -maxEta_, maxEta_);
134 
136  iBooker.book1D("L1TauPhiEffNum", "L1 #tau #phi Efficiency;Ref #tau #phi;entries", binsPhi_, minPhi, maxPhi);
137  l1tauPhiEffDenom_ = iBooker.book1D(
138  "L1TauPhiEffDenom", "L1 #tau #phi Denominator;Ref #tau #phi;Efficiency", binsPhi_, minPhi, maxPhi);
139 
140  l1isotauEtEffNum_ = iBooker.book1D(
141  "L1IsoTauEtEffNum", "L1 isolated #tau E_{T} Efficiency;Ref #tau E_{T};entries", binsEt_, 0, maxPt_);
142  l1isotauEtEffDenom_ = iBooker.book1D(
143  "L1IsoTauEtEffDenom", "L1 isolated #tau E_{T} Denominator;Ref #tau E_{T};entries", binsEt_, 0, maxPt_);
144 
145  l1isotauEtaEffNum_ = iBooker.book1D(
146  "L1IsoTauEtaEffNum", "L1 isolated #tau #eta Efficiency;Ref #tau #eta;entries", binsEta_, -maxEta_, maxEta_);
147  l1isotauEtaEffDenom_ = iBooker.book1D(
148  "L1IsoTauEtaEffDenom", "L1 isolated #tau #eta Denominator;Ref #tau #eta;entries", binsEta_, -maxEta_, maxEta_);
149 
150  l1isotauPhiEffNum_ = iBooker.book1D(
151  "L1IsoTauPhiEffNum", "L1 isolated #tau #phi Efficiency;Ref #tau #phi;entries", binsPhi_, minPhi, maxPhi);
152  l1isotauPhiEffDenom_ = iBooker.book1D(
153  "L1IsoTauPhiEffDenom", "L1 isolated #tau #phi Denominator;Ref #tau #phi;Efficiency", binsPhi_, minPhi, maxPhi);
154 
155  l1etmEtEffNum_ = iBooker.book1D("L1ETMEtEffNum", "L1 ETM Efficiency;Ref MET;entries", binsEt_, 0, maxPt_);
156  l1etmEtEffDenom_ = iBooker.book1D("L1ETMEtEffDenom", "L1 ETM Denominator;Ref MET;entries", binsEt_, 0, maxPt_);
157  }
158 }
MonitorElement * secondIsoTauPhi_
MonitorElement * l1isotauEtEffDenom_
MonitorElement * secondTauEta_
MonitorElement * l1isotauEta_
MonitorElement * firstTauPhi_
MonitorElement * l1etmEtEffNum_
MonitorElement * l1isotauPhiEffNum_
MonitorElement * l1isotauEt_
const std::string & triggerTag() const
MonitorElement * firstIsoTauPhi_
MonitorElement * secondIsoTauEt_
MonitorElement * firstTauEta_
MonitorElement * l1tauEt_
MonitorElement * l1isotauEtaEffDenom_
MonitorElement * l1isotauPhiEffDenom_
MonitorElement * secondTauEt_
MonitorElement * l1tauEtEffDenom_
const Double_t pi
MonitorElement * secondIsoTauEta_
MonitorElement * l1tauEtaEffNum_
MonitorElement * firstTauEt_
MonitorElement * l1tauHighEtEffDenom_
MonitorElement * l1etmEt_
MonitorElement * l1tauEtEffNum_
MonitorElement * l1tauPhi_
MonitorElement * l1tauEta_
MonitorElement * l1isotauPhi_
MonitorElement * l1isotauEtaEffNum_
MonitorElement * secondTauPhi_
MonitorElement * l1tauPhiEffDenom_
MonitorElement * firstIsoTauEta_
MonitorElement * l1isotauEtEffNum_
MonitorElement * l1tauEtaEffDenom_
MonitorElement * l1tauEtRes_
MonitorElement * l1isotauEtRes_
MonitorElement * l1etmEtEffDenom_
MonitorElement * l1etmPhi_
MonitorElement * firstIsoTauEt_
MonitorElement * l1tauPhiEffNum_
#define constexpr
MonitorElement * l1tauHighEtEffNum_

Member Data Documentation

const int HLTTauDQML1Plotter::binsEt_
private

Definition at line 45 of file HLTTauDQML1Plotter.h.

Referenced by bookHistograms().

const int HLTTauDQML1Plotter::binsEta_
private

Definition at line 46 of file HLTTauDQML1Plotter.h.

Referenced by bookHistograms().

const int HLTTauDQML1Plotter::binsPhi_
private

Definition at line 47 of file HLTTauDQML1Plotter.h.

Referenced by bookHistograms().

const bool HLTTauDQML1Plotter::doRefAnalysis_
private

Definition at line 38 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::firstIsoTauEt_
private

Definition at line 115 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::firstIsoTauEta_
private

Definition at line 116 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::firstIsoTauPhi_
private

Definition at line 117 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::firstTauEt_
private

Definition at line 107 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::firstTauEta_
private

Definition at line 108 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::firstTauPhi_
private

Definition at line 109 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1etmEt_
private

Definition at line 63 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1etmEtEffDenom_
private

Definition at line 124 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1etmEtEffNum_
private

Definition at line 123 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

double HLTTauDQML1Plotter::l1ETMMin_
private

Definition at line 41 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and HLTTauDQML1Plotter().

MonitorElement* HLTTauDQML1Plotter::l1etmPhi_
private

Definition at line 64 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1isotauEt_
private

Definition at line 55 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1isotauEta_
private

Definition at line 56 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1isotauEtaEffDenom_
private

Definition at line 90 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1isotauEtaEffNum_
private

Definition at line 89 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1isotauEtEffDenom_
private

Definition at line 84 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1isotauEtEffNum_
private

Definition at line 83 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1isotauEtRes_
private

Definition at line 68 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1isotauHighEtEffDenom_
private

Definition at line 87 of file HLTTauDQML1Plotter.h.

MonitorElement* HLTTauDQML1Plotter::l1isotauHighEtEffNum_
private

Definition at line 86 of file HLTTauDQML1Plotter.h.

MonitorElement* HLTTauDQML1Plotter::l1isotauPhi_
private

Definition at line 57 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1isotauPhiEffDenom_
private

Definition at line 93 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1isotauPhiEffNum_
private

Definition at line 92 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1jetEt_
private

Definition at line 59 of file HLTTauDQML1Plotter.h.

MonitorElement* HLTTauDQML1Plotter::l1jetEta_
private

Definition at line 60 of file HLTTauDQML1Plotter.h.

MonitorElement* HLTTauDQML1Plotter::l1jetEtaEffDenom_
private

Definition at line 102 of file HLTTauDQML1Plotter.h.

MonitorElement* HLTTauDQML1Plotter::l1jetEtaEffNum_
private

Definition at line 101 of file HLTTauDQML1Plotter.h.

MonitorElement* HLTTauDQML1Plotter::l1jetEtEffDenom_
private

Definition at line 96 of file HLTTauDQML1Plotter.h.

MonitorElement* HLTTauDQML1Plotter::l1jetEtEffNum_
private

Definition at line 95 of file HLTTauDQML1Plotter.h.

MonitorElement* HLTTauDQML1Plotter::l1jetEtRes_
private

Definition at line 69 of file HLTTauDQML1Plotter.h.

MonitorElement* HLTTauDQML1Plotter::l1jetHighEtEffDenom_
private

Definition at line 99 of file HLTTauDQML1Plotter.h.

MonitorElement* HLTTauDQML1Plotter::l1jetHighEtEffNum_
private

Definition at line 98 of file HLTTauDQML1Plotter.h.

double HLTTauDQML1Plotter::l1JetMinEt_
private

Definition at line 40 of file HLTTauDQML1Plotter.h.

MonitorElement* HLTTauDQML1Plotter::l1jetPhi_
private

Definition at line 61 of file HLTTauDQML1Plotter.h.

MonitorElement* HLTTauDQML1Plotter::l1jetPhiEffDenom_
private

Definition at line 105 of file HLTTauDQML1Plotter.h.

MonitorElement* HLTTauDQML1Plotter::l1jetPhiEffNum_
private

Definition at line 104 of file HLTTauDQML1Plotter.h.

edm::InputTag HLTTauDQML1Plotter::l1stage2Sums_
private

Definition at line 35 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and HLTTauDQML1Plotter().

edm::EDGetTokenT<l1t::EtSumBxCollection> HLTTauDQML1Plotter::l1stage2SumsToken_
private

Definition at line 36 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and HLTTauDQML1Plotter().

edm::InputTag HLTTauDQML1Plotter::l1stage2Taus_
private

Definition at line 33 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and HLTTauDQML1Plotter().

edm::EDGetTokenT<l1t::TauBxCollection> HLTTauDQML1Plotter::l1stage2TausToken_
private

Definition at line 34 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and HLTTauDQML1Plotter().

MonitorElement* HLTTauDQML1Plotter::l1tauEt_
private

Definition at line 51 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1tauEta_
private

Definition at line 52 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1tauEtaEffDenom_
private

Definition at line 78 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1tauEtaEffNum_
private

Definition at line 77 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1tauEtEffDenom_
private

Definition at line 72 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1tauEtEffNum_
private

Definition at line 71 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1tauEtRes_
private

Definition at line 67 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1tauHighEtEffDenom_
private

Definition at line 75 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1tauHighEtEffNum_
private

Definition at line 74 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1tauPhi_
private

Definition at line 53 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1tauPhiEffDenom_
private

Definition at line 81 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1tauPhiEffNum_
private

Definition at line 80 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

const double HLTTauDQML1Plotter::matchDeltaR_
private

Definition at line 39 of file HLTTauDQML1Plotter.h.

Referenced by analyze().

const double HLTTauDQML1Plotter::maxEta_
private

Definition at line 48 of file HLTTauDQML1Plotter.h.

Referenced by bookHistograms().

const double HLTTauDQML1Plotter::maxHighPt_
private

Definition at line 44 of file HLTTauDQML1Plotter.h.

Referenced by bookHistograms().

const double HLTTauDQML1Plotter::maxPt_
private

Definition at line 43 of file HLTTauDQML1Plotter.h.

Referenced by bookHistograms().

MonitorElement* HLTTauDQML1Plotter::secondIsoTauEt_
private

Definition at line 119 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::secondIsoTauEta_
private

Definition at line 120 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::secondIsoTauPhi_
private

Definition at line 121 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::secondTauEt_
private

Definition at line 111 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::secondTauEta_
private

Definition at line 112 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::secondTauPhi_
private

Definition at line 113 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().