ATLAS Offline Software
Loading...
Searching...
No Matches
CaloLCClassificationTool Class Reference

classify clusters according to their probability to stem from an em object More...

#include <CaloLCClassificationTool.h>

Inheritance diagram for CaloLCClassificationTool:
Collaboration diagram for CaloLCClassificationTool:

Public Member Functions

virtual ~CaloLCClassificationTool ()
virtual CaloRecoStatus::StatusIndicator classify (xAOD::CaloCluster *thisCluster) const override
 method to return the classification status of a cluster.
virtual StatusCode initialize () override
 CaloLCClassificationTool (const std::string &type, const std::string &name, const IInterface *parent)
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Static Public Member Functions

static const InterfaceID & interfaceID ()

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

SG::ReadCondHandleKey< CaloLocalHadCoeffm_key {this, "ClassificationKey", "EMFracClassify"}
 name of the key for em fraction data
Gaudi::Property< bool > m_useSpread {this, "UseSpread", false}
 if set to true the spread of EM probabilities in each bin is taken into account for classification otherwise only the mean is used
Gaudi::Property< bool > m_useNormalizedEnergyDensity {this, "UseNormalizedEnergyDensity", true}
 old data depends on energy density while new data depends on energy density over energy.
Gaudi::Property< double > m_maxProbability {this, "MaxProbability", 0.5}
 cut value on EM probability below which all clusters are classified as hadronic
Gaudi::Property< bool > m_storeClassificationProbabilityInAOD {this, "StoreClassificationProbabilityInAOD", true}
 if true the phase space probability based on single pions that the current cluster stems from a pi0 is saved on AOD as a moment.
Gaudi::Property< bool > m_interpolate {this, "Interpolate", false}
 interpolate correction coefficients
Gaudi::Property< std::vector< std::string > > m_interpolateDimensionNames
 vector of names of dimensions in look-up tables to interpolate
std::vector< int > m_interpolateDimensions
 actual set of dimension id's to interpolate
Gaudi::Property< bool > m_absOpt {this, "WeightingOfNegClusters", false}
 is set to true, classify neg.
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

classify clusters according to their probability to stem from an em object

Version
$Id: CaloLCClassificationTool.h,v 1.6 2009-01-27 09:09:14 gunal Exp $
Author
Sven Menke menke.nosp@m.@mpp.nosp@m.mu.mp.nosp@m.g.de
Date
27-September-2005

concrete class implementing a IClusterClassificationTool to classify clusters according to their probability to be caused by an electromagnetic decaying particle or shower. Clusters with high em probability should not be weighted. This tool reads its data from pool containing TProfile2D based em-probability data.

Definition at line 28 of file CaloLCClassificationTool.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ ~CaloLCClassificationTool()

CaloLCClassificationTool::~CaloLCClassificationTool ( )
virtualdefault

◆ CaloLCClassificationTool()

CaloLCClassificationTool::CaloLCClassificationTool ( const std::string & type,
const std::string & name,
const IInterface * parent )

Definition at line 30 of file CaloLCClassificationTool.cxx.

33 : AthAlgTool(type,name,parent)
34{
35 declareInterface<IClusterClassificationTool>(this);
36}
AthAlgTool()
Default constructor:

Member Function Documentation

◆ classify()

CaloRecoStatus::StatusIndicator CaloLCClassificationTool::classify ( xAOD::CaloCluster * thisCluster) const
overridevirtual

method to return the classification status of a cluster.

Parameters
theClusterthe pointer to the CaloCluster to be classified

this method is purely virtual because every derived class needs to implement it.

Implements IClusterClassificationTool.

Definition at line 63 of file CaloLCClassificationTool.cxx.

64{
65 const CaloLocalHadCoeff* condObject(nullptr);
66 SG::ReadCondHandle<CaloLocalHadCoeff> rch(m_key);
67 condObject = *rch;
68 if(condObject==nullptr) {
69 ATH_MSG_ERROR("Unable to access conditions object");
71 }
72
73 CaloLCCoeffHelper hp;
75
77 double probPi0 = 0;
78 // on ESD only
79 std::vector<float> vars(6);
80 if ( thisCluster->e() > 0 || m_absOpt ) { //with abs option, always weight cluster
81 double log10cluse = log10(thisCluster->e());
82 if( m_absOpt ) log10cluse = log10(fabs(thisCluster->e()));
83 double log10cluseOrig = log10cluse;
84
85 const CaloLocalHadCoeff::LocalHadDimension *logeDim = condObject->getArea(0)->getDimension(3);
86 double lemax = logeDim->getXmax()-0.5*logeDim->getDx();
87 double lemin = logeDim->getXmin()+0.5*logeDim->getDx();
88 if ( log10cluse > lemax )
89 log10cluse = lemax;
90 if ( log10cluse < lemin )
91 log10cluse = lemin;
92
93 double m1_dens,center_lambda;
94 //Fixme ... check moavailability ..
95 if (thisCluster->retrieveMoment(CaloCluster::FIRST_ENG_DENS,m1_dens) &&
96 thisCluster->retrieveMoment(CaloCluster::CENTER_LAMBDA,center_lambda)) {
97 if ( m1_dens > 0 && center_lambda > 0) {
98 const double abseta = fabs(thisCluster->eta());
99 double log10edens = log10(m1_dens);
100 if ( m_useNormalizedEnergyDensity ) log10edens -= log10cluseOrig;
101 double log10lambda = log10(center_lambda);
102
103 vars[CaloLocalHadDefs::DIMC_SIDE] = static_cast<float> ((thisCluster->eta()<0?-1.0:1.0));
104 vars[CaloLocalHadDefs::DIMC_ETA] = static_cast<float> (abseta);
105 vars[CaloLocalHadDefs::DIMC_PHI] = static_cast<float> (thisCluster->phi());
106 vars[CaloLocalHadDefs::DIMC_ENER] = static_cast<float> (log10cluse);
107 vars[CaloLocalHadDefs::DIMC_EDENS] = static_cast<float> (log10edens);
108 vars[CaloLocalHadDefs::DIMC_LAMBDA] = static_cast<float> (log10lambda);
109
110 bool isDataOK = false;
111 double emProb(0);
112
113 int iBin = condObject->getBin(0,vars);
114 if ( iBin >= 0 ) {
115 const CaloLocalHadCoeff::LocalHadCoeff * pData = condObject->getCoeff(iBin);
116 if ( pData && (*pData)[CaloLocalHadDefs::BIN_ENTRIES] > 0 ) {
117 isDataOK = true;
118 emProb = (*pData)[CaloLocalHadDefs::BIN_WEIGHT];
119 if (m_useSpread) {
120 double emErr = sqrt((*pData)[CaloLocalHadDefs::BIN_ENTRIES])*(*pData)[CaloLocalHadDefs::BIN_ERROR];
121 emProb += emErr;
122 }
123
124 if(m_interpolate) {
125 // accesing interpolated coefficients
126 bool isa = CaloLCCoeffHelper::Interpolate(condObject, 0,vars,parint, m_interpolateDimensions);
127 if(isa) {
128 if ( parint[CaloLocalHadDefs::BIN_ENTRIES] > 0 ) {
129 isDataOK = true;
130 emProb = parint[CaloLocalHadDefs::BIN_WEIGHT];
131 if (m_useSpread) {
132 double emErr = sqrt(parint[CaloLocalHadDefs::BIN_ENTRIES])*parint[CaloLocalHadDefs::BIN_ERROR];
133 emProb += emErr;
134 }
135 }
136 }//end if isa
137 }//end if m_interpolate
138 } //end if pData
139 } //end if iBin
140
141 if(isDataOK) {
142 probPi0 = emProb;
143 if ( emProb < m_maxProbability )
145 else
146 recStat = CaloRecoStatus::TAGGEDEM;
147 }
148
149 } // if >0
150 } //if got sucessfully retrieved moments
151 else {
152 ATH_MSG_ERROR( "Can not retrieve one or more of the cluster moments "
153 << "CENTER_LAMBDA, FIRST_ENG_DENS for current cluster"
154 << "- classification not possible - "
155 << "you need to enable those moments in the cluster maker!"
156 );
158 }
159 }
160
161 thisCluster->insertMoment(CaloCluster::EM_PROBABILITY,probPi0);
162 thisCluster->insertMoment(CaloCluster::HAD_WEIGHT,1.0);
163 thisCluster->insertMoment(CaloCluster::OOC_WEIGHT,1.0);
164 thisCluster->insertMoment(CaloCluster::DM_WEIGHT,1.0);
165
166 return recStat;
167}
#define ATH_MSG_ERROR(x)
SG::ReadCondHandleKey< CaloLocalHadCoeff > m_key
name of the key for em fraction data
Gaudi::Property< bool > m_useNormalizedEnergyDensity
old data depends on energy density while new data depends on energy density over energy.
std::vector< int > m_interpolateDimensions
actual set of dimension id's to interpolate
Gaudi::Property< bool > m_absOpt
is set to true, classify neg.
Gaudi::Property< bool > m_interpolate
interpolate correction coefficients
Gaudi::Property< bool > m_useSpread
if set to true the spread of EM probabilities in each bin is taken into account for classification ot...
Gaudi::Property< double > m_maxProbability
cut value on EM probability below which all clusters are classified as hadronic
static bool Interpolate(const CaloLocalHadCoeff *m_data, const unsigned int n_area, std::vector< float > &x, CaloLocalHadCoeff::LocalHadCoeff &pars, const std::vector< int > &dim, double xfit=0.)
float getDx() const
return size of bin
float getXmax() const
return maximum value for the last bin
float getXmin() const
return minimum value for the first bin
std::vector< float > LocalHadCoeff
Correction parameters for one general bin.
StatusIndicator
reconstruction status word
bool retrieveMoment(MomentType type, double &value) const
Retrieve individual moment.
virtual double eta() const
The pseudorapidity ( ) of the particle.
virtual double e() const
The total energy of the particle.
void insertMoment(MomentType type, double value)
virtual double phi() const
The azimuthal angle ( ) of the particle.
@ OOC_WEIGHT
Out-of-cluster weight (E_ooc/E_w)
@ EM_PROBABILITY
Classification probability to be em-like.
@ DM_WEIGHT
Dead-material weight (E_dm/E_ooc)
@ FIRST_ENG_DENS
First Moment in E/V.
@ HAD_WEIGHT
Hadronic weight (E_w/E_em)
@ CENTER_LAMBDA
Shower depth at Cluster Centroid.

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

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

◆ initialize()

StatusCode CaloLCClassificationTool::initialize ( )
overridevirtual

Definition at line 38 of file CaloLCClassificationTool.cxx.

39{
40 ATH_MSG_INFO( "Initializing " << name() );
41
42 ATH_CHECK( m_key.initialize() );
43
44 if(m_interpolate) {
45 msg(MSG::INFO) << "Interpolation is ON, dimensions: ";
46 for(std::vector<std::string>::iterator it=m_interpolateDimensionNames.begin(); it!=m_interpolateDimensionNames.end(); ++it){
47 msg() << " " << (*it);
48 }
49 msg() << endmsg;
50 for(std::vector<std::string>::iterator it=m_interpolateDimensionNames.begin(); it!=m_interpolateDimensionNames.end(); ++it){
53 m_interpolateDimensions.push_back(int(id));
54 }else{
55 ATH_MSG_WARNING( "Dimension '" << (*it) << "' is invalid and will be excluded." );
56 }
57 }
58 }
59
60 return StatusCode::SUCCESS;
61}
#define endmsg
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_INFO(x)
#define ATH_MSG_WARNING(x)
MsgStream & msg() const
Gaudi::Property< std::vector< std::string > > m_interpolateDimensionNames
vector of names of dimensions in look-up tables to interpolate
static CaloLocalHadDefs::LocalHadDimensionId getDimensionId(const std::string &dimensionName)
LocalHadDimensionId
enums to identify user dimensions id number DIMC_* - classification, DIMW_*-weighting,...

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

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 & IClusterClassificationTool::interfaceID ( )
inlinestaticinherited

Definition at line 28 of file IClusterClassificationTool.h.

28 {
29 static const InterfaceID IID_IClusterClassificationTool("IClusterClassificationTool", 1 , 0);
30 return IID_IClusterClassificationTool;
31 }

◆ msg()

MsgStream & AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

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()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ m_absOpt

Gaudi::Property<bool> CaloLCClassificationTool::m_absOpt {this, "WeightingOfNegClusters", false}
private

is set to true, classify neg.

Clusters as well

Definition at line 115 of file CaloLCClassificationTool.h.

115{this, "WeightingOfNegClusters", false};

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_interpolate

Gaudi::Property<bool> CaloLCClassificationTool::m_interpolate {this, "Interpolate", false}
private

interpolate correction coefficients

Definition at line 100 of file CaloLCClassificationTool.h.

100{this, "Interpolate", false};

◆ m_interpolateDimensionNames

Gaudi::Property<std::vector<std::string> > CaloLCClassificationTool::m_interpolateDimensionNames
private
Initial value:
{this, "InterpolateDimensionNames"
, {"DIMC_ETA", "DIMC_EDENS", "DIMC_LAMBDA"}}

vector of names of dimensions in look-up tables to interpolate

Definition at line 104 of file CaloLCClassificationTool.h.

104 {this, "InterpolateDimensionNames"
105 , {"DIMC_ETA", "DIMC_EDENS", "DIMC_LAMBDA"}};

◆ m_interpolateDimensions

std::vector<int> CaloLCClassificationTool::m_interpolateDimensions
private

actual set of dimension id's to interpolate

Definition at line 110 of file CaloLCClassificationTool.h.

◆ m_key

SG::ReadCondHandleKey<CaloLocalHadCoeff> CaloLCClassificationTool::m_key {this, "ClassificationKey", "EMFracClassify"}
private

name of the key for em fraction data

Definition at line 47 of file CaloLCClassificationTool.h.

47{this, "ClassificationKey", "EMFracClassify"};

◆ m_maxProbability

Gaudi::Property<double> CaloLCClassificationTool::m_maxProbability {this, "MaxProbability", 0.5}
private

cut value on EM probability below which all clusters are classified as hadronic

Useful values are around 0.5. Clusters in Bins with an average EM probability below this cut value are tagged as hadronic. Clusters in Bins with an average EM probability above this value are considered electromagnetic and clusters falling in bins with no information are tagged as unknown.

Definition at line 83 of file CaloLCClassificationTool.h.

83{this, "MaxProbability", 0.5};

◆ m_storeClassificationProbabilityInAOD

Gaudi::Property<bool> CaloLCClassificationTool::m_storeClassificationProbabilityInAOD {this, "StoreClassificationProbabilityInAOD", true}
private

if true the phase space probability based on single pions that the current cluster stems from a pi0 is saved on AOD as a moment.

If false the moment goes to ESD only.

Classification histos report this quantity. The subsequent calibration functions can retrieve this probability if stored as moment and weight the respective calibration by this (or 1 minus it) to avoid overcorrections.

Definition at line 95 of file CaloLCClassificationTool.h.

95{this, "StoreClassificationProbabilityInAOD", true};

◆ m_useNormalizedEnergyDensity

Gaudi::Property<bool> CaloLCClassificationTool::m_useNormalizedEnergyDensity {this, "UseNormalizedEnergyDensity", true}
private

old data depends on energy density while new data depends on energy density over energy.

This bool is needed to switch.

Classification histos have energy density or normalized energy density for the x-axis. The old cond data is not normalized which causes problems for neutral pions. The new cond data is and this switch selects the proper normalization for the tool.

Definition at line 71 of file CaloLCClassificationTool.h.

71{this, "UseNormalizedEnergyDensity", true};

◆ m_useSpread

Gaudi::Property<bool> CaloLCClassificationTool::m_useSpread {this, "UseSpread", false}
private

if set to true the spread of EM probabilities in each bin is taken into account for classification otherwise only the mean is used

For some regions of phase space the spread in the EM probability values can be quite large. If this property is set to true the EM probability which is maximaly consistent with the current bin is calculated (mean+spread) and in case the property is false just the mean is used to estimate the EM probability.

Definition at line 60 of file CaloLCClassificationTool.h.

60{this, "UseSpread", false};

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files: