File indexing completed on 2023-03-17 11:12:13
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 #include "L1Trigger/L1TGlobal/interface/CorrelationThreeBodyTemplate.h"
0020
0021
0022
0023 #include <iostream>
0024 #include <iomanip>
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034 CorrelationThreeBodyTemplate::CorrelationThreeBodyTemplate() : GlobalCondition() {
0035 m_condCategory = l1t::CondCorrelationThreeBody;
0036 m_condType = l1t::Type3s;
0037 m_condChipNr = -1;
0038
0039
0040 int nObjects = nrObjects();
0041
0042 if (nObjects > 0) {
0043 m_objectType.reserve(nObjects);
0044 }
0045
0046 m_cond0Category = l1t::CondNull;
0047 m_cond1Category = l1t::CondNull;
0048 m_cond2Category = l1t::CondNull;
0049 m_cond0Index = -1;
0050 m_cond1Index = -1;
0051 m_cond2Index = -1;
0052 }
0053
0054
0055 CorrelationThreeBodyTemplate::CorrelationThreeBodyTemplate(const std::string& cName) : GlobalCondition(cName) {
0056 m_condCategory = l1t::CondCorrelationThreeBody;
0057 m_condType = l1t::Type3s;
0058 m_condChipNr = -1;
0059
0060
0061 int nObjects = nrObjects();
0062
0063 if (nObjects > 0) {
0064 m_objectType.reserve(nObjects);
0065 }
0066
0067 m_cond0Category = l1t::CondNull;
0068 m_cond1Category = l1t::CondNull;
0069 m_cond2Category = l1t::CondNull;
0070 m_cond0Index = -1;
0071 m_cond1Index = -1;
0072 m_cond2Index = -1;
0073 }
0074
0075
0076
0077
0078 CorrelationThreeBodyTemplate::CorrelationThreeBodyTemplate(const std::string& cName,
0079 const l1t::GtConditionCategory& cond0Cat,
0080 const l1t::GtConditionCategory& cond1Cat,
0081 const l1t::GtConditionCategory& cond2Cat,
0082 const int cond0Index,
0083 const int cond1index,
0084 const int cond2index)
0085 : GlobalCondition(cName),
0086 m_cond0Category(cond0Cat),
0087 m_cond1Category(cond1Cat),
0088 m_cond2Category(cond2Cat),
0089 m_cond0Index(cond0Index),
0090 m_cond1Index(cond1index),
0091 m_cond2Index(cond2index)
0092
0093 {
0094 m_condCategory = l1t::CondCorrelationThreeBody;
0095 m_condType = l1t::Type3s;
0096 m_condChipNr = -1;
0097
0098
0099 int nObjects = nrObjects();
0100
0101 if (nObjects > 0) {
0102 m_objectType.resize(nObjects);
0103 }
0104 }
0105
0106
0107 CorrelationThreeBodyTemplate::CorrelationThreeBodyTemplate(const CorrelationThreeBodyTemplate& cp)
0108 : GlobalCondition(cp.m_condName) {
0109 copy(cp);
0110 }
0111
0112
0113 CorrelationThreeBodyTemplate::~CorrelationThreeBodyTemplate() {
0114
0115 }
0116
0117
0118 CorrelationThreeBodyTemplate& CorrelationThreeBodyTemplate::operator=(const CorrelationThreeBodyTemplate& cp) {
0119 copy(cp);
0120 return *this;
0121 }
0122
0123
0124 void CorrelationThreeBodyTemplate::setCond0Category(const l1t::GtConditionCategory& condCateg) {
0125 m_cond0Category = condCateg;
0126 }
0127 void CorrelationThreeBodyTemplate::setCond1Category(const l1t::GtConditionCategory& condCateg) {
0128 m_cond1Category = condCateg;
0129 }
0130 void CorrelationThreeBodyTemplate::setCond2Category(const l1t::GtConditionCategory& condCateg) {
0131 m_cond2Category = condCateg;
0132 }
0133
0134
0135 void CorrelationThreeBodyTemplate::setCond0Index(const int& condIndex) { m_cond0Index = condIndex; }
0136 void CorrelationThreeBodyTemplate::setCond1Index(const int& condIndex) { m_cond1Index = condIndex; }
0137 void CorrelationThreeBodyTemplate::setCond2Index(const int& condIndex) { m_cond2Index = condIndex; }
0138
0139
0140 void CorrelationThreeBodyTemplate::setCorrelationThreeBodyParameter(
0141 const CorrelationThreeBodyParameter& corrThreeBodyParameter) {
0142 m_correlationThreeBodyParameter = corrThreeBodyParameter;
0143 }
0144
0145 void CorrelationThreeBodyTemplate::print(std::ostream& myCout) const {
0146 myCout << "\n CorrelationThreeBodyTemplate print..." << std::endl;
0147
0148 GlobalCondition::print(myCout);
0149
0150 myCout << "\n First subcondition category: " << m_cond0Category << std::endl;
0151 myCout << " Second subcondition category: " << m_cond1Category << std::endl;
0152 myCout << " Third subcondition category: " << m_cond2Category << std::endl;
0153
0154 myCout << "\n First subcondition index: " << m_cond0Index << std::endl;
0155 myCout << " Second subcondition index: " << m_cond1Index << std::endl;
0156 myCout << " Third subcondition index: " << m_cond2Index << std::endl;
0157
0158 myCout << "\n Correlation parameter: "
0159 << "[ hex ]" << std::endl;
0160
0161 myCout << " Cut Type: " << m_correlationThreeBodyParameter.corrCutType << std::endl;
0162 myCout << " minEtaCutValue = " << std::dec << m_correlationThreeBodyParameter.minEtaCutValue << std::endl;
0163 myCout << " maxEtaCutValue = " << std::dec << m_correlationThreeBodyParameter.maxEtaCutValue << std::endl;
0164 myCout << " precEtaCut = " << std::dec << m_correlationThreeBodyParameter.precEtaCut << std::endl;
0165 myCout << " minPhiCutValue = " << std::dec << m_correlationThreeBodyParameter.minPhiCutValue << std::endl;
0166 myCout << " maxPhiCutValue = " << std::dec << m_correlationThreeBodyParameter.maxPhiCutValue << std::endl;
0167 myCout << " precPhiCut = " << std::dec << m_correlationThreeBodyParameter.precPhiCut << std::endl;
0168 myCout << " minMassCutValue = " << std::dec << m_correlationThreeBodyParameter.minMassCutValue << std::endl;
0169 myCout << " maxMassCutValue = " << std::dec << m_correlationThreeBodyParameter.maxMassCutValue << std::endl;
0170 myCout << " precMassCut = " << std::dec << m_correlationThreeBodyParameter.precMassCut << std::endl;
0171
0172
0173 myCout << std::dec << std::endl;
0174 }
0175
0176 void CorrelationThreeBodyTemplate::copy(const CorrelationThreeBodyTemplate& cp) {
0177 m_condName = cp.condName();
0178 m_condCategory = cp.condCategory();
0179 m_condType = cp.condType();
0180 m_objectType = cp.objectType();
0181 m_condGEq = cp.condGEq();
0182 m_condChipNr = cp.condChipNr();
0183
0184 m_cond0Category = cp.cond0Category();
0185 m_cond1Category = cp.cond1Category();
0186 m_cond2Category = cp.cond2Category();
0187 m_cond0Index = cp.cond0Index();
0188 m_cond1Index = cp.cond1Index();
0189 m_cond2Index = cp.cond2Index();
0190
0191 m_correlationThreeBodyParameter = *(cp.correlationThreeBodyParameter());
0192 }
0193
0194
0195 std::ostream& operator<<(std::ostream& os, const CorrelationThreeBodyTemplate& result) {
0196 result.print(os);
0197 return os;
0198 }