|
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 527 of file L1EnergyCMXTools.cxx.
531 std::map<int, xAOD::CMXEtSums *> etMap;
532 unsigned int nslices = cratesVec.size();
540 for (;
pos != pose; ++
pos)
543 unsigned int ex =
energy->exTC();
544 unsigned int ey =
energy->eyTC();
546 int exOverflow =
energy->exOverflow();
547 int eyOverflow =
energy->eyOverflow();
548 int etOverflow =
energy->etOverflow();
549 if (ex == 0 && ey == 0 &&
et == 0 &&
550 exOverflow == 0 && eyOverflow == 0 && etOverflow == 0)
552 int crate =
energy->crate();
555 for (
int i = 0;
i < 2; ++
i)
557 for (
int j = 0; j < 2; ++j)
561 if (iter == etMap.end())
567 etMap.insert(std::make_pair(
key, sums));
572 std::vector<uint16_t> exVec(sums->
exVec());
573 std::vector<uint16_t> eyVec(sums->
eyVec());
574 std::vector<uint16_t> etVec(sums->
etVec());
575 std::vector<uint32_t> exErr(sums->
exErrorVec());
576 std::vector<uint32_t> eyErr(sums->
eyErrorVec());
577 std::vector<uint32_t> etErr(sums->
etErrorVec());
583 DataError dEx(exErr[
slice]);
585 exErr[
slice] = dEx.error();
589 DataError dEy(eyErr[
slice]);
591 eyErr[
slice] = dEy.error();
595 DataError dEt(etErr[
slice]);
597 etErr[
slice] = dEt.error();
599 sums->
addEx(exVec, exErr);
600 sums->
addEy(eyVec, eyErr);
601 sums->
addEt(etVec, etErr);
◆ crateEnergyToEtSums() [2/2]
Definition at line 620 of file L1EnergyCMXTools.cxx.
624 std::map<int, xAOD::CMXEtSums *> etMap;
625 unsigned int nslices = cratesVecFull.size();
635 for (
unsigned int i = 0;
i < 2;
i++)
637 const auto *crates = (
i == 0 ? cratesVecFull[
slice] : cratesVecRestricted[
slice]);
640 for (
auto pos : *crates)
644 unsigned int ex =
energy->exTC();
645 unsigned int ey =
energy->eyTC();
647 int exOverflow =
energy->exOverflow();
648 int eyOverflow =
energy->eyOverflow();
649 int etOverflow =
energy->etOverflow();
650 if (ex == 0 && ey == 0 &&
et == 0 &&
651 exOverflow == 0 && eyOverflow == 0 && etOverflow == 0)
653 int crate =
energy->crate();
660 if (iter == etMap.end())
666 etMap.insert(std::make_pair(
key, sums));
671 std::vector<uint16_t> exVec(sums->
exVec());
672 std::vector<uint16_t> eyVec(sums->
eyVec());
673 std::vector<uint16_t> etVec(sums->
etVec());
674 std::vector<uint32_t> exErr(sums->
exErrorVec());
675 std::vector<uint32_t> eyErr(sums->
eyErrorVec());
676 std::vector<uint32_t> etErr(sums->
etErrorVec());
682 DataError dEx(exErr[
slice]);
684 exErr[
slice] = dEx.error();
688 DataError dEy(eyErr[
slice]);
690 eyErr[
slice] = dEy.error();
694 DataError dEt(etErr[
slice]);
696 etErr[
slice] = dEt.error();
698 sums->
addEx(exVec, exErr);
699 sums->
addEy(eyVec, eyErr);
700 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 805 of file L1EnergyCMXTools.cxx.
823 int nslicesRestricted = 0;
825 std::map<int, bool> isRestrictedMap;
828 for (
unsigned int i = 0;
i < systemVec.size(); ++
i)
830 bool isRestricted = (systemVec[
i]->roiWord0() >> 26) & 1;
831 isRestrictedMap[
i] = isRestricted;
841 std::vector<uint16_t> dataFull(nslicesFull);
842 std::vector<uint32_t> errorFull(nslicesFull);
844 std::vector<uint16_t> dataRestricted(nslicesRestricted);
845 std::vector<uint32_t> errorRestricted(nslicesRestricted);
848 int iSliceRestricted = 0;
851 for (
unsigned int i = 0;
i < systemVec.size(); ++
i)
853 SystemEnergy *
energy = systemVec[
i];
854 bool restricted = isRestrictedMap[
i];
856 std::vector<uint16_t>*
data;
857 std::vector<uint32_t>*
error;
860 sumEt = &sumEtRestricted;
861 missEt = &missEtRestricted;
862 missEtSig = &missEtSigRestricted;
863 iSlice = &iSliceRestricted;
864 data = &dataRestricted;
865 error = &errorRestricted;
870 missEt = &missEtFull;
871 missEtSig = &missEtSigFull;
872 iSlice = &iSliceFull;
877 unsigned int slice = *iSlice;
880 unsigned int etSumHits =
energy->etSumHits();
887 (*sumEt)->initialize(1, restricted
893 std::vector<uint16_t> etVec((*sumEt)->etVec());
894 etVec[
slice] = etSumHits;
896 (*sumEt)->addEx(etVec, *
error);
897 (*sumEt)->addEy(etVec, *
error);
898 (*sumEt)->addEt(etVec, *
error);
902 unsigned int etMissHits =
energy->etMissHits();
909 (*missEt)->initialize(1, restricted
915 std::vector<uint16_t> etVec((*missEt)->etVec());
916 etVec[
slice] = etMissHits;
917 (*missEt)->addEx(etVec, *
error);
918 (*missEt)->addEy(etVec, *
error);
919 (*missEt)->addEt(etVec, *
error);
921 unsigned int etMissSigHits =
energy->metSigHits();
931 std::vector<uint16_t> etVec((*missEtSig)->etVec());
932 etVec[
slice] = etMissSigHits;
933 (*missEtSig)->addEx(etVec, *
error);
934 (*missEtSig)->addEy(etVec, *
error);
935 (*missEtSig)->addEt(etVec, *
error);
◆ etSumsToCrateEnergy()
Convert CMXEtSums container to internal CrateEnergy containers.
Definition at line 361 of file L1EnergyCMXTools.cxx.
366 unsigned int nslicesFull = 0;
367 unsigned int nslicesRestricted = 0;
372 unsigned int *
nslices =
nullptr;
373 bool restricted =
false;
374 for (;
pos != pose; ++
pos)
377 int crate = sums->
crate();
387 crateVec = &crateVecRestricted;
391 crateVec = &crateVecFull;
395 if (sums->
peak() > peak)
413 for (
unsigned int sl = 0; sl <
slices; ++sl)
416 DataError exErr(exErrVec[sl]);
417 DataError eyErr(eyErrVec[sl]);
418 DataError etErr(etErrVec[sl]);
419 crates->
push_back(
new CrateEnergy(crate,
et[sl], ex[sl], ey[sl],
427 dumpCrateEnergies(
"Crates from restricted region (for total)", crateVecRestricted);
◆ etSumsToModuleEnergy()
◆ etSumsToSystemEnergy()
Convert CMXEtSums container to internal SystemEnergy objects.
Definition at line 432 of file L1EnergyCMXTools.cxx.
439 for (;
pos != pose; ++
pos)
445 if (sums->
peak() > peak)
455 for (
unsigned int sl = 0; sl <
slices; ++sl)
457 DataError exErr(exErrVec[sl]);
458 DataError eyErr(eyErrVec[sl]);
459 DataError etErr(etErrVec[sl]);
460 auto systemEnergy =
new SystemEnergy(
et[sl], ex[sl], ey[sl],
467 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.
177 const float moduleEta[8] = {-4.,-2.,-1.2,-0.4,0.4,1.2,2.,4.};
180 bool maskXESet =
false;
181 bool maskTESet =
false;
185 std::vector<std::shared_ptr<TrigConf::L1Threshold>> allThresholds = l1Menu->thresholds();
186 for (
const auto&
thresh : allThresholds ) {
187 if ( (
thresh->type() == def.xeType() ||
thresh->type() == def.teType()) &&
thresh->mapping() > 7 ) {
191 if (maskXE > 0) maskXESet =
true;
192 if (maskTE > 0) maskTESet =
true;
193 if (tvcs.size() == 0) {
194 tvcs.
addRangeValue(thresh_Calo->thrValueCounts(),-49, 49, 1,
true);
196 for (
const auto& tVC : tvcs) {
198 if (tVC.value() >= 0x7fff)
continue;
200 if (
thresh->type() == def.xeType() && !maskXESet ) {
201 for (
unsigned int bin = 0;
bin < 8; ++
bin) {
202 if (moduleEta[
bin] > tVC.etaMin()*0.1 && moduleEta[
bin] < tVC.etaMax()*0.1)
206 else if (
thresh->type() == def.teType() && !maskTESet ) {
207 for (
unsigned int bin = 0;
bin < 8; ++
bin) {
208 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 216 of file L1EnergyCMXTools.cxx.
222 ATH_MSG_DEBUG(
"Restricted eta masks: XE=" << MSG::hex << maskXE <<
", TE=" << maskTE << MSG::dec);
230 for (
auto iter : modulesVec)
236 cratesVecRestricted.push_back(cratesRestricted);
237 m_etTool->crateSums(modules, cratesFull);
238 m_etTool->crateSums(modules, cratesRestricted, maskXE, maskTE,
true);
246 for (
auto crate : cratesVecFull)
250 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 474 of file L1EnergyCMXTools.cxx.
478 std::map<int, xAOD::JEMEtSums *> etMap;
479 unsigned int nslices = modulesVec.size();
486 for (;
pos != pose; ++
pos)
492 unsigned int ex =
energy->ex();
493 unsigned int ey =
energy->ey();
495 if (ex == 0 && ey == 0 &&
et == 0)
497 int crate =
energy->crate();
502 if (iter == etMap.end())
507 etMap.insert(std::make_pair(
key, sums));
512 std::vector<uint16_t> exVec(sums->
exVec());
513 std::vector<uint16_t> eyVec(sums->
eyVec());
514 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 737 of file L1EnergyCMXTools.cxx.
743 unsigned int nslices = systemVec.size();
749 unsigned int ex =
energy->exTC();
750 unsigned int ey =
energy->eyTC();
752 int exOverflow =
energy->exOverflow();
753 int eyOverflow =
energy->eyOverflow();
754 int etOverflow =
energy->etOverflow();
757 if (ex == 0 && ey == 0 &&
et == 0 &&
758 exOverflow == 0 && eyOverflow == 0 && etOverflow == 0)
768 std::vector<uint16_t> exVec(sums->
exVec());
769 std::vector<uint16_t> eyVec(sums->
eyVec());
770 std::vector<uint16_t> etVec(sums->
etVec());
771 std::vector<uint32_t> exErr(sums->
exErrorVec());
772 std::vector<uint32_t> eyErr(sums->
eyErrorVec());
773 std::vector<uint32_t> etErr(sums->
etErrorVec());
780 DataError dEx(exErr[
slice]);
782 exErr[
slice] = dEx.error();
787 DataError dEy(eyErr[
slice]);
789 eyErr[
slice] = dEy.error();
793 DataError dEt(etErr[
slice]);
795 etErr[
slice] = dEt.error();
797 sums->
addEx(exVec, exErr);
798 sums->
addEy(eyVec, eyErr);
799 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.
@ 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