Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
#include <L1EnergyCMXTools.h>
|
| L1EnergyCMXTools (const std::string &type, const std::string &name, const IInterface *parent) |
| Constructor. More...
|
|
virtual | ~L1EnergyCMXTools () |
| default destructor More...
|
|
virtual StatusCode | initialize () |
| standard Athena-Algorithm method More...
|
|
virtual StatusCode | finalize () |
| standard Athena-Algorithm method More...
|
|
virtual void | formJEMEtSums (const xAOD::JetElementContainer *jetElementVec, xAOD::JEMEtSumsContainer *jemEtSumsVec) const |
| form JEMEtSums from JetElements More...
|
|
virtual void | formCMXEtSums (const xAOD::JEMEtSumsContainer *jemEtSumsVec, xAOD::CMXEtSumsContainer *cmxEtSumsVec) const |
| form complete CMXEtSums from JEMEtSums More...
|
|
virtual void | formCMXEtSumsModule (const xAOD::JEMEtSumsContainer *jemEtSumsVec, xAOD::CMXEtSumsContainer *cmxEtSumsMod) const |
| form partial CMXEtSums (module) from JEMEtSums More...
|
|
virtual void | formCMXEtSumsCrate (const xAOD::CMXEtSumsContainer *cmxEtSumsMod, xAOD::CMXEtSumsContainer *cmxEtSumsCrate) const |
| form partial CMXEtSums (crate) from module CMXEtSums More...
|
|
virtual void | formCMXEtSumsSystem (const xAOD::CMXEtSumsContainer *cmxEtSumsCrate, xAOD::CMXEtSumsContainer *cmxEtSumsSys) const |
| form partial CMXEtSums (system) from crate CMXEtSums More...
|
|
virtual void | formCMXEtSumsEtMaps (const xAOD::CMXEtSumsContainer *cmxEtSumsSys, xAOD::CMXEtSumsContainer *cmxEtSumsMap) const |
| form partial CMXEtSums (sumEt/missingEt maps) from system CMXEtSums More...
|
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
void | etSumsToModuleEnergy (const xAOD::CMXEtSumsContainer *etSums, MultiSliceModuleEnergy &modulesVec, int &peak) const |
| Convert CMXEtSums container to internal ModuleEnergy containers. More...
|
|
void | etSumsToCrateEnergy (const xAOD::CMXEtSumsContainer *etSums, MultiSliceCrateEnergy &crateVecFull, MultiSliceCrateEnergy &crateVecRestricted, int &peak) const |
| Convert CMXEtSums container to internal CrateEnergy containers. More...
|
|
void | etSumsToSystemEnergy (const xAOD::CMXEtSumsContainer *etSums, MultiSliceSystemEnergy &systemVec, int &peak) const |
| Convert CMXEtSums container to internal SystemEnergy objects. More...
|
|
void | moduleEnergyToEtSums (const MultiSliceModuleEnergy &modulesVec, xAOD::JEMEtSumsContainer *jemEtSumsVec, int peak) const |
| Convert internal ModuleEnergy containers to JEMEtSums container. More...
|
|
void | crateEnergyToEtSums (const MultiSliceCrateEnergy &cratesVec, xAOD::CMXEtSumsContainer *cmxEtSumsVec, int peak) const |
| Convert internal CrateEnergy containers to CMXEtSums container. More...
|
|
void | crateEnergyToEtSums (const MultiSliceCrateEnergy &cratesVecFull, const MultiSliceCrateEnergy &cratesVecRestricted, xAOD::CMXEtSumsContainer *cmxEtSumsVec, int peak) const |
|
void | systemEnergyToEtSums (const MultiSliceSystemEnergy &systemVec, xAOD::CMXEtSumsContainer *cmxEtSumsVec, int peak, xAOD::CMXEtSums_v1::Sources source=xAOD::CMXEtSums::TOTAL_STANDARD) const |
| Convert internal SystemEnergy objects to CMXEtSums object. More...
|
|
void | etMapsToEtSums (const MultiSliceSystemEnergy &systemVec, xAOD::CMXEtSumsContainer *cmxEtSumsVec, int peak) const |
| Convert maps from internal SystemEnergy objects to CMXEtSums objects. More...
|
|
void | findRestrictedEta (uint32_t &maskXE, uint32_t &maskTE) const |
| form partial CMXEtSums (crate) from module CMXEtSums More...
|
|
void | dumpCrateEnergies (const std::string &msg, const MultiSliceCrateEnergy &crates) const |
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
This is a tool to reconstruct the L1 JEM and CMX-Energy Et sums from Jet Elements. Used for offline monitoring and trigger reconstruction.
Useage: L1EnergyCMXTools->formJEMEtSums() // Form JEMEtSums from JetElements L1EnergyCMXTools->formCMXEtSums() // Form CMXEtSums from JEMEtSums
@author Peter Faulkner
Definition at line 50 of file L1EnergyCMXTools.h.
◆ EnergyVector
◆ ErrorVector
◆ MultiSliceCrateEnergy
◆ MultiSliceModuleEnergy
◆ MultiSliceSystemEnergy
◆ StoreGateSvc_t
◆ L1EnergyCMXTools()
LVL1::L1EnergyCMXTools::L1EnergyCMXTools |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
Constructor.
Definition at line 25 of file L1EnergyCMXTools.cxx.
29 m_jeTool(
"LVL1::L1JetElementTools/L1JetElementTools"),
30 m_etTool(
"LVL1::L1EtTools/L1EtTools")
32 declareInterface<IL1EnergyCMXTools>(
this);
◆ ~L1EnergyCMXTools()
LVL1::L1EnergyCMXTools::~L1EnergyCMXTools |
( |
| ) |
|
|
virtual |
◆ crateEnergyToEtSums() [1/2]
Convert internal CrateEnergy containers to CMXEtSums container.
Definition at line 528 of file L1EnergyCMXTools.cxx.
532 std::map<int, xAOD::CMXEtSums *> etMap;
533 unsigned int nslices = cratesVec.size();
541 for (;
pos != pose; ++
pos)
544 unsigned int ex =
energy->exTC();
545 unsigned int ey =
energy->eyTC();
547 int exOverflow =
energy->exOverflow();
548 int eyOverflow =
energy->eyOverflow();
549 int etOverflow =
energy->etOverflow();
550 if (ex == 0 && ey == 0 &&
et == 0 &&
551 exOverflow == 0 && eyOverflow == 0 && etOverflow == 0)
553 int crate =
energy->crate();
556 for (
int i = 0;
i < 2; ++
i)
558 for (
int j = 0; j < 2; ++j)
562 if (iter == etMap.end())
568 etMap.insert(std::make_pair(
key, sums));
573 std::vector<uint16_t> exVec(sums->
exVec());
574 std::vector<uint16_t> eyVec(sums->
eyVec());
575 std::vector<uint16_t> etVec(sums->
etVec());
576 std::vector<uint32_t> exErr(sums->
exErrorVec());
577 std::vector<uint32_t> eyErr(sums->
eyErrorVec());
578 std::vector<uint32_t> etErr(sums->
etErrorVec());
584 DataError dEx(exErr[
slice]);
586 exErr[
slice] = dEx.error();
590 DataError dEy(eyErr[
slice]);
592 eyErr[
slice] = dEy.error();
596 DataError dEt(etErr[
slice]);
598 etErr[
slice] = dEt.error();
600 sums->
addEx(exVec, exErr);
601 sums->
addEy(eyVec, eyErr);
602 sums->
addEt(etVec, etErr);
◆ crateEnergyToEtSums() [2/2]
Definition at line 621 of file L1EnergyCMXTools.cxx.
625 std::map<int, xAOD::CMXEtSums *> etMap;
626 unsigned int nslices = cratesVecFull.size();
636 for (
unsigned int i = 0;
i < 2;
i++)
638 const auto *crates = (
i == 0 ? cratesVecFull[
slice] : cratesVecRestricted[
slice]);
641 for (
auto pos : *crates)
645 unsigned int ex =
energy->exTC();
646 unsigned int ey =
energy->eyTC();
648 int exOverflow =
energy->exOverflow();
649 int eyOverflow =
energy->eyOverflow();
650 int etOverflow =
energy->etOverflow();
651 if (ex == 0 && ey == 0 &&
et == 0 &&
652 exOverflow == 0 && eyOverflow == 0 && etOverflow == 0)
654 int crate =
energy->crate();
661 if (iter == etMap.end())
667 etMap.insert(std::make_pair(
key, sums));
672 std::vector<uint16_t> exVec(sums->
exVec());
673 std::vector<uint16_t> eyVec(sums->
eyVec());
674 std::vector<uint16_t> etVec(sums->
etVec());
675 std::vector<uint32_t> exErr(sums->
exErrorVec());
676 std::vector<uint32_t> eyErr(sums->
eyErrorVec());
677 std::vector<uint32_t> etErr(sums->
etErrorVec());
683 DataError dEx(exErr[
slice]);
685 exErr[
slice] = dEx.error();
689 DataError dEy(eyErr[
slice]);
691 eyErr[
slice] = dEy.error();
695 DataError dEt(etErr[
slice]);
697 etErr[
slice] = dEt.error();
699 sums->
addEx(exVec, exErr);
700 sums->
addEy(eyVec, eyErr);
701 sums->
addEt(etVec, etErr);
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ dumpCrateEnergies()
◆ etMapsToEtSums()
Convert maps from internal SystemEnergy objects to CMXEtSums objects.
Definition at line 806 of file L1EnergyCMXTools.cxx.
824 int nslicesRestricted = 0;
826 std::map<int, bool> isRestrictedMap;
829 for (
unsigned int i = 0;
i < systemVec.size(); ++
i)
831 bool isRestricted = (systemVec[
i]->roiWord0() >> 26) & 1;
832 isRestrictedMap[
i] = isRestricted;
842 std::vector<uint16_t> dataFull(nslicesFull);
843 std::vector<uint32_t> errorFull(nslicesFull);
845 std::vector<uint16_t> dataRestricted(nslicesRestricted);
846 std::vector<uint32_t> errorRestricted(nslicesRestricted);
849 int iSliceRestricted = 0;
852 for (
unsigned int i = 0;
i < systemVec.size(); ++
i)
854 SystemEnergy *
energy = systemVec[
i];
855 bool restricted = isRestrictedMap[
i];
857 std::vector<uint16_t>*
data;
858 std::vector<uint32_t>*
error;
861 sumEt = &sumEtRestricted;
862 missEt = &missEtRestricted;
863 missEtSig = &missEtSigRestricted;
864 iSlice = &iSliceRestricted;
865 data = &dataRestricted;
866 error = &errorRestricted;
871 missEt = &missEtFull;
872 missEtSig = &missEtSigFull;
873 iSlice = &iSliceFull;
878 unsigned int slice = *iSlice;
881 unsigned int etSumHits =
energy->etSumHits();
888 (*sumEt)->initialize(1, restricted
894 std::vector<uint16_t> etVec((*sumEt)->etVec());
895 etVec[
slice] = etSumHits;
897 (*sumEt)->addEx(etVec, *
error);
898 (*sumEt)->addEy(etVec, *
error);
899 (*sumEt)->addEt(etVec, *
error);
903 unsigned int etMissHits =
energy->etMissHits();
910 (*missEt)->initialize(1, restricted
916 std::vector<uint16_t> etVec((*missEt)->etVec());
917 etVec[
slice] = etMissHits;
918 (*missEt)->addEx(etVec, *
error);
919 (*missEt)->addEy(etVec, *
error);
920 (*missEt)->addEt(etVec, *
error);
922 unsigned int etMissSigHits =
energy->metSigHits();
932 std::vector<uint16_t> etVec((*missEtSig)->etVec());
933 etVec[
slice] = etMissSigHits;
934 (*missEtSig)->addEx(etVec, *
error);
935 (*missEtSig)->addEy(etVec, *
error);
936 (*missEtSig)->addEt(etVec, *
error);
◆ etSumsToCrateEnergy()
Convert CMXEtSums container to internal CrateEnergy containers.
Definition at line 362 of file L1EnergyCMXTools.cxx.
367 unsigned int nslicesFull = 0;
368 unsigned int nslicesRestricted = 0;
373 unsigned int *
nslices =
nullptr;
374 bool restricted =
false;
375 for (;
pos != pose; ++
pos)
378 int crate = sums->
crate();
388 crateVec = &crateVecRestricted;
392 crateVec = &crateVecFull;
396 if (sums->
peak() > peak)
414 for (
unsigned int sl = 0; sl <
slices; ++sl)
417 DataError exErr(exErrVec[sl]);
418 DataError eyErr(eyErrVec[sl]);
419 DataError etErr(etErrVec[sl]);
420 crates->
push_back(
new CrateEnergy(crate,
et[sl], ex[sl], ey[sl],
428 dumpCrateEnergies(
"Crates from restricted region (for total)", crateVecRestricted);
◆ etSumsToModuleEnergy()
◆ etSumsToSystemEnergy()
Convert CMXEtSums container to internal SystemEnergy objects.
Definition at line 433 of file L1EnergyCMXTools.cxx.
440 for (;
pos != pose; ++
pos)
446 if (sums->
peak() > peak)
456 for (
unsigned int sl = 0; sl <
slices; ++sl)
458 DataError exErr(exErrVec[sl]);
459 DataError eyErr(eyErrVec[sl]);
460 DataError etErr(etErrVec[sl]);
461 auto systemEnergy =
new SystemEnergy(
et[sl], ex[sl], ey[sl],
468 systemVec.push_back(systemEnergy);
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ finalize()
StatusCode LVL1::L1EnergyCMXTools::finalize |
( |
| ) |
|
|
virtual |
standard Athena-Algorithm method
Finalisation.
Definition at line 60 of file L1EnergyCMXTools.cxx.
62 return StatusCode::SUCCESS;
◆ findRestrictedEta()
void LVL1::L1EnergyCMXTools::findRestrictedEta |
( |
uint32_t & |
maskXE, |
|
|
uint32_t & |
maskTE |
|
) |
| const |
|
private |
form partial CMXEtSums (crate) from module CMXEtSums
Definition at line 175 of file L1EnergyCMXTools.cxx.
178 const float moduleEta[8] = {-4.,-2.,-1.2,-0.4,0.4,1.2,2.,4.};
181 bool maskXESet =
false;
182 bool maskTESet =
false;
185 std::vector<std::shared_ptr<TrigConf::L1Threshold>> allThresholds = l1Menu->thresholds();
186 for (
const auto&
thresh : allThresholds ) {
192 if (maskXE > 0) maskXESet =
true;
193 if (maskTE > 0) maskTESet =
true;
194 if (tvcs.size() == 0) {
195 tvcs.
addRangeValue(thresh_Calo->thrValueCounts(),-49, 49, 1,
true);
197 for (
const auto& tVC : tvcs) {
199 if (tVC.value() >= 0x7fff)
continue;
202 for (
unsigned int bin = 0;
bin < 8; ++
bin) {
203 if (moduleEta[
bin] > tVC.etaMin()*0.1 && moduleEta[
bin] < tVC.etaMax()*0.1)
208 for (
unsigned int bin = 0;
bin < 8; ++
bin) {
209 if (moduleEta[
bin] > tVC.etaMin()*0.1 && moduleEta[
bin] < tVC.etaMax()*0.1)
◆ formCMXEtSums()
◆ formCMXEtSumsCrate()
form partial CMXEtSums (crate) from module CMXEtSums
Implements LVL1::IL1EnergyCMXTools.
Definition at line 217 of file L1EnergyCMXTools.cxx.
223 ATH_MSG_DEBUG(
"Restricted eta masks: XE=" << MSG::hex << maskXE <<
", TE=" << maskTE << MSG::dec);
231 for (
auto iter : modulesVec)
237 cratesVecRestricted.push_back(cratesRestricted);
238 m_etTool->crateSums(modules, cratesFull);
239 m_etTool->crateSums(modules, cratesRestricted, maskXE, maskTE,
true);
247 for (
auto crate : cratesVecFull)
251 for (
auto crate : cratesVecRestricted)
◆ formCMXEtSumsEtMaps()
◆ formCMXEtSumsModule()
◆ formCMXEtSumsSystem()
◆ formJEMEtSums()
form JEMEtSums from JetElements
Temporary version for testing bytestream converters and monitoring.
Until ModuleEnergy et al updated takes masked and normal values the same. Effect of quadlinear encoding/decoding ignored. form JEMEtSums from JetElements
Implements LVL1::IL1EnergyCMXTools.
Definition at line 71 of file L1EnergyCMXTools.cxx.
80 for (; iter != iterE; ++iter)
82 if ((*iter)->emJetElementETVec().size() >
nslices)
84 nslices = (*iter)->emJetElementETVec().size();
85 peak = (*iter)->peak();
88 if ((*iter)->hadJetElementETVec().size() >
nslices)
90 nslices = (*iter)->hadJetElementETVec().size();
91 peak = (*iter)->peak();
97 m_jeTool->mapJetElements(jetElementVec, &jeMap);
109 for (; miter != miterE; ++miter)
◆ initialize()
StatusCode LVL1::L1EnergyCMXTools::initialize |
( |
| ) |
|
|
virtual |
standard Athena-Algorithm method
Initialisation.
Definition at line 45 of file L1EnergyCMXTools.cxx.
55 return StatusCode::SUCCESS;
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ interfaceID()
const InterfaceID & LVL1::IL1EnergyCMXTools::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
◆ moduleEnergyToEtSums()
Convert internal ModuleEnergy containers to JEMEtSums container.
Definition at line 475 of file L1EnergyCMXTools.cxx.
479 std::map<int, xAOD::JEMEtSums *> etMap;
480 unsigned int nslices = modulesVec.size();
487 for (;
pos != pose; ++
pos)
493 unsigned int ex =
energy->ex();
494 unsigned int ey =
energy->ey();
496 if (ex == 0 && ey == 0 &&
et == 0)
498 int crate =
energy->crate();
503 if (iter == etMap.end())
508 etMap.insert(std::make_pair(
key, sums));
513 std::vector<uint16_t> exVec(sums->
exVec());
514 std::vector<uint16_t> eyVec(sums->
eyVec());
515 std::vector<uint16_t> etVec(sums->
etVec());
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ renounce()
◆ renounceArray()
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ systemEnergyToEtSums()
Convert internal SystemEnergy objects to CMXEtSums object.
Definition at line 738 of file L1EnergyCMXTools.cxx.
744 unsigned int nslices = systemVec.size();
750 unsigned int ex =
energy->exTC();
751 unsigned int ey =
energy->eyTC();
753 int exOverflow =
energy->exOverflow();
754 int eyOverflow =
energy->eyOverflow();
755 int etOverflow =
energy->etOverflow();
758 if (ex == 0 && ey == 0 &&
et == 0 &&
759 exOverflow == 0 && eyOverflow == 0 && etOverflow == 0)
769 std::vector<uint16_t> exVec(sums->
exVec());
770 std::vector<uint16_t> eyVec(sums->
eyVec());
771 std::vector<uint16_t> etVec(sums->
etVec());
772 std::vector<uint32_t> exErr(sums->
exErrorVec());
773 std::vector<uint32_t> eyErr(sums->
eyErrorVec());
774 std::vector<uint32_t> etErr(sums->
etErrorVec());
781 DataError dEx(exErr[
slice]);
783 exErr[
slice] = dEx.error();
788 DataError dEy(eyErr[
slice]);
790 eyErr[
slice] = dEy.error();
794 DataError dEt(etErr[
slice]);
796 etErr[
slice] = dEt.error();
798 sums->
addEx(exVec, exErr);
799 sums->
addEy(eyVec, eyErr);
800 sums->
addEt(etVec, etErr);
◆ updateVHKA()
◆ m_debug
bool LVL1::L1EnergyCMXTools::m_debug = false |
|
private |
◆ m_detStore
◆ m_etTool
◆ m_evtStore
◆ m_jeTool
◆ m_L1MenuKey
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
JetConstituentVector::iterator iterator
virtual ValueWithEtaDependence< unsigned int > thrValuesCounts() const
access to the list of ThresholdValues in energy units
char data[hepevt_bytes_allocation_ATLAS]
Extra patterns decribing particle interation process.
void addEy(const std::vector< uint16_t > &eyVec, const std::vector< uint32_t > &eyErrorVec)
add Ey
Const iterator class for DataVector/DataList.
void setExVec(const std::vector< uint16_t > &)
set exVec - ex for all time slices
const std::vector< uint16_t > & exVec() const
get exVec
JEMEtSums_v2 JEMEtSums
Define the latest version of the JEMEtSums class.
virtual void initialize(const uint8_t crate, const uint8_t module)
initialize
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
CrateEnergy class declaration Simulates behaviour of the Crate-CMM System CMM logic is done in Energy...
const std::vector< uint16_t > & exVec() const
get exVec - ex for all time slices
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool msgLvl(const MSG::Level lvl) const
const std::vector< uint16_t > & etVec() const
get etVec
uint8_t peak() const
get peak
uint8_t crate() const
get crate number
uint8_t peak() const
get peak
virtual void setOwner(IDataHandleHolder *o)=0
const std::vector< uint16_t > & eyVec() const
get eyVec - ey for all time slices
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
void setEtVec(const std::vector< uint16_t > &)
set etVec - et for all time slices
std::map< int, const JetElement * > JetElementMap_t
Description of CMXEtSums_v1.
Description of JEMEtSums_v2.
uint8_t crate() const
get crate
void addEt(const std::vector< uint16_t > &etVec, const std::vector< uint32_t > &etErrorVec)
add data to existing object add Et
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
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< uint16_t > & etVec() const
Please note that in the context of JEMEtSums, et is total energy, not transverse energy For transvers...
const std::vector< uint32_t > & eyErrorVec() const
get eyErrorVec
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
CMXEtSums_v1 CMXEtSums
Define the latest version of the CMXEtSums class.
static std::string & typeAsString(TriggerType tt)
@ MISSING_ET_SIG_STANDARD
value_type push_back(value_type pElem)
Add an element to the end of the collection.
void makePrivateStore()
Create a new (empty) private store for this object.
void addEx(const std::vector< uint16_t > &exVec, const std::vector< uint32_t > &exErrorVec)
add Ex
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
void addRangeValue(const T &value, int etaMin, int etaMax, unsigned int priority, bool symmetric=true)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
const std::vector< uint32_t > & etErrorVec() const
get etErrorVec
uint8_t module() const
get module
uint8_t sourceComponent() const
get source
virtual void initialize(const uint8_t crate, const uint8_t source)
initialize
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
void setEyVec(const std::vector< uint16_t > &)
set eyVec - ey for all time slices
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
const std::vector< uint32_t > & exErrorVec() const
get exErrorVec
const std::vector< uint16_t > & eyVec() const
get eyVec