File indexing completed on 2024-06-28 02:36:28
0001 #include "L1Trigger/L1TGlobal/interface/CICADACondition.h"
0002
0003 #include <iostream>
0004 #include <iomanip>
0005
0006 #include <string>
0007 #include <vector>
0008 #include <algorithm>
0009
0010 #include "L1Trigger/L1TGlobal/interface/CICADATemplate.h"
0011 #include "L1Trigger/L1TGlobal/interface/ConditionEvaluation.h"
0012 #include "L1Trigger/L1TGlobal/interface/GlobalBoard.h"
0013
0014 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0015 #include "FWCore/MessageLogger/interface/MessageDrop.h"
0016
0017 l1t::CICADACondition::CICADACondition() : ConditionEvaluation() {}
0018
0019 l1t::CICADACondition::CICADACondition(const GlobalCondition* cicadaTemplate, const GlobalBoard* ptrGTB)
0020 : ConditionEvaluation(), m_gtCICADATemplate(static_cast<const CICADATemplate*>(cicadaTemplate)), m_uGtB(ptrGTB) {
0021 m_condMaxNumberObjects = 1;
0022 }
0023
0024 void l1t::CICADACondition::copy(const l1t::CICADACondition& cp) {
0025 m_gtCICADATemplate = cp.gtCICADATemplate();
0026 m_uGtB = cp.getuGtB();
0027
0028 m_condMaxNumberObjects = cp.condMaxNumberObjects();
0029 m_condLastResult = cp.condLastResult();
0030 m_combinationsInCond = cp.getCombinationsInCond();
0031
0032 m_verbosity = cp.m_verbosity;
0033 }
0034
0035 l1t::CICADACondition::CICADACondition(const l1t::CICADACondition& cp) : ConditionEvaluation() { copy(cp); }
0036
0037 l1t::CICADACondition& l1t::CICADACondition::operator=(const l1t::CICADACondition& cp) {
0038 copy(cp);
0039 return *this;
0040 }
0041
0042 const bool l1t::CICADACondition::evaluateCondition(const int bxEval) const {
0043 bool condResult = false;
0044 const float cicadaScore = m_uGtB->getCICADAScore();
0045
0046
0047
0048
0049 const CICADATemplate::ObjectParameter objPar = (*(m_gtCICADATemplate->objectParameter()))[0];
0050
0051 bool condGEqVal = m_gtCICADATemplate->condGEq();
0052 bool passCondition = false;
0053
0054 passCondition = checkCut(objPar.minCICADAThreshold, cicadaScore, condGEqVal);
0055
0056 condResult |= passCondition;
0057
0058 return condResult;
0059 }
0060
0061 void l1t::CICADACondition::print(std::ostream& myCout) const {
0062 myCout << "CICADA Condition Print: " << std::endl;
0063 m_gtCICADATemplate->print(myCout);
0064 ConditionEvaluation::print(myCout);
0065 }