1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
|
/**
* \class GlobalObjectMapRecord
*
*
* Description: see header file.
*
* Implementation:
* <TODO: enter implementation details>
*
* \author: Vasile Mihai Ghete - HEPHY Vienna
*
*
*/
// this class header
#include "DataFormats/L1TGlobal/interface/GlobalObjectMapRecord.h"
// system include files
#include <algorithm>
// user include files
#include "FWCore/MessageLogger/interface/MessageLogger.h"
// forward declarations
// methods
/// return the object map for the algorithm algoNameVal
const GlobalObjectMap* GlobalObjectMapRecord::getObjectMap(const std::string& algoNameVal) const {
for (std::vector<GlobalObjectMap>::const_iterator itObj = m_gtObjectMap.begin(); itObj != m_gtObjectMap.end();
++itObj) {
if (itObj->algoName() == algoNameVal) {
return &((*itObj));
}
}
// no algoName found, return zero pointer!
edm::LogError("GlobalObjectMapRecord") << "\n\n ERROR: The requested algorithm name = " << algoNameVal
<< "\n does not exists in the trigger menu."
<< "\n Returning zero pointer for getObjectMap\n\n"
<< std::endl;
return nullptr;
}
/// return the object map for the algorithm with bit number const int algoBitNumberVal
const GlobalObjectMap* GlobalObjectMapRecord::getObjectMap(const int algoBitNumberVal) const {
for (std::vector<GlobalObjectMap>::const_iterator itObj = m_gtObjectMap.begin(); itObj != m_gtObjectMap.end();
++itObj) {
if (itObj->algoBitNumber() == algoBitNumberVal) {
return &((*itObj));
}
}
// no algoBitNumberVal found, return zero pointer!
edm::LogError("GlobalObjectMapRecord") << "\n\n ERROR: The requested algorithm with bit number = "
<< algoBitNumberVal << "\n does not exists in the trigger menu."
<< "\n Returning zero pointer for getObjectMap\n\n"
<< std::endl;
return nullptr;
}
// return all the combinations passing the requirements imposed in condition condNameVal
// from algorithm algoNameVal
const CombinationsWithBxInCond* GlobalObjectMapRecord::getCombinationsInCond(const std::string& algoNameVal,
const std::string& condNameVal) const {
for (std::vector<GlobalObjectMap>::const_iterator itObj = m_gtObjectMap.begin(); itObj != m_gtObjectMap.end();
++itObj) {
if (itObj->algoName() == algoNameVal) {
return itObj->getCombinationsInCond(condNameVal);
}
}
// no (algoName, condName) found, return zero pointer!
edm::LogError("GlobalObjectMapRecord") << "\n\n ERROR: The requested \n (algorithm name, condition name) = ("
<< algoNameVal << ", " << condNameVal
<< ") \n does not exists in the trigger menu."
<< "\n Returning zero pointer for getCombinationsInCond\n\n"
<< std::endl;
return nullptr;
}
// return all the combinations passing the requirements imposed in condition condNameVal
// from algorithm with bit number algoBitNumberVal
const CombinationsWithBxInCond* GlobalObjectMapRecord::getCombinationsInCond(const int algoBitNumberVal,
const std::string& condNameVal) const {
for (std::vector<GlobalObjectMap>::const_iterator itObj = m_gtObjectMap.begin(); itObj != m_gtObjectMap.end();
++itObj) {
if (itObj->algoBitNumber() == algoBitNumberVal) {
return itObj->getCombinationsInCond(condNameVal);
}
}
// no (algoBitNumber, condName) found, return zero pointer!
edm::LogError("GlobalObjectMapRecord")
<< "\n\n ERROR: The requested \n (algorithm bit number, condition name) = (" << algoBitNumberVal << ", "
<< condNameVal << ") \n does not exists in the trigger menu."
<< "\n Returning zero pointer for getCombinationsInCond\n\n"
<< std::endl;
return nullptr;
}
// return the result for the condition condNameVal
// from algorithm with name algoNameVal
bool GlobalObjectMapRecord::getConditionResult(const std::string& algoNameVal, const std::string& condNameVal) const {
for (std::vector<GlobalObjectMap>::const_iterator itObj = m_gtObjectMap.begin(); itObj != m_gtObjectMap.end();
++itObj) {
if (itObj->algoName() == algoNameVal) {
return itObj->getConditionResult(condNameVal);
}
}
// no (algoName, condName) found, return false!
edm::LogError("GlobalObjectMapRecord") << "\n\n ERROR: The requested \n (algorithm name, condition name) = ("
<< algoNameVal << ", " << condNameVal
<< ") \n does not exists in the trigger menu."
<< "\n Returning false for condition result! Unknown result, in fact!\n\n"
<< std::endl;
return false;
}
// return the result for the condition condNameVal
// from algorithm with bit number algoBitNumberVal
bool GlobalObjectMapRecord::getConditionResult(const int algoBitNumberVal, const std::string& condNameVal) const {
for (std::vector<GlobalObjectMap>::const_iterator itObj = m_gtObjectMap.begin(); itObj != m_gtObjectMap.end();
++itObj) {
if (itObj->algoBitNumber() == algoBitNumberVal) {
return itObj->getConditionResult(condNameVal);
}
}
// no (algoBitNumber, condName) found, return false!
edm::LogError("GlobalObjectMapRecord")
<< "\n\n ERROR: The requested \n (algorithm bit number, condition name) = (" << algoBitNumberVal << ", "
<< condNameVal << ") \n does not exists in the trigger menu."
<< "\n Returning false for condition result! Unknown result, in fact!\n\n"
<< std::endl;
return false;
}
|