Belle II Software  release-05-01-25
ARICHBadChannels.cc
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Manca Mrvar *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #include <arich/dbobjects/ARICHBadChannels.h>
12 
13 #include <algorithm>
14 
15 using namespace Belle2;
16 using namespace std;
17 
18 int ARICHBadChannels::getHapdCutChannel(unsigned int i) const
19 {
20  if (i < m_hapdCutChannels.size()) return m_hapdCutChannels[i];
21  else return -1;
22 }
23 
24 
25 int ARICHBadChannels::getHapdBadChannel(unsigned int i) const
26 {
27  if (i < m_hapdBadChannels.size()) return m_hapdBadChannels[i];
28  else return -1;
29 }
30 
31 void ARICHBadChannels::setHapdCutChannel(std::vector<int> channels)
32 {
33  m_hapdCutChannels = channels;
34  m_hapdListOfBadChannels.insert(m_hapdListOfBadChannels.end(), channels.begin(), channels.end());
35  std::sort(m_hapdListOfBadChannels.begin(), m_hapdListOfBadChannels.end());
36  m_hapdListOfBadChannels.erase(std::unique(m_hapdListOfBadChannels.begin(), m_hapdListOfBadChannels.end()),
37  m_hapdListOfBadChannels.end());
38 }
39 
40 void ARICHBadChannels::setHapdBadChannel(std::vector<int> channels)
41 {
42  m_hapdBadChannels = channels;
43  m_hapdListOfBadChannels.insert(m_hapdListOfBadChannels.end(), channels.begin(), channels.end());
44  std::sort(m_hapdListOfBadChannels.begin(), m_hapdListOfBadChannels.end());
45  m_hapdListOfBadChannels.erase(std::unique(m_hapdListOfBadChannels.begin(), m_hapdListOfBadChannels.end()),
46  m_hapdListOfBadChannels.end());
47 }
48 
50 {
51  std::vector<int> m_hapdAllBadCHs = ARICHBadChannels::getHapdListOfBadChannels();
52  if (i < m_hapdAllBadCHs.size()) return m_hapdAllBadCHs[i];
53  else return -1;
54 }
55 
56 int ARICHBadChannels::getFebDeadChannel(unsigned int i) const
57 {
58  if (i < m_febDeadChannels.size()) return m_febDeadChannels[i];
59  else return -1;
60 }
61 
62 
63 int ARICHBadChannels::getAsicDeadChannel(unsigned int i) const
64 {
65  if (i < m_asicDeadChannels.size()) return m_asicDeadChannels[i];
66  else return -1;
67 }
68 
69 
70 int ARICHBadChannels::getAsicBadConnChannel(unsigned int i) const
71 {
72  if (i < m_asicBadConnChannels.size()) return m_asicBadConnChannels[i];
73  else return -1;
74 }
75 
76 
78 {
79  if (i < m_asicBadOffsetChannels.size()) return m_asicBadOffsetChannels[i];
80  else return -1;
81 }
82 
83 
84 int ARICHBadChannels::getAsicBadLinChannel(unsigned int i) const
85 {
86  if (i < m_asicBadLinChannels.size()) return m_asicBadLinChannels[i];
87  else return -1;
88 }
89 
90 void ARICHBadChannels::setFebDeadChannels(std::vector<int> deadChannels)
91 {
92  m_febDeadChannels = deadChannels;
93  m_febListOfBadChannels.insert(m_febListOfBadChannels.end(), deadChannels.begin(), deadChannels.end());
94  std::sort(m_febListOfBadChannels.begin(), m_febListOfBadChannels.end());
95  m_febListOfBadChannels.erase(std::unique(m_febListOfBadChannels.begin(), m_febListOfBadChannels.end()),
96  m_febListOfBadChannels.end());
97 }
98 
99 
100 void ARICHBadChannels::setAsicDeadChannels(std::vector<int> deadChannels)
101 {
102  m_asicDeadChannels = deadChannels;
103  m_febListOfBadChannels.insert(m_febListOfBadChannels.end(), deadChannels.begin(), deadChannels.end());
104  std::sort(m_febListOfBadChannels.begin(), m_febListOfBadChannels.end());
105  m_febListOfBadChannels.erase(std::unique(m_febListOfBadChannels.begin(), m_febListOfBadChannels.end()),
106  m_febListOfBadChannels.end());
107 }
108 
109 void ARICHBadChannels::setAsicBadConnChannels(std::vector<int> badConnChannels)
110 {
111  m_asicBadConnChannels = badConnChannels;
112  m_febListOfBadChannels.insert(m_febListOfBadChannels.end(), badConnChannels.begin(), badConnChannels.end());
113  std::sort(m_febListOfBadChannels.begin(), m_febListOfBadChannels.end());
114  m_febListOfBadChannels.erase(std::unique(m_febListOfBadChannels.begin(), m_febListOfBadChannels.end()),
115  m_febListOfBadChannels.end());
116 }
117 
118 void ARICHBadChannels::setAsicBadOffsetChannels(std::vector<int> badOffsetChannels)
119 {
120  m_asicBadOffsetChannels = badOffsetChannels;
121  m_febListOfBadChannels.insert(m_febListOfBadChannels.end(), badOffsetChannels.begin(), badOffsetChannels.end());
122  std::sort(m_febListOfBadChannels.begin(), m_febListOfBadChannels.end());
123  m_febListOfBadChannels.erase(std::unique(m_febListOfBadChannels.begin(), m_febListOfBadChannels.end()),
124  m_febListOfBadChannels.end());
125 }
126 
127 
128 void ARICHBadChannels::setAsicBadLinChannels(std::vector<int> badLinChannels)
129 {
130  m_asicBadLinChannels = badLinChannels;
131  m_febListOfBadChannels.insert(m_febListOfBadChannels.end(), badLinChannels.begin(), badLinChannels.end());
132  std::sort(m_febListOfBadChannels.begin(), m_febListOfBadChannels.end());
133  m_febListOfBadChannels.erase(std::unique(m_febListOfBadChannels.begin(), m_febListOfBadChannels.end()),
134  m_febListOfBadChannels.end());
135 }
136 
138 {
139  std::vector<int> m_febAllBadCHs = ARICHBadChannels::getFebListOfBadChannels();
140  if (i < m_febAllBadCHs.size()) return m_febAllBadCHs[i];
141  else return -1;
142 }
Belle2::ARICHBadChannels::getAsicDeadChannel
int getAsicDeadChannel(unsigned int i) const
Return a channel number from the list of dead channels.
Definition: ARICHBadChannels.cc:63
Belle2::ARICHBadChannels::getFebListOfBadChannels
std::vector< int > getFebListOfBadChannels() const
Return a list of all bad channels.
Definition: ARICHBadChannels.h:324
Belle2::ARICHBadChannels::getAsicBadOffsetChannel
int getAsicBadOffsetChannel(unsigned int i) const
Return a channel number from the list of channels with bad offset adjustment.
Definition: ARICHBadChannels.cc:77
Belle2::ARICHBadChannels::getHapdBadChannel
int getHapdBadChannel(unsigned int i) const
Return a channel number from the list of cut channels.
Definition: ARICHBadChannels.cc:25
Belle2::ARICHBadChannels::setAsicDeadChannels
void setAsicDeadChannels(std::vector< int > deadChannels)
Set vector of dead channel numbers.
Definition: ARICHBadChannels.cc:100
Belle2::ARICHBadChannels::getAsicBadLinChannel
int getAsicBadLinChannel(unsigned int i) const
Return a channel number from the list of channels with bad linearity.
Definition: ARICHBadChannels.cc:84
Belle2::ARICHBadChannels::getAsicBadConnChannel
int getAsicBadConnChannel(unsigned int i) const
Return a channel number from the list of channels with bad connections.
Definition: ARICHBadChannels.cc:70
Belle2::ARICHBadChannels::setAsicBadLinChannels
void setAsicBadLinChannels(std::vector< int > badLinChannels)
Set vector of bad linearity channel numbers.
Definition: ARICHBadChannels.cc:128
Belle2::ARICHBadChannels::setHapdCutChannel
void setHapdCutChannel(std::vector< int > channels)
Set the list of cut channels.
Definition: ARICHBadChannels.cc:31
Belle2::ARICHBadChannels::getHapdListOfBadChannels
std::vector< int > getHapdListOfBadChannels() const
Return a list of all bad channels.
Definition: ARICHBadChannels.h:150
Belle2::ARICHBadChannels::setHapdBadChannel
void setHapdBadChannel(std::vector< int > channels)
Set the list of bad channels.
Definition: ARICHBadChannels.cc:40
Belle2::ARICHBadChannels::getHapdListOfBadChannel
int getHapdListOfBadChannel(unsigned int i) const
Return a channel number from the list of channels with bad linearity.
Definition: ARICHBadChannels.cc:49
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ARICHBadChannels::getFebListOfBadChannel
int getFebListOfBadChannel(unsigned int i) const
Return a channel number from the list of channels with bad linearity.
Definition: ARICHBadChannels.cc:137
Belle2::ARICHBadChannels::getHapdCutChannel
int getHapdCutChannel(unsigned int i) const
Return a channel number from the list of cut channels.
Definition: ARICHBadChannels.cc:18
Belle2::ARICHBadChannels::setAsicBadConnChannels
void setAsicBadConnChannels(std::vector< int > badConnChannels)
Set vector of bad connection channel numbers.
Definition: ARICHBadChannels.cc:109
Belle2::ARICHBadChannels::setAsicBadOffsetChannels
void setAsicBadOffsetChannels(std::vector< int > badOffsetChannels)
Set vector of bad offset channel numbers.
Definition: ARICHBadChannels.cc:118
Belle2::ARICHBadChannels::getFebDeadChannel
int getFebDeadChannel(unsigned int i) const
Return a channel number from the list of dead channels.
Definition: ARICHBadChannels.cc:56
Belle2::ARICHBadChannels::setFebDeadChannels
void setFebDeadChannels(std::vector< int > deadChannels)
Set vector of dead channel numbers.
Definition: ARICHBadChannels.cc:90