ATLAS Offline Software
Loading...
Searching...
No Matches
JiveXML::TruthParticleRetriever Class Reference

#include <TruthParticleRetriever.h>

Inheritance diagram for JiveXML::TruthParticleRetriever:
Collaboration diagram for JiveXML::TruthParticleRetriever:

Public Member Functions

 TruthParticleRetriever (const std::string &type, const std::string &name, const IInterface *parent)
 Standard Constructor.
virtual StatusCode retrieve (ToolHandle< IFormatTool > &FormatTool)
 Retrieve all the data.
virtual std::string dataTypeName () const
 Return the name of the data type.
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 ()
 Return the interface identifier.

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

const std::string m_typeName
 The data type that is generated by this retriever.
std::string m_sgKey
 properties:
int m_truthStatus
int m_truthMaximumPdgId
float m_truthPtCut
bool m_skimTruth
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

Definition at line 17 of file TruthParticleRetriever.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

◆ TruthParticleRetriever()

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

Standard Constructor.

Definition at line 15 of file TruthParticleRetriever.cxx.

15 :
16 AthAlgTool(type, name, parent),
17 m_typeName("CompositeParticle")
18 {
19
20 declareInterface<IDataRetriever>(this);
21
22 declareProperty("StoreGateKey", m_sgKey = "SpclMC","StoreGate key for TruthParticles");
23 declareProperty("TruthStatus", m_truthStatus = 2,"Truth status cut, currently not applied"); // currently unused
24 declareProperty("TruthMaximumPdgId", m_truthMaximumPdgId = 40,
25 "Maximum Truth PDG-ID, default:< 40");
26 declareProperty("TruthPtCut", m_truthPtCut = 10.,"pT cut on Truth, default 10 GeV");
27 declareProperty("SkimTruth", m_skimTruth = true,"Some criteria to skim most important Truth info ");
28 }
AthAlgTool()
Default constructor:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
const std::string m_typeName
The data type that is generated by this retriever.

Member Function Documentation

◆ dataTypeName()

virtual std::string JiveXML::TruthParticleRetriever::dataTypeName ( ) const
inlinevirtual

Return the name of the data type.

Implements JiveXML::IDataRetriever.

Definition at line 28 of file TruthParticleRetriever.h.

28{ return m_typeName; };

◆ 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 }

◆ 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

◆ 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 & JiveXML::IDataRetriever::interfaceID ( )
inlinestaticinherited

Return the interface identifier.

Definition at line 40 of file IDataRetriever.h.

40{ return IID_IDataRetriever; }
static const InterfaceID IID_IDataRetriever("JiveXML::IDataRetriever", 3, 0)

◆ 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 }

◆ retrieve()

StatusCode JiveXML::TruthParticleRetriever::retrieve ( ToolHandle< IFormatTool > & FormatTool)
virtual

Retrieve all the data.

Implements JiveXML::IDataRetriever.

Definition at line 32 of file TruthParticleRetriever.cxx.

32 {
33
34 const TruthParticleContainer *truthCont = NULL;
35
37 if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "No TruthParticle found in SG at "
38 << m_sgKey << endmsg;
39 return StatusCode::SUCCESS;
40 }
41 if ( evtStore()->retrieve(truthCont,m_sgKey).isFailure() ) {
42 if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "TruthParticle retrieval from SG failed "
43 << m_sgKey << endmsg;
44 return StatusCode::SUCCESS;
45 }
46 int nTruth = truthCont->size();
47
48 if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << " Retrieving TruthParticles with size " << nTruth << endmsg;
49
50//code from: PhysicsAnalysis/HiggsPhys/HiggsToFourLeptons/src/H4lElectronPerformanceTool.cxx
51
52 DataVect pt; pt.reserve(nTruth);
53 DataVect phi; phi.reserve(nTruth);
54 DataVect eta; eta.reserve(nTruth);
55 DataVect typeEV; typeEV.reserve(nTruth);
56 DataVect label; label.reserve(nTruth);
57 DataVect typeLabelStr; typeLabelStr.reserve(nTruth);
58 DataVect pdgId; pdgId.reserve(nTruth);
59 DataVect dataType; dataType.reserve(nTruth);
60
61 TruthParticleContainer::const_iterator mcpartItr = truthCont->begin();
62 TruthParticleContainer::const_iterator mcpartItrE = truthCont->end();
63
64 std::string truthLabels;
65 std::string statusList="_";
66 std::string typeLabel="n_a";
67 int pdgId2;
68 int motherPdgId;
69 int childPdgId;
70 int countTruth = 1;
71 bool samePdgIdFlag = false;
72 bool initialProcessFlag = false;
73 bool protectedParticleFlag = false;
74
75 for(; (mcpartItr != mcpartItrE) ; ++mcpartItr) { // loop over TruthParticle
76 samePdgIdFlag = false;
77 initialProcessFlag = false;
78 protectedParticleFlag = false;
79 statusList += std::to_string((*mcpartItr)->status()) + "_";
80
81 if ( (*mcpartItr)->et()/CLHEP::GeV < m_truthPtCut ){ continue; }
82 if ( abs( (*mcpartItr)->pdgId()) > m_truthMaximumPdgId ){ continue; }
83
84 pdgId2 = (*mcpartItr)->pdgId();
85
86 // important particles are protected (can come from gamma etc)
87 if (( abs(pdgId2) == 24 ) || ( abs(pdgId2) == 5 ) ||
88 ( abs(pdgId2) == 6 ) || ( abs(pdgId2) == 23 ) ||
89 ( abs(pdgId2) == 36 ) || ( abs(pdgId2) == 37 ) ||
90 ( abs(pdgId2) == 25 ) ){
91 protectedParticleFlag = true;
92 }
93
94 // particle has to originate from b,t,W,Z,H,A,H+- only
95 for ( unsigned int iMother = 0; iMother < (*mcpartItr)->nParents(); ++iMother ) {
96 bool motherHasPdgId = (*mcpartItr)->mother(iMother)->hasPdgId();
97 if ( motherHasPdgId ){
98 motherPdgId = (*mcpartItr)->mother(iMother)->pdgId();
99 if ( motherPdgId == pdgId2 ){ samePdgIdFlag = true; }
100 if (( abs(motherPdgId) == 24 ) || ( abs(motherPdgId) == 5 ) ||
101 ( abs(motherPdgId) == 6 ) || ( abs(motherPdgId) == 23 ) ||
102 ( abs(motherPdgId) == 36 ) || ( abs(motherPdgId) == 37 ) ||
103 ( abs(pdgId2) == 25 ) ){
104 initialProcessFlag = true;
105 }
106 }
107 }
108 // jump to next particle (ignore) if PdgId is same as mother
109 if (m_skimTruth){ // some skimming criteria for simpler display of Truth
110 if ( !initialProcessFlag && !protectedParticleFlag ){
111 // if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << " Particle rejected: not initial process " << endmsg;
112 continue;
113 }
114 }
115 if ( samePdgIdFlag ){
116 // if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << " Particle rejected: Same PdgId " << endmsg;
117 continue;
118 }
119
120 pt.push_back( DataType((*mcpartItr)->et()/CLHEP::GeV ) );
121 phi.push_back( DataType((*mcpartItr)->phi() ) );
122 eta.push_back( DataType((*mcpartItr)->eta() ) );
123 dataType.push_back( DataType( (*mcpartItr)->dataType() ));
124
125// if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << " TruthParticle No:" << countTruth << " pt:"
126// << (*mcpartItr)->et()/CLHEP::GeV << endmsg;
127
128 pdgId.push_back( DataType( pdgId2 ));
129
130 typeLabel = "n_a";
131 if( abs(pdgId2) == 11) typeLabel = "Electron";
132 if( abs(pdgId2) == 12) typeLabel = "NeutrinoElectron";
133 if( abs(pdgId2) == 13) typeLabel = "Muon";
134 if( abs(pdgId2) == 14) typeLabel = "NeutrinoMuon";
135 if( abs(pdgId2) == 15) typeLabel = "Tau";
136 if( abs(pdgId2) == 16) typeLabel = "NeutrinoTau";
137 if( pdgId2 == 6) typeLabel = "Top";
138 if( pdgId2 == -6) typeLabel = "AntiTop";
139 if( pdgId2 == 5) typeLabel = "Bottom";
140 if( pdgId2 == -5) typeLabel = "AntiBottom";
141 if( pdgId2 == 22) typeLabel = "Photon";
142 if( pdgId2 == 23) typeLabel = "Z0";
143 if( pdgId2 == 224) typeLabel = "Wplus";
144 if( pdgId2 == -24) typeLabel = "Wminus";
145 if( pdgId2 == 36) typeLabel = "A0";
146 if( pdgId2 == 25) typeLabel = "Higgs0";
147 if(( abs(pdgId2) >= 1) && ( abs(pdgId2) <= 4)) typeLabel = "LightQuark";
148
149 typeEV.push_back( DataType( typeLabel ) );
150
151 truthLabels = "No" + DataType( countTruth ).toString() +"_Pdg="
152 + DataType( (*mcpartItr)->pdgId() ).toString()
153 + "_stat=" + DataType( (*mcpartItr)->status() ).toString()
154 + "_nParents=" + DataType( (*mcpartItr)->nParents() ).toString()
155 + "_nDecay=" + DataType( (*mcpartItr)->nDecay() ).toString();
156
157 for ( unsigned int iChild = 0; iChild < (*mcpartItr)->nDecay(); ++iChild ) {
158 bool childHasPdgId = (*mcpartItr)->child(iChild)->hasPdgId();
159 if ( childHasPdgId ){
160 childPdgId = (*mcpartItr)->child(iChild)->pdgId();
161 truthLabels += "_CNo=" + DataType(iChild+1).toString() + "_CPdgId=" +
162 DataType( childPdgId ).toString() + "_CET=" +
163 DataType( (*mcpartItr)->child(iChild)->et()/CLHEP::GeV ).toString();
164 if ( (*mcpartItr)->child(iChild)->et()/CLHEP::GeV <= m_truthPtCut ){ continue; }
165 if (childPdgId == -11){
166 truthLabels += "_IntoElectron";
167 typeLabel += "_IntoElectron";
168 }
169 if (childPdgId == 11){
170 truthLabels += "_FromPositron";
171 typeLabel += "_FromPositron";
172 }
173 if (childPdgId == 13){
174 truthLabels += "_IntoMuonMinus";
175 typeLabel += "_IntoMuonMinus";
176 }
177 if (childPdgId == -13){
178 truthLabels += "_IntoMuonPlus";
179 typeLabel += "_IntoMuonPlus";
180 }
181 if (childPdgId == 15){
182 truthLabels += "_IntoTauMinus";
183 typeLabel += "_IntoTauMinus";
184 }
185 if (childPdgId == -15){
186 truthLabels += "_IntoTauPlus";
187 typeLabel += "_IntoTauPlus";
188 }
189 if (childPdgId == 5){
190 truthLabels += "_IntoBottom";
191 typeLabel += "_IntoBottom";
192 }
193 if (childPdgId == -5){
194 truthLabels += "_IntoAntiBottom";
195 typeLabel += "_IntoAntiBottom";
196 }
197 if (childPdgId == 6){
198 truthLabels += "_IntoTop";
199 typeLabel += "_IntoTop";
200 }
201 if (childPdgId == -6){
202 truthLabels += "_IntoAntiTop";
203 typeLabel += "_IntoAntiTop";
204 }
205 if ( ( abs(childPdgId) >= 1) && ( abs(childPdgId) <=4) ) {
206 truthLabels += "_IntoLightQuark";
207 typeLabel += "_IntoLightQuark";
208 }
209 if (childPdgId == -24){
210 truthLabels += "_IntoWminus";
211 typeLabel += "_IntoWminus";
212 }
213 if (childPdgId == 24){
214 truthLabels += "_IntoWplus";
215 typeLabel += "_IntoWplus";
216 }
217 if (childPdgId == 25){
218 truthLabels += "_IntoHiggs0";
219 typeLabel += "_IntoHiggs0";
220 }
221 if (childPdgId == 23){
222 truthLabels += "_IntoZ0";
223 typeLabel += "_IntoZ0";
224 }
225 }
226 }
227 for ( unsigned int iMother = 0; iMother < (*mcpartItr)->nParents(); ++iMother ) {
228 bool motherHasPdgId = (*mcpartItr)->mother(iMother)->hasPdgId();
229 if ( motherHasPdgId ){
230 int motherPdgId = (*mcpartItr)->mother(iMother)->pdgId();
231 truthLabels += "_MNo=" + DataType(iMother+1).toString() + "_MPdgId=" +
232 DataType( motherPdgId ).toString();
233 if ( (*mcpartItr)->mother(iMother)->et()/CLHEP::GeV <= m_truthPtCut ){ continue; }
234 if (motherPdgId == -24){
235 truthLabels += "_FromWminus";
236 typeLabel += "_FromWminus";
237 }
238 if (motherPdgId == 24){
239 truthLabels += "_FromWplus";
240 typeLabel += "_FromWplus";
241 }
242 if (motherPdgId == 25){
243 truthLabels += "_FromHiggs0";
244 typeLabel += "_FromHiggs0";
245 }
246 if (motherPdgId == 23){
247 truthLabels += "_FromZ0";
248 typeLabel += "_FromZ0";
249 }
250 if (motherPdgId == 6){
251 truthLabels += "_FromTop";
252 typeLabel += "_FromTop";
253 }
254 if (motherPdgId == -6){
255 truthLabels += "_FromAntiTop";
256 typeLabel += "_FromAntiTop";
257 }
258 if (motherPdgId == 5){
259 truthLabels += "_FromBottom";
260 typeLabel += "_FromBottom";
261 }
262 if (motherPdgId == -5){
263 truthLabels += "_FromAntiBottom";
264 typeLabel += "_FromAntiBottom";
265 }
266 if (motherPdgId == 36){
267 truthLabels += "_FromA0";
268 typeLabel += "_FromA0";
269 }
270 if (motherPdgId == 37){
271 truthLabels += "_FromHiggsPlus";
272 typeLabel += "_FromHiggsPlus";
273 }
274 if (motherPdgId == -37){
275 truthLabels += "_FromHiggsMinus";
276 typeLabel += "_FromHiggsMinus";
277 }
278 } // end of hasMotherPdgId
279 } // end of MotherParticle loop
280 countTruth++;
281 if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "TruthParticles label: " << DataType( truthLabels ).toString() << endmsg;
282 label.push_back( DataType( truthLabels ).toString() );
283 typeLabelStr.push_back( DataType( typeLabel ).toString() );
284
285 // log << MSG::DEBUG << "TruthParticles status: " << statusList << endmsg;
286 } // end of TruthParticle Loop
287 DataMap myDataMap;
288 const auto n = phi.size();
289 myDataMap["pt"] = std::move(pt);
290 myDataMap["phi"] = std::move(phi);
291 myDataMap["eta"] = std::move(eta);
292 myDataMap["typeEV"] = std::move(typeEV);
293 myDataMap["label"] = std::move(typeLabelStr);
294 myDataMap["pdgId"] = std::move(pdgId);
295 myDataMap["dataType"] = std::move(dataType);
296
297 if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << dataTypeName() << ": "<< n << endmsg;
298
299 //forward data to formating tool
300 return FormatTool->AddToEvent(dataTypeName(), m_sgKey, &myDataMap);
301 }
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
#define endmsg
OFFLINE_FRAGMENTS_NAMESPACE::PointerType DataType
Athena::TPCnvVers::Current TruthParticleContainer
ServiceHandle< StoreGateSvc > & evtStore()
bool msgLvl(const MSG::Level lvl) const
MsgStream & msg() const
DataModel_detail::const_iterator< DataVector > const_iterator
Definition DataVector.h:838
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
size_type size() const noexcept
Returns the number of elements in the collection.
virtual StatusCode retrieve(ToolHandle< IFormatTool > &FormatTool)
Retrieve all the data.
virtual std::string dataTypeName() const
Return the name of the data type.
bool contains(const std::string &s, const std::string &regx)
does a string contain the substring
Definition hcg.cxx:114
std::string label(const std::string &format, int i)
Definition label.h:19
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
std::map< std::string, DataVect > DataMap
Definition DataType.h:59
std::vector< DataType > DataVect
Defines a map with a key and a vector of DataType objects e.g.
Definition DataType.h:58

◆ 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_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_sgKey

std::string JiveXML::TruthParticleRetriever::m_sgKey
private

properties:

Definition at line 36 of file TruthParticleRetriever.h.

◆ m_skimTruth

bool JiveXML::TruthParticleRetriever::m_skimTruth
private

Definition at line 40 of file TruthParticleRetriever.h.

◆ m_truthMaximumPdgId

int JiveXML::TruthParticleRetriever::m_truthMaximumPdgId
private

Definition at line 38 of file TruthParticleRetriever.h.

◆ m_truthPtCut

float JiveXML::TruthParticleRetriever::m_truthPtCut
private

Definition at line 39 of file TruthParticleRetriever.h.

◆ m_truthStatus

int JiveXML::TruthParticleRetriever::m_truthStatus
private

Definition at line 37 of file TruthParticleRetriever.h.

◆ m_typeName

const std::string JiveXML::TruthParticleRetriever::m_typeName
private

The data type that is generated by this retriever.

Definition at line 33 of file TruthParticleRetriever.h.

◆ 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: