CMS 3D CMS Logo

BTVHLTOfflineSource.cc
Go to the documentation of this file.
1 /*
2  BTVHLTOffline DQM code
3 */
4 //
5 // Originally created by: Anne-Catherine Le Bihan
6 // June 2015
7 // Following the structure used in JetMetHLTOfflineSource
8 
9 // system include files
10 #include <fstream>
11 #include <iostream>
12 #include <memory>
13 #include <sstream>
14 #include <string>
15 #include <utility>
16 #include <vector>
17 #include <unistd.h>
18 #include <cmath>
19 #include <iostream>
20 
21 // user include files
40 
41 #include "TMath.h"
42 #include "TPRegexp.h"
43 
45 public:
46  explicit BTVHLTOfflineSource(const edm::ParameterSet&);
47  ~BTVHLTOfflineSource() override;
48 
49 private:
50  void analyze(const edm::Event&, const edm::EventSetup&) override;
51  void bookHistograms(DQMStore::IBooker&, edm::Run const& run, edm::EventSetup const& c) override;
52  void dqmBeginRun(edm::Run const& run, edm::EventSetup const& c) override;
53 
56  bool verbose_;
57 
58  std::vector<std::pair<std::string, std::string> > custompathnamepairs_;
59 
62 
66 
69 
74 
79 
82 
87 
89 
90  class PathInfo : public TriggerDQMBase {
91  public:
93  : prescaleUsed_(-1),
94  pathName_("unset"),
95  filterName_("unset"),
96  processName_("unset"),
97  objectType_(-1),
98  triggerType_("unset") {}
99 
100  ~PathInfo() override = default;
101 
102  PathInfo(const int prescaleUsed,
103  const std::string& pathName,
104  const std::string& filterName,
105  const std::string& processName,
106  const int type,
107  const std::string& triggerType)
108  : prescaleUsed_(prescaleUsed),
112  objectType_(type),
114 
115  const std::string getLabel() const { return filterName_; }
116  void setLabel(std::string labelName) { filterName_ = std::move(labelName); }
117  const std::string getPath() const { return pathName_; }
118  const int getprescaleUsed() const { return prescaleUsed_; }
119  const std::string getProcess() const { return processName_; }
120  const int getObjectType() const { return objectType_; }
121  const std::string getTriggerType() const { return triggerType_; }
123  const bool operator==(const std::string& v) const { return v == pathName_; }
124 
125  MonitorElement* Discr = nullptr;
126  MonitorElement* Pt = nullptr;
127  MonitorElement* Eta = nullptr;
133  MonitorElement* PVz = nullptr;
137  MonitorElement* n_vtx = nullptr;
144  // MonitorElement* n_pixel_hits_;
145  // MonitorElement* n_total_hits_;
146 
147  private:
154  };
155 
156  class PathInfoCollection : public std::vector<PathInfo> {
157  public:
158  PathInfoCollection() : std::vector<PathInfo>(){};
159  std::vector<PathInfo>::iterator find(const std::string& pathName) { return std::find(begin(), end(), pathName); }
160  };
161 
163 };
164 
165 using namespace edm;
166 using namespace reco;
167 using namespace std;
168 using namespace trigger;
169 
171  : dirname_(iConfig.getUntrackedParameter("dirname", std::string("HLT/BTV/"))),
172  processname_(iConfig.getParameter<std::string>("processname")),
173  verbose_(iConfig.getUntrackedParameter<bool>("verbose", false)),
174  triggerSummaryLabel_(iConfig.getParameter<edm::InputTag>("triggerSummaryLabel")),
175  triggerResultsLabel_(iConfig.getParameter<edm::InputTag>("triggerResultsLabel")),
176  turnon_threshold_loose_(iConfig.getParameter<double>("turnon_threshold_loose")),
177  turnon_threshold_medium_(iConfig.getParameter<double>("turnon_threshold_medium")),
178  turnon_threshold_tight_(iConfig.getParameter<double>("turnon_threshold_tight")),
179  offlineDiscrTokenb_(consumes<reco::JetTagCollection>(iConfig.getParameter<edm::InputTag>("offlineDiscrLabelb"))),
180  offlineDiscrTokenbb_(
181  consumes<reco::JetTagCollection>(iConfig.getParameter<edm::InputTag>("offlineDiscrLabelbb"))),
182  hltFastPVToken_(consumes<std::vector<reco::Vertex> >(iConfig.getParameter<edm::InputTag>("hltFastPVLabel"))),
183  hltPFPVToken_(consumes<std::vector<reco::Vertex> >(iConfig.getParameter<edm::InputTag>("hltPFPVLabel"))),
184  hltCaloPVToken_(consumes<std::vector<reco::Vertex> >(iConfig.getParameter<edm::InputTag>("hltCaloPVLabel"))),
185  offlinePVToken_(consumes<std::vector<reco::Vertex> >(iConfig.getParameter<edm::InputTag>("offlinePVLabel"))),
186  triggerResultsToken(consumes<edm::TriggerResults>(triggerResultsLabel_)),
187  triggerResultsFUToken(consumes<edm::TriggerResults>(
188  edm::InputTag(triggerResultsLabel_.label(), triggerResultsLabel_.instance(), std::string("FU")))),
189  triggerSummaryToken(consumes<trigger::TriggerEvent>(triggerSummaryLabel_)),
190  triggerSummaryFUToken(consumes<trigger::TriggerEvent>(
191  edm::InputTag(triggerSummaryLabel_.label(), triggerSummaryLabel_.instance(), std::string("FU")))),
192  shallowTagInfosTokenCalo_(
193  consumes<vector<reco::ShallowTagInfo> >(edm::InputTag("hltDeepCombinedSecondaryVertexBJetTagsInfosCalo"))),
194  shallowTagInfosTokenPf_(
195  consumes<vector<reco::ShallowTagInfo> >(edm::InputTag("hltDeepCombinedSecondaryVertexBJetTagsInfos"))),
196  caloTagsToken_(consumes<reco::JetTagCollection>(iConfig.getParameter<edm::InputTag>("onlineDiscrLabelCalo"))),
197  pfTagsToken_(consumes<reco::JetTagCollection>(iConfig.getParameter<edm::InputTag>("onlineDiscrLabelPF"))) {
198  std::vector<edm::ParameterSet> paths = iConfig.getParameter<std::vector<edm::ParameterSet> >("pathPairs");
199  for (const auto& path : paths) {
200  custompathnamepairs_.push_back(
201  make_pair(path.getParameter<std::string>("pathname"), path.getParameter<std::string>("pathtype")));
202  }
203 }
204 
206 
208  bool changed = true;
209  if (!hltConfig_.init(run, c, processname_, changed)) {
210  LogDebug("BTVHLTOfflineSource") << "HLTConfigProvider failed to initialize.";
211  }
212 
213  for (unsigned int idx = 0; idx != hltConfig_.size(); ++idx) {
214  const auto& pathname = hltConfig_.triggerName(idx);
215 
216  for (const auto& custompathnamepair : custompathnamepairs_) {
217  if (pathname.find(custompathnamepair.first) != std::string::npos) {
218  hltPathsAll_.push_back(PathInfo(1, pathname, "dummy", processname_, 0, custompathnamepair.second));
219  }
220  }
221  }
222 }
223 
227  if (!triggerResults.isValid()) {
229  if (!triggerResults.isValid()) {
230  edm::LogInfo("BTVHLTOfflineSource") << "TriggerResults not found, skipping event";
231  return;
232  }
233  }
234 
235  const edm::TriggerNames& triggerNames = iEvent.triggerNames(*triggerResults);
236 
238  iEvent.getByToken(triggerSummaryToken, triggerObj);
239  if (!triggerObj.isValid()) {
240  iEvent.getByToken(triggerSummaryFUToken, triggerObj);
241  if (!triggerObj.isValid()) {
242  edm::LogInfo("BTVHLTOfflineSource") << "TriggerEvent not found, skipping event";
243  return;
244  }
245  }
246 
248  iEvent.getByToken(caloTagsToken_, caloTags);
249 
251  iEvent.getByToken(pfTagsToken_, pfTags);
252 
253  Handle<reco::VertexCollection> VertexHandler;
254 
255  Handle<reco::JetTagCollection> offlineJetTagHandlerb;
256  iEvent.getByToken(offlineDiscrTokenb_, offlineJetTagHandlerb);
257 
258  Handle<reco::JetTagCollection> offlineJetTagHandlerbb;
259  iEvent.getByToken(offlineDiscrTokenbb_, offlineJetTagHandlerbb);
260 
261  Handle<reco::VertexCollection> offlineVertexHandler;
262  iEvent.getByToken(offlinePVToken_, offlineVertexHandler);
263 
264  if (verbose_ && iEvent.id().event() % 10000 == 0)
265  cout << "Run = " << iEvent.id().run() << ", LS = " << iEvent.luminosityBlock()
266  << ", Event = " << iEvent.id().event() << endl;
267 
268  if (!triggerResults.isValid())
269  return;
270 
271  for (auto& v : hltPathsAll_) {
272  unsigned index = triggerNames.triggerIndex(v.getPath());
273  if (!(index < triggerNames.size())) {
274  continue;
275  }
276 
277  // PF and Calo btagging
278  if ((v.getTriggerType() == "PF" && pfTags.isValid()) ||
279  (v.getTriggerType() == "Calo" && caloTags.isValid() && !caloTags->empty())) {
280  const auto& iter = (v.getTriggerType() == "PF") ? pfTags->begin() : caloTags->begin();
281 
282  float Discr_online = iter->second;
283  if (Discr_online < 0)
284  Discr_online = -0.05;
285 
286  v.Discr->Fill(Discr_online);
287  v.Pt->Fill(iter->first->pt());
288  v.Eta->Fill(iter->first->eta());
289 
290  if (offlineJetTagHandlerb.isValid()) {
291  for (auto const& iterOffb : *offlineJetTagHandlerb) {
292  float DR = reco::deltaR(iterOffb.first->eta(), iterOffb.first->phi(), iter->first->eta(), iter->first->phi());
293  if (DR < 0.3) {
294  float Discr_offline = iterOffb.second;
295 
296  // offline probb and probbb must be added (if probbb isn't specified, it'll just use probb)
297  if (offlineJetTagHandlerbb.isValid()) {
298  for (auto const& iterOffbb : *offlineJetTagHandlerbb) {
299  DR = reco::deltaR(
300  iterOffbb.first->eta(), iterOffbb.first->phi(), iter->first->eta(), iter->first->phi());
301  if (DR < 0.3) {
302  Discr_offline += iterOffbb.second;
303  break;
304  }
305  }
306  }
307 
308  if (Discr_offline < 0)
309  Discr_offline = -0.05;
310  v.Discr_HLTvsRECO->Fill(Discr_online, Discr_offline);
311  v.Discr_HLTMinusRECO->Fill(Discr_online - Discr_offline);
312 
313  v.Discr_turnon_loose.denominator->Fill(Discr_offline);
314  v.Discr_turnon_medium.denominator->Fill(Discr_offline);
315  v.Discr_turnon_tight.denominator->Fill(Discr_offline);
316 
317  if (Discr_online > turnon_threshold_loose_)
318  v.Discr_turnon_loose.numerator->Fill(Discr_offline);
319  if (Discr_online > turnon_threshold_medium_)
320  v.Discr_turnon_medium.numerator->Fill(Discr_offline);
321  if (Discr_online > turnon_threshold_tight_)
322  v.Discr_turnon_tight.numerator->Fill(Discr_offline);
323 
324  break;
325  }
326  }
327  }
328 
329  if (v.getTriggerType() == "PF") {
330  iEvent.getByToken(hltPFPVToken_, VertexHandler);
331  } else {
332  iEvent.getByToken(hltFastPVToken_, VertexHandler);
333  }
334  if (VertexHandler.isValid()) {
335  v.PVz->Fill(VertexHandler->begin()->z());
336  if (offlineVertexHandler.isValid()) {
337  v.PVz_HLTMinusRECO->Fill(VertexHandler->begin()->z() - offlineVertexHandler->begin()->z());
338  }
339  }
340  }
341 
342  // specific to Calo b-tagging
343  if (caloTags.isValid() && v.getTriggerType() == "Calo" && !caloTags->empty()) {
344  iEvent.getByToken(hltCaloPVToken_, VertexHandler);
345  if (VertexHandler.isValid()) {
346  v.fastPVz->Fill(VertexHandler->begin()->z());
347  if (offlineVertexHandler.isValid()) {
348  v.fastPVz_HLTMinusRECO->Fill(VertexHandler->begin()->z() - offlineVertexHandler->begin()->z());
349  }
350  }
351  }
352 
353  // additional plots from tag info collections
355 
356  edm::Handle<std::vector<reco::ShallowTagInfo> > shallowTagInfosCalo;
357  iEvent.getByToken(shallowTagInfosTokenCalo_, shallowTagInfosCalo);
358 
360  iEvent.getByToken(shallowTagInfosTokenPf_, shallowTagInfosPf);
361 
362  // edm::Handle<std::vector<reco::TemplatedSecondaryVertexTagInfo<reco::IPTagInfo<edm::RefVector<std::vector<reco::Track>, reco::Track, edm::refhelper::FindUsingAdvance<std::vector<reco::Track>, reco::Track> >, reco::JTATagInfo>, reco::Vertex> > > caloTagInfos;
363  // iEvent.getByToken(caloTagInfosToken_, caloTagInfos);
364 
365  // edm::Handle<std::vector<reco::TemplatedSecondaryVertexTagInfo<reco::IPTagInfo<edm::RefVector<std::vector<reco::Track>, reco::Track, edm::refhelper::FindUsingAdvance<std::vector<reco::Track>, reco::Track> >, reco::JTATagInfo>, reco::Vertex> > > pfTagInfos;
366  // iEvent.getByToken(pfTagInfosToken_, pfTagInfos);
367 
368  // first try to get info from shallowTagInfos ...
369  if ((v.getTriggerType() == "PF" && shallowTagInfosPf.isValid()) ||
370  (v.getTriggerType() == "Calo" && shallowTagInfosCalo.isValid())) {
371  const auto& shallowTagInfoCollection = (v.getTriggerType() == "PF") ? shallowTagInfosPf : shallowTagInfosCalo;
372  for (const auto& shallowTagInfo : *shallowTagInfoCollection) {
373  const auto& tagVars = shallowTagInfo.taggingVariables();
374 
375  // n secondary vertices and n selected tracks
376  for (const auto& tagVar : tagVars.getList(reco::btau::jetNSecondaryVertices, false)) {
377  v.n_vtx->Fill(tagVar);
378  }
379  for (const auto& tagVar : tagVars.getList(reco::btau::jetNSelectedTracks, false)) {
380  v.n_sel_tracks->Fill(tagVar);
381  }
382 
383  // impact parameter
384  const auto& trackSip3dVal = tagVars.getList(reco::btau::trackSip3dVal, false);
385  const auto& trackSip3dSig = tagVars.getList(reco::btau::trackSip3dSig, false);
386  for (unsigned i_trk = 0; i_trk < trackSip3dVal.size(); i_trk++) {
387  float val = trackSip3dVal[i_trk];
388  float sig = trackSip3dSig[i_trk];
389  v.h_3d_ip_distance->Fill(val);
390  v.h_3d_ip_error->Fill(val / sig);
391  v.h_3d_ip_sig->Fill(sig);
392  }
393 
394  // vertex mass and tracks per vertex
395  for (const auto& tagVar : tagVars.getList(reco::btau::vertexMass, false)) {
396  v.vtx_mass->Fill(tagVar);
397  }
398  for (const auto& tagVar : tagVars.getList(reco::btau::vertexNTracks, false)) {
399  v.n_vtx_trks->Fill(tagVar);
400  }
401 
402  // // track N total/pixel hits
403  // for (const auto & tagVar : tagVars.getList(reco::btau::trackNPixelHits, false)) {
404  // v.n_pixel_hits->Fill(tagVar);}
405  // for (const auto & tagVar : tagVars.getList(reco::btau::trackNTotalHits, false)) {
406  // v.n_total_hits->Fill(tagVar);}
407  }
408  }
409 
410  // ... otherwise from usual tag infos.
411  // else
412  // if ( (v.getTriggerType() == "PF" && pfTagInfos.isValid())
413  // || (v.getTriggerType() == "Calo" && caloTagInfos.isValid()) )
414  // {
415  // const auto & DiscrTagInfoCollection = (v.getTriggerType() == "PF") ? pfTagInfos : caloTagInfos;
416 
417  // // loop over secondary vertex tag infos
418  // for (const auto & DiscrTagInfo : *DiscrTagInfoCollection) {
419  // v.n_vtx->Fill(DiscrTagInfo.nVertexCandidates());
420  // v.n_sel_tracks->Fill(DiscrTagInfo.nSelectedTracks());
421 
422  // // loop over selected tracks in each tag info
423  // for (unsigned i_trk=0; i_trk < DiscrTagInfo.nSelectedTracks(); i_trk++) {
424  // const auto & ip3d = DiscrTagInfo.trackIPData(i_trk).ip3d;
425  // v.h_3d_ip_distance->Fill(ip3d.value());
426  // v.h_3d_ip_error->Fill(ip3d.error());
427  // v.h_3d_ip_sig->Fill(ip3d.significance());
428  // }
429 
430  // // loop over vertex candidates in each tag info
431  // for (unsigned i_sv=0; i_sv < DiscrTagInfo.nVertexCandidates(); i_sv++) {
432  // const auto & sv = DiscrTagInfo.secondaryVertex(i_sv);
433  // v.vtx_mass->Fill(sv.p4().mass());
434  // v.n_vtx_trks->Fill(sv.nTracks());
435 
436  // // loop over tracks for number of pixel and total hits
437  // const auto & trkIPTagInfo = DiscrTagInfo.trackIPTagInfoRef().get();
438  // for (const auto & trk : trkIPTagInfo->selectedTracks()) {
439  // v.n_pixel_hits->Fill(trk.get()->hitPattern().numberOfValidPixelHits());
440  // v.n_total_hits->Fill(trk.get()->hitPattern().numberOfValidHits());
441  // }
442  // }
443  // }
444  // }
445  }
446 }
447 
448 void BTVHLTOfflineSource::bookHistograms(DQMStore::IBooker& iBooker, edm::Run const& run, edm::EventSetup const& c) {
449  iBooker.setCurrentFolder(dirname_);
450  for (auto& v : hltPathsAll_) {
451  std::string trgPathName = HLTConfigProvider::removeVersion(v.getPath());
452  std::string subdirName = dirname_ + "/" + trgPathName + v.getTriggerType();
453  std::string trigPath = "(" + trgPathName + ")";
454  iBooker.setCurrentFolder(subdirName);
455 
456  std::string labelname("HLT");
457  std::string histoname(labelname + "");
458  std::string title(labelname + "");
459 
460  histoname = labelname + "_Discr";
461  title = labelname + "_Discr " + trigPath;
462  v.Discr = iBooker.book1D(histoname.c_str(), title.c_str(), 110, -0.1, 1);
463 
464  histoname = labelname + "_Pt";
465  title = labelname + "_Pt " + trigPath;
466  v.Pt = iBooker.book1D(histoname.c_str(), title.c_str(), 100, 0, 400);
467 
468  histoname = labelname + "_Eta";
469  title = labelname + "_Eta " + trigPath;
470  v.Eta = iBooker.book1D(histoname.c_str(), title.c_str(), 60, -3.0, 3.0);
471 
472  histoname = "HLTvsRECO_Discr";
473  title = "online discr vs offline discr " + trigPath;
474  v.Discr_HLTvsRECO = iBooker.book2D(histoname.c_str(), title.c_str(), 110, -0.1, 1, 110, -0.1, 1);
475 
476  histoname = "HLTMinusRECO_Discr";
477  title = "online discr minus offline discr " + trigPath;
478  v.Discr_HLTMinusRECO = iBooker.book1D(histoname.c_str(), title.c_str(), 100, -1, 1);
479 
480  histoname = "Turnon_loose_Discr";
481  title = "turn-on with loose threshold " + trigPath;
482  v.bookME(iBooker, v.Discr_turnon_loose, histoname, title, 22, -0.1, 1.);
483 
484  histoname = "Turnon_medium_Discr";
485  title = "turn-on with medium threshold " + trigPath;
486  v.bookME(iBooker, v.Discr_turnon_medium, histoname, title, 22, -0.1, 1.);
487 
488  histoname = "Turnon_tight_Discr";
489  title = "turn-on with tight threshold " + trigPath;
490  v.bookME(iBooker, v.Discr_turnon_tight, histoname, title, 22, -0.1, 1.);
491 
492  histoname = labelname + "_PVz";
493  title = "online z(PV) " + trigPath;
494  v.PVz = iBooker.book1D(histoname.c_str(), title.c_str(), 80, -20, 20);
495 
496  histoname = labelname + "_fastPVz";
497  title = "online z(fastPV) " + trigPath;
498  v.fastPVz = iBooker.book1D(histoname.c_str(), title.c_str(), 80, -20, 20);
499 
500  histoname = "HLTMinusRECO_PVz";
501  title = "online z(PV) - offline z(PV) " + trigPath;
502  v.PVz_HLTMinusRECO = iBooker.book1D(histoname.c_str(), title.c_str(), 200, -0.5, 0.5);
503 
504  histoname = "HLTMinusRECO_fastPVz";
505  title = "online z(fastPV) - offline z(PV) " + trigPath;
506  v.fastPVz_HLTMinusRECO = iBooker.book1D(histoname.c_str(), title.c_str(), 100, -2, 2);
507 
508  histoname = "n_vtx";
509  title = "N vertex candidates " + trigPath;
510  v.n_vtx = iBooker.book1D(histoname.c_str(), title.c_str(), 10, -0.5, 9.5);
511 
512  histoname = "vtx_mass";
513  title = "secondary vertex mass (GeV)" + trigPath;
514  v.vtx_mass = iBooker.book1D(histoname.c_str(), title.c_str(), 20, 0, 10);
515 
516  histoname = "n_vtx_trks";
517  title = "N tracks associated to secondary vertex" + trigPath;
518  v.n_vtx_trks = iBooker.book1D(histoname.c_str(), title.c_str(), 20, -0.5, 19.5);
519 
520  histoname = "n_sel_tracks";
521  title = "N selected tracks" + trigPath;
522  v.n_sel_tracks = iBooker.book1D(histoname.c_str(), title.c_str(), 25, -0.5, 24.5);
523 
524  histoname = "3d_ip_distance";
525  title = "3D IP distance of tracks (cm)" + trigPath;
526  v.h_3d_ip_distance = iBooker.book1D(histoname.c_str(), title.c_str(), 40, -0.1, 0.1);
527 
528  histoname = "3d_ip_error";
529  title = "3D IP error of tracks (cm)" + trigPath;
530  v.h_3d_ip_error = iBooker.book1D(histoname.c_str(), title.c_str(), 40, 0., 0.1);
531 
532  histoname = "3d_ip_sig";
533  title = "3D IP significance of tracks (cm)" + trigPath;
534  v.h_3d_ip_sig = iBooker.book1D(histoname.c_str(), title.c_str(), 40, -40, 40);
535 
536  // histoname = "n_pixel_hits";
537  // title = "N pixel hits"+trigPath;
538  // v.n_pixel_hits = iBooker.book1D(histoname.c_str(), title.c_str(), 16, -0.5, 15.5);
539 
540  // histoname = "n_total_hits";
541  // title = "N hits"+trigPath;
542  // v.n_total_hits = iBooker.book1D(histoname.c_str(), title.c_str(), 40, -0.5, 39.5);
543  }
544 }
545 
546 // Define this as a plug-in
BTVHLTOfflineSource::caloTags
edm::Handle< reco::JetTagCollection > caloTags
Definition: BTVHLTOfflineSource.cc:85
reco::btau::jetNSelectedTracks
Definition: TaggingVariable.h:38
BTVHLTOfflineSource::custompathnamepairs_
std::vector< std::pair< std::string, std::string > > custompathnamepairs_
Definition: BTVHLTOfflineSource.cc:58
BTVHLTOfflineSource::PathInfo::PVz
MonitorElement * PVz
Definition: BTVHLTOfflineSource.cc:133
BTVHLTOfflineSource::PathInfo::getLabel
const std::string getLabel() const
Definition: BTVHLTOfflineSource.cc:115
reco::ShallowTagInfo
Definition: ShallowTagInfo.h:12
JetTag.h
electrons_cff.bool
bool
Definition: electrons_cff.py:372
BTVHLTOfflineSource::hltFastPVToken_
edm::EDGetTokenT< std::vector< reco::Vertex > > hltFastPVToken_
Definition: BTVHLTOfflineSource.cc:70
MessageLogger.h
BTVHLTOfflineSource::PathInfo::fastPVz_HLTMinusRECO
MonitorElement * fastPVz_HLTMinusRECO
Definition: BTVHLTOfflineSource.cc:136
funct::false
false
Definition: Factorize.h:34
TriggerResults.h
BTVHLTOfflineSource_cfi.pathname
pathname
Definition: BTVHLTOfflineSource_cfi.py:28
edm::Run
Definition: Run.h:45
BTVHLTOfflineSource::hltConfig_
HLTConfigProvider hltConfig_
Definition: BTVHLTOfflineSource.cc:88
TriggerEvent.h
edm::EDGetTokenT
Definition: EDGetToken.h:33
edm
HLT enums.
Definition: AlignableModifier.h:19
BTVHLTOfflineSource::triggerResultsLabel_
edm::InputTag triggerResultsLabel_
Definition: BTVHLTOfflineSource.cc:61
gather_cfg.cout
cout
Definition: gather_cfg.py:144
edm::LogInfo
Definition: MessageLogger.h:254
BTVHLTOfflineSource::PathInfo::processName_
std::string processName_
Definition: BTVHLTOfflineSource.cc:151
triggerResults
static const std::string triggerResults
Definition: EdmProvDump.cc:45
BTVHLTOfflineSource::PathInfo::triggerType_
std::string triggerType_
Definition: BTVHLTOfflineSource.cc:153
BTVHLTOfflineSource::triggerSummaryLabel_
edm::InputTag triggerSummaryLabel_
Definition: BTVHLTOfflineSource.cc:60
BTVHLTOfflineSource::PathInfo::operator==
const bool operator==(const std::string &v) const
Definition: BTVHLTOfflineSource.cc:123
TriggerTypeDefs.h
BTVHLTOfflineSource::pfTagsToken_
edm::EDGetTokenT< reco::JetTagCollection > pfTagsToken_
Definition: BTVHLTOfflineSource.cc:84
DQMStore.h
BTVHLTOfflineSource::BTVHLTOfflineSource
BTVHLTOfflineSource(const edm::ParameterSet &)
Definition: BTVHLTOfflineSource.cc:170
BTVHLTOfflineSource::PathInfo
Definition: BTVHLTOfflineSource.cc:90
dqm::legacy::MonitorElement
Definition: MonitorElement.h:461
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
findQualityFiles.v
v
Definition: findQualityFiles.py:179
BTVHLTOfflineSource::triggerSummaryFUToken
edm::EDGetTokenT< trigger::TriggerEvent > triggerSummaryFUToken
Definition: BTVHLTOfflineSource.cc:78
BTVHLTOfflineSource::PathInfo::h_3d_ip_sig
MonitorElement * h_3d_ip_sig
Definition: BTVHLTOfflineSource.cc:143
BTVHLTOfflineSource::PathInfo::fastPVz
MonitorElement * fastPVz
Definition: BTVHLTOfflineSource.cc:134
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
edm::Handle
Definition: AssociativeIterator.h:50
training_settings.idx
idx
Definition: training_settings.py:16
end
#define end
Definition: vmac.h:39
BTVHLTOfflineSource::PathInfo::vtx_mass
MonitorElement * vtx_mass
Definition: BTVHLTOfflineSource.cc:138
BTVHLTOfflineSource::shallowTagInfosTokenPf_
edm::EDGetTokenT< std::vector< reco::ShallowTagInfo > > shallowTagInfosTokenPf_
Definition: BTVHLTOfflineSource.cc:81
BTVHLTOfflineSource::turnon_threshold_loose_
float turnon_threshold_loose_
Definition: BTVHLTOfflineSource.cc:63
MakerMacros.h
BTVHLTOfflineSource::PathInfo::setLabel
void setLabel(std::string labelName)
Definition: BTVHLTOfflineSource.cc:116
BTVHLTOfflineSource::PathInfo::getprescaleUsed
const int getprescaleUsed() const
Definition: BTVHLTOfflineSource.cc:118
BTVHLTOfflineSource::PathInfo::PathInfo
PathInfo()
Definition: BTVHLTOfflineSource.cc:92
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
BTVHLTOfflineSource::PathInfo::prescaleUsed_
int prescaleUsed_
Definition: BTVHLTOfflineSource.cc:148
hltMonBTagIPClient_cfi.pathName
pathName
Definition: hltMonBTagIPClient_cfi.py:5
L1TEGammaOffline_cfi.triggerNames
triggerNames
Definition: L1TEGammaOffline_cfi.py:40
Service.h
BTVHLTOfflineSource::PathInfo::getTriggerType
const std::string getTriggerType() const
Definition: BTVHLTOfflineSource.cc:121
TriggerDQMBase.h
BTVHLTOfflineSource::PathInfo::Eta
MonitorElement * Eta
Definition: BTVHLTOfflineSource.cc:127
BTVHLTOfflineSource::caloTagsToken_
edm::EDGetTokenT< reco::JetTagCollection > caloTagsToken_
Definition: BTVHLTOfflineSource.cc:83
BTVHLTOfflineSource::PathInfo::~PathInfo
~PathInfo() override=default
BTVHLTOfflineSource::PathInfo::Discr
MonitorElement * Discr
Definition: BTVHLTOfflineSource.cc:125
BTVHLTOfflineSource::turnon_threshold_medium_
float turnon_threshold_medium_
Definition: BTVHLTOfflineSource.cc:64
BTVHLTOfflineSource::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &run, edm::EventSetup const &c) override
Definition: BTVHLTOfflineSource.cc:448
TriggerDQMBase
Definition: TriggerDQMBase.h:8
TriggerDQMBase::ObjME
Definition: TriggerDQMBase.h:22
BTVHLTOfflineSource::PathInfoCollection
Definition: BTVHLTOfflineSource.cc:156
DQMEDAnalyzer.h
HLTConfigProvider::removeVersion
static const std::string removeVersion(const std::string &trigger)
Definition: HLTConfigProvider.cc:238
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
Vertex.h
BTVHLTOfflineSource::PathInfo::getObjectType
const int getObjectType() const
Definition: BTVHLTOfflineSource.cc:120
BTVHLTOfflineSource::hltPathsAll_
PathInfoCollection hltPathsAll_
Definition: BTVHLTOfflineSource.cc:162
HLTConfigProvider::size
unsigned int size() const
number of trigger paths in trigger table
Definition: HLTConfigProvider.h:62
edm::AssociationVector
Definition: AssociationVector.h:67
DeltaR.h
DQMEDAnalyzer
Definition: DQMEDAnalyzer.py:1
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
BTVHLTOfflineSource::triggerResultsToken
edm::EDGetTokenT< edm::TriggerResults > triggerResultsToken
Definition: BTVHLTOfflineSource.cc:75
edm::ParameterSet
Definition: ParameterSet.h:36
BTVHLTOfflineSource::PathInfo::Discr_turnon_medium
ObjME Discr_turnon_medium
Definition: BTVHLTOfflineSource.cc:131
BTVHLTOfflineSource::PathInfo::objectType_
int objectType_
Definition: BTVHLTOfflineSource.cc:152
reco::btau::trackSip3dSig
Definition: TaggingVariable.h:57
reco::btau::jetNSecondaryVertices
Definition: TaggingVariable.h:72
BTVHLTOfflineSource::hltPFPVToken_
edm::EDGetTokenT< std::vector< reco::Vertex > > hltPFPVToken_
Definition: BTVHLTOfflineSource.cc:71
BTVHLTOfflineSource::PathInfo::Discr_HLTMinusRECO
MonitorElement * Discr_HLTMinusRECO
Definition: BTVHLTOfflineSource.cc:129
TriggerNames.h
iEvent
int iEvent
Definition: GenABIO.cc:224
BTVHLTOfflineSource::PathInfo::Pt
MonitorElement * Pt
Definition: BTVHLTOfflineSource.cc:126
BTVHLTOfflineSource
Definition: BTVHLTOfflineSource.cc:44
BTVHLTOfflineSource::PathInfo::h_3d_ip_distance
MonitorElement * h_3d_ip_distance
Definition: BTVHLTOfflineSource.cc:141
edm::EventSetup
Definition: EventSetup.h:57
BTVHLTOfflineSource::PathInfo::pathName_
std::string pathName_
Definition: BTVHLTOfflineSource.cc:149
BTVHLTOfflineSource::offlinePVToken_
edm::EDGetTokenT< std::vector< reco::Vertex > > offlinePVToken_
Definition: BTVHLTOfflineSource.cc:73
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
trigger::TriggerEvent
The single EDProduct to be saved for each event (AOD case)
Definition: TriggerEvent.h:25
HLTConfigProvider.h
BTVHLTOfflineSource::PathInfo::getProcess
const std::string getProcess() const
Definition: BTVHLTOfflineSource.cc:119
TriggerObject.h
instance
static PFTauRenderPlugin instance
Definition: PFTauRenderPlugin.cc:70
reco::btau::trackSip3dVal
Definition: TaggingVariable.h:56
BTVHLTOfflineSource::processname_
std::string processname_
Definition: BTVHLTOfflineSource.cc:55
ShallowTagInfo.h
SimL1EmulatorRepack_CalouGT_cff.processName
processName
Definition: SimL1EmulatorRepack_CalouGT_cff.py:17
overlapproblemtsosanalyzer_cfi.title
title
Definition: overlapproblemtsosanalyzer_cfi.py:7
VertexFwd.h
pdwgDoubleElectron_cfi.filterName
filterName
Definition: pdwgDoubleElectron_cfi.py:7
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
BTVHLTOfflineSource::PathInfoCollection::PathInfoCollection
PathInfoCollection()
Definition: BTVHLTOfflineSource.cc:158
BTVHLTOfflineSource::~BTVHLTOfflineSource
~BTVHLTOfflineSource() override
BTVHLTOfflineSource::PathInfoCollection::find
std::vector< PathInfo >::iterator find(const std::string &pathName)
Definition: BTVHLTOfflineSource.cc:159
type
type
Definition: HCALResponse.h:21
HLTConfigProvider
Definition: HLTConfigProvider.h:28
BTVHLTOfflineSource::triggerResultsFUToken
edm::EDGetTokenT< edm::TriggerResults > triggerResultsFUToken
Definition: BTVHLTOfflineSource.cc:76
heppy_batch.val
val
Definition: heppy_batch.py:351
eostools.move
def move(src, dest)
Definition: eostools.py:511
std
Definition: JetResolutionObject.h:76
writedatasetfile.run
run
Definition: writedatasetfile.py:27
BTVHLTOfflineSource::PathInfo::n_vtx
MonitorElement * n_vtx
Definition: BTVHLTOfflineSource.cc:137
HLTConfigProvider::init
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
Definition: HLTConfigProvider.cc:36
BTVHLTOfflineSource::shallowTagInfosTokenCalo_
edm::EDGetTokenT< std::vector< reco::ShallowTagInfo > > shallowTagInfosTokenCalo_
Definition: BTVHLTOfflineSource.cc:80
BTVHLTOfflineSource::PathInfo::Discr_HLTvsRECO
MonitorElement * Discr_HLTvsRECO
Definition: BTVHLTOfflineSource.cc:128
BTVHLTOfflineSource::PathInfo::filterName_
std::string filterName_
Definition: BTVHLTOfflineSource.cc:150
BTVHLTOfflineSource::PathInfo::getTag
const edm::InputTag getTag() const
Definition: BTVHLTOfflineSource.cc:122
edm::TriggerNames
Definition: TriggerNames.h:55
BTVHLTOfflineSource::PathInfo::PathInfo
PathInfo(const int prescaleUsed, const std::string &pathName, const std::string &filterName, const std::string &processName, const int type, const std::string &triggerType)
Definition: BTVHLTOfflineSource.cc:102
reco::deltaR
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:30
HLT_2018_cff.triggerType
triggerType
Definition: HLT_2018_cff.py:7443
BTVHLTOfflineSource::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: BTVHLTOfflineSource.cc:224
Skims_PA_cff.paths
paths
Definition: Skims_PA_cff.py:18
BTVHLTOfflineSource::PathInfo::PVz_HLTMinusRECO
MonitorElement * PVz_HLTMinusRECO
Definition: BTVHLTOfflineSource.cc:135
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
BTVHLTOfflineSource::PathInfo::n_vtx_trks
MonitorElement * n_vtx_trks
Definition: BTVHLTOfflineSource.cc:139
BTVHLTOfflineSource::dqmBeginRun
void dqmBeginRun(edm::Run const &run, edm::EventSetup const &c) override
Definition: BTVHLTOfflineSource.cc:207
trigger
Definition: HLTPrescaleTableCond.h:8
HLTConfigProvider::triggerName
const std::string & triggerName(unsigned int triggerIndex) const
Definition: HLTConfigProvider.h:69
BTVHLTOfflineSource::offlineDiscrTokenbb_
edm::EDGetTokenT< reco::JetTagCollection > offlineDiscrTokenbb_
Definition: BTVHLTOfflineSource.cc:68
BTVHLTOfflineSource::dirname_
std::string dirname_
Definition: BTVHLTOfflineSource.cc:54
BTVHLTOfflineSource::PathInfo::getPath
const std::string getPath() const
Definition: BTVHLTOfflineSource.cc:117
BTVHLTOfflineSource::PathInfo::n_sel_tracks
MonitorElement * n_sel_tracks
Definition: BTVHLTOfflineSource.cc:140
BTVHLTOfflineSource::turnon_threshold_tight_
float turnon_threshold_tight_
Definition: BTVHLTOfflineSource.cc:65
castor_dqm_sourceclient_file_cfg.path
path
Definition: castor_dqm_sourceclient_file_cfg.py:37
ParameterSet.h
BTVHLTOfflineSource::verbose_
bool verbose_
Definition: BTVHLTOfflineSource.cc:56
BTVHLTOfflineSource::pfTags
edm::Handle< reco::JetTagCollection > pfTags
Definition: BTVHLTOfflineSource.cc:86
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
BTVHLTOfflineSource::PathInfo::Discr_turnon_loose
ObjME Discr_turnon_loose
Definition: BTVHLTOfflineSource.cc:130
edm::Event
Definition: Event.h:73
BTVHLTOfflineSource::offlineDiscrTokenb_
edm::EDGetTokenT< reco::JetTagCollection > offlineDiscrTokenb_
Definition: BTVHLTOfflineSource.cc:67
edm::InputTag
Definition: InputTag.h:15
begin
#define begin
Definition: vmac.h:32
reco::btau::vertexMass
Definition: TaggingVariable.h:75
label
const char * label
Definition: PFTauDecayModeTools.cc:11
HigPhotonJetHLTOfflineSource_cfi.triggerResultsToken
triggerResultsToken
Definition: HigPhotonJetHLTOfflineSource_cfi.py:33
reco::btau::vertexNTracks
Definition: TaggingVariable.h:76
BTVHLTOfflineSource::triggerSummaryToken
edm::EDGetTokenT< trigger::TriggerEvent > triggerSummaryToken
Definition: BTVHLTOfflineSource.cc:77
edm::TriggerResults
Definition: TriggerResults.h:35
reco::Vertex
Definition: Vertex.h:35
BTVHLTOfflineSource::hltCaloPVToken_
edm::EDGetTokenT< std::vector< reco::Vertex > > hltCaloPVToken_
Definition: BTVHLTOfflineSource.cc:72
BTVHLTOfflineSource::PathInfo::h_3d_ip_error
MonitorElement * h_3d_ip_error
Definition: BTVHLTOfflineSource.cc:142
BTVHLTOfflineSource::PathInfo::Discr_turnon_tight
ObjME Discr_turnon_tight
Definition: BTVHLTOfflineSource.cc:132