#include <L1Trigger/GlobalCaloTrigger/interface/L1GctJetLeafCard.h>
Public Types | |
enum | { etComponentSize = 18 } |
typedef L1GctTwosComplement < etComponentSize > | etComponentType |
typedef L1GctUnsignedInt < L1GctEtHad::kEtHadNBits > | etHadType |
typedef L1GctUnsignedInt < L1GctEtMiss::kEtMissPhiNBits > | etMissPhiType |
typedef L1GctUnsignedInt < L1GctEtMiss::kEtMissNBits > | etMissType |
typedef L1GctUnsignedInt < L1GctEtTotal::kEtTotalNBits > | etTotalType |
typedef L1GctJetFinderBase::hfTowerSumsType | hfTowerSumsType |
enum | jetFinderType { tdrJetFinder, hardwareJetFinder } |
Public Member Functions | |
virtual void | fetchInput () |
set the input buffers | |
std::vector< etTotalType > | getAllOutputEt () const |
get the Et output history | |
std::vector< etComponentType > | getAllOutputEx () const |
Bunch crossing history acces methods get the Ex output history. | |
std::vector< etComponentType > | getAllOutputEy () const |
get the Ey output history | |
std::vector< hfTowerSumsType > | getAllOutputHfSums () const |
std::vector< etHadType > | getAllOutputHt () const |
std::vector< etComponentType > | getAllOutputHx () const |
get the output Ht components history | |
std::vector< etComponentType > | getAllOutputHy () const |
L1GctJetFinderBase * | getJetFinderA () const |
get pointers to associated jetfinders | |
L1GctJetFinderBase * | getJetFinderB () const |
L1GctJetFinderBase * | getJetFinderC () const |
etTotalType | getOutputEt () const |
get the Et output | |
etComponentType | getOutputEx () const |
get the Ex output | |
etComponentType | getOutputEy () const |
get the Ey output | |
hfTowerSumsType | getOutputHfSums () const |
etHadType | getOutputHt () const |
etComponentType | getOutputHx () const |
get the output Ht components | |
etComponentType | getOutputHy () const |
std::vector< L1GctJetCand > | getOutputJetsA () const |
Output jetfinder A jets (lowest jetFinder in phi). | |
std::vector< L1GctJetCand > | getOutputJetsB () const |
Output jetfinder B jets (middle jetFinder in phi). | |
std::vector< L1GctJetCand > | getOutputJetsC () const |
Ouptut jetfinder C jets (highest jetFinder in phi). | |
L1GctJetLeafCard (int id, int iphi, jetFinderType jfType=tdrJetFinder) | |
virtual void | process () |
process the data and set outputs | |
void | reset () |
clear internal buffers | |
void | setBxRange (const int firstBx, const int numberOfBx) |
define the bunch crossing range to process | |
void | setNeighbourLeafCards (std::vector< L1GctJetLeafCard * > neighbours) |
set pointers to neighbours - needed to complete the setup | |
void | setNextBx (const int bx) |
partially clear buffers | |
bool | setupOk () const |
Check setup is Ok. | |
~L1GctJetLeafCard () | |
Static Public Attributes | |
static const int | MAX_JET_FINDERS = 3 |
Number of jetfinders per jet leaf card. | |
Protected Member Functions | |
virtual void | resetPipelines () |
virtual void | resetProcessor () |
Separate reset methods for the processor itself and any data stored in pipelines. | |
virtual void | setupObjects () |
Initialise inputs with null objects for the correct bunch crossing if required. | |
Private Member Functions | |
etComponentType | etValueForJetFinder (const etTotalType etStrip0, const unsigned fact0, const etTotalType etStrip1, const unsigned fact1) const |
etComponentType | exComponent (const etTotalType etStrip0, const etTotalType etStrip1, const unsigned jphi) const |
etComponentType | eyComponent (const etTotalType etStrip0, const etTotalType etStrip1, const unsigned jphi) const |
Private Attributes | |
bool | m_ctorInputOk |
etTotalType | m_etSum |
Pipeline< etTotalType > | m_etSumPipe |
etComponentType | m_exSum |
Pipeline< etComponentType > | m_exSumPipe |
etComponentType | m_eySum |
Pipeline< etComponentType > | m_eySumPipe |
hfTowerSumsType | m_hfSums |
Pipeline< hfTowerSumsType > | m_hfSumsPipe |
etHadType | m_htSum |
Pipeline< etHadType > | m_htSumPipe |
etComponentType | m_hxSum |
Pipeline< etComponentType > | m_hxSumPipe |
etComponentType | m_hySum |
Pipeline< etComponentType > | m_hySumPipe |
int | m_id |
L1GctJetFinderBase * | m_jetFinderA |
lowest jetFinder in phi | |
L1GctJetFinderBase * | m_jetFinderB |
middle jetFinder in phi | |
L1GctJetFinderBase * | m_jetFinderC |
highest jetFinder in phi | |
jetFinderType | m_whichJetFinder |
int | phiPosition |
Friends | |
std::ostream & | operator<< (std::ostream &os, const L1GctJetLeafCard &card) |
Overload << operator. |
Definition at line 28 of file L1GctJetLeafCard.h.
typedef L1GctTwosComplement<etComponentSize> L1GctJetLeafCard::etComponentType |
Definition at line 45 of file L1GctJetLeafCard.h.
typedef L1GctUnsignedInt< L1GctEtHad::kEtHadNBits > L1GctJetLeafCard::etHadType |
Definition at line 39 of file L1GctJetLeafCard.h.
typedef L1GctUnsignedInt< L1GctEtMiss::kEtMissPhiNBits > L1GctJetLeafCard::etMissPhiType |
Definition at line 41 of file L1GctJetLeafCard.h.
typedef L1GctUnsignedInt< L1GctEtMiss::kEtMissNBits > L1GctJetLeafCard::etMissType |
Definition at line 40 of file L1GctJetLeafCard.h.
typedef L1GctUnsignedInt< L1GctEtTotal::kEtTotalNBits > L1GctJetLeafCard::etTotalType |
Definition at line 38 of file L1GctJetLeafCard.h.
Definition at line 47 of file L1GctJetLeafCard.h.
anonymous enum |
L1GctJetLeafCard::L1GctJetLeafCard | ( | int | id, | |
int | iphi, | |||
jetFinderType | jfType = tdrJetFinder | |||
) |
Definition at line 14 of file L1GctJetLeafCard.cc.
References hardwareJetFinder, m_ctorInputOk, m_id, m_jetFinderA, m_jetFinderB, m_jetFinderC, L1GctProcessor::m_verbose, m_whichJetFinder, phiPosition, and tdrJetFinder.
00014 : 00015 L1GctProcessor(), 00016 m_id(id), 00017 m_whichJetFinder(jfType), 00018 phiPosition(iphi), 00019 m_exSum(0), m_eySum(0), 00020 m_hxSum(0), m_hySum(0), 00021 m_etSum(0), m_htSum(0), 00022 m_hfSums(), 00023 m_exSumPipe(), m_eySumPipe(), 00024 m_hxSumPipe(), m_hySumPipe(), 00025 m_etSumPipe(), m_htSumPipe(), 00026 m_hfSumsPipe(), 00027 m_ctorInputOk(true) 00028 { 00029 //Check jetLeafCard setup 00030 if(m_id < 0 || m_id > 5) 00031 { 00032 m_ctorInputOk = false; 00033 if (m_verbose) { 00034 edm::LogWarning("L1GctSetupError") 00035 << "L1GctJetLeafCard::L1GctJetLeafCard() : Jet Leaf Card ID " << m_id << " has been incorrectly constructed!\n" 00036 << "ID number should be between the range of 0 to 5\n"; 00037 } 00038 } 00039 00040 //iphi is redundant 00041 if(phiPosition != m_id%3) 00042 { 00043 m_ctorInputOk = false; 00044 if (m_verbose) { 00045 edm::LogWarning("L1GctSetupError") 00046 << "L1GctJetLeafCard::L1GctJetLeafCard() : Jet Leaf Card ID " << m_id << " has been incorrectly constructed!\n" 00047 << "Argument iphi is " << phiPosition << ", should be " << (m_id%3) << " for this ID value \n"; 00048 } 00049 } 00050 00051 switch (m_whichJetFinder) { 00052 case tdrJetFinder : 00053 m_jetFinderA = new L1GctTdrJetFinder( 3*id ); 00054 m_jetFinderB = new L1GctTdrJetFinder(3*id+1); 00055 m_jetFinderC = new L1GctTdrJetFinder(3*id+2); 00056 break; 00057 00058 case hardwareJetFinder : 00059 m_jetFinderA = new L1GctHardwareJetFinder( 3*id ); 00060 m_jetFinderB = new L1GctHardwareJetFinder(3*id+1); 00061 m_jetFinderC = new L1GctHardwareJetFinder(3*id+2); 00062 break; 00063 00064 default : 00065 00066 m_ctorInputOk = false; 00067 if (m_verbose) { 00068 edm::LogWarning("L1GctSetupError") 00069 << "L1GctJetLeafCard::L1GctJetLeafCard() : Jet Leaf Card ID " << m_id << " has been incorrectly constructed!\n" 00070 << "Unrecognised jetFinder type " << m_whichJetFinder << ", cannot setup jetFinders\n"; 00071 } 00072 00073 } 00074 00075 if (!m_ctorInputOk && m_verbose) { 00076 edm::LogError("L1GctSetupError") << "Jet Leaf Card ID " << m_id << " has been incorrectly constructed"; 00077 } 00078 }
L1GctJetLeafCard::~L1GctJetLeafCard | ( | ) |
Definition at line 80 of file L1GctJetLeafCard.cc.
References m_jetFinderA, m_jetFinderB, and m_jetFinderC.
00081 { 00082 delete m_jetFinderA; 00083 delete m_jetFinderB; 00084 delete m_jetFinderC; 00085 }
L1GctJetLeafCard::etComponentType L1GctJetLeafCard::etValueForJetFinder | ( | const etTotalType | etStrip0, | |
const unsigned | fact0, | |||
const etTotalType | etStrip1, | |||
const unsigned | fact1 | |||
) | const [private] |
Definition at line 302 of file L1GctJetLeafCard.cc.
References L1GctProcessor::m_verbose, L1GctUnsignedInt< nBits >::overFlow(), L1GctTwosComplement< nBits >::overFlow(), L1GctTwosComplement< nBits >::setOverFlow(), pyDBSRunClass::temp, and L1GctUnsignedInt< nBits >::value().
Referenced by exComponent(), and eyComponent().
00303 { 00304 // These factors correspond to the sine of angles from -90 degrees to 00305 // 90 degrees in 10 degree steps, multiplied by 16383 and written in 28 bits 00306 const int factors[19] = {0xfffc001, 0xfffc0fa, 0xfffc3dd, 0xfffc894, 0xfffcefa, 00307 0xfffd6dd, 0xfffe000, 0xfffea1d, 0xffff4e3, 0x0000000, 00308 0x0000b1d, 0x00015e3, 0x0002000, 0x0002923, 0x0003106, 00309 0x000376c, 0x0003c23, 0x0003f06, 0x0003fff}; 00310 00311 static const int internalComponentSize=15; 00312 static const int maxEt=1<<internalComponentSize; 00313 00314 int rotatedValue0, rotatedValue1, myFact; 00315 int etComponentSum = 0; 00316 00317 if (fact0 >= 36 || fact1 >= 36) { 00318 if (m_verbose) { 00319 edm::LogError("L1GctProcessingError") 00320 << "L1GctJetLeafCard::rotateEtValue() has been called with factor numbers " 00321 << fact0 << " and " << fact1 << "; should be less than 36 \n"; 00322 } 00323 } else { 00324 00325 // First strip - choose the required multiplication factor 00326 if (fact0>18) { myFact = factors[(36-fact0)]; } 00327 else { myFact = factors[fact0]; } 00328 00329 // Multiply the 14-bit Et value by the 28-bit factor. 00330 rotatedValue0 = static_cast<int>(etStrip0.value()) * myFact; 00331 00332 // Second strip - choose the required multiplication factor 00333 if (fact1>18) { myFact = factors[(36-fact1)]; } 00334 else { myFact = factors[fact1]; } 00335 00336 // Multiply the 14-bit Et value by the 28-bit factor. 00337 rotatedValue1 = static_cast<int>(etStrip1.value()) * myFact; 00338 00339 // Add the two scaled values together, with full resolution including 00340 // fractional parts from the sin(phi), cos(phi) scaling. 00341 // Adjust the value to avoid truncation errors since these 00342 // accumulate and cause problems for the missing Et measurement. 00343 // Then discard the 13 LSB and interpret the result as 00344 // a 15-bit twos complement integer. 00345 etComponentSum = ((rotatedValue0 + rotatedValue1) + 0x1000)>>13; 00346 00347 etComponentSum = etComponentSum & (maxEt-1); 00348 if (etComponentSum >= (maxEt/2)) { 00349 etComponentSum = etComponentSum - maxEt; 00350 } 00351 } 00352 00353 // Store as a TwosComplement format integer and return 00354 etComponentType temp(etComponentSum); 00355 temp.setOverFlow(temp.overFlow() || etStrip0.overFlow() || etStrip1.overFlow()); 00356 return temp; 00357 }
L1GctJetLeafCard::etComponentType L1GctJetLeafCard::exComponent | ( | const etTotalType | etStrip0, | |
const etTotalType | etStrip1, | |||
const unsigned | jphi | |||
) | const [private] |
Definition at line 281 of file L1GctJetLeafCard.cc.
References etValueForJetFinder().
Referenced by process().
00283 { 00284 unsigned fact0 = (2*jphi+6) % 36; 00285 unsigned fact1 = (2*jphi+8) % 36; 00286 return etValueForJetFinder(etStrip0, fact0, etStrip1, fact1); 00287 }
L1GctJetLeafCard::etComponentType L1GctJetLeafCard::eyComponent | ( | const etTotalType | etStrip0, | |
const etTotalType | etStrip1, | |||
const unsigned | jphi | |||
) | const [private] |
Definition at line 290 of file L1GctJetLeafCard.cc.
References etValueForJetFinder().
Referenced by process().
00292 { 00293 unsigned fact0 = (2*jphi+15) % 36; 00294 unsigned fact1 = (2*jphi+17) % 36; 00295 return etValueForJetFinder(etStrip0, fact0, etStrip1, fact1); 00296 }
void L1GctJetLeafCard::fetchInput | ( | ) | [virtual] |
set the input buffers
Implements L1GctProcessor.
Definition at line 182 of file L1GctJetLeafCard.cc.
References L1GctJetFinderBase::fetchInput(), m_jetFinderA, m_jetFinderB, and m_jetFinderC.
00182 { 00183 m_jetFinderA->fetchInput(); 00184 m_jetFinderB->fetchInput(); 00185 m_jetFinderC->fetchInput(); 00186 }
std::vector< etTotalType > L1GctJetLeafCard::getAllOutputEt | ( | ) | const [inline] |
get the Et output history
Definition at line 116 of file L1GctJetLeafCard.h.
References m_etSumPipe.
00116 { return m_etSumPipe.contents; }
std::vector< etComponentType > L1GctJetLeafCard::getAllOutputEx | ( | ) | const [inline] |
Bunch crossing history acces methods get the Ex output history.
Definition at line 106 of file L1GctJetLeafCard.h.
References m_exSumPipe.
00106 { return m_exSumPipe.contents; }
std::vector< etComponentType > L1GctJetLeafCard::getAllOutputEy | ( | ) | const [inline] |
get the Ey output history
Definition at line 109 of file L1GctJetLeafCard.h.
References m_eySumPipe.
00109 { return m_eySumPipe.contents; }
std::vector< hfTowerSumsType > L1GctJetLeafCard::getAllOutputHfSums | ( | ) | const [inline] |
Definition at line 119 of file L1GctJetLeafCard.h.
References m_hfSumsPipe.
00119 { return m_hfSumsPipe.contents; }
std::vector< etHadType > L1GctJetLeafCard::getAllOutputHt | ( | ) | const [inline] |
Definition at line 117 of file L1GctJetLeafCard.h.
References m_htSumPipe.
00117 { return m_htSumPipe.contents; }
std::vector< etComponentType > L1GctJetLeafCard::getAllOutputHx | ( | ) | const [inline] |
get the output Ht components history
Definition at line 112 of file L1GctJetLeafCard.h.
References m_hxSumPipe.
00112 { return m_hxSumPipe.contents; }
std::vector< etComponentType > L1GctJetLeafCard::getAllOutputHy | ( | ) | const [inline] |
Definition at line 113 of file L1GctJetLeafCard.h.
References m_hySumPipe.
00113 { return m_hySumPipe.contents; }
L1GctJetFinderBase* L1GctJetLeafCard::getJetFinderA | ( | ) | const [inline] |
get pointers to associated jetfinders
Definition at line 79 of file L1GctJetLeafCard.h.
References m_jetFinderA.
00079 { return m_jetFinderA; }
L1GctJetFinderBase* L1GctJetLeafCard::getJetFinderB | ( | ) | const [inline] |
Definition at line 80 of file L1GctJetLeafCard.h.
References m_jetFinderB.
00080 { return m_jetFinderB; }
L1GctJetFinderBase* L1GctJetLeafCard::getJetFinderC | ( | ) | const [inline] |
Definition at line 81 of file L1GctJetLeafCard.h.
References m_jetFinderC.
00081 { return m_jetFinderC; }
etTotalType L1GctJetLeafCard::getOutputEt | ( | ) | const [inline] |
get the Et output
Definition at line 99 of file L1GctJetLeafCard.h.
References m_etSum.
00099 { return m_etSum; }
etComponentType L1GctJetLeafCard::getOutputEx | ( | ) | const [inline] |
get the Ex output
Definition at line 89 of file L1GctJetLeafCard.h.
References m_exSum.
00089 { return m_exSum; }
etComponentType L1GctJetLeafCard::getOutputEy | ( | ) | const [inline] |
get the Ey output
Definition at line 92 of file L1GctJetLeafCard.h.
References m_eySum.
00092 { return m_eySum; }
hfTowerSumsType L1GctJetLeafCard::getOutputHfSums | ( | ) | const [inline] |
etHadType L1GctJetLeafCard::getOutputHt | ( | ) | const [inline] |
etComponentType L1GctJetLeafCard::getOutputHx | ( | ) | const [inline] |
get the output Ht components
Definition at line 95 of file L1GctJetLeafCard.h.
References m_hxSum.
00095 { return m_hxSum; }
etComponentType L1GctJetLeafCard::getOutputHy | ( | ) | const [inline] |
L1GctJetFinderBase::JetVector L1GctJetLeafCard::getOutputJetsA | ( | ) | const |
Output jetfinder A jets (lowest jetFinder in phi).
Definition at line 270 of file L1GctJetLeafCard.cc.
References L1GctJetFinderBase::getJets(), and m_jetFinderA.
Referenced by L1GctJetCounter::fetchInput().
L1GctJetFinderBase::JetVector L1GctJetLeafCard::getOutputJetsB | ( | ) | const |
Output jetfinder B jets (middle jetFinder in phi).
Definition at line 272 of file L1GctJetLeafCard.cc.
References L1GctJetFinderBase::getJets(), and m_jetFinderB.
Referenced by L1GctJetCounter::fetchInput().
L1GctJetFinderBase::JetVector L1GctJetLeafCard::getOutputJetsC | ( | ) | const |
Ouptut jetfinder C jets (highest jetFinder in phi).
Definition at line 274 of file L1GctJetLeafCard.cc.
References L1GctJetFinderBase::getJets(), and m_jetFinderC.
Referenced by L1GctJetCounter::fetchInput().
void L1GctJetLeafCard::process | ( | ) | [virtual] |
process the data and set outputs
Implements L1GctProcessor.
Definition at line 188 of file L1GctJetLeafCard.cc.
References L1GctProcessor::bxRel(), exComponent(), eyComponent(), L1GctJetFinderBase::getEtStrip0(), L1GctJetFinderBase::getEtStrip1(), L1GctJetFinderBase::getHfSums(), L1GctJetFinderBase::getHtStrip0(), L1GctJetFinderBase::getHtStrip1(), i, m_etSum, m_etSumPipe, m_exSum, m_exSumPipe, m_eySum, m_eySumPipe, m_hfSums, m_hfSumsPipe, m_htSum, m_htSumPipe, m_hxSum, m_hxSumPipe, m_hySum, m_hySumPipe, m_jetFinderA, m_jetFinderB, m_jetFinderC, phiPosition, L1GctJetFinderBase::process(), L1GctUnsignedInt< nBits >::reset(), L1GctTwosComplement< nBits >::reset(), and setupOk().
00188 { 00189 00190 // Check the setup 00191 if (setupOk()) { 00192 00193 // Perform the jet finding 00194 m_jetFinderA->process(); 00195 m_jetFinderB->process(); 00196 m_jetFinderC->process(); 00197 00198 // Finish Et and Ht sums for the Leaf Card 00199 // First Et and missing Et 00200 std::vector< etTotalType > etStripSum(6); 00201 etStripSum.at(0) = m_jetFinderA->getEtStrip0(); 00202 etStripSum.at(1) = m_jetFinderA->getEtStrip1(); 00203 etStripSum.at(2) = m_jetFinderB->getEtStrip0(); 00204 etStripSum.at(3) = m_jetFinderB->getEtStrip1(); 00205 etStripSum.at(4) = m_jetFinderC->getEtStrip0(); 00206 etStripSum.at(5) = m_jetFinderC->getEtStrip1(); 00207 00208 m_etSum.reset(); 00209 m_exSum.reset(); 00210 m_eySum.reset(); 00211 00212 for (unsigned i=0; i<6; ++i) { 00213 m_etSum = m_etSum + etStripSum.at(i); 00214 } 00215 00216 for (unsigned i=0; i<3; ++i) { 00217 unsigned jphi = 2*(phiPosition*3+i); 00218 m_exSum = m_exSum + exComponent(etStripSum.at(2*i), etStripSum.at(2*i+1), jphi); 00219 m_eySum = m_eySum + eyComponent(etStripSum.at(2*i), etStripSum.at(2*i+1), jphi); 00220 } 00221 00222 // Exactly the same procedure for Ht and missing Ht 00223 // Note using etTotalType for the strips but the output sum is etHadType 00224 std::vector< etTotalType > htStripSum(6); 00225 htStripSum.at(0) = m_jetFinderA->getHtStrip0(); 00226 htStripSum.at(1) = m_jetFinderA->getHtStrip1(); 00227 htStripSum.at(2) = m_jetFinderB->getHtStrip0(); 00228 htStripSum.at(3) = m_jetFinderB->getHtStrip1(); 00229 htStripSum.at(4) = m_jetFinderC->getHtStrip0(); 00230 htStripSum.at(5) = m_jetFinderC->getHtStrip1(); 00231 00232 m_htSum.reset(); 00233 m_hxSum.reset(); 00234 m_hySum.reset(); 00235 00236 for (unsigned i=0; i<6; ++i) { 00237 m_htSum = m_htSum + htStripSum.at(i); 00238 } 00239 00240 for (unsigned i=0; i<3; ++i) { 00241 unsigned jphi = 2*(phiPosition*3+i); 00242 m_hxSum = m_hxSum + exComponent(htStripSum.at(2*i), htStripSum.at(2*i+1), jphi); 00243 m_hySum = m_hySum + eyComponent(htStripSum.at(2*i), htStripSum.at(2*i+1), jphi); 00244 } 00245 00246 m_hfSums = 00247 m_jetFinderA->getHfSums() + 00248 m_jetFinderB->getHfSums() + 00249 m_jetFinderC->getHfSums(); 00250 00251 // Store the outputs in pipelines 00252 m_exSumPipe.store (m_exSum, bxRel()); 00253 m_eySumPipe.store (m_eySum, bxRel()); 00254 m_hxSumPipe.store (m_hxSum, bxRel()); 00255 m_hySumPipe.store (m_hySum, bxRel()); 00256 m_etSumPipe.store (m_etSum, bxRel()); 00257 m_htSumPipe.store (m_htSum, bxRel()); 00258 m_hfSumsPipe.store (m_hfSums, bxRel()); 00259 } 00260 }
clear internal buffers
clear buffers
Reimplemented from L1GctProcessor.
Definition at line 138 of file L1GctJetLeafCard.cc.
References m_jetFinderA, m_jetFinderB, m_jetFinderC, and L1GctProcessor::reset().
00138 { 00139 L1GctProcessor::reset(); 00140 m_jetFinderA->reset(); 00141 m_jetFinderB->reset(); 00142 m_jetFinderC->reset(); 00143 }
void L1GctJetLeafCard::resetPipelines | ( | ) | [protected, virtual] |
Implements L1GctProcessor.
Definition at line 171 of file L1GctJetLeafCard.cc.
References m_etSumPipe, m_exSumPipe, m_eySumPipe, m_hfSumsPipe, m_htSumPipe, m_hxSumPipe, m_hySumPipe, and L1GctProcessor::numOfBx().
00172 { 00173 m_exSumPipe.reset(numOfBx()); 00174 m_eySumPipe.reset(numOfBx()); 00175 m_hxSumPipe.reset(numOfBx()); 00176 m_hySumPipe.reset(numOfBx()); 00177 m_etSumPipe.reset(numOfBx()); 00178 m_htSumPipe.reset(numOfBx()); 00179 m_hfSumsPipe.reset(numOfBx()); 00180 }
void L1GctJetLeafCard::resetProcessor | ( | ) | [protected, virtual] |
Separate reset methods for the processor itself and any data stored in pipelines.
Implements L1GctProcessor.
Definition at line 160 of file L1GctJetLeafCard.cc.
References m_etSum, m_exSum, m_eySum, m_hfSums, m_htSum, m_hxSum, m_hySum, L1GctJetFinderBase::hfTowerSumsType::reset(), L1GctUnsignedInt< nBits >::reset(), and L1GctTwosComplement< nBits >::reset().
00161 { 00162 m_exSum.reset(); 00163 m_eySum.reset(); 00164 m_hxSum.reset(); 00165 m_hySum.reset(); 00166 m_etSum.reset(); 00167 m_htSum.reset(); 00168 m_hfSums.reset(); 00169 }
define the bunch crossing range to process
partially clear buffers
Reimplemented from L1GctProcessor.
Definition at line 146 of file L1GctJetLeafCard.cc.
References m_jetFinderA, m_jetFinderB, m_jetFinderC, and L1GctProcessor::setBxRange().
00146 { 00147 L1GctProcessor::setBxRange(firstBx, numberOfBx); 00148 m_jetFinderA->setBxRange(firstBx, numberOfBx); 00149 m_jetFinderB->setBxRange(firstBx, numberOfBx); 00150 m_jetFinderC->setBxRange(firstBx, numberOfBx); 00151 }
void L1GctJetLeafCard::setNeighbourLeafCards | ( | std::vector< L1GctJetLeafCard * > | neighbours | ) |
set pointers to neighbours - needed to complete the setup
set pointers to neighbours
Definition at line 88 of file L1GctJetLeafCard.cc.
References m_ctorInputOk, m_id, m_jetFinderA, m_jetFinderB, m_jetFinderC, L1GctProcessor::m_verbose, and L1GctJetFinderBase::setNeighbourJetFinders().
00089 { 00090 std::vector<L1GctJetFinderBase*> jfNeighbours(2); 00091 00092 if (neighbours.size()==2) { 00093 00094 jfNeighbours.at(0) = neighbours.at(0)->getJetFinderC(); 00095 jfNeighbours.at(1) = m_jetFinderB; 00096 m_jetFinderA->setNeighbourJetFinders(jfNeighbours); 00097 00098 jfNeighbours.at(0) = m_jetFinderA; 00099 jfNeighbours.at(1) = m_jetFinderC; 00100 m_jetFinderB->setNeighbourJetFinders(jfNeighbours); 00101 00102 jfNeighbours.at(0) = m_jetFinderB; 00103 jfNeighbours.at(1) = neighbours.at(1)->getJetFinderA(); 00104 m_jetFinderC->setNeighbourJetFinders(jfNeighbours); 00105 00106 } else { 00107 m_ctorInputOk = false; 00108 if (m_verbose) { 00109 edm::LogWarning("L1GctSetupError") 00110 << "L1GctJetLeafCard::setNeighbourLeafCards() : In Jet Leaf Card ID " << m_id 00111 << " size of input vector should be 2, but is in fact " << neighbours.size() << "\n"; 00112 } 00113 } 00114 }
partially clear buffers
Reimplemented from L1GctProcessor.
Definition at line 153 of file L1GctJetLeafCard.cc.
References m_jetFinderA, m_jetFinderB, m_jetFinderC, and L1GctProcessor::setNextBx().
00153 { 00154 L1GctProcessor::setNextBx(bx); 00155 m_jetFinderA->setNextBx(bx); 00156 m_jetFinderB->setNextBx(bx); 00157 m_jetFinderC->setNextBx(bx); 00158 }
virtual void L1GctJetLeafCard::setupObjects | ( | ) | [inline, protected, virtual] |
Initialise inputs with null objects for the correct bunch crossing if required.
Implements L1GctProcessor.
Definition at line 128 of file L1GctJetLeafCard.h.
bool L1GctJetLeafCard::setupOk | ( | ) | const |
Check setup is Ok.
Reimplemented from L1GctProcessor.
Definition at line 262 of file L1GctJetLeafCard.cc.
References m_ctorInputOk, m_jetFinderA, m_jetFinderB, m_jetFinderC, and L1GctJetFinderBase::setupOk().
Referenced by process().
00262 { 00263 return (m_ctorInputOk && 00264 m_jetFinderA->setupOk() && 00265 m_jetFinderB->setupOk() && 00266 m_jetFinderC->setupOk()); }
std::ostream& operator<< | ( | std::ostream & | os, | |
const L1GctJetLeafCard & | card | |||
) | [friend] |
Overload << operator.
Definition at line 116 of file L1GctJetLeafCard.cc.
00117 { 00118 using std::endl; 00119 00120 s << "===L1GctJetLeafCard===" << endl; 00121 s << "ID = " << card.m_id << endl; 00122 s << "i_phi = " << card.phiPosition << endl;; 00123 s << "Ex " << card.m_exSum << endl; 00124 s << "Ey " << card.m_eySum << endl; 00125 s << "Hx " << card.m_hxSum << endl; 00126 s << "Hy " << card.m_hySum << endl; 00127 s << "Et " << card.m_etSum << endl; 00128 s << "Ht " << card.m_htSum << endl; 00129 s << "JetFinder A : " << endl << (*card.m_jetFinderA); 00130 s << "JetFinder B : " << endl << (*card.m_jetFinderB); 00131 s << "JetFinder C : " << endl << (*card.m_jetFinderC); 00132 s << endl; 00133 00134 return s; 00135 }
bool L1GctJetLeafCard::m_ctorInputOk [private] |
Definition at line 165 of file L1GctJetLeafCard.h.
Referenced by L1GctJetLeafCard(), setNeighbourLeafCards(), and setupOk().
etTotalType L1GctJetLeafCard::m_etSum [private] |
Definition at line 151 of file L1GctJetLeafCard.h.
Referenced by getOutputEt(), operator<<(), process(), and resetProcessor().
Pipeline<etTotalType> L1GctJetLeafCard::m_etSumPipe [private] |
Definition at line 161 of file L1GctJetLeafCard.h.
Referenced by getAllOutputEt(), process(), and resetPipelines().
etComponentType L1GctJetLeafCard::m_exSum [private] |
Definition at line 147 of file L1GctJetLeafCard.h.
Referenced by getOutputEx(), operator<<(), process(), and resetProcessor().
Pipeline<etComponentType> L1GctJetLeafCard::m_exSumPipe [private] |
Definition at line 157 of file L1GctJetLeafCard.h.
Referenced by getAllOutputEx(), process(), and resetPipelines().
etComponentType L1GctJetLeafCard::m_eySum [private] |
Definition at line 148 of file L1GctJetLeafCard.h.
Referenced by getOutputEy(), operator<<(), process(), and resetProcessor().
Pipeline<etComponentType> L1GctJetLeafCard::m_eySumPipe [private] |
Definition at line 158 of file L1GctJetLeafCard.h.
Referenced by getAllOutputEy(), process(), and resetPipelines().
hfTowerSumsType L1GctJetLeafCard::m_hfSums [private] |
Definition at line 154 of file L1GctJetLeafCard.h.
Referenced by getOutputHfSums(), process(), and resetProcessor().
Definition at line 163 of file L1GctJetLeafCard.h.
Referenced by getAllOutputHfSums(), process(), and resetPipelines().
etHadType L1GctJetLeafCard::m_htSum [private] |
Definition at line 152 of file L1GctJetLeafCard.h.
Referenced by getOutputHt(), operator<<(), process(), and resetProcessor().
Pipeline<etHadType> L1GctJetLeafCard::m_htSumPipe [private] |
Definition at line 162 of file L1GctJetLeafCard.h.
Referenced by getAllOutputHt(), process(), and resetPipelines().
etComponentType L1GctJetLeafCard::m_hxSum [private] |
Definition at line 149 of file L1GctJetLeafCard.h.
Referenced by getOutputHx(), operator<<(), process(), and resetProcessor().
Pipeline<etComponentType> L1GctJetLeafCard::m_hxSumPipe [private] |
Definition at line 159 of file L1GctJetLeafCard.h.
Referenced by getAllOutputHx(), process(), and resetPipelines().
etComponentType L1GctJetLeafCard::m_hySum [private] |
Definition at line 150 of file L1GctJetLeafCard.h.
Referenced by getOutputHy(), operator<<(), process(), and resetProcessor().
Pipeline<etComponentType> L1GctJetLeafCard::m_hySumPipe [private] |
Definition at line 160 of file L1GctJetLeafCard.h.
Referenced by getAllOutputHy(), process(), and resetPipelines().
int L1GctJetLeafCard::m_id [private] |
Definition at line 133 of file L1GctJetLeafCard.h.
Referenced by L1GctJetLeafCard(), operator<<(), and setNeighbourLeafCards().
L1GctJetFinderBase* L1GctJetLeafCard::m_jetFinderA [private] |
lowest jetFinder in phi
Definition at line 139 of file L1GctJetLeafCard.h.
Referenced by fetchInput(), getJetFinderA(), getOutputJetsA(), L1GctJetLeafCard(), operator<<(), process(), reset(), setBxRange(), setNeighbourLeafCards(), setNextBx(), setupOk(), and ~L1GctJetLeafCard().
L1GctJetFinderBase* L1GctJetLeafCard::m_jetFinderB [private] |
middle jetFinder in phi
Definition at line 140 of file L1GctJetLeafCard.h.
Referenced by fetchInput(), getJetFinderB(), getOutputJetsB(), L1GctJetLeafCard(), operator<<(), process(), reset(), setBxRange(), setNeighbourLeafCards(), setNextBx(), setupOk(), and ~L1GctJetLeafCard().
L1GctJetFinderBase* L1GctJetLeafCard::m_jetFinderC [private] |
highest jetFinder in phi
Definition at line 141 of file L1GctJetLeafCard.h.
Referenced by fetchInput(), getJetFinderC(), getOutputJetsC(), L1GctJetLeafCard(), operator<<(), process(), reset(), setBxRange(), setNeighbourLeafCards(), setNextBx(), setupOk(), and ~L1GctJetLeafCard().
const int L1GctJetLeafCard::MAX_JET_FINDERS = 3 [static] |
int L1GctJetLeafCard::phiPosition [private] |
Definition at line 145 of file L1GctJetLeafCard.h.
Referenced by L1GctJetLeafCard(), operator<<(), and process().