|
ATLAS Offline Software
|
Go to the documentation of this file.
25 const std::string&
name,
29 m_jeTool(
"LVL1::L1JetElementTools/L1JetElementTools"),
30 m_etTool(
"LVL1::L1EtTools/L1EtTools")
32 declareInterface<IL1JEPEtSumsTools>(
this);
58 return StatusCode::SUCCESS;
72 for (; iter != iterE; ++iter) {
73 if ((*iter)->emJetElementETVec().size() >
nslices) {
74 nslices = (*iter)->emJetElementETVec().size();
75 peak = (*iter)->peak();
78 if ((*iter)->hadJetElementETVec().size() >
nslices) {
79 nslices = (*iter)->emJetElementETVec().size();
80 peak = (*iter)->peak();
86 m_jeTool->mapJetElements(jetElementVec, &jeMap);
97 for (; miter != miterE; ++miter)
delete *miter;
115 for (; iter != iterE; ++iter) {
119 m_etTool->crateSums(modules, crates);
127 for (; citer != citerE; ++citer)
delete *citer;
132 for (; siter != siterE; ++siter)
delete *siter;
143 for (;
pos != pose; ++
pos) {
166 for (; iter != iterE; ++iter) {
170 m_etTool->crateSums(modules, crates);
177 for (; miter != miterE; ++miter)
delete *miter;
194 for (; iter != iterE; ++iter) {
203 for (; siter != siterE; ++siter)
delete *siter;
221 for (; iter != iterE; ++iter)
delete *iter;
234 for (;
pos != pose; ++
pos) {
236 int dataId = sums->
dataID();
237 if (dataId > 15)
continue;
238 int crate = sums->
crate();
239 if (sums->
peak() > peak) peak = sums->
peak();
250 for (
unsigned int sl = 0; sl <
slices; ++sl) {
253 et[sl], ex[sl], ey[sl]));
267 for (;
pos != pose; ++
pos) {
269 int crate = sums->
crate();
270 if (crate != 1)
continue;
271 int dataId = sums->
dataID();
275 if (sums->
peak() > peak) peak = sums->
peak();
289 for (
unsigned int sl = 0; sl <
slices; ++sl) {
312 for (;
pos != pose; ++
pos) {
314 int dataId = sums->
dataID();
316 if (sums->
peak() > peak) peak = sums->
peak();
325 for (
unsigned int sl = 0; sl <
slices; ++sl) {
345 std::map<int, JEMEtSums*> etMap;
346 unsigned int nslices = modulesVec.size();
352 for (;
pos != pose; ++
pos) {
354 unsigned int ex =
energy->ex();
355 unsigned int ey =
energy->ey();
357 if (ex == 0 && ey == 0 &&
et == 0)
continue;
358 int crate =
energy->crate();
363 if (iter == etMap.end()) {
365 etMap.insert(std::make_pair(
key, sums));
367 }
else sums = iter->second;
368 std::vector<unsigned int> exVec(sums->
ExVec());
369 std::vector<unsigned int> eyVec(sums->
EyVec());
370 std::vector<unsigned int> etVec(sums->
EtVec());
387 std::map<int, CMMEtSums*> etMap;
388 unsigned int nslices = cratesVec.size();
395 for (;
pos != pose; ++
pos) {
397 unsigned int ex =
energy->exTC();
398 unsigned int ey =
energy->eyTC();
400 int exOverflow =
energy->exOverflow();
401 int eyOverflow =
energy->eyOverflow();
402 int etOverflow =
energy->etOverflow();
403 if (ex == 0 && ey == 0 &&
et == 0 &&
404 exOverflow == 0 && eyOverflow == 0 && etOverflow == 0)
continue;
405 int crate =
energy->crate();
408 for (
int i = 0;
i < 2; ++
i) {
409 int key = crate*100 + dataId;
411 if (iter == etMap.end()) {
414 etMap.insert(std::make_pair(
key, sums));
416 }
else sums = iter->second;
417 std::vector<unsigned int> exVec(sums->
ExVec());
418 std::vector<unsigned int> eyVec(sums->
EyVec());
419 std::vector<unsigned int> etVec(sums->
EtVec());
441 sums->
addEx(exVec, exErr);
442 sums->
addEy(eyVec, eyErr);
443 sums->
addEt(etVec, etErr);
444 if (crate == 1)
break;
459 unsigned int nslices = systemVec.size();
464 unsigned int ex =
energy->exTC();
465 unsigned int ey =
energy->eyTC();
467 int exOverflow =
energy->exOverflow();
468 int eyOverflow =
energy->eyOverflow();
469 int etOverflow =
energy->etOverflow();
470 if (ex == 0 && ey == 0 &&
et == 0 &&
471 exOverflow == 0 && eyOverflow == 0 && etOverflow == 0)
continue;
477 std::vector<unsigned int> exVec(sums->
ExVec());
478 std::vector<unsigned int> eyVec(sums->
EyVec());
479 std::vector<unsigned int> etVec(sums->
EtVec());
501 sums->
addEx(exVec, exErr);
502 sums->
addEy(eyVec, eyErr);
503 sums->
addEt(etVec, etErr);
516 unsigned int nslices = systemVec.size();
521 unsigned int etMissHits =
energy->etMissHits();
528 std::vector<unsigned int> etVec(missEt->
EtVec());
529 etVec[
slice] = etMissHits;
534 unsigned int etSumHits =
energy->etSumHits();
541 std::vector<unsigned int> etVec(sumEt->
EtVec());
542 etVec[
slice] = etSumHits;
548 unsigned int etMissSigHits = ((
energy->roiWord0())>>16)&0xff;
555 std::vector<unsigned int> etVec(missEtSig->
EtVec());
556 etVec[
slice] = etMissSigHits;
JetConstituentVector::iterator iterator
char data[hepevt_bytes_allocation_ATLAS]
Extra patterns decribing particle interation process.
Const iterator class for DataVector/DataList.
JEMEtSums_v2 JEMEtSums
Define the latest version of the JEMEtSums class.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
CrateEnergy class declaration Simulates behaviour of the Crate-CMM System CMM logic is done in Energy...
CMMEtSums object stores Et sums from the Energy CMMs.
const std::vector< int > & ExErrorVec() const
returns module Ex errors
const std::vector< unsigned int > & EyVec() const
returns module Ey sum
int module() const
returns module number
const std::vector< int > & EyErrorVec() const
returns module Ey errors
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
void addEy(const std::vector< unsigned int > &Ey)
Update Ey sum.
int dataID() const
returns data ID
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
std::map< int, const JetElement * > JetElementMap_t
int crate() const
returns crate number
void addEt(const std::vector< unsigned int > &Et, const std::vector< int > &EtError)
Add data to existing objects.
::StatusCode StatusCode
StatusCode definition for legacy code.
const std::vector< unsigned int > & EyVec() const
returns module Ey sum
void set(ErrorBit bit, int value=1)
Set an error bit or data.
This is an internal class, used in the Energy trigger.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
const std::vector< unsigned int > & EtVec() const
Access multi-slice data.
void addEy(const std::vector< unsigned int > &Ey, const std::vector< int > &EyError)
Update Ey sum.
int peak() const
returns peak slice number
int error() const
Return the full error word.
CMMEtSums_v1 CMMEtSums
Define the latest version of the CMMEtSums class.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
const std::vector< unsigned int > & ExVec() const
returns module Ex sum
int crate() const
Data accessors.
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
void addEt(const std::vector< unsigned int > &Et)
Update ET sum.
void addEx(const std::vector< unsigned int > &Ex, const std::vector< int > &ExError)
Update Ex sum.
const std::vector< unsigned int > & EtVec() const
returns module ET sum
void addEx(const std::vector< unsigned int > &Ex)
Update Ex sum.
SystemEnergy class declaration Simulates behaviour of the Crate-CMM System CMM logic is done in Energ...
int peak() const
returns peak slice number
int get(ErrorBit bit) const
Return an error bit or data.
const std::vector< int > & EtErrorVec() const
returns module ET errors
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
const std::vector< unsigned int > & ExVec() const
returns module Ex sum