 |
ATLAS Offline Software
|
#include <MaxCellDecorator.h>
|
SG::ReadCondHandleKey< LArOnOffIdMapping > | m_cablingKey |
|
SG::ReadHandleKey< xAOD::EgammaContainer > | m_SGKey_photons { this, "SGKey_photons", "", "SG key of photon container" } |
|
SG::ReadHandleKey< xAOD::EgammaContainer > | m_SGKey_electrons |
|
SG::ReadHandleKey< xAOD::CaloClusterContainer > | m_SGKey_egammaClusters |
| This should be only for using run 2 reprocessing, which misses the cell link from LRT electron clusters : try to get info from the best matched "regular" egamma cluster. More...
|
|
SG::ReadHandleKey< xAOD::TauJetContainer > | m_SGKey_taus { this, "SGKey_taus", "", "SG key of tau container" } |
|
SG::ReadHandleKey< xAOD::JetContainer > | m_SGKey_jets { this, "SGKey_jets", "", "SG key of jet container" } |
|
Gaudi::Property< double > | m_dRLRTegClusegClusMax |
| matching cone size More...
|
|
SG::WriteDecorHandleKeyArray< xAOD::EgammaContainer > | m_SGKey_photons_decorations |
|
SG::WriteDecorHandleKeyArray< xAOD::EgammaContainer > | m_SGKey_electrons_decorations |
|
SG::WriteDecorHandleKeyArray< xAOD::TauJetContainer > | m_SGKey_taus_decorations |
|
SG::WriteDecorHandleKeyArray< xAOD::JetContainer > | m_SGKey_jets_decorations |
|
Definition at line 30 of file MaxCellDecorator.h.
◆ MaxCellDecorator()
DerivationFramework::MaxCellDecorator::MaxCellDecorator |
( |
const std::string & |
t, |
|
|
const std::string & |
n, |
|
|
const IInterface * |
p |
|
) |
| |
◆ ~MaxCellDecorator()
DerivationFramework::MaxCellDecorator::~MaxCellDecorator |
( |
| ) |
|
|
default |
◆ addBranches()
StatusCode DerivationFramework::MaxCellDecorator::addBranches |
( |
| ) |
const |
|
virtual |
Definition at line 118 of file MaxCellDecorator.cxx.
120 const EventContext& ctx = Gaudi::Hive::currentContext();
142 for (
const auto*
egamma : *importedPhotons) {
146 decorationPh0(*
egamma) =
res.maxEcell_time;
147 decorationPh1(*
egamma) =
res.maxEcell_energy;
148 decorationPh2(*
egamma) =
res.maxEcell_gain;
149 decorationPh3(*
egamma) =
res.maxEcell_onlId;
162 std::optional<SG::WriteDecorHandle<xAOD::EgammaContainer, float>> odecorationEl7;
167 egClContainer = egClContainerRH.ptr();
188 for (
const auto*
egamma : *importedElectrons) {
193 for (
const auto *clus : *egClContainer) {
194 double dR = clus->p4().DeltaR(
cluster->p4());
197 matchedCluster = clus;
201 odecorationEl7.value()(*egamma) = dRMin;
205 decorationEl0(*
egamma) =
res.maxEcell_time;
206 decorationEl1(*
egamma) =
res.maxEcell_energy;
207 decorationEl2(*
egamma) =
res.maxEcell_gain;
208 decorationEl3(*
egamma) =
res.maxEcell_onlId;
235 for (
const auto* tau : *importedTaus) {
237 res.maxEcell_energy = -9999.;
238 for (
size_t i = 0;
i<tau->nClusters();++
i) {
260 decorationTau1(*tau) =
res.maxEcell_energy;
261 decorationTau2(*tau) =
res.maxEcell_gain;
262 decorationTau3(*tau) =
res.maxEcell_onlId;
263 decorationTau4(*tau) =
res.maxEcell_x;
264 decorationTau5(*tau) =
res.maxEcell_y;
265 decorationTau6(*tau) =
res.maxEcell_z;
289 for (
const auto*
jet : *importedJets) {
291 res.maxEcell_energy = -9999.;
292 std::vector<const xAOD::CaloCluster*> clusterList;
294 for (
auto part :
jet->getConstituents()) {
303 clusterList.push_back(cluster);
309 for (
unsigned int cidx=0;cidx<iPFO->
nCaloCluster();++cidx) {
311 clusterList.push_back(iPFO->
cluster(cidx));
319 for (
auto cluster : clusterList) {
328 decorationJet1(*
jet) =
res.maxEcell_energy;
329 decorationJet2(*
jet) =
res.maxEcell_gain;
330 decorationJet3(*
jet) =
res.maxEcell_onlId;
331 decorationJet4(*
jet) =
res.maxEcell_x;
332 decorationJet5(*
jet) =
res.maxEcell_y;
333 decorationJet6(*
jet) =
res.maxEcell_z;
337 return StatusCode::SUCCESS;
◆ decorateObject()
Definition at line 341 of file MaxCellDecorator.cxx.
349 if (!
cluster->getCellLinks()) {
363 const CaloCell* cell_maxE =
nullptr;
365 int sampling =
cell->caloDDE()->getSampling();
367 if ((
cell->provenance() & 0x2000)) {
368 if (
cell->energy() > emax) {
369 emax =
cell->energy();
384 result.maxEcell_x = caloDDEl->
x();
385 result.maxEcell_y = caloDDEl->
y();
386 result.maxEcell_z = caloDDEl->
z();
◆ finalize()
StatusCode DerivationFramework::MaxCellDecorator::finalize |
( |
| ) |
|
◆ initialize()
StatusCode DerivationFramework::MaxCellDecorator::initialize |
( |
| ) |
|
◆ m_cablingKey
Initial value:{
this,
"CablingKey",
"LArOnOffIdMap",
"SG Key of LArOnOffIdMapping object"
}
Definition at line 53 of file MaxCellDecorator.h.
◆ m_dRLRTegClusegClusMax
Gaudi::Property<double> DerivationFramework::MaxCellDecorator::m_dRLRTegClusegClusMax |
|
private |
Initial value:{
this,
"dRLRTegClusegClusMax",
0.05,
"Maximum delta R to match LRT egammaCluster to std egammaCluster"
}
matching cone size
Definition at line 87 of file MaxCellDecorator.h.
◆ m_SGKey_egammaClusters
Initial value:{
this,
"SGKey_egammaClusters",
"",
"SG key of cluster container associated to standard egammas"
}
This should be only for using run 2 reprocessing, which misses the cell link from LRT electron clusters : try to get info from the best matched "regular" egamma cluster.
Definition at line 73 of file MaxCellDecorator.h.
◆ m_SGKey_electrons
Initial value:{
this,
"SGKey_electrons",
"",
"SG key of electron container"
}
Definition at line 63 of file MaxCellDecorator.h.
◆ m_SGKey_electrons_decorations
Initial value:{
this,
"SGKey_electrons_decorations_noConf",
{},
"SG keys for electrons decorations not really configurable"
}
Definition at line 103 of file MaxCellDecorator.h.
◆ m_SGKey_jets
◆ m_SGKey_jets_decorations
Initial value:{
this,
"SGKey_jets_decorations_noConf",
{},
"SG keys for jet decorations not really configurable"
}
Definition at line 119 of file MaxCellDecorator.h.
◆ m_SGKey_photons
◆ m_SGKey_photons_decorations
Initial value:{
this,
"SGKey_photons_decorations_noConf",
{},
"SG keys for photon decorations not really configurable"
}
Definition at line 95 of file MaxCellDecorator.h.
◆ m_SGKey_taus
◆ m_SGKey_taus_decorations
Initial value:{
this,
"SGKey_taus_decorations_noConf",
{},
"SG keys for tau decorations not really configurable"
}
Definition at line 111 of file MaxCellDecorator.h.
The documentation for this class was generated from the following files:
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
xAOD::ElectronContainer * electronContainer
SG::WriteDecorHandleKeyArray< xAOD::EgammaContainer > m_SGKey_electrons_decorations
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_SGKey_egammaClusters
This should be only for using run 2 reprocessing, which misses the cell link from LRT electron cluste...
SG::ReadHandleKey< xAOD::EgammaContainer > m_SGKey_electrons
Gaudi::Property< double > m_dRLRTegClusegClusMax
matching cone size
#define ATH_MSG_VERBOSE(x)
const std::string & key() const
Return the StoreGate ID for the referenced object.
float time() const
get time (data member)
Class providing the definition of the 4-vector interface.
double energy() const
get energy (data member)
SG::ReadHandleKey< xAOD::TauJetContainer > m_SGKey_taus
Identifier identify() const override final
cell identifier
Description of a calorimeter cluster.
unsigned int nCaloCluster() const
Find out how many CaloCluster are linked.
SG::ReadHandleKey< xAOD::JetContainer > m_SGKey_jets
SG::WriteDecorHandleKeyArray< xAOD::TauJetContainer > m_SGKey_taus_decorations
const CaloDetDescrElement * caloDDE() const
get pointer to CaloDetDescrElement (data member)
Handle class for adding a decoration to an object.
std::pair< std::vector< unsigned int >, bool > res
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
xAOD::PhotonContainer * photonContainer
SG::ReadHandleKey< xAOD::EgammaContainer > m_SGKey_photons
SG::WriteDecorHandleKeyArray< xAOD::JetContainer > m_SGKey_jets_decorations
Class describing a particle flow object.
CaloGain::CaloGain gain() const
get gain (data member )
StatusCode initialize(bool used=true)
SG::WriteDecorHandleKeyArray< xAOD::EgammaContainer > m_SGKey_photons_decorations
Data object for each calorimeter readout cell.
#define ATH_MSG_WARNING(x)
calculation decorateObject(const xAOD::CaloCluster *cluster, const EventContext &ctx) const
const CaloCluster * cluster(unsigned int index) const
Retrieve a const pointer to a CaloCluster.