Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
EnergyCorrectionsPlugin.h
Go to the documentation of this file.
1
8#ifndef PANDORA_ENERGY_CORRECTIONS_PLUGIN_H
9#define PANDORA_ENERGY_CORRECTIONS_PLUGIN_H 1
10
13#include "Pandora/Process.h"
14
15namespace pandora
16{
17
18class TiXmlHandle;
19
20//------------------------------------------------------------------------------------------------------------------------------------------
21
26{
27public:
34 virtual StatusCode MakeEnergyCorrections(const Cluster *const pCluster, float &correctedEnergy) const = 0;
35
36protected:
37 friend class EnergyCorrections;
38};
39
40//------------------------------------------------------------------------------------------------------------------------------------------
41
46{
47public:
55 StatusCode MakeEnergyCorrections(const Cluster *const pCluster, float &correctedElectromagneticEnergy, float &correctedHadronicEnergy) const;
56
57private:
63 EnergyCorrections(const Pandora *const pPandora);
64
69
77 StatusCode RegisterPlugin(const std::string &pluginName, const EnergyCorrectionType energyCorrectionType,
78 EnergyCorrectionPlugin *const pEnergyCorrectionPlugin);
79
85 StatusCode InitializePlugins(const TiXmlHandle *const pXmlHandle);
86
87 typedef std::vector<EnergyCorrectionPlugin *> EnergyCorrectionPluginVector;
88
97 StatusCode InitializePlugin(const TiXmlHandle *const pXmlHandle, const std::string &xmlTagName,
98 const EnergyCorrectionType energyCorrectionType, EnergyCorrectionPluginVector &energyCorrectionPluginVector);
99
100 typedef std::map<std::string, EnergyCorrectionPlugin *> EnergyCorrectionPluginMap;
101
110
115
116 const Pandora *const m_pPandora;
121
122 friend class PandoraApiImpl;
123 friend class PluginManager;
124};
125
126} // namespace pandora
127
128#endif // #ifndef PANDORA_ENERGY_CORRECTIONS_PLUGIN_H
Header file for pandora enumerated types.
Header file defining relevant internal typedefs, sort and string conversion functions.
Header file for the process class.
Cluster class.
Definition Cluster.h:31
EnergyCorrectionPlugin class.
virtual StatusCode MakeEnergyCorrections(const Cluster *const pCluster, float &correctedEnergy) const =0
Make energy corrections to a cluster.
StatusCode InitializePlugin(const TiXmlHandle *const pXmlHandle, const std::string &xmlTagName, const EnergyCorrectionType energyCorrectionType, EnergyCorrectionPluginVector &energyCorrectionPluginVector)
Read requested plugin names/labels from a specified xml tag and attempt to assign the plugin pointers...
EnergyCorrectionPluginMap m_hadEnergyCorrectionPluginMap
The hadronic energy correction plugin map.
std::vector< EnergyCorrectionPlugin * > EnergyCorrectionPluginVector
StatusCode ResetForNextEvent()
Call the reset callback in all managed plugins.
StatusCode RegisterPlugin(const std::string &pluginName, const EnergyCorrectionType energyCorrectionType, EnergyCorrectionPlugin *const pEnergyCorrectionPlugin)
Register an energy correction plugin.
std::map< std::string, EnergyCorrectionPlugin * > EnergyCorrectionPluginMap
EnergyCorrectionPluginVector m_emEnergyCorrectionPlugins
The final electromagnetic energy correction plugin vector.
StatusCode InitializePlugins(const TiXmlHandle *const pXmlHandle)
Initialize plugins.
StatusCode MakeEnergyCorrections(const Cluster *const pCluster, float &correctedElectromagneticEnergy, float &correctedHadronicEnergy) const
Make an ordered list of energy corrections to a cluster.
EnergyCorrectionPluginMap m_emEnergyCorrectionPluginMap
The electromagnetic energy correction plugin map.
const Pandora *const m_pPandora
Address of the associated pandora instance.
EnergyCorrectionPluginVector m_hadEnergyCorrectionPlugins
The final hadronic energy correction plugin vector.
EnergyCorrectionPluginMap & GetEnergyCorrectionPluginMap(const EnergyCorrectionType energyCorrectionType)
Get the energy correction plugin map corresponding to the specified energy correction type.
PandoraApiImpl class.
Pandora class.
Definition Pandora.h:40
PluginManager class.
Process class.
Definition Process.h:27
EnergyCorrectionType
Energy correction type enum.
StatusCode
The StatusCode enum.