CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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_
 
MonitorElementfirstTauEt_
 
MonitorElementfirstTauEta_
 
MonitorElementfirstTauPhi_
 
MonitorElementl1etmEt_
 
MonitorElementl1etmEtEffDenom_
 
MonitorElementl1etmEtEffNum_
 
double l1ETMMin_
 
MonitorElementl1etmPhi_
 
edm::InputTag l1ExtraIsoTaus_
 
edm::EDGetTokenT
< l1extra::L1JetParticleCollection
l1ExtraIsoTausToken_
 
edm::InputTag l1ExtraJets_
 
edm::EDGetTokenT
< l1extra::L1JetParticleCollection
l1ExtraJetsToken_
 
edm::InputTag l1ExtraMET_
 
edm::EDGetTokenT
< l1extra::L1EtMissParticleCollection
l1ExtraMETToken_
 
edm::InputTag l1ExtraTaus_
 
edm::EDGetTokenT
< l1extra::L1JetParticleCollection
l1ExtraTausToken_
 
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_
 
MonitorElementl1tauEt_
 
MonitorElementl1tauEta_
 
MonitorElementl1tauEtaEffDenom_
 
MonitorElementl1tauEtaEffNum_
 
MonitorElementl1tauEtEffDenom_
 
MonitorElementl1tauEtEffNum_
 
MonitorElementl1tauEtRes_
 
MonitorElementl1tauHighEtEffDenom_
 
MonitorElementl1tauHighEtEffNum_
 
MonitorElementl1tauPhi_
 
MonitorElementl1tauPhiEffDenom_
 
MonitorElementl1tauPhiEffNum_
 
const double matchDeltaR_
 
const double maxEta_
 
const double maxHighPt_
 
const double maxPt_
 
MonitorElementsecondTauEt_
 
MonitorElementsecondTauEta_
 
MonitorElementsecondTauPhi_
 
- Private Attributes inherited from HLTTauDQMPlotter
bool configValid_
 
std::string dqmFolder_
 
std::string dqmFullFolder_
 

Additional Inherited Members

- Private Member Functions inherited from HLTTauDQMPlotter
 HLTTauDQMPlotter (const edm::ParameterSet &pset, const 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 16 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 17 of file HLTTauDQML1Plotter.cc.

References HLTTauDQMPlotter::configValid_, edm::ParameterSet::getUntrackedParameter(), l1ETMMin_, l1ExtraIsoTaus_, l1ExtraIsoTausToken_, l1ExtraJets_, l1ExtraJetsToken_, l1ExtraMET_, l1ExtraMETToken_, l1ExtraTaus_, l1ExtraTausToken_, and l1JetMinEt_.

17  :
18  HLTTauDQMPlotter(ps, dqmBaseFolder),
19  doRefAnalysis_(ref),
20  matchDeltaR_(dr),
21  maxPt_(maxpt),
22  maxHighPt_(maxhighpt),
23  binsEt_(ps.getUntrackedParameter<int>("EtHistoBins", 25)),
24  binsEta_(ps.getUntrackedParameter<int>("EtaHistoBins", 14)),
25  binsPhi_(phibins),
26  maxEta_(getMaxEta(binsEta_, ps.getUntrackedParameter<double>("EtaHistoBinWidth", 0.348)))
27 {
28  if(!configValid_)
29  return;
30 
31  //Process PSet
40  l1JetMinEt_ = ps.getUntrackedParameter<double>("L1JetMinEt");
41  l1ETMMin_ = ps.getUntrackedParameter<double>("L1ETMMin");
42  configValid_ = true;
43 }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getUntrackedParameter(std::string const &, T const &) const
const double matchDeltaR_
edm::EDGetTokenT< l1extra::L1JetParticleCollection > l1ExtraJetsToken_
std::vector< L1JetParticle > L1JetParticleCollection
edm::EDGetTokenT< l1extra::L1JetParticleCollection > l1ExtraTausToken_
edm::InputTag l1ExtraIsoTaus_
edm::EDGetTokenT< l1extra::L1EtMissParticleCollection > l1ExtraMETToken_
edm::InputTag l1ExtraTaus_
edm::InputTag l1ExtraMET_
edm::InputTag l1ExtraJets_
edm::EDGetTokenT< l1extra::L1JetParticleCollection > l1ExtraIsoTausToken_
HLTTauDQMPlotter(const edm::ParameterSet &pset, const std::string &dqmBaseFolder)
std::vector< L1EtMissParticle > L1EtMissParticleCollection
HLTTauDQML1Plotter::~HLTTauDQML1Plotter ( )

Definition at line 148 of file HLTTauDQML1Plotter.cc.

148  {
149 }

Member Function Documentation

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

Definition at line 155 of file HLTTauDQML1Plotter.cc.

References a, b, doRefAnalysis_, edm::InputTag::encode(), eta, MonitorElement::Fill(), firstTauEt_, firstTauEta_, firstTauPhi_, edm::Event::getByToken(), i, edm::HandleBase::isValid(), fwrapper::jets, l1etmEt_, l1etmEtEffDenom_, l1etmEtEffNum_, l1ETMMin_, l1etmPhi_, l1ExtraIsoTaus_, l1ExtraIsoTausToken_, l1ExtraJets_, l1ExtraJetsToken_, l1ExtraMET_, l1ExtraMETToken_, l1ExtraTaus_, l1ExtraTausToken_, l1isotauEt_, l1isotauEta_, l1isotauEtaEffDenom_, l1isotauEtaEffNum_, l1isotauEtEffDenom_, l1isotauEtEffNum_, l1isotauEtRes_, l1isotauHighEtEffDenom_, l1isotauHighEtEffNum_, l1isotauPhi_, l1isotauPhiEffDenom_, l1isotauPhiEffNum_, l1jetEt_, l1jetEta_, l1jetEtaEffDenom_, l1jetEtaEffNum_, l1jetEtEffDenom_, l1jetEtEffNum_, l1jetEtRes_, l1jetHighEtEffDenom_, l1jetHighEtEffNum_, l1JetMinEt_, l1jetPhi_, l1jetPhiEffDenom_, l1jetPhiEffNum_, l1tauEt_, l1tauEta_, l1tauEtaEffDenom_, l1tauEtaEffNum_, l1tauEtEffDenom_, l1tauEtEffNum_, l1tauEtRes_, l1tauHighEtEffDenom_, l1tauHighEtEffNum_, l1tauPhi_, l1tauPhiEffDenom_, l1tauPhiEffNum_, visualization-live-secondInstance_cfg::m, HLTTauDQMPlotter::match(), matchDeltaR_, HLTTauDQMOfflineObjects::met, objects.METAnalyzer::met, phi, edm::Handle< T >::product(), EnergyCorrector::pt, secondTauEt_, secondTauEta_, secondTauPhi_, python.multivaluedict::sort(), and HLTTauDQMOfflineObjects::taus.

155  {
156  if ( doRefAnalysis_ ) {
157  //Tau reference
158  for ( LVColl::const_iterator iter = refC.taus.begin(); iter != refC.taus.end(); ++iter ) {
159  l1tauEtEffDenom_->Fill(iter->pt());
160  l1isotauEtEffDenom_->Fill(iter->pt());
161  l1jetEtEffDenom_->Fill(iter->pt());
162  l1tauHighEtEffDenom_->Fill(iter->pt());
163  l1isotauHighEtEffDenom_->Fill(iter->pt());
164  l1jetHighEtEffDenom_->Fill(iter->pt());
165 
166  l1tauEtaEffDenom_->Fill(iter->eta());
167  l1isotauEtaEffDenom_->Fill(iter->eta());
168  l1jetEtaEffDenom_->Fill(iter->eta());
169 
170  l1tauPhiEffDenom_->Fill(iter->phi());
171  l1isotauPhiEffDenom_->Fill(iter->phi());
172  l1jetPhiEffDenom_->Fill(iter->phi());
173  }
174  if(refC.met.size() > 0) l1etmEtEffDenom_->Fill(refC.met[0].pt());
175  }
176 
177  //Analyze L1 Objects (Tau+Jets)
182  iEvent.getByToken(l1ExtraTausToken_, taus);
183  iEvent.getByToken(l1ExtraIsoTausToken_, isotaus);
184  iEvent.getByToken(l1ExtraJetsToken_, jets);
185  iEvent.getByToken(l1ExtraMETToken_, met);
186 
187  LVColl pathTaus;
188 
189  //Set Variables for the threshold plot
190  LVColl l1taus;
191  LVColl l1isotaus;
192  LVColl l1jets;
193  LVColl l1met;
194 
195  if(taus.isValid()) {
196  for(l1extra::L1JetParticleCollection::const_iterator i = taus->begin(); i != taus->end(); ++i) {
197  l1taus.push_back(i->p4());
198  if(!doRefAnalysis_) {
199  l1tauEt_->Fill(i->et());
200  l1tauEta_->Fill(i->eta());
201  l1tauPhi_->Fill(i->phi());
202  pathTaus.push_back(i->p4());
203  }
204  }
205  }
206  else {
207  edm::LogWarning("HLTTauDQMOffline") << "HLTTauDQML1Plotter::analyze: unable to read L1 tau collection " << l1ExtraTaus_.encode();
208  }
209 
210  if(isotaus.isValid()) {
211  for(l1extra::L1JetParticleCollection::const_iterator i = isotaus->begin(); i != isotaus->end(); ++i) {
212  l1isotaus.push_back(i->p4());
213  if(!doRefAnalysis_) {
214  l1isotauEt_->Fill(i->et());
215  l1isotauEta_->Fill(i->eta());
216  l1isotauPhi_->Fill(i->phi());
217  pathTaus.push_back(i->p4());
218  }
219  }
220  }
221  else {
222  edm::LogWarning("HLTTauDQMOffline") << "HLTTauDQML1Plotter::analyze: unable to read L1 isotau collection " << l1ExtraIsoTaus_.encode();
223  }
224 
225  if(jets.isValid()) {
226  for(l1extra::L1JetParticleCollection::const_iterator i = jets->begin(); i != jets->end(); ++i) {
227  l1jets.push_back(i->p4());
228  if(!doRefAnalysis_) {
229  l1jetEt_->Fill(i->et());
230  if(i->et() >= l1JetMinEt_) {
231  l1jetEta_->Fill(i->eta());
232  l1jetPhi_->Fill(i->phi());
233  pathTaus.push_back(i->p4());
234  }
235  }
236  }
237  }
238  else {
239  edm::LogWarning("HLTTauDQMOffline") << "HLTTauDQML1Plotter::analyze: unable to read L1 jet collection " << l1ExtraJets_.encode();
240  }
241 
242  if(met.isValid() && met.product()->size() > 0) {
243  if(!doRefAnalysis_) {
244  if( met.product()->begin()->et() > l1ETMMin_) l1etmEt_->Fill(met.product()->begin()->et());
245  }
246  }
247  else {
248  edm::LogWarning("HLTTauDQMOffline") << "HLTTauDQML1Plotter::analyze: unable to read L1 met collection " << l1ExtraMET_.encode();
249  }
250 
251  //Now do the efficiency matching
252  if ( doRefAnalysis_ ) {
253  for ( LVColl::const_iterator i = refC.taus.begin(); i != refC.taus.end(); ++i ) {
254  std::pair<bool,LV> m = match(*i,l1taus,matchDeltaR_);
255  if ( m.first ) {
256  l1tauEt_->Fill(m.second.pt());
257  l1tauEta_->Fill(m.second.eta());
258  l1tauPhi_->Fill(m.second.phi());
259 
260  l1tauEtEffNum_->Fill(i->pt());
261  l1tauHighEtEffNum_->Fill(i->pt());
262  l1tauEtaEffNum_->Fill(i->eta());
263  l1tauPhiEffNum_->Fill(i->phi());
264 
265  l1tauEtRes_->Fill((m.second.pt()-i->pt())/i->pt());
266 
267  pathTaus.push_back(m.second);
268  }
269  }
270 
271  for ( LVColl::const_iterator i = refC.taus.begin(); i != refC.taus.end(); ++i ) {
272  std::pair<bool,LV> m = match(*i,l1isotaus,matchDeltaR_);
273  if ( m.first ) {
274  l1isotauEt_->Fill(m.second.pt());
275  l1isotauEta_->Fill(m.second.eta());
276  l1isotauPhi_->Fill(m.second.phi());
277 
278  l1isotauEtEffNum_->Fill(i->pt());
279  l1isotauHighEtEffNum_->Fill(i->pt());
280  l1isotauEtaEffNum_->Fill(i->eta());
281  l1isotauPhiEffNum_->Fill(i->phi());
282 
283  l1isotauEtRes_->Fill((m.second.pt()-i->pt())/i->pt());
284 
285  pathTaus.push_back(m.second);
286  }
287  }
288 
289  for ( LVColl::const_iterator i = refC.taus.begin(); i != refC.taus.end(); ++i ) {
290  std::pair<bool,LV> m = match(*i,l1jets,matchDeltaR_);
291  if ( m.first ) {
292  l1jetEt_->Fill(m.second.pt());
293  if(m.second.pt() >= l1JetMinEt_) {
294  l1jetEta_->Fill(m.second.eta());
295  l1jetPhi_->Fill(m.second.phi());
296 
297  l1jetEtEffNum_->Fill(i->pt());
298  l1jetHighEtEffNum_->Fill(i->pt());
299  l1jetEtaEffNum_->Fill(i->eta());
300  l1jetPhiEffNum_->Fill(i->phi());
301 
302  l1jetEtRes_->Fill((m.second.pt()-i->pt())/i->pt());
303 
304  pathTaus.push_back(m.second);
305  }
306  }
307  }
308 
309  if(met.isValid() && met.product()->size() > 0) {
310  l1etmEt_->Fill(met.product()->begin()->et());
311  l1etmPhi_->Fill(met.product()->begin()->phi());
312 
313  if( met.product()->begin()->et() > l1ETMMin_){
314  l1etmEtEffNum_->Fill(met.product()->begin()->et());
315  }
316  }
317  }
318 
319 
320  //Fill the Threshold Monitoring
321  if(pathTaus.size() > 1) std::sort(pathTaus.begin(), pathTaus.end(), [](const LV& a, const LV& b) { return a.pt() > b.pt(); });
322 
323  if ( pathTaus.size() > 0 ) {
324  firstTauEt_->Fill(pathTaus[0].pt());
325  firstTauEta_->Fill(pathTaus[0].eta());
326  firstTauPhi_->Fill(pathTaus[0].phi());
327  }
328  if ( pathTaus.size() > 1 ) {
329  secondTauEt_->Fill(pathTaus[1].pt());
330  secondTauEta_->Fill(pathTaus[1].eta());
331  secondTauPhi_->Fill(pathTaus[1].phi());
332  }
333 }
int i
Definition: DBlmapReader.cc:9
const double matchDeltaR_
MonitorElement * l1jetEta_
MonitorElement * l1isotauEtEffDenom_
edm::EDGetTokenT< l1extra::L1JetParticleCollection > l1ExtraJetsToken_
MonitorElement * secondTauEta_
MonitorElement * l1isotauHighEtEffDenom_
std::vector< LV > taus
MonitorElement * l1isotauEta_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:457
MonitorElement * firstTauPhi_
MonitorElement * l1jetEtEffNum_
MonitorElement * l1jetPhiEffDenom_
MonitorElement * l1etmEtEffNum_
MonitorElement * l1jetHighEtEffDenom_
MonitorElement * l1jetEtaEffNum_
MonitorElement * l1isotauPhiEffNum_
MonitorElement * l1jetHighEtEffNum_
MonitorElement * l1isotauEt_
edm::EDGetTokenT< l1extra::L1JetParticleCollection > l1ExtraTausToken_
MonitorElement * firstTauEta_
edm::InputTag l1ExtraIsoTaus_
std::string encode() const
Definition: InputTag.cc:164
MonitorElement * l1tauEt_
MonitorElement * l1isotauEtaEffDenom_
MonitorElement * l1isotauPhiEffDenom_
MonitorElement * secondTauEt_
MonitorElement * l1tauEtEffDenom_
void Fill(long long x)
MonitorElement * l1jetEtRes_
MonitorElement * l1jetPhiEffNum_
math::XYZTLorentzVectorD LV
MonitorElement * l1tauEtaEffNum_
MonitorElement * firstTauEt_
MonitorElement * l1tauHighEtEffDenom_
std::vector< LV > LVColl
edm::EDGetTokenT< l1extra::L1EtMissParticleCollection > l1ExtraMETToken_
vector< PseudoJet > jets
MonitorElement * l1etmEt_
MonitorElement * l1jetEtEffDenom_
MonitorElement * l1tauEtEffNum_
MonitorElement * l1tauPhi_
MonitorElement * l1isotauHighEtEffNum_
edm::InputTag l1ExtraTaus_
bool isValid() const
Definition: HandleBase.h:75
std::vector< LV > met
edm::InputTag l1ExtraMET_
MonitorElement * l1tauEta_
MonitorElement * l1isotauPhi_
MonitorElement * l1isotauEtaEffNum_
MonitorElement * secondTauPhi_
T const * product() const
Definition: Handle.h:81
MonitorElement * l1tauPhiEffDenom_
double b
Definition: hdecay.h:120
edm::InputTag l1ExtraJets_
MonitorElement * l1isotauEtEffNum_
MonitorElement * l1tauEtaEffDenom_
edm::EDGetTokenT< l1extra::L1JetParticleCollection > l1ExtraIsoTausToken_
MonitorElement * l1tauEtRes_
MonitorElement * l1jetPhi_
double a
Definition: hdecay.h:121
MonitorElement * l1jetEt_
MonitorElement * l1jetEtaEffDenom_
std::pair< bool, LV > match(const LV &, const LVColl &, double)
MonitorElement * l1isotauEtRes_
MonitorElement * l1etmEtEffDenom_
MonitorElement * l1etmPhi_
MonitorElement * l1tauPhiEffNum_
MonitorElement * l1tauHighEtEffNum_
void HLTTauDQML1Plotter::bookHistograms ( DQMStore::IBooker iBooker)

Definition at line 45 of file HLTTauDQML1Plotter.cc.

References binsEt_, binsEta_, binsPhi_, DQMStore::IBooker::book1D(), HLTTauDQMPlotter::configValid_, constexpr, doRefAnalysis_, firstTauEt_, firstTauEta_, firstTauPhi_, l1etmEt_, l1etmEtEffDenom_, l1etmEtEffNum_, l1etmPhi_, l1isotauEt_, l1isotauEta_, l1isotauEtaEffDenom_, l1isotauEtaEffNum_, l1isotauEtEffDenom_, l1isotauEtEffNum_, l1isotauEtRes_, l1isotauHighEtEffDenom_, l1isotauHighEtEffNum_, l1isotauPhi_, l1isotauPhiEffDenom_, l1isotauPhiEffNum_, l1jetEt_, l1jetEta_, l1jetEtaEffDenom_, l1jetEtaEffNum_, l1jetEtEffDenom_, l1jetEtEffNum_, l1jetEtRes_, l1jetHighEtEffDenom_, l1jetHighEtEffNum_, l1JetMinEt_, l1jetPhi_, l1jetPhiEffDenom_, l1jetPhiEffNum_, l1tauEt_, l1tauEta_, l1tauEtaEffDenom_, l1tauEtaEffNum_, l1tauEtEffDenom_, l1tauEtEffNum_, l1tauEtRes_, l1tauHighEtEffDenom_, l1tauHighEtEffNum_, l1tauPhi_, l1tauPhiEffDenom_, l1tauPhiEffNum_, maxEta_, maxHighPt_, maxPt_, pi, secondTauEt_, secondTauEta_, secondTauPhi_, DQMStore::IBooker::setCurrentFolder(), and HLTTauDQMPlotter::triggerTag().

45  {
46  if(!configValid_)
47  return;
48 
49  // The L1 phi plot is asymmetric around 0 because of the discrete nature of L1 phi
50  constexpr float pi = 3.1416f;
51  constexpr float phiShift = pi/18; // half of 2pi/18 bin
52  constexpr float minPhi = -pi+phiShift;
53  constexpr float maxPhi = pi+phiShift;
54 
55  constexpr int BUFMAX = 256;
56  char buffer[BUFMAX] = "";
57 
58  //Create the histograms
59  iBooker.setCurrentFolder(triggerTag());
60 
61  l1tauEt_ = iBooker.book1D("L1TauEt","L1 #tau E_{T};L1 #tau E_{T};entries",binsEt_,0,maxPt_);
62  l1tauEta_ = iBooker.book1D("L1TauEta","L1 #tau #eta;L1 #tau #eta;entries",binsEta_,-maxEta_,maxEta_);
63  l1tauPhi_ = iBooker.book1D("L1TauPhi","L1 #tau #phi;L1 #tau #phi;entries",binsPhi_,minPhi,maxPhi);
64 
65  l1isotauEt_ = iBooker.book1D("L1IsoTauEt","L1 iso#tau E_{T};L1 iso#tau E_{T};entries",binsEt_,0,maxPt_);
66  l1isotauEta_ = iBooker.book1D("L1IsoTauEta","L1 iso#tau #eta;L1 iso#tau #eta;entries",binsEta_,-maxEta_,maxEta_);
67  l1isotauPhi_ = iBooker.book1D("L1IsoTauPhi","L1 iso#tau #phi;L1 iso#tau #phi;entries",binsPhi_,minPhi,maxPhi);
68 
69  l1jetEt_ = iBooker.book1D("L1JetEt","L1 central jet E_{T};L1 jet E_{T};entries",binsEt_,0,maxPt_);
70  snprintf(buffer, BUFMAX, "L1 central jet #eta (E_{T} > %.1f);L1 jet #eta;entries", l1JetMinEt_);
71  l1jetEta_ = iBooker.book1D("L1JetEta", buffer, binsEta_, -maxEta_, maxEta_);
72  snprintf(buffer, BUFMAX, "L1 central jet #phi (E_{T} > %.1f);L1 jet #phi;entries", l1JetMinEt_);
73  l1jetPhi_ = iBooker.book1D("L1JetPhi", buffer, binsPhi_, minPhi, maxPhi);
74 
75  l1etmEt_ = iBooker.book1D("L1ETM","L1 ETM E_{T};L1 ETM E_{T};entries",binsEt_,0,maxPt_);
76  l1etmPhi_ = iBooker.book1D("L1ETMPhi","L1 ETM #phi;L1 ETM #phi;entries",binsPhi_,minPhi,maxPhi);
77 
78  snprintf(buffer, BUFMAX, "L1 leading (#tau OR central jet E_{T} > %.1f) E_{T};L1 (#tau or central jet) E_{T};entries", l1JetMinEt_);
79  firstTauEt_ = iBooker.book1D("L1LeadTauEt", buffer, binsEt_, 0, maxPt_);
80  snprintf(buffer, BUFMAX, "L1 leading (#tau OR central jet E_{T} > %.1f) #eta;L1 (#tau or central jet) #eta;entries", l1JetMinEt_);
81  firstTauEta_ = iBooker.book1D("L1LeadTauEta", buffer, binsEta_, -maxEta_, maxEta_);
82  snprintf(buffer, BUFMAX, "L1 leading (#tau OR central jet E_{T} > %.1f) #phi;L1 (#tau or central jet) #phi;entries", l1JetMinEt_);
83  firstTauPhi_ = iBooker.book1D("L1LeadTauPhi", buffer, binsPhi_, minPhi, maxPhi);
84 
85  snprintf(buffer, BUFMAX, "L1 second-leading (#tau OR central jet E_{T} > %.1f) E_{T};L1 (#tau or central jet) E_{T};entries", l1JetMinEt_);
86  secondTauEt_ = iBooker.book1D("L1SecondTauEt", buffer, binsEt_, 0, maxPt_);
87  snprintf(buffer, BUFMAX, "L1 second-leading (#tau OR central jet E_{T} > %.1f) #eta;L1 (#tau or central jet) #eta;entries", l1JetMinEt_);
88  secondTauEta_ = iBooker.book1D("L1SecondTauEta", buffer, binsEta_, -maxEta_, maxEta_);
89  snprintf(buffer, BUFMAX, "L1 second-leading (#tau OR central jet E_{T} > %.1f) #phi;L1 (#tau or central jet) #phi;entries", l1JetMinEt_);
90  secondTauPhi_ = iBooker.book1D("L1SecondTauPhi", buffer, binsPhi_, minPhi, maxPhi);
91 
92  if (doRefAnalysis_) {
93  l1tauEtRes_ = iBooker.book1D("L1TauEtResol","L1 #tau E_{T} resolution;[L1 #tau E_{T}-Ref #tau E_{T}]/Ref #tau E_{T};entries",60,-1,4);
94  l1isotauEtRes_ = iBooker.book1D("L1IsoTauEtResol","L1 iso#tau E_{T} resolution;[L1 iso#tau E_{T}-Ref iso#tau E_{T}]/Ref iso#tau E_{T};entries",60,-1,4);
95  snprintf(buffer, BUFMAX, "L1 central jet E_{T} resolution (E_{T} > %.1f);[L1 jet E_{T}-Ref #tau E_{T}]/Ref #tau E_{T};entries", l1JetMinEt_);
96  l1jetEtRes_ = iBooker.book1D("L1JetEtResol", buffer, 60, -1, 4);
97 
98  iBooker.setCurrentFolder(triggerTag()+"/helpers");
99 
100  l1tauEtEffNum_ = iBooker.book1D("L1TauEtEffNum","L1 #tau E_{T} Efficiency;Ref #tau E_{T};entries",binsEt_,0,maxPt_);
101  l1tauHighEtEffNum_ = iBooker.book1D("L1TauHighEtEffNum","L1 #tau E_{T} Efficiency (high E_{T});Ref #tau E_{T};entries",binsEt_,0,maxHighPt_);
102 
103  l1tauEtEffDenom_ = iBooker.book1D("L1TauEtEffDenom","L1 #tau E_{T} Denominator;Ref #tau E_{T};entries",binsEt_,0,maxPt_);
104  l1tauHighEtEffDenom_ = iBooker.book1D("L1TauHighEtEffDenom","L1 #tau E_{T} Denominator (high E_{T});Ref #tau E_{T};Efficiency",binsEt_,0,maxHighPt_);
105 
106  l1tauEtaEffNum_ = iBooker.book1D("L1TauEtaEffNum","L1 #tau #eta Efficiency;Ref #tau #eta;entries",binsEta_,-maxEta_,maxEta_);
107  l1tauEtaEffDenom_ = iBooker.book1D("L1TauEtaEffDenom","L1 #tau #eta Denominator;Ref #tau #eta;entries",binsEta_,-maxEta_,maxEta_);
108 
109  l1tauPhiEffNum_ = iBooker.book1D("L1TauPhiEffNum","L1 #tau #phi Efficiency;Ref #tau #phi;entries",binsPhi_,minPhi,maxPhi);
110  l1tauPhiEffDenom_ = iBooker.book1D("L1TauPhiEffDenom","L1 #tau #phi Denominator;Ref #tau #phi;Efficiency",binsPhi_,minPhi,maxPhi);
111 
112  l1isotauEtEffNum_ = iBooker.book1D("L1IsoTauEtEffNum","L1 iso#tau E_{T} Efficiency;Ref iso#tau E_{T};entries",binsEt_,0,maxPt_);
113  l1isotauHighEtEffNum_ = iBooker.book1D("L1IsoTauHighEtEffNum","L1 iso#tau E_{T} Efficiency (high E_{T});Ref iso#tau E_{T};entries",binsEt_,0,maxHighPt_);
114 
115  l1isotauEtEffDenom_ = iBooker.book1D("L1IsoTauEtEffDenom","L1 iso#tau E_{T} Denominator;Ref iso#tau E_{T};entries",binsEt_,0,maxPt_);
116  l1isotauHighEtEffDenom_ = iBooker.book1D("L1IsoTauHighEtEffDenom","L1 iso#tau E_{T} Denominator (high E_{T});Ref iso#tau E_{T};Efficiency",binsEt_,0,maxHighPt_);
117 
118  l1isotauEtaEffNum_ = iBooker.book1D("L1IsoTauEtaEffNum","L1 iso#tau #eta Efficiency;Ref iso#tau #eta;entries",binsEta_,-maxEta_,maxEta_);
119  l1isotauEtaEffDenom_ = iBooker.book1D("L1IsoTauEtaEffDenom","L1 iso#tau #eta Denominator;Ref iso#tau #eta;entries",binsEta_,-maxEta_,maxEta_);
120 
121  l1isotauPhiEffNum_ = iBooker.book1D("L1IsoTauPhiEffNum","L1 iso#tau #phi Efficiency;Ref iso#tau #phi;entries",binsPhi_,minPhi,maxPhi);
122  l1isotauPhiEffDenom_ = iBooker.book1D("L1IsoTauPhiEffDenom","L1 iso#tau #phi Denominator;Ref iso#tau #phi;Efficiency",binsPhi_,minPhi,maxPhi);
123 
124  l1jetEtEffNum_ = iBooker.book1D("L1JetEtEffNum","L1 central jet E_{T} Efficiency;Ref #tau E_{T};entries",binsEt_,0,maxPt_);
125  l1jetHighEtEffNum_ = iBooker.book1D("L1JetHighEtEffNum","L1 central jet E_{T} Efficiency (high E_{T});Ref #tau E_{T};entries",binsEt_,0,maxHighPt_);
126 
127  l1jetEtEffDenom_ = iBooker.book1D("L1JetEtEffDenom","L1 central jet E_{T} Denominator;Ref #tau E_{T};entries",binsEt_,0,maxPt_);
128  l1jetHighEtEffDenom_ = iBooker.book1D("L1JetHighEtEffDenom","L1 central jet E_{T} Denominator (high E_{T});Ref #tau E_{T};Efficiency",binsEt_,0,maxHighPt_);
129 
130  snprintf(buffer, BUFMAX, "L1 central jet #eta Efficiency (E_{T} > %.1f);Ref #tau #eta;entries", l1JetMinEt_);
131  l1jetEtaEffNum_ = iBooker.book1D("L1JetEtaEffNum", buffer, binsEta_, -maxEta_, maxEta_);
132 
133  snprintf(buffer, BUFMAX, "L1 central jet #eta Denominator (E_{T} > %.1f);Ref #tau #eta;Efficiency", l1JetMinEt_);
134  l1jetEtaEffDenom_ = iBooker.book1D("L1JetEtaEffDenom", buffer, binsEta_, -maxEta_, maxEta_);
135 
136  snprintf(buffer, BUFMAX, "L1 central jet #phi Efficiency (E_{T} > %.1f);Ref #tau #phi;entries", l1JetMinEt_);
137  l1jetPhiEffNum_ = iBooker.book1D("L1JetPhiEffNum", buffer, binsPhi_, minPhi, maxPhi);
138 
139  snprintf(buffer, BUFMAX, "L1 central jet #phi Efficiency (E_{T} > %.1f);Ref #tau #phi;Efficiency", l1JetMinEt_);
140  l1jetPhiEffDenom_ = iBooker.book1D("L1JetPhiEffDenom", buffer, binsPhi_, minPhi, maxPhi);
141 
142  l1etmEtEffNum_ = iBooker.book1D("L1ETMEtEffNum", "L1 ETM Efficiency;Ref MET;entries",binsEt_, 0, maxPt_);
143  l1etmEtEffDenom_ = iBooker.book1D("L1ETMEtEffDenom","L1 ETM Denominator;Ref MET;entries",binsEt_,0,maxPt_);
144  }
145 }
MonitorElement * l1jetEta_
MonitorElement * l1isotauEtEffDenom_
MonitorElement * secondTauEta_
MonitorElement * l1isotauHighEtEffDenom_
MonitorElement * l1isotauEta_
MonitorElement * firstTauPhi_
MonitorElement * l1jetEtEffNum_
MonitorElement * l1jetPhiEffDenom_
MonitorElement * l1etmEtEffNum_
MonitorElement * l1jetHighEtEffDenom_
MonitorElement * l1jetEtaEffNum_
MonitorElement * l1isotauPhiEffNum_
MonitorElement * l1jetHighEtEffNum_
MonitorElement * l1isotauEt_
const std::string & triggerTag() const
MonitorElement * firstTauEta_
#define constexpr
MonitorElement * l1tauEt_
MonitorElement * l1isotauEtaEffDenom_
MonitorElement * l1isotauPhiEffDenom_
MonitorElement * secondTauEt_
MonitorElement * l1tauEtEffDenom_
const Double_t pi
MonitorElement * l1jetEtRes_
MonitorElement * l1jetPhiEffNum_
MonitorElement * l1tauEtaEffNum_
MonitorElement * firstTauEt_
MonitorElement * l1tauHighEtEffDenom_
MonitorElement * l1etmEt_
MonitorElement * l1jetEtEffDenom_
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
MonitorElement * l1tauEtEffNum_
MonitorElement * l1tauPhi_
MonitorElement * l1isotauHighEtEffNum_
MonitorElement * l1tauEta_
MonitorElement * l1isotauPhi_
MonitorElement * l1isotauEtaEffNum_
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
MonitorElement * secondTauPhi_
MonitorElement * l1tauPhiEffDenom_
MonitorElement * l1isotauEtEffNum_
MonitorElement * l1tauEtaEffDenom_
MonitorElement * l1tauEtRes_
MonitorElement * l1jetPhi_
MonitorElement * l1jetEt_
MonitorElement * l1jetEtaEffDenom_
MonitorElement * l1isotauEtRes_
MonitorElement * l1etmEtEffDenom_
MonitorElement * l1etmPhi_
MonitorElement * l1tauPhiEffNum_
MonitorElement * l1tauHighEtEffNum_

Member Data Documentation

const int HLTTauDQML1Plotter::binsEt_
private

Definition at line 44 of file HLTTauDQML1Plotter.h.

Referenced by bookHistograms().

const int HLTTauDQML1Plotter::binsEta_
private

Definition at line 45 of file HLTTauDQML1Plotter.h.

Referenced by bookHistograms().

const int HLTTauDQML1Plotter::binsPhi_
private

Definition at line 46 of file HLTTauDQML1Plotter.h.

Referenced by bookHistograms().

const bool HLTTauDQML1Plotter::doRefAnalysis_
private

Definition at line 37 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::firstTauEt_
private

Definition at line 106 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::firstTauEta_
private

Definition at line 107 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::firstTauPhi_
private

Definition at line 108 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1etmEt_
private

Definition at line 62 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1etmEtEffDenom_
private

Definition at line 115 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1etmEtEffNum_
private

Definition at line 114 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

double HLTTauDQML1Plotter::l1ETMMin_
private

Definition at line 40 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and HLTTauDQML1Plotter().

MonitorElement* HLTTauDQML1Plotter::l1etmPhi_
private

Definition at line 63 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

edm::InputTag HLTTauDQML1Plotter::l1ExtraIsoTaus_
private

Definition at line 30 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and HLTTauDQML1Plotter().

edm::EDGetTokenT<l1extra::L1JetParticleCollection> HLTTauDQML1Plotter::l1ExtraIsoTausToken_
private

Definition at line 31 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and HLTTauDQML1Plotter().

edm::InputTag HLTTauDQML1Plotter::l1ExtraJets_
private

Definition at line 32 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and HLTTauDQML1Plotter().

edm::EDGetTokenT<l1extra::L1JetParticleCollection> HLTTauDQML1Plotter::l1ExtraJetsToken_
private

Definition at line 33 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and HLTTauDQML1Plotter().

edm::InputTag HLTTauDQML1Plotter::l1ExtraMET_
private

Definition at line 34 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and HLTTauDQML1Plotter().

edm::EDGetTokenT<l1extra::L1EtMissParticleCollection> HLTTauDQML1Plotter::l1ExtraMETToken_
private

Definition at line 35 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and HLTTauDQML1Plotter().

edm::InputTag HLTTauDQML1Plotter::l1ExtraTaus_
private

Definition at line 28 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and HLTTauDQML1Plotter().

edm::EDGetTokenT<l1extra::L1JetParticleCollection> HLTTauDQML1Plotter::l1ExtraTausToken_
private

Definition at line 29 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and HLTTauDQML1Plotter().

MonitorElement* HLTTauDQML1Plotter::l1isotauEt_
private

Definition at line 54 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1isotauEta_
private

Definition at line 55 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1isotauEtaEffDenom_
private

Definition at line 89 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1isotauEtaEffNum_
private

Definition at line 88 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1isotauEtEffDenom_
private

Definition at line 83 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1isotauEtEffNum_
private

Definition at line 82 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1isotauEtRes_
private

Definition at line 67 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1isotauHighEtEffDenom_
private

Definition at line 86 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1isotauHighEtEffNum_
private

Definition at line 85 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1isotauPhi_
private

Definition at line 56 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1isotauPhiEffDenom_
private

Definition at line 92 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1isotauPhiEffNum_
private

Definition at line 91 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1jetEt_
private

Definition at line 58 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1jetEta_
private

Definition at line 59 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1jetEtaEffDenom_
private

Definition at line 101 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1jetEtaEffNum_
private

Definition at line 100 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1jetEtEffDenom_
private

Definition at line 95 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1jetEtEffNum_
private

Definition at line 94 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1jetEtRes_
private

Definition at line 68 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1jetHighEtEffDenom_
private

Definition at line 98 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1jetHighEtEffNum_
private

Definition at line 97 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

double HLTTauDQML1Plotter::l1JetMinEt_
private

Definition at line 39 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), bookHistograms(), and HLTTauDQML1Plotter().

MonitorElement* HLTTauDQML1Plotter::l1jetPhi_
private

Definition at line 60 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1jetPhiEffDenom_
private

Definition at line 104 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1jetPhiEffNum_
private

Definition at line 103 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1tauEt_
private

Definition at line 50 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1tauEta_
private

Definition at line 51 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1tauEtaEffDenom_
private

Definition at line 77 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1tauEtaEffNum_
private

Definition at line 76 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1tauEtEffDenom_
private

Definition at line 71 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1tauEtEffNum_
private

Definition at line 70 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1tauEtRes_
private

Definition at line 66 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1tauHighEtEffDenom_
private

Definition at line 74 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1tauHighEtEffNum_
private

Definition at line 73 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1tauPhi_
private

Definition at line 52 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1tauPhiEffDenom_
private

Definition at line 80 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::l1tauPhiEffNum_
private

Definition at line 79 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

const double HLTTauDQML1Plotter::matchDeltaR_
private

Definition at line 38 of file HLTTauDQML1Plotter.h.

Referenced by analyze().

const double HLTTauDQML1Plotter::maxEta_
private

Definition at line 47 of file HLTTauDQML1Plotter.h.

Referenced by bookHistograms().

const double HLTTauDQML1Plotter::maxHighPt_
private

Definition at line 43 of file HLTTauDQML1Plotter.h.

Referenced by bookHistograms().

const double HLTTauDQML1Plotter::maxPt_
private

Definition at line 42 of file HLTTauDQML1Plotter.h.

Referenced by bookHistograms().

MonitorElement* HLTTauDQML1Plotter::secondTauEt_
private

Definition at line 110 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::secondTauEta_
private

Definition at line 111 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HLTTauDQML1Plotter::secondTauPhi_
private

Definition at line 112 of file HLTTauDQML1Plotter.h.

Referenced by analyze(), and bookHistograms().