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
146
147
148
149
150
151
|
/**
* \class L1GlobalTriggerObjectMapRecord
*
*
* Description: see header file.
*
* Implementation:
* <TODO: enter implementation details>
*
* \author: Vasile Mihai Ghete - HEPHY Vienna
*
*
*/
// this class header
#include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerObjectMapRecord.h"
// system include files
#include <algorithm>
// user include files
#include "DataFormats/L1GlobalTrigger/interface/L1GtLogicParser.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"
// forward declarations
// methods
/// return the object map for the algorithm algoNameVal
const L1GlobalTriggerObjectMap* L1GlobalTriggerObjectMapRecord::getObjectMap(const std::string& algoNameVal) const {
for (std::vector<L1GlobalTriggerObjectMap>::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("L1GlobalTriggerObjectMapRecord")
<< " ERROR: The requested algorithm name = " << algoNameVal << " does not exist in the trigger menu."
<< " Returning zero pointer for getObjectMap." << std::endl;
return nullptr;
}
/// return the object map for the algorithm with bit number const int algoBitNumberVal
const L1GlobalTriggerObjectMap* L1GlobalTriggerObjectMapRecord::getObjectMap(const int algoBitNumberVal) const {
for (std::vector<L1GlobalTriggerObjectMap>::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("L1GlobalTriggerObjectMapRecord")
<< " ERROR: The requested algorithm with bit number = " << algoBitNumberVal
<< " does not exist in the trigger menu."
<< " Returning zero pointer for getObjectMap." << std::endl;
return nullptr;
}
// return all the combinations passing the requirements imposed in condition condNameVal
// from algorithm algoNameVal
const CombinationsInCond* L1GlobalTriggerObjectMapRecord::getCombinationsInCond(const std::string& algoNameVal,
const std::string& condNameVal) const {
for (std::vector<L1GlobalTriggerObjectMap>::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("L1GlobalTriggerObjectMapRecord")
<< " ERROR: The requested (algorithm name, condition name) = (" << algoNameVal << ", " << condNameVal
<< ") does not exist in the trigger menu."
<< " Returning zero pointer for getCombinationsInCond." << std::endl;
return nullptr;
}
// return all the combinations passing the requirements imposed in condition condNameVal
// from algorithm with bit number algoBitNumberVal
const CombinationsInCond* L1GlobalTriggerObjectMapRecord::getCombinationsInCond(const int algoBitNumberVal,
const std::string& condNameVal) const {
for (std::vector<L1GlobalTriggerObjectMap>::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("L1GlobalTriggerObjectMapRecord")
<< " ERROR: The requested (algorithm bit number, condition name) = (" << algoBitNumberVal << ", " << condNameVal
<< ") does not exist in the trigger menu."
<< " Returning zero pointer for getCombinationsInCond." << std::endl;
return nullptr;
}
// return the result for the condition condNameVal
// from algorithm with name algoNameVal
bool L1GlobalTriggerObjectMapRecord::getConditionResult(const std::string& algoNameVal,
const std::string& condNameVal) const {
for (std::vector<L1GlobalTriggerObjectMap>::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("L1GlobalTriggerObjectMapRecord")
<< " ERROR: The requested (algorithm name, condition name) = (" << algoNameVal << ", " << condNameVal
<< ") does not exist in the trigger menu."
<< " Returning false for condition result! Unknown result, in fact!" << std::endl;
return false;
}
// return the result for the condition condNameVal
// from algorithm with bit number algoBitNumberVal
bool L1GlobalTriggerObjectMapRecord::getConditionResult(const int algoBitNumberVal,
const std::string& condNameVal) const {
for (std::vector<L1GlobalTriggerObjectMap>::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("L1GlobalTriggerObjectMapRecord")
<< " ERROR: The requested (algorithm bit number, condition name) = (" << algoBitNumberVal << ", " << condNameVal
<< ") does not exist in the trigger menu."
<< " Returning false for condition result! Unknown result, in fact!" << std::endl;
return false;
}
|