#include <DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerRecord.h>
Public Member Functions | |
const bool | decision () const |
get Global Trigger decision, decision word and technical trigger word for bunch cross with L1Accept (BxInEvent = 0) | |
const DecisionWord | decisionWord () const |
const DecisionWord | decisionWordBeforeMask () const |
const unsigned int | gtPrescaleFactorIndexAlgo () const |
const unsigned int | gtPrescaleFactorIndexTech () const |
get/set index of the set of prescale factors | |
L1GlobalTriggerRecord (const L1GlobalTriggerRecord &) | |
copy constructor | |
L1GlobalTriggerRecord (const unsigned int numberPhysTriggers, const unsigned int numberTechnicalTriggers) | |
L1GlobalTriggerRecord () | |
constructors | |
bool | operator!= (const L1GlobalTriggerRecord &) const |
unequal operator | |
L1GlobalTriggerRecord & | operator= (const L1GlobalTriggerRecord &) |
assignment operator | |
bool | operator== (const L1GlobalTriggerRecord &) const |
equal operator | |
void | print (std::ostream &myCout) const |
pretty print the content of a L1GlobalTriggerRecord | |
void | printGtDecision (std::ostream &myCout) const |
print global decision and algorithm decision word | |
void | printTechnicalTrigger (std::ostream &myCout) const |
print technical triggers | |
void | reset () |
clear the record | |
void | setDecision (const bool &dValue) |
set global decision, decision word and technical trigger word for bunch cross with L1Accept (BxInEvent = 0) | |
void | setDecisionWord (const DecisionWord &dWordValue) |
void | setDecisionWordBeforeMask (const DecisionWord &dWordValue) |
void | setGtPrescaleFactorIndexAlgo (const unsigned int >PrescaleFactorIndexAlgoValue) |
void | setGtPrescaleFactorIndexTech (const unsigned int >PrescaleFactorIndexTechValue) |
void | setTechnicalTriggerWord (const TechnicalTriggerWord &ttWordValue) |
void | setTechnicalTriggerWordBeforeMask (const TechnicalTriggerWord &ttWordValue) |
const TechnicalTriggerWord | technicalTriggerWord () const |
const TechnicalTriggerWord | technicalTriggerWordBeforeMask () const |
virtual | ~L1GlobalTriggerRecord () |
destructor | |
Private Attributes | |
DecisionWord | m_gtDecisionWord |
algorithm decision word for L1A bunch cross | |
DecisionWord | m_gtDecisionWordBeforeMask |
algorithm decision word for L1A bunch cross before applying the masks | |
bool | m_gtGlobalDecision |
global decision for L1A bunch cross | |
unsigned int | m_gtPrescaleFactorIndexAlgo |
unsigned int | m_gtPrescaleFactorIndexTech |
index of the set of prescale factors in the DB/EventSetup for algorithm triggers and technical triggers | |
TechnicalTriggerWord | m_gtTechnicalTriggerWord |
technical trigger word for L1A bunch cross | |
TechnicalTriggerWord | m_gtTechnicalTriggerWordBeforeMask |
technical trigger word for L1A bunch cross before applying the masks | |
Friends | |
std::ostream & | operator<< (std::ostream &, const L1GlobalTriggerRecord &) |
output stream operator |
Implementation: <TODO: enter implementation details>
$Date$ $Revision$
Definition at line 35 of file L1GlobalTriggerRecord.h.
L1GlobalTriggerRecord::L1GlobalTriggerRecord | ( | ) |
L1GlobalTriggerRecord::L1GlobalTriggerRecord | ( | const unsigned int | numberPhysTriggers, | |
const unsigned int | numberTechnicalTriggers | |||
) |
Definition at line 35 of file L1GlobalTriggerRecord.cc.
References m_gtDecisionWord, m_gtDecisionWordBeforeMask, m_gtTechnicalTriggerWord, and m_gtTechnicalTriggerWordBeforeMask.
00036 { 00037 00038 m_gtDecisionWord.reserve(numberPhysTriggers); 00039 m_gtTechnicalTriggerWord.reserve(numberTechnicalTriggers); 00040 00041 m_gtDecisionWordBeforeMask.reserve(numberPhysTriggers); 00042 m_gtTechnicalTriggerWordBeforeMask.reserve(numberTechnicalTriggers); 00043 00044 }
L1GlobalTriggerRecord::L1GlobalTriggerRecord | ( | const L1GlobalTriggerRecord & | result | ) |
copy constructor
Definition at line 47 of file L1GlobalTriggerRecord.cc.
References m_gtDecisionWord, m_gtDecisionWordBeforeMask, m_gtGlobalDecision, m_gtPrescaleFactorIndexAlgo, m_gtPrescaleFactorIndexTech, m_gtTechnicalTriggerWord, and m_gtTechnicalTriggerWordBeforeMask.
00049 { 00050 00051 m_gtGlobalDecision = result.m_gtGlobalDecision; 00052 00053 m_gtDecisionWord = result.m_gtDecisionWord; 00054 m_gtTechnicalTriggerWord = result.m_gtTechnicalTriggerWord; 00055 00056 m_gtDecisionWordBeforeMask = result.m_gtDecisionWordBeforeMask; 00057 m_gtTechnicalTriggerWordBeforeMask = result.m_gtTechnicalTriggerWordBeforeMask; 00058 00059 m_gtPrescaleFactorIndexTech = result.m_gtPrescaleFactorIndexTech; 00060 m_gtPrescaleFactorIndexAlgo = result.m_gtPrescaleFactorIndexAlgo; 00061 00062 }
L1GlobalTriggerRecord::~L1GlobalTriggerRecord | ( | ) | [virtual] |
const bool L1GlobalTriggerRecord::decision | ( | ) | const [inline] |
get Global Trigger decision, decision word and technical trigger word for bunch cross with L1Accept (BxInEvent = 0)
Definition at line 65 of file L1GlobalTriggerRecord.h.
References m_gtGlobalDecision.
00065 { 00066 return m_gtGlobalDecision; 00067 }
const DecisionWord L1GlobalTriggerRecord::decisionWord | ( | ) | const [inline] |
Definition at line 69 of file L1GlobalTriggerRecord.h.
References m_gtDecisionWord.
00069 { 00070 return m_gtDecisionWord; 00071 }
const DecisionWord L1GlobalTriggerRecord::decisionWordBeforeMask | ( | ) | const [inline] |
Definition at line 77 of file L1GlobalTriggerRecord.h.
References m_gtDecisionWordBeforeMask.
00077 { 00078 return m_gtDecisionWordBeforeMask; 00079 }
const unsigned int L1GlobalTriggerRecord::gtPrescaleFactorIndexAlgo | ( | ) | const [inline] |
Definition at line 106 of file L1GlobalTriggerRecord.h.
References m_gtPrescaleFactorIndexAlgo.
00106 { 00107 return m_gtPrescaleFactorIndexAlgo; 00108 }
const unsigned int L1GlobalTriggerRecord::gtPrescaleFactorIndexTech | ( | ) | const [inline] |
get/set index of the set of prescale factors
Definition at line 97 of file L1GlobalTriggerRecord.h.
References m_gtPrescaleFactorIndexTech.
00097 { 00098 return m_gtPrescaleFactorIndexTech; 00099 }
bool L1GlobalTriggerRecord::operator!= | ( | const L1GlobalTriggerRecord & | result | ) | const |
L1GlobalTriggerRecord & L1GlobalTriggerRecord::operator= | ( | const L1GlobalTriggerRecord & | result | ) |
assignment operator
Definition at line 73 of file L1GlobalTriggerRecord.cc.
References m_gtDecisionWord, m_gtDecisionWordBeforeMask, m_gtGlobalDecision, m_gtPrescaleFactorIndexAlgo, m_gtPrescaleFactorIndexTech, m_gtTechnicalTriggerWord, and m_gtTechnicalTriggerWordBeforeMask.
00075 { 00076 00077 if ( this != &result ) { 00078 00079 m_gtGlobalDecision = result.m_gtGlobalDecision; 00080 00081 m_gtDecisionWord = result.m_gtDecisionWord; 00082 m_gtTechnicalTriggerWord = result.m_gtTechnicalTriggerWord; 00083 00084 m_gtDecisionWordBeforeMask = result.m_gtDecisionWordBeforeMask; 00085 m_gtTechnicalTriggerWordBeforeMask = result.m_gtTechnicalTriggerWordBeforeMask; 00086 00087 m_gtPrescaleFactorIndexTech = result.m_gtPrescaleFactorIndexTech; 00088 m_gtPrescaleFactorIndexAlgo = result.m_gtPrescaleFactorIndexAlgo; 00089 } 00090 00091 return *this; 00092 00093 }
bool L1GlobalTriggerRecord::operator== | ( | const L1GlobalTriggerRecord & | result | ) | const |
equal operator
Definition at line 96 of file L1GlobalTriggerRecord.cc.
References m_gtDecisionWord, m_gtDecisionWordBeforeMask, m_gtGlobalDecision, m_gtPrescaleFactorIndexAlgo, m_gtPrescaleFactorIndexTech, m_gtTechnicalTriggerWord, and m_gtTechnicalTriggerWordBeforeMask.
00098 { 00099 00100 if (m_gtGlobalDecision != result.m_gtGlobalDecision) { 00101 return false; 00102 } 00103 00104 if (m_gtDecisionWord != result.m_gtDecisionWord) { 00105 return false; 00106 } 00107 00108 if (m_gtTechnicalTriggerWord != result.m_gtTechnicalTriggerWord) { 00109 return false; 00110 } 00111 00112 if (m_gtDecisionWordBeforeMask != result.m_gtDecisionWordBeforeMask) { 00113 return false; 00114 } 00115 00116 if (m_gtTechnicalTriggerWordBeforeMask != result.m_gtTechnicalTriggerWordBeforeMask) { 00117 return false; 00118 } 00119 00120 if (m_gtPrescaleFactorIndexTech != result.m_gtPrescaleFactorIndexTech) { 00121 return false; 00122 } 00123 00124 if (m_gtPrescaleFactorIndexAlgo != result.m_gtPrescaleFactorIndexAlgo) { 00125 return false; 00126 } 00127 00128 // all members identical 00129 return true; 00130 00131 }
void L1GlobalTriggerRecord::print | ( | std::ostream & | myCout | ) | const |
pretty print the content of a L1GlobalTriggerRecord
Definition at line 306 of file L1GlobalTriggerRecord.cc.
References lat::endl(), m_gtPrescaleFactorIndexTech, printGtDecision(), and printTechnicalTrigger().
Referenced by operator<<().
00307 { 00308 00309 printGtDecision(myCout); 00310 00311 myCout << std::endl; 00312 00313 printTechnicalTrigger(myCout); 00314 00315 myCout << std::endl; 00316 myCout << "\n Index of prescale factor set for technical triggers: " 00317 << m_gtPrescaleFactorIndexTech << std::endl; 00318 myCout << " Index of prescale factor set for algorithm triggers: " 00319 << m_gtPrescaleFactorIndexTech << std::endl; 00320 myCout << std::endl; 00321 00322 00323 }
void L1GlobalTriggerRecord::printGtDecision | ( | std::ostream & | myCout | ) | const |
print global decision and algorithm decision word
Definition at line 188 of file L1GlobalTriggerRecord.cc.
References lat::endl(), m_gtDecisionWord, and m_gtGlobalDecision.
Referenced by print().
00189 { 00190 00191 myCout << std::endl; 00192 myCout << "\n Global decision (FinalOR): " << m_gtGlobalDecision << std::endl; 00193 00194 // decision word (in 64bits words) 00195 int sizeW64 = 64; // 64 bits words 00196 00197 int iBit = 0; 00198 int jBit = m_gtDecisionWord.size(); 00199 int nrDecWord = m_gtDecisionWord.size()/sizeW64; 00200 00201 std::ostringstream stream64; 00202 00203 std::vector<std::string> decWord; 00204 decWord.reserve(nrDecWord); 00205 00206 for (std::vector<bool>::const_reverse_iterator ritBit = m_gtDecisionWord.rbegin(); 00207 ritBit != m_gtDecisionWord.rend(); ++ritBit) { 00208 00209 stream64 << (*ritBit ? '1' : '0'); 00210 00211 if ( (((iBit + 1)%16) == (sizeW64%16)) ) { 00212 stream64 << " "; 00213 } 00214 00215 if ( ((iBit + 1)%sizeW64) == 0) { 00216 std::string iW = stream64.str(); 00217 stream64.str(""); 00218 00219 decWord.push_back(iW); 00220 } 00221 00222 00223 iBit++; 00224 jBit--; 00225 } 00226 00227 int iWord = 0; 00228 00229 myCout << "\n DecisionWord after trigger mask (bitset style)"; 00230 for (std::vector<std::string>::reverse_iterator ritWord = decWord.rbegin(); 00231 ritWord != decWord.rend(); ++ritWord) { 00232 00233 myCout << "\n Bits " 00234 << iWord*sizeW64 + sizeW64 - 1 << " : " << iWord*sizeW64 << "\n "; 00235 myCout << *ritWord; 00236 00237 iWord++; 00238 00239 } 00240 00241 }
void L1GlobalTriggerRecord::printTechnicalTrigger | ( | std::ostream & | myCout | ) | const |
print technical triggers
Definition at line 244 of file L1GlobalTriggerRecord.cc.
References m_gtTechnicalTriggerWord.
Referenced by print().
00245 { 00246 00247 myCout << "\n Technical triggers after trigger mask (bitset style): \n " ; 00248 00249 int sizeW64 = 64; // 64 bits words 00250 int iBit = 0; 00251 00252 for (std::vector<bool>::const_reverse_iterator ritBit = m_gtTechnicalTriggerWord.rbegin(); 00253 ritBit != m_gtTechnicalTriggerWord.rend(); ++ritBit) { 00254 00255 myCout << (*ritBit ? '1' : '0'); 00256 00257 if ( (((iBit + 1)%16) == (sizeW64%16)) && (iBit != 63) ) { 00258 myCout << " "; 00259 } 00260 00261 iBit++; 00262 } 00263 00264 00265 }
clear the record
Definition at line 268 of file L1GlobalTriggerRecord.cc.
References m_gtDecisionWord, m_gtDecisionWordBeforeMask, m_gtGlobalDecision, m_gtPrescaleFactorIndexAlgo, m_gtPrescaleFactorIndexTech, m_gtTechnicalTriggerWord, and m_gtTechnicalTriggerWordBeforeMask.
00269 { 00270 00271 m_gtGlobalDecision = false; 00272 00273 for (std::vector<bool>::iterator itBit = m_gtDecisionWord.begin(); 00274 itBit != m_gtDecisionWord.end(); ++itBit) { 00275 00276 *itBit = false; 00277 00278 } 00279 for (std::vector<bool>::iterator itBit = m_gtTechnicalTriggerWord.begin(); 00280 itBit != m_gtTechnicalTriggerWord.end(); ++itBit) { 00281 00282 *itBit = false; 00283 00284 } 00285 for (std::vector<bool>::iterator itBit = m_gtDecisionWordBeforeMask.begin(); 00286 itBit != m_gtDecisionWordBeforeMask.end(); ++itBit) { 00287 00288 *itBit = false; 00289 00290 } 00291 00292 for (std::vector<bool>::iterator itBit = m_gtTechnicalTriggerWordBeforeMask.begin(); 00293 itBit != m_gtTechnicalTriggerWordBeforeMask.end(); ++itBit) { 00294 00295 *itBit = false; 00296 00297 } 00298 00299 m_gtPrescaleFactorIndexTech = 0; 00300 m_gtPrescaleFactorIndexAlgo = 0; 00301 00302 }
set global decision, decision word and technical trigger word for bunch cross with L1Accept (BxInEvent = 0)
Definition at line 145 of file L1GlobalTriggerRecord.cc.
References m_gtGlobalDecision.
00146 { 00147 00148 m_gtGlobalDecision = dValue; 00149 00150 }
void L1GlobalTriggerRecord::setDecisionWord | ( | const DecisionWord & | dWordValue | ) |
Definition at line 153 of file L1GlobalTriggerRecord.cc.
References m_gtDecisionWord.
00155 { 00156 00157 m_gtDecisionWord = dWordValue; 00158 00159 }
void L1GlobalTriggerRecord::setDecisionWordBeforeMask | ( | const DecisionWord & | dWordValue | ) |
Definition at line 170 of file L1GlobalTriggerRecord.cc.
References m_gtDecisionWordBeforeMask.
00172 { 00173 00174 m_gtDecisionWordBeforeMask = dWordValue; 00175 00176 }
void L1GlobalTriggerRecord::setGtPrescaleFactorIndexAlgo | ( | const unsigned int & | gtPrescaleFactorIndexAlgoValue | ) | [inline] |
Definition at line 110 of file L1GlobalTriggerRecord.h.
References m_gtPrescaleFactorIndexAlgo.
00111 { 00112 m_gtPrescaleFactorIndexAlgo = gtPrescaleFactorIndexAlgoValue; 00113 }
void L1GlobalTriggerRecord::setGtPrescaleFactorIndexTech | ( | const unsigned int & | gtPrescaleFactorIndexTechValue | ) | [inline] |
Definition at line 101 of file L1GlobalTriggerRecord.h.
References m_gtPrescaleFactorIndexTech.
00102 { 00103 m_gtPrescaleFactorIndexTech = gtPrescaleFactorIndexTechValue; 00104 }
void L1GlobalTriggerRecord::setTechnicalTriggerWord | ( | const TechnicalTriggerWord & | ttWordValue | ) |
Definition at line 161 of file L1GlobalTriggerRecord.cc.
References m_gtTechnicalTriggerWord.
00163 { 00164 00165 m_gtTechnicalTriggerWord = ttWordValue; 00166 00167 }
void L1GlobalTriggerRecord::setTechnicalTriggerWordBeforeMask | ( | const TechnicalTriggerWord & | ttWordValue | ) |
Definition at line 178 of file L1GlobalTriggerRecord.cc.
References m_gtTechnicalTriggerWordBeforeMask.
00180 { 00181 00182 m_gtTechnicalTriggerWordBeforeMask = ttWordValue; 00183 00184 }
const TechnicalTriggerWord L1GlobalTriggerRecord::technicalTriggerWord | ( | ) | const [inline] |
Definition at line 73 of file L1GlobalTriggerRecord.h.
References m_gtTechnicalTriggerWord.
00073 { 00074 return m_gtTechnicalTriggerWord; 00075 }
const TechnicalTriggerWord L1GlobalTriggerRecord::technicalTriggerWordBeforeMask | ( | ) | const [inline] |
Definition at line 81 of file L1GlobalTriggerRecord.h.
References m_gtTechnicalTriggerWordBeforeMask.
00081 { 00082 return m_gtTechnicalTriggerWordBeforeMask; 00083 }
std::ostream& operator<< | ( | std::ostream & | streamRec, | |
const L1GlobalTriggerRecord & | result | |||
) | [friend] |
output stream operator
Definition at line 326 of file L1GlobalTriggerRecord.cc.
00327 { 00328 result.print(streamRec); 00329 return streamRec; 00330 00331 }
algorithm decision word for L1A bunch cross
Definition at line 139 of file L1GlobalTriggerRecord.h.
Referenced by decisionWord(), L1GlobalTriggerRecord(), operator=(), operator==(), printGtDecision(), reset(), and setDecisionWord().
algorithm decision word for L1A bunch cross before applying the masks
Definition at line 145 of file L1GlobalTriggerRecord.h.
Referenced by decisionWordBeforeMask(), L1GlobalTriggerRecord(), operator=(), operator==(), reset(), and setDecisionWordBeforeMask().
global decision for L1A bunch cross
Definition at line 136 of file L1GlobalTriggerRecord.h.
Referenced by decision(), L1GlobalTriggerRecord(), operator=(), operator==(), printGtDecision(), reset(), and setDecision().
unsigned int L1GlobalTriggerRecord::m_gtPrescaleFactorIndexAlgo [private] |
Definition at line 153 of file L1GlobalTriggerRecord.h.
Referenced by gtPrescaleFactorIndexAlgo(), L1GlobalTriggerRecord(), operator=(), operator==(), reset(), and setGtPrescaleFactorIndexAlgo().
unsigned int L1GlobalTriggerRecord::m_gtPrescaleFactorIndexTech [private] |
index of the set of prescale factors in the DB/EventSetup for algorithm triggers and technical triggers
Definition at line 152 of file L1GlobalTriggerRecord.h.
Referenced by gtPrescaleFactorIndexTech(), L1GlobalTriggerRecord(), operator=(), operator==(), print(), reset(), and setGtPrescaleFactorIndexTech().
technical trigger word for L1A bunch cross
Definition at line 142 of file L1GlobalTriggerRecord.h.
Referenced by L1GlobalTriggerRecord(), operator=(), operator==(), printTechnicalTrigger(), reset(), setTechnicalTriggerWord(), and technicalTriggerWord().
technical trigger word for L1A bunch cross before applying the masks
Definition at line 148 of file L1GlobalTriggerRecord.h.
Referenced by L1GlobalTriggerRecord(), operator=(), operator==(), reset(), setTechnicalTriggerWordBeforeMask(), and technicalTriggerWordBeforeMask().