Belle II Software development
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
21namespace 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.