Belle II Software  release-05-02-19
DQMHistAnalysisHLTModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2019 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Nils Braun *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <dqm/analysis/modules/DQMHistAnalysis.h>
13 
14 #include <TCanvas.h>
15 
16 #include <map>
17 #include <string>
18 
19 #ifdef _BELLE2_EPICS
20 #include "cadef.h"
21 #endif
22 
23 namespace Belle2 {
28  class DQMHistAnalysisHLTModule : public DQMHistAnalysisModule {
29  public:
30  DQMHistAnalysisHLTModule();
31  void initialize() final;
32  void beginRun() final;
33  void event() final;
34 
35  private:
37  std::string m_pvPrefix = "B2_nsm:get:ECL_LUM_MON:lum_det_run";
39  std::string m_bhabhaName = "accept_bhabha";
41  std::map<std::string, std::string> m_columnMapping;
43  std::vector<std::string> m_l1Histograms;
45  std::vector<std::string> m_retentionPerUnit;
47  std::pair<TCanvas*, TH1F*> m_hEfficiency = {nullptr, nullptr};
49  std::pair<TCanvas*, TH1F*> m_hEfficiencyTotal = {nullptr, nullptr};
51  std::pair<TCanvas*, TH1F*> m_hCrossSection = {nullptr, nullptr};
53  std::pair<TCanvas*, TH1F*> m_hRatios = {nullptr, nullptr};
55  std::map<std::string, std::pair<TCanvas*, TH1F*>> m_hl1Ratios;
57  std::map<std::string, std::pair<TCanvas*, TH1F*>> m_hRetentionPerUnit;
59  std::pair<TCanvas*, TH1F*> m_hMeanTime = {nullptr, nullptr};
61  std::pair<TCanvas*, TH1D*> m_hErrorFlagFraction = {nullptr, nullptr};
63  std::pair<TCanvas*, TH1D*> m_hFilteredFractionPerUnit = {nullptr, nullptr};
65  std::pair<TCanvas*, TH1F*> m_hMeanBudgetTimePerUnit = {nullptr, nullptr};
67  std::pair<TCanvas*, TH1F*> m_hMeanProcessingTimePerUnit = {nullptr, nullptr};
69  std::pair<TCanvas*, TH1F*> m_hMeanMemory = {nullptr, nullptr};
70 
71 #ifdef _BELLE2_EPICS
72  chid m_epicschid;
74 #endif
75  };
77 }
Belle2::DQMHistAnalysisHLTModule::m_retentionPerUnit
std::vector< std::string > m_retentionPerUnit
Which HLT filter lines to use for calculation retention rate per unit.
Definition: DQMHistAnalysisHLTModule.h:53
Belle2::DQMHistAnalysisHLTModule::m_bhabhaName
std::string m_bhabhaName
name of the bhabha trigger
Definition: DQMHistAnalysisHLTModule.h:47
Belle2::DQMHistAnalysisHLTModule::m_hFilteredFractionPerUnit
std::pair< TCanvas *, TH1D * > m_hFilteredFractionPerUnit
Histogram with fraction of events filtered per unit.
Definition: DQMHistAnalysisHLTModule.h:71
Belle2::DQMHistAnalysisHLTModule::m_hErrorFlagFraction
std::pair< TCanvas *, TH1D * > m_hErrorFlagFraction
Histogram with fraction of events with error flags.
Definition: DQMHistAnalysisHLTModule.h:69
Belle2::DQMHistAnalysisHLTModule::m_l1Histograms
std::vector< std::string > m_l1Histograms
Which l1 triggers to show.
Definition: DQMHistAnalysisHLTModule.h:51
Belle2::DQMHistAnalysisHLTModule::beginRun
void beginRun() final
Called when entering a new run.
Definition: DQMHistAnalysisHLTModule.cc:157
Belle2::DQMHistAnalysisHLTModule::m_hMeanMemory
std::pair< TCanvas *, TH1F * > m_hMeanMemory
Histogram with mean memory change per process.
Definition: DQMHistAnalysisHLTModule.h:77
Belle2::DQMHistAnalysisHLTModule::m_hCrossSection
std::pair< TCanvas *, TH1F * > m_hCrossSection
Histogram with final cross sections.
Definition: DQMHistAnalysisHLTModule.h:59
Belle2::DQMHistAnalysisHLTModule::m_hEfficiency
std::pair< TCanvas *, TH1F * > m_hEfficiency
Histogram with final efficiencies to HLT.
Definition: DQMHistAnalysisHLTModule.h:55
Belle2::DQMHistAnalysisHLTModule::m_hRetentionPerUnit
std::map< std::string, std::pair< TCanvas *, TH1F * > > m_hRetentionPerUnit
Histogram with retention rate per unit of some hlt filter lines.
Definition: DQMHistAnalysisHLTModule.h:65
Belle2::DQMHistAnalysisHLTModule::m_hRatios
std::pair< TCanvas *, TH1F * > m_hRatios
Histogram with final ratios to bhabha.
Definition: DQMHistAnalysisHLTModule.h:61
Belle2::DQMHistAnalysisHLTModule::m_hMeanTime
std::pair< TCanvas *, TH1F * > m_hMeanTime
Histogram with mean processing time per process.
Definition: DQMHistAnalysisHLTModule.h:67
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::DQMHistAnalysisHLTModule::m_hMeanProcessingTimePerUnit
std::pair< TCanvas *, TH1F * > m_hMeanProcessingTimePerUnit
Histogram with mean processing time per unit per process.
Definition: DQMHistAnalysisHLTModule.h:75
Belle2::DQMHistAnalysisHLTModule::m_columnMapping
std::map< std::string, std::string > m_columnMapping
Which columns to use.
Definition: DQMHistAnalysisHLTModule.h:49
Belle2::DQMHistAnalysisHLTModule::m_pvPrefix
std::string m_pvPrefix
prefix for EPICS PVs
Definition: DQMHistAnalysisHLTModule.h:45
Belle2::DQMHistAnalysisHLTModule::initialize
void initialize() final
Initialize the Module.
Definition: DQMHistAnalysisHLTModule.cc:50
Belle2::DQMHistAnalysisHLTModule::m_hMeanBudgetTimePerUnit
std::pair< TCanvas *, TH1F * > m_hMeanBudgetTimePerUnit
Histogram with mean budget time per unit per process.
Definition: DQMHistAnalysisHLTModule.h:73
Belle2::DQMHistAnalysisHLTModule::event
void event() final
This method is the core of the module.
Definition: DQMHistAnalysisHLTModule.cc:180
Belle2::DQMHistAnalysisHLTModule::m_hl1Ratios
std::map< std::string, std::pair< TCanvas *, TH1F * > > m_hl1Ratios
Histogram with hlt&l1 ratios to l1 numbers.
Definition: DQMHistAnalysisHLTModule.h:63
Belle2::DQMHistAnalysisHLTModule::m_hEfficiencyTotal
std::pair< TCanvas *, TH1F * > m_hEfficiencyTotal
Histogram with final efficiencies to all events.
Definition: DQMHistAnalysisHLTModule.h:57