Belle II Software development
CDCBadBoards.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 <map>
11#include <algorithm>
12#include <iostream>
13#include <fstream>
14#include <iomanip>
15#include <TObject.h>
16#include <cdc/dataobjects/WireID.h>
17
18namespace Belle2 {
23
27 class CDCBadBoards: public TObject {
28 public:
29
34
40 void setBoard(const short boardID, double eff = 0)
41 {
42 m_boards.insert(std::pair(boardID, eff));
43 }
44
48 unsigned short getEntries() const
49 {
50 return m_boards.size();
51 }
52
56 std::map<unsigned short, float> getBoards() const
57 {
58 return m_boards;
59 }
60
67 bool isDeadBoard(const short boardID, double& eff) const
68 {
69 std::map<unsigned short, float>::const_iterator it = m_boards.find(boardID);
70 if (it != m_boards.end() && 0. <= it->second && it->second < 1.) {
71 eff = it->second;
72 return true;
73 } else {
74 return false;
75 }
76 }
77
83 bool isHotBoard(const short boardID) const
84 {
85 std::map<unsigned short, float>::const_iterator it = m_boards.find(boardID);
86 if (it != m_boards.end() && it->second > 1.) {
87 return true;
88 } else {
89 return false;
90 }
91 }
92
96 void dump() const
97 {
98 std::cout << " " << std::endl;
99 std::cout << "Bad CDC board list" << std::endl;
100 std::cout << "#entries= " << m_boards.size() << std::endl;
101 if (m_boards.size() > 0) {
102 for (auto const& ent : m_boards) {
103 std::cout << "BoardID: " << ent.first << " Efficiency: " << ent.second << std::endl;
104 }
105 }
106 }
107
108 private:
109 std::map<unsigned short, float> m_boards;
110
112 };
113
115} // end namespace Belle2
std::map< unsigned short, float > getBoards() const
Get the whole map.
ClassDef(CDCBadBoards, 1)
ClassDef.
CDCBadBoards()
Default constructor.
bool isHotBoard(const short boardID) const
Check if the board is hot/noisy.
unsigned short getEntries() const
Get the no.
bool isDeadBoard(const short boardID, double &eff) const
Check if dead board.
std::map< unsigned short, float > m_boards
badwire list
void setBoard(const short boardID, double eff=0)
Set a board in the list.
void dump() const
Print out contents.
Abstract base class for different kinds of events.