00001 00017 // this class header 00018 #include "CondFormats/L1TObjects/interface/L1GtStableParameters.h" 00019 00020 // system include files 00021 00022 #include <iomanip> 00023 00024 00025 // user include files 00026 // base class 00027 00028 // forward declarations 00029 00030 // constructor 00031 L1GtStableParameters::L1GtStableParameters() { 00032 // empty 00033 } 00034 00035 // destructor 00036 L1GtStableParameters::~L1GtStableParameters() { 00037 // empty 00038 } 00039 00040 // set the number of physics trigger algorithms 00041 void L1GtStableParameters::setGtNumberPhysTriggers( 00042 const unsigned int& numberPhysTriggersValue) { 00043 00044 m_numberPhysTriggers = numberPhysTriggersValue; 00045 00046 } 00047 00048 // set the additional number of physics trigger algorithms 00049 void L1GtStableParameters::setGtNumberPhysTriggersExtended( 00050 const unsigned int& numberPhysTriggersExtendedValue) { 00051 00052 m_numberPhysTriggersExtended = numberPhysTriggersExtendedValue; 00053 00054 } 00055 00056 // set the number of technical triggers 00057 void L1GtStableParameters::setGtNumberTechnicalTriggers( 00058 const unsigned int& numberTechnicalTriggersValue) { 00059 00060 m_numberTechnicalTriggers = numberTechnicalTriggersValue; 00061 00062 } 00063 00064 // set the number of L1 muons received by GT 00065 void L1GtStableParameters::setGtNumberL1Mu(const unsigned int& numberL1MuValue) { 00066 00067 m_numberL1Mu = numberL1MuValue; 00068 00069 } 00070 00071 // set the number of L1 e/gamma objects received by GT 00072 void L1GtStableParameters::setGtNumberL1NoIsoEG( 00073 const unsigned int& numberL1NoIsoEGValue) { 00074 00075 m_numberL1NoIsoEG = numberL1NoIsoEGValue; 00076 00077 } 00078 00079 // set the number of L1 isolated e/gamma objects received by GT 00080 void L1GtStableParameters::setGtNumberL1IsoEG( 00081 const unsigned int& numberL1IsoEGValue) { 00082 00083 m_numberL1IsoEG = numberL1IsoEGValue; 00084 00085 } 00086 00087 // set the number of L1 central jets received by GT 00088 void L1GtStableParameters::setGtNumberL1CenJet( 00089 const unsigned int& numberL1CenJetValue) { 00090 00091 m_numberL1CenJet = numberL1CenJetValue; 00092 00093 } 00094 00095 // set the number of L1 forward jets received by GT 00096 void L1GtStableParameters::setGtNumberL1ForJet( 00097 const unsigned int& numberL1ForJetValue) { 00098 00099 m_numberL1ForJet = numberL1ForJetValue; 00100 00101 } 00102 00103 // set the number of L1 tau jets received by GT 00104 void L1GtStableParameters::setGtNumberL1TauJet( 00105 const unsigned int& numberL1TauJetValue) { 00106 00107 m_numberL1TauJet = numberL1TauJetValue; 00108 00109 } 00110 00111 // set the number of L1 jet counts received by GT 00112 void L1GtStableParameters::setGtNumberL1JetCounts( 00113 const unsigned int& numberL1JetCountsValue) { 00114 00115 m_numberL1JetCounts = numberL1JetCountsValue; 00116 00117 } 00118 00119 // hardware stuff 00120 00121 // set the number of condition chips in GTL 00122 void L1GtStableParameters::setGtNumberConditionChips( 00123 const unsigned int& numberConditionChipsValue) { 00124 00125 m_numberConditionChips = numberConditionChipsValue; 00126 00127 } 00128 00129 // set the number of pins on the GTL condition chips 00130 void L1GtStableParameters::setGtPinsOnConditionChip( 00131 const unsigned int& pinsOnConditionChipValue) { 00132 00133 m_pinsOnConditionChip = pinsOnConditionChipValue; 00134 00135 } 00136 00137 // set the correspondence "condition chip - GTL algorithm word" 00138 // in the hardware 00139 void L1GtStableParameters::setGtOrderConditionChip( 00140 const std::vector<int>& orderConditionChipValue) { 00141 00142 m_orderConditionChip = orderConditionChipValue; 00143 00144 } 00145 00146 // set the number of PSB boards in GT 00147 void L1GtStableParameters::setGtNumberPsbBoards(const int& numberPsbBoardsValue) { 00148 00149 m_numberPsbBoards = numberPsbBoardsValue; 00150 00151 } 00152 00153 // set the number of bits for eta of calorimeter objects 00154 void L1GtStableParameters::setGtIfCaloEtaNumberBits( 00155 const unsigned int& ifCaloEtaNumberBitsValue) { 00156 00157 m_ifCaloEtaNumberBits = ifCaloEtaNumberBitsValue; 00158 00159 } 00160 00161 // set the number of bits for eta of muon objects 00162 void L1GtStableParameters::setGtIfMuEtaNumberBits( 00163 const unsigned int& ifMuEtaNumberBitsValue) { 00164 00165 m_ifMuEtaNumberBits = ifMuEtaNumberBitsValue; 00166 00167 } 00168 00169 // set WordLength 00170 void L1GtStableParameters::setGtWordLength(const int& wordLengthValue) { 00171 00172 m_wordLength = wordLengthValue; 00173 00174 } 00175 00176 // set one UnitLength 00177 void L1GtStableParameters::setGtUnitLength(const int& unitLengthValue) { 00178 00179 m_unitLength = unitLengthValue; 00180 00181 } 00182 00183 // print all the L1 GT stable parameters 00184 void L1GtStableParameters::print(std::ostream& myStr) const { 00185 myStr << "\nL1 GT Stable Parameters \n" << std::endl; 00186 00187 // trigger decision 00188 00189 // number of physics trigger algorithms 00190 myStr << "\n Number of physics trigger algorithms = " 00191 << m_numberPhysTriggers << std::endl; 00192 00193 // additional number of physics trigger algorithms 00194 myStr << " Additional number of physics trigger algorithms = " 00195 << m_numberPhysTriggersExtended << std::endl; 00196 00197 // number of technical triggers 00198 myStr << " Number of technical triggers = " 00199 << m_numberTechnicalTriggers << std::endl; 00200 00201 // muons 00202 myStr << "\n Number of muons received by L1 GT = " 00203 << m_numberL1Mu << std::endl; 00204 00205 // e/gamma and isolated e/gamma objects 00206 myStr << " Number of e/gamma objects received by L1 GT = " 00207 << m_numberL1NoIsoEG << std::endl; 00208 myStr << " Number of isolated e/gamma objects received by L1 GT = " 00209 << m_numberL1IsoEG << std::endl; 00210 00211 // central, forward and tau jets 00212 myStr << "\n Number of central jets received by L1 GT = " 00213 << m_numberL1CenJet << std::endl; 00214 myStr << " Number of forward jets received by L1 GT = " 00215 << m_numberL1ForJet << std::endl; 00216 myStr << " Number of tau jets received by L1 GT = " 00217 << m_numberL1TauJet << std::endl; 00218 00219 // jet counts 00220 myStr << "\n Number of jet counts received by L1 GT = " 00221 << m_numberL1JetCounts << std::endl; 00222 00223 // hardware 00224 00225 // number of condition chips 00226 myStr << "\n Number of condition chips = " 00227 << m_numberConditionChips << std::endl; 00228 00229 // number of pins on the GTL condition chips 00230 myStr << " Number of pins on the GTL condition chips = " 00231 << m_pinsOnConditionChip << std::endl; 00232 00233 // correspondence "condition chip - GTL algorithm word" in the hardware 00234 // chip 2: 0 - 95; chip 1: 96 - 128 (191) 00235 myStr << " Order of condition chips for GTL algorithm word = {"; 00236 00237 for (unsigned int iChip = 0; iChip < m_orderConditionChip.size(); ++iChip) { 00238 myStr << m_orderConditionChip[iChip]; 00239 if (iChip != (m_orderConditionChip.size() - 1)) { 00240 myStr << ", "; 00241 } 00242 } 00243 00244 myStr << "}" << std::endl; 00245 00246 // number of PSB boards in GT 00247 myStr << "\n Number of PSB boards in GT = " << m_numberPsbBoards 00248 << std::endl; 00249 00250 // number of bits for eta of calorimeter objects 00251 myStr << "\n Number of bits for eta of calorimeter objects = " 00252 << m_ifCaloEtaNumberBits << std::endl; 00253 00254 // number of bits for eta of muon objects 00255 myStr << "\n Number of bits for eta of muon objects = " 00256 << m_ifMuEtaNumberBits << std::endl; 00257 00258 // GT DAQ record organized in words of WordLength bits 00259 myStr << "\n Word length (bits) for GT records = " << m_wordLength 00260 << std::endl; 00261 00262 // one unit in the word is UnitLength bits 00263 myStr << " Unit length (bits) for GT records = " << m_unitLength 00264 << std::endl; 00265 00266 myStr << "\n" << std::endl; 00267 00268 }