Belle II Software  release-08-01-10
DQMHistAnalysisHLTModule.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 #pragma once
9 
10 #include <dqm/core/DQMHistAnalysis.h>
11 
12 #include <TCanvas.h>
13 
14 #include <map>
15 #include <string>
16 
17 #ifdef _BELLE2_EPICS
18 #include "cadef.h"
19 #endif
20 
21 namespace Belle2 {
30  public:
31 
36 
40  void initialize() override final;
41 
45  void beginRun() override final;
46 
50  void event() override final;
51 
55  void terminate() override final;
56 
57  private:
59  std::string m_pvPrefix = "B2_nsm:get:ECL_LUM_MON:lum_det_run";
61  std::string m_bhabhaName = "accept_bhabha";
63  std::map<std::string, std::string> m_columnMapping;
65  std::vector<std::string> m_l1Histograms;
67  std::vector<std::string> m_retentionPerUnit;
69  std::pair<TCanvas*, TH1F*> m_hEfficiency = {nullptr, nullptr};
71  std::pair<TCanvas*, TH1F*> m_hEfficiencyTotal = {nullptr, nullptr};
73  std::pair<TCanvas*, TH1F*> m_hCrossSection = {nullptr, nullptr};
75  std::pair<TCanvas*, TH1F*> m_hRatios = {nullptr, nullptr};
77  std::map<std::string, std::pair<TCanvas*, TH1F*>> m_hl1Ratios;
79  std::map<std::string, std::pair<TCanvas*, TH1F*>> m_hRetentionPerUnit;
81  std::pair<TCanvas*, TH1F*> m_hMeanTime = {nullptr, nullptr};
83  std::pair<TCanvas*, TH1D*> m_hErrorFlagFraction = {nullptr, nullptr};
85  std::pair<TCanvas*, TH1D*> m_hFilteredFractionPerUnit = {nullptr, nullptr};
87  std::pair<TCanvas*, TH1F*> m_hMeanBudgetTimePerUnit = {nullptr, nullptr};
89  std::pair<TCanvas*, TH1F*> m_hMeanProcessingTimePerUnit = {nullptr, nullptr};
91  std::pair<TCanvas*, TH1F*> m_hMeanMemory = {nullptr, nullptr};
92 
93 #ifdef _BELLE2_EPICS
95  chid m_epicschid;
96 #endif
97  };
99 }
Class for HLT-related histogram analysis.
void initialize() override final
Initializer.
std::string m_bhabhaName
name of the bhabha trigger
std::pair< TCanvas *, TH1F * > m_hCrossSection
Histogram with final cross sections.
std::map< std::string, std::pair< TCanvas *, TH1F * > > m_hRetentionPerUnit
Histogram with retention rate per unit of some hlt filter lines.
std::map< std::string, std::pair< TCanvas *, TH1F * > > m_hl1Ratios
Histogram with hlt&l1 ratios to l1 numbers.
std::vector< std::string > m_retentionPerUnit
Which HLT filter lines to use for calculation retention rate per unit.
std::string m_pvPrefix
prefix for EPICS PVs
void terminate() override final
This method is called at the end of the event processing.
std::pair< TCanvas *, TH1D * > m_hFilteredFractionPerUnit
Histogram with fraction of events filtered per unit.
void event() override final
This method is called for each event.
std::vector< std::string > m_l1Histograms
Which l1 triggers to show.
std::pair< TCanvas *, TH1F * > m_hMeanBudgetTimePerUnit
Histogram with mean budget time per unit per process.
std::pair< TCanvas *, TH1F * > m_hMeanProcessingTimePerUnit
Histogram with mean processing time per unit per process.
std::pair< TCanvas *, TH1F * > m_hMeanMemory
Histogram with mean memory change per process.
std::pair< TCanvas *, TH1D * > m_hErrorFlagFraction
Histogram with fraction of events with error flags.
std::pair< TCanvas *, TH1F * > m_hRatios
Histogram with final ratios to bhabha.
std::pair< TCanvas *, TH1F * > m_hEfficiency
Histogram with final efficiencies to HLT.
std::pair< TCanvas *, TH1F * > m_hEfficiencyTotal
Histogram with final efficiencies to all events.
void beginRun() override final
Called when entering a new run.
std::map< std::string, std::string > m_columnMapping
Which columns to use.
std::pair< TCanvas *, TH1F * > m_hMeanTime
Histogram with mean processing time per process.
The base class for the histogram analysis module.
Abstract base class for different kinds of events.