Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
PandoraContentApi.cc
Go to the documentation of this file.
1
11
12#include "Pandora/Algorithm.h"
13#include "Pandora/Pandora.h"
14
16{
17 return algorithm.GetPandora().GetPandoraContentApiImpl()->GetSettings();
18}
19
20//------------------------------------------------------------------------------------------------------------------------------------------
21
23{
24 return algorithm.GetPandora().GetPandoraContentApiImpl()->GetGeometry();
25}
26
27//------------------------------------------------------------------------------------------------------------------------------------------
28
30{
31 return algorithm.GetPandora().GetPandoraContentApiImpl()->GetPlugins();
32}
33
34//------------------------------------------------------------------------------------------------------------------------------------------
35
37{
38 return algorithm.GetPandora().GetPandoraContentApiImpl()->RepeatEventPreparation();
39}
40
41//------------------------------------------------------------------------------------------------------------------------------------------
42
44 pandora::AlgorithmTool *&pAlgorithmTool)
45{
46 return algorithm.GetPandora().GetPandoraContentApiImpl()->CreateAlgorithmTool(pXmlElement, pAlgorithmTool);
47}
48
49//------------------------------------------------------------------------------------------------------------------------------------------
50
52 std::string &daughterAlgorithmName)
53{
54 return algorithm.GetPandora().GetPandoraContentApiImpl()->CreateDaughterAlgorithm(pXmlElement, daughterAlgorithmName);
55}
56
57//------------------------------------------------------------------------------------------------------------------------------------------
58
59pandora::StatusCode PandoraContentApi::RunDaughterAlgorithm(const pandora::Algorithm &algorithm, const std::string &daughterAlgorithmName)
60{
61 return algorithm.GetPandora().GetPandoraContentApiImpl()->RunAlgorithm(daughterAlgorithmName);
62}
63
64//------------------------------------------------------------------------------------------------------------------------------------------
65
66pandora::StatusCode PandoraContentApi::RunClusteringAlgorithm(const pandora::Algorithm &algorithm, const std::string &clusteringAlgorithmName,
67 const pandora::ClusterList *&pNewClusterList, std::string &newClusterListName)
68{
69 return algorithm.GetPandora().GetPandoraContentApiImpl()->RunClusteringAlgorithm(algorithm, clusteringAlgorithmName, pNewClusterList, newClusterListName);
70}
71
72//------------------------------------------------------------------------------------------------------------------------------------------
73
74template <typename T>
76{
77 std::string listName;
78 return algorithm.GetPandora().GetPandoraContentApiImpl()->GetCurrentList(pT, listName);
79}
80
81//------------------------------------------------------------------------------------------------------------------------------------------
82
83template <typename T>
84pandora::StatusCode PandoraContentApi::GetCurrentList(const pandora::Algorithm &algorithm, const T *&pT, std::string &listName)
85{
86 return algorithm.GetPandora().GetPandoraContentApiImpl()->GetCurrentList(pT, listName);
87}
88
89//------------------------------------------------------------------------------------------------------------------------------------------
90
91template <typename T>
93{
94 return algorithm.GetPandora().GetPandoraContentApiImpl()->GetCurrentListName<T>(listName);
95}
96
97//------------------------------------------------------------------------------------------------------------------------------------------
98
99template <typename T>
100pandora::StatusCode PandoraContentApi::ReplaceCurrentList(const pandora::Algorithm &algorithm, const std::string &newListName)
101{
102 return algorithm.GetPandora().GetPandoraContentApiImpl()->ReplaceCurrentList<T>(algorithm, newListName);
103}
104
105//------------------------------------------------------------------------------------------------------------------------------------------
106
107template <typename T>
109{
110 return algorithm.GetPandora().GetPandoraContentApiImpl()->DropCurrentList<T>(algorithm);
111}
112
113//------------------------------------------------------------------------------------------------------------------------------------------
114
115template <typename T>
116pandora::StatusCode PandoraContentApi::GetList(const pandora::Algorithm &algorithm, const std::string &listName, const T *&pT)
117{
118 return algorithm.GetPandora().GetPandoraContentApiImpl()->GetList(listName, pT);
119}
120
121//------------------------------------------------------------------------------------------------------------------------------------------
122
123template <typename T>
124pandora::StatusCode PandoraContentApi::RenameList(const pandora::Algorithm &algorithm, const std::string &oldListName, const std::string &newListName)
125{
126 return algorithm.GetPandora().GetPandoraContentApiImpl()->RenameList<T>(oldListName, newListName);
127}
128
129//------------------------------------------------------------------------------------------------------------------------------------------
130
131template <typename T>
132pandora::StatusCode PandoraContentApi::SaveList(const pandora::Algorithm &algorithm, const T &t, const std::string &newListName)
133{
134 return algorithm.GetPandora().GetPandoraContentApiImpl()->SaveList(t, newListName);
135}
136
137//------------------------------------------------------------------------------------------------------------------------------------------
138
139template <typename T>
140pandora::StatusCode PandoraContentApi::SaveList(const pandora::Algorithm &algorithm, const std::string &newListName)
141{
142 return algorithm.GetPandora().GetPandoraContentApiImpl()->SaveList<T>(newListName);
143}
144
145//------------------------------------------------------------------------------------------------------------------------------------------
146
147template <typename T>
148pandora::StatusCode PandoraContentApi::SaveList(const pandora::Algorithm &algorithm, const std::string &oldListName,
149 const std::string &newListName)
150{
151 return algorithm.GetPandora().GetPandoraContentApiImpl()->SaveList<T>(oldListName, newListName);
152}
153
154//------------------------------------------------------------------------------------------------------------------------------------------
155
156template <typename T>
157pandora::StatusCode PandoraContentApi::SaveList(const pandora::Algorithm &algorithm, const std::string &newListName, const T &t)
158{
159 return algorithm.GetPandora().GetPandoraContentApiImpl()->SaveList(newListName, t);
160}
161
162//------------------------------------------------------------------------------------------------------------------------------------------
163
164template <typename T>
165pandora::StatusCode PandoraContentApi::SaveList(const pandora::Algorithm &algorithm, const std::string &oldListName,
166 const std::string &newListName, const T &t)
167{
168 return algorithm.GetPandora().GetPandoraContentApiImpl()->SaveList(oldListName, newListName, t);
169}
170
171//------------------------------------------------------------------------------------------------------------------------------------------
172
173template <typename T>
175{
176 return algorithm.GetPandora().GetPandoraContentApiImpl()->TemporarilyReplaceCurrentList<T>(newListName);
177}
178
179//------------------------------------------------------------------------------------------------------------------------------------------
180
181template <typename T>
183 std::string &temporaryListName)
184{
185 return algorithm.GetPandora().GetPandoraContentApiImpl()->CreateTemporaryListAndSetCurrent(algorithm, pT, temporaryListName);
186}
187
188//------------------------------------------------------------------------------------------------------------------------------------------
189
190template <typename T>
191bool PandoraContentApi::IsAvailable(const pandora::Algorithm &algorithm, const T *const pT)
192{
193 return algorithm.GetPandora().GetPandoraContentApiImpl()->IsAvailable(pT);
194}
195
196//------------------------------------------------------------------------------------------------------------------------------------------
197
198template <typename T>
200{
201 return algorithm.GetPandora().GetPandoraContentApiImpl()->Delete(pT);
202}
203
204//------------------------------------------------------------------------------------------------------------------------------------------
205
206template <typename T>
207pandora::StatusCode PandoraContentApi::Delete(const pandora::Algorithm &algorithm, const T *const pT, const std::string &listName)
208{
209 return algorithm.GetPandora().GetPandoraContentApiImpl()->Delete(pT, listName);
210}
211
212//------------------------------------------------------------------------------------------------------------------------------------------
213
214template <typename T>
215pandora::StatusCode PandoraContentApi::AddToCluster(const pandora::Algorithm &algorithm, const pandora::Cluster *const pCluster, const T *const pT)
216{
217 return algorithm.GetPandora().GetPandoraContentApiImpl()->AddToCluster(pCluster, pT);
218}
219
220//------------------------------------------------------------------------------------------------------------------------------------------
221
223 const pandora::CaloHit *const pCaloHit)
224{
225 return algorithm.GetPandora().GetPandoraContentApiImpl()->RemoveFromCluster(pCluster, pCaloHit);
226}
227
228//------------------------------------------------------------------------------------------------------------------------------------------
229
230template <typename T>
232{
233 return algorithm.GetPandora().GetPandoraContentApiImpl()->AddIsolatedToCluster(pCluster, pT);
234}
235
236//------------------------------------------------------------------------------------------------------------------------------------------
237
239 const pandora::CaloHit *const pCaloHit)
240{
241 return algorithm.GetPandora().GetPandoraContentApiImpl()->RemoveIsolatedFromCluster(pCluster, pCaloHit);
242}
243
244//------------------------------------------------------------------------------------------------------------------------------------------
245
247 const float fraction1, const pandora::CaloHit *&pDaughterCaloHit1, const pandora::CaloHit *&pDaughterCaloHit2,
249{
250 return algorithm.GetPandora().GetPandoraContentApiImpl()->Fragment(pOriginalCaloHit, fraction1, pDaughterCaloHit1, pDaughterCaloHit2, factory);
251}
252
253//------------------------------------------------------------------------------------------------------------------------------------------
254
256 const pandora::CaloHit *const pFragmentCaloHit2, const pandora::CaloHit *&pMergedCaloHit,
258{
259 return algorithm.GetPandora().GetPandoraContentApiImpl()->MergeFragments(pFragmentCaloHit1, pFragmentCaloHit2, pMergedCaloHit, factory);
260}
261
262//------------------------------------------------------------------------------------------------------------------------------------------
263
265 const pandora::Cluster *const pCluster)
266{
267 return algorithm.GetPandora().GetPandoraContentApiImpl()->AddTrackClusterAssociation(pTrack, pCluster);
268}
269
270//------------------------------------------------------------------------------------------------------------------------------------------
271
273 const pandora::Cluster *const pCluster)
274{
275 return algorithm.GetPandora().GetPandoraContentApiImpl()->RemoveTrackClusterAssociation(pTrack, pCluster);
276}
277
278//------------------------------------------------------------------------------------------------------------------------------------------
279
281{
282 return algorithm.GetPandora().GetPandoraContentApiImpl()->RemoveCurrentTrackClusterAssociations();
283}
284
285//------------------------------------------------------------------------------------------------------------------------------------------
286
288{
289 return algorithm.GetPandora().GetPandoraContentApiImpl()->RemoveAllTrackClusterAssociations();
290}
291
292//------------------------------------------------------------------------------------------------------------------------------------------
293
295{
296 return algorithm.GetPandora().GetPandoraContentApiImpl()->RemoveAllMCParticleRelationships();
297}
298
299//------------------------------------------------------------------------------------------------------------------------------------------
300
302 const pandora::Cluster *const pClusterToDelete)
303{
304 return algorithm.GetPandora().GetPandoraContentApiImpl()->MergeAndDeleteClusters(pClusterToEnlarge, pClusterToDelete);
305}
306
307//------------------------------------------------------------------------------------------------------------------------------------------
308
310 const pandora::Cluster *const pClusterToDelete, const std::string &enlargeListName, const std::string &deleteListName)
311{
312 return algorithm.GetPandora().GetPandoraContentApiImpl()->MergeAndDeleteClusters(pClusterToEnlarge, pClusterToDelete, enlargeListName, deleteListName);
313}
314
315//------------------------------------------------------------------------------------------------------------------------------------------
316
317template <typename T>
319{
320 return algorithm.GetPandora().GetPandoraContentApiImpl()->AddToPfo(pPfo, pT);
321}
322
323//------------------------------------------------------------------------------------------------------------------------------------------
324
325template <typename T>
327{
328 return algorithm.GetPandora().GetPandoraContentApiImpl()->RemoveFromPfo(pPfo, pT);
329}
330
331//------------------------------------------------------------------------------------------------------------------------------------------
332
334 const pandora::ParticleFlowObject *const pDaughterPfo)
335{
336 return algorithm.GetPandora().GetPandoraContentApiImpl()->SetPfoParentDaughterRelationship(pParentPfo, pDaughterPfo);
337}
338
339//------------------------------------------------------------------------------------------------------------------------------------------
340
342 const pandora::ParticleFlowObject *const pDaughterPfo)
343{
344 return algorithm.GetPandora().GetPandoraContentApiImpl()->RemovePfoParentDaughterRelationship(pParentPfo, pDaughterPfo);
345}
346
347//------------------------------------------------------------------------------------------------------------------------------------------
348
350 std::string &originalClustersListName, std::string &fragmentClustersListName)
351{
352 return algorithm.GetPandora().GetPandoraContentApiImpl()->InitializeFragmentation(algorithm, inputClusterList, originalClustersListName,
354}
355
356//------------------------------------------------------------------------------------------------------------------------------------------
357
358pandora::StatusCode PandoraContentApi::EndFragmentation(const pandora::Algorithm &algorithm, const std::string &clusterListToSaveName,
359 const std::string &clusterListToDeleteName)
360{
361 return algorithm.GetPandora().GetPandoraContentApiImpl()->EndFragmentation(algorithm, clusterListToSaveName, clusterListToDeleteName);
362}
363
364//------------------------------------------------------------------------------------------------------------------------------------------
365
367 const pandora::ClusterList &inputClusterList, std::string &originalClustersListName)
368{
369 return algorithm.GetPandora().GetPandoraContentApiImpl()->InitializeReclustering(algorithm, inputTrackList, inputClusterList, originalClustersListName);
370}
371
372//------------------------------------------------------------------------------------------------------------------------------------------
373
374pandora::StatusCode PandoraContentApi::EndReclustering(const pandora::Algorithm &algorithm, const std::string &selectedClusterListName)
375{
376 return algorithm.GetPandora().GetPandoraContentApiImpl()->EndReclustering(algorithm, selectedClusterListName);
377}
378
379//------------------------------------------------------------------------------------------------------------------------------------------
380//------------------------------------------------------------------------------------------------------------------------------------------
381
382template pandora::StatusCode PandoraContentApi::GetCurrentList<pandora::CaloHitList>(const pandora::Algorithm &, const pandora::CaloHitList *&);
383template pandora::StatusCode PandoraContentApi::GetCurrentList<pandora::TrackList>(const pandora::Algorithm &, const pandora::TrackList *&);
384template pandora::StatusCode PandoraContentApi::GetCurrentList<pandora::MCParticleList>(const pandora::Algorithm &, const pandora::MCParticleList *&);
385template pandora::StatusCode PandoraContentApi::GetCurrentList<pandora::ClusterList>(const pandora::Algorithm &, const pandora::ClusterList *&);
386template pandora::StatusCode PandoraContentApi::GetCurrentList<pandora::PfoList>(const pandora::Algorithm &, const pandora::PfoList *&);
387template pandora::StatusCode PandoraContentApi::GetCurrentList<pandora::VertexList>(const pandora::Algorithm &, const pandora::VertexList *&);
388
389template pandora::StatusCode PandoraContentApi::GetCurrentList<pandora::CaloHitList>(const pandora::Algorithm &, const pandora::CaloHitList *&, std::string &);
390template pandora::StatusCode PandoraContentApi::GetCurrentList<pandora::TrackList>(const pandora::Algorithm &, const pandora::TrackList *&, std::string &);
391template pandora::StatusCode PandoraContentApi::GetCurrentList<pandora::MCParticleList>(const pandora::Algorithm &, const pandora::MCParticleList *&, std::string &);
392template pandora::StatusCode PandoraContentApi::GetCurrentList<pandora::ClusterList>(const pandora::Algorithm &, const pandora::ClusterList *&, std::string &);
393template pandora::StatusCode PandoraContentApi::GetCurrentList<pandora::PfoList>(const pandora::Algorithm &, const pandora::PfoList *&, std::string &);
394template pandora::StatusCode PandoraContentApi::GetCurrentList<pandora::VertexList>(const pandora::Algorithm &, const pandora::VertexList *&, std::string &);
395
396template pandora::StatusCode PandoraContentApi::GetCurrentListName<pandora::CaloHit>(const pandora::Algorithm &, std::string &);
397template pandora::StatusCode PandoraContentApi::GetCurrentListName<pandora::Track>(const pandora::Algorithm &, std::string &);
398template pandora::StatusCode PandoraContentApi::GetCurrentListName<pandora::MCParticle>(const pandora::Algorithm &, std::string &);
399template pandora::StatusCode PandoraContentApi::GetCurrentListName<pandora::Cluster>(const pandora::Algorithm &, std::string &);
400template pandora::StatusCode PandoraContentApi::GetCurrentListName<pandora::ParticleFlowObject>(const pandora::Algorithm &, std::string &);
401template pandora::StatusCode PandoraContentApi::GetCurrentListName<pandora::Vertex>(const pandora::Algorithm &, std::string &);
402
403template pandora::StatusCode PandoraContentApi::ReplaceCurrentList<pandora::CaloHit>(const pandora::Algorithm &, const std::string &);
404template pandora::StatusCode PandoraContentApi::ReplaceCurrentList<pandora::Track>(const pandora::Algorithm &, const std::string &);
405template pandora::StatusCode PandoraContentApi::ReplaceCurrentList<pandora::MCParticle>(const pandora::Algorithm &, const std::string &);
406template pandora::StatusCode PandoraContentApi::ReplaceCurrentList<pandora::Cluster>(const pandora::Algorithm &, const std::string &);
407template pandora::StatusCode PandoraContentApi::ReplaceCurrentList<pandora::ParticleFlowObject>(const pandora::Algorithm &, const std::string &);
408template pandora::StatusCode PandoraContentApi::ReplaceCurrentList<pandora::Vertex>(const pandora::Algorithm &, const std::string &);
409
410template pandora::StatusCode PandoraContentApi::DropCurrentList<pandora::CaloHit>(const pandora::Algorithm &);
411template pandora::StatusCode PandoraContentApi::DropCurrentList<pandora::Track>(const pandora::Algorithm &);
412template pandora::StatusCode PandoraContentApi::DropCurrentList<pandora::MCParticle>(const pandora::Algorithm &);
413template pandora::StatusCode PandoraContentApi::DropCurrentList<pandora::Cluster>(const pandora::Algorithm &);
414template pandora::StatusCode PandoraContentApi::DropCurrentList<pandora::ParticleFlowObject>(const pandora::Algorithm &);
415template pandora::StatusCode PandoraContentApi::DropCurrentList<pandora::Vertex>(const pandora::Algorithm &);
416
417template pandora::StatusCode PandoraContentApi::GetList<pandora::CaloHitList>(const pandora::Algorithm &, const std::string &, const pandora::CaloHitList *&);
418template pandora::StatusCode PandoraContentApi::GetList<pandora::TrackList>(const pandora::Algorithm &, const std::string &, const pandora::TrackList *&);
419template pandora::StatusCode PandoraContentApi::GetList<pandora::MCParticleList>(const pandora::Algorithm &, const std::string &, const pandora::MCParticleList *&);
420template pandora::StatusCode PandoraContentApi::GetList<pandora::ClusterList>(const pandora::Algorithm &, const std::string &, const pandora::ClusterList *&);
421template pandora::StatusCode PandoraContentApi::GetList<pandora::PfoList>(const pandora::Algorithm &, const std::string &, const pandora::PfoList *&);
422template pandora::StatusCode PandoraContentApi::GetList<pandora::VertexList>(const pandora::Algorithm &, const std::string &, const pandora::VertexList *&);
423
424template pandora::StatusCode PandoraContentApi::RenameList<pandora::CaloHitList>(const pandora::Algorithm &, const std::string &, const std::string &);
425template pandora::StatusCode PandoraContentApi::RenameList<pandora::TrackList>(const pandora::Algorithm &, const std::string &, const std::string &);
426template pandora::StatusCode PandoraContentApi::RenameList<pandora::MCParticleList>(const pandora::Algorithm &, const std::string &, const std::string &);
427template pandora::StatusCode PandoraContentApi::RenameList<pandora::ClusterList>(const pandora::Algorithm &, const std::string &, const std::string &);
428template pandora::StatusCode PandoraContentApi::RenameList<pandora::PfoList>(const pandora::Algorithm &, const std::string &, const std::string &);
429template pandora::StatusCode PandoraContentApi::RenameList<pandora::VertexList>(const pandora::Algorithm &, const std::string &, const std::string &);
430
431template pandora::StatusCode PandoraContentApi::SaveList<pandora::CaloHitList>(const pandora::Algorithm &, const pandora::CaloHitList &, const std::string &);
432template pandora::StatusCode PandoraContentApi::SaveList<pandora::TrackList>(const pandora::Algorithm &, const pandora::TrackList &, const std::string &);
433template pandora::StatusCode PandoraContentApi::SaveList<pandora::MCParticleList>(const pandora::Algorithm &, const pandora::MCParticleList &, const std::string &);
434
435template pandora::StatusCode PandoraContentApi::SaveList<pandora::Cluster>(const pandora::Algorithm &, const std::string &);
436template pandora::StatusCode PandoraContentApi::SaveList<pandora::ParticleFlowObject>(const pandora::Algorithm &, const std::string &);
437template pandora::StatusCode PandoraContentApi::SaveList<pandora::Vertex>(const pandora::Algorithm &, const std::string &);
438
439template pandora::StatusCode PandoraContentApi::SaveList<pandora::Cluster>(const pandora::Algorithm &, const std::string &, const std::string &);
440template pandora::StatusCode PandoraContentApi::SaveList<pandora::ParticleFlowObject>(const pandora::Algorithm &, const std::string &, const std::string &);
441template pandora::StatusCode PandoraContentApi::SaveList<pandora::Vertex>(const pandora::Algorithm &, const std::string &, const std::string &);
442
443template pandora::StatusCode PandoraContentApi::SaveList<pandora::ClusterList>(const pandora::Algorithm &, const std::string &, const pandora::ClusterList &);
444template pandora::StatusCode PandoraContentApi::SaveList<pandora::PfoList>(const pandora::Algorithm &, const std::string &, const pandora::PfoList &);
445template pandora::StatusCode PandoraContentApi::SaveList<pandora::VertexList>(const pandora::Algorithm &, const std::string &, const pandora::VertexList &);
446
447template pandora::StatusCode PandoraContentApi::SaveList<pandora::ClusterList>(const pandora::Algorithm &, const std::string &, const std::string &, const pandora::ClusterList &);
448template pandora::StatusCode PandoraContentApi::SaveList<pandora::PfoList>(const pandora::Algorithm &, const std::string &, const std::string &, const pandora::PfoList &);
449template pandora::StatusCode PandoraContentApi::SaveList<pandora::VertexList>(const pandora::Algorithm &, const std::string &, const std::string &, const pandora::VertexList &);
450
451template pandora::StatusCode PandoraContentApi::TemporarilyReplaceCurrentList<pandora::Cluster>(const pandora::Algorithm &, const std::string &);
452template pandora::StatusCode PandoraContentApi::TemporarilyReplaceCurrentList<pandora::ParticleFlowObject>(const pandora::Algorithm &, const std::string &);
453template pandora::StatusCode PandoraContentApi::TemporarilyReplaceCurrentList<pandora::Vertex>(const pandora::Algorithm &, const std::string &);
454
455template pandora::StatusCode PandoraContentApi::CreateTemporaryListAndSetCurrent<pandora::ClusterList>(const pandora::Algorithm &, const pandora::ClusterList *&, std::string &);
456template pandora::StatusCode PandoraContentApi::CreateTemporaryListAndSetCurrent<pandora::PfoList>(const pandora::Algorithm &, const pandora::PfoList *&, std::string &);
457template pandora::StatusCode PandoraContentApi::CreateTemporaryListAndSetCurrent<pandora::VertexList>(const pandora::Algorithm &, const pandora::VertexList *&, std::string &);
458
459template bool PandoraContentApi::IsAvailable<pandora::CaloHit>(const pandora::Algorithm &, const pandora::CaloHit *);
460template bool PandoraContentApi::IsAvailable<pandora::CaloHitList>(const pandora::Algorithm &, const pandora::CaloHitList *);
461template bool PandoraContentApi::IsAvailable<pandora::Track>(const pandora::Algorithm &, const pandora::Track *);
462template bool PandoraContentApi::IsAvailable<pandora::TrackList>(const pandora::Algorithm &, const pandora::TrackList *);
463template bool PandoraContentApi::IsAvailable<pandora::Cluster>(const pandora::Algorithm &, const pandora::Cluster *);
464template bool PandoraContentApi::IsAvailable<pandora::ClusterList>(const pandora::Algorithm &, const pandora::ClusterList *);
465template bool PandoraContentApi::IsAvailable<pandora::Vertex>(const pandora::Algorithm &, const pandora::Vertex *);
466template bool PandoraContentApi::IsAvailable<pandora::VertexList>(const pandora::Algorithm &, const pandora::VertexList *);
467
468template pandora::StatusCode PandoraContentApi::Delete<pandora::Cluster>(const pandora::Algorithm &, const pandora::Cluster *);
469template pandora::StatusCode PandoraContentApi::Delete<pandora::ClusterList>(const pandora::Algorithm &, const pandora::ClusterList *);
470template pandora::StatusCode PandoraContentApi::Delete<pandora::ParticleFlowObject>(const pandora::Algorithm &, const pandora::ParticleFlowObject *);
471template pandora::StatusCode PandoraContentApi::Delete<pandora::PfoList>(const pandora::Algorithm &, const pandora::PfoList *);
472template pandora::StatusCode PandoraContentApi::Delete<pandora::Vertex>(const pandora::Algorithm &, const pandora::Vertex *);
473template pandora::StatusCode PandoraContentApi::Delete<pandora::VertexList>(const pandora::Algorithm &, const pandora::VertexList *);
474
475template pandora::StatusCode PandoraContentApi::Delete<pandora::Cluster>(const pandora::Algorithm &, const pandora::Cluster *, const std::string &);
476template pandora::StatusCode PandoraContentApi::Delete<pandora::ClusterList>(const pandora::Algorithm &, const pandora::ClusterList *, const std::string &);
477template pandora::StatusCode PandoraContentApi::Delete<pandora::ParticleFlowObject>(const pandora::Algorithm &, const pandora::ParticleFlowObject *, const std::string &);
478template pandora::StatusCode PandoraContentApi::Delete<pandora::PfoList>(const pandora::Algorithm &, const pandora::PfoList *, const std::string &);
479template pandora::StatusCode PandoraContentApi::Delete<pandora::Vertex>(const pandora::Algorithm &, const pandora::Vertex *, const std::string &);
480template pandora::StatusCode PandoraContentApi::Delete<pandora::VertexList>(const pandora::Algorithm &, const pandora::VertexList *, const std::string &);
481
482template pandora::StatusCode PandoraContentApi::AddToCluster<pandora::CaloHit>(const pandora::Algorithm &, const pandora::Cluster *, const pandora::CaloHit *);
483template pandora::StatusCode PandoraContentApi::AddToCluster<pandora::CaloHitList>(const pandora::Algorithm &, const pandora::Cluster *, const pandora::CaloHitList *);
484
485template pandora::StatusCode PandoraContentApi::AddIsolatedToCluster<pandora::CaloHit>(const pandora::Algorithm &, const pandora::Cluster *, const pandora::CaloHit *);
486template pandora::StatusCode PandoraContentApi::AddIsolatedToCluster<pandora::CaloHitList>(const pandora::Algorithm &, const pandora::Cluster *, const pandora::CaloHitList *);
487
488template pandora::StatusCode PandoraContentApi::AddToPfo<pandora::Cluster>(const pandora::Algorithm &, const pandora::ParticleFlowObject *, const pandora::Cluster *);
489template pandora::StatusCode PandoraContentApi::AddToPfo<pandora::Track>(const pandora::Algorithm &, const pandora::ParticleFlowObject *, const pandora::Track *);
490template pandora::StatusCode PandoraContentApi::AddToPfo<pandora::Vertex>(const pandora::Algorithm &, const pandora::ParticleFlowObject *, const pandora::Vertex *);
491
492template pandora::StatusCode PandoraContentApi::RemoveFromPfo<pandora::Cluster>(const pandora::Algorithm &, const pandora::ParticleFlowObject *, const pandora::Cluster *);
493template pandora::StatusCode PandoraContentApi::RemoveFromPfo<pandora::Track>(const pandora::Algorithm &, const pandora::ParticleFlowObject *, const pandora::Track *);
494template pandora::StatusCode PandoraContentApi::RemoveFromPfo<pandora::Vertex>(const pandora::Algorithm &, const pandora::ParticleFlowObject *, const pandora::Vertex *);
Header file for the algorithm class.
Header file for the pandora class.
Header file for the pandora content api class.
Header file for the pandora content api implementation class.
static pandora::StatusCode Fragment(const pandora::Algorithm &algorithm, const pandora::CaloHit *const pOriginalCaloHit, const float fraction1, const pandora::CaloHit *&pDaughterCaloHit1, const pandora::CaloHit *&pDaughterCaloHit2, const pandora::ObjectFactory< object_creation::CaloHitFragment::Parameters, object_creation::CaloHitFragment::Object > &factory=pandora::PandoraObjectFactory< object_creation::CaloHitFragment::Parameters, object_creation::CaloHitFragment::Object >())
Fragment a calo hit into two daughter calo hits, with a specified energy division.
static pandora::StatusCode RemoveCurrentTrackClusterAssociations(const pandora::Algorithm &algorithm)
Remove all track-cluster associations from objects in the current track and cluster lists.
static pandora::StatusCode AddTrackClusterAssociation(const pandora::Algorithm &algorithm, const pandora::Track *const pTrack, const pandora::Cluster *const pCluster)
Add an association between a track and a cluster.
static pandora::StatusCode SaveList(const pandora::Algorithm &algorithm, const T &t, const std::string &newListName)
Save a provided input object list under a new name.
static pandora::StatusCode AddIsolatedToCluster(const pandora::Algorithm &algorithm, const pandora::Cluster *const pCluster, const T *const pT)
Add an isolated calo hit, or a list of isolated calo hits, to a cluster. An isolated calo hit is not ...
static pandora::StatusCode RemoveTrackClusterAssociation(const pandora::Algorithm &algorithm, const pandora::Track *const pTrack, const pandora::Cluster *const pCluster)
Remove an association between a track and a cluster.
static pandora::StatusCode RepeatEventPreparation(const pandora::Algorithm &algorithm)
Repeat the event preparation stages, which are used to calculate properties of input objects for late...
static bool IsAvailable(const pandora::Algorithm &algorithm, const T *const pT)
Is object, or a list of objects, available as a building block.
static pandora::StatusCode RemoveAllMCParticleRelationships(const pandora::Algorithm &algorithm)
Remove all mc particle relationships previously registered with the mc manager and linked to tracks/c...
static const pandora::GeometryManager * GetGeometry(const pandora::Algorithm &algorithm)
Get the pandora geometry instance.
static pandora::StatusCode ReplaceCurrentList(const pandora::Algorithm &algorithm, const std::string &newListName)
Replace the current list with a pre-saved list; use this new list as a permanent replacement for the ...
static pandora::StatusCode DropCurrentList(const pandora::Algorithm &algorithm)
Drop the current list, returning the current list to its default empty/null state.
static pandora::StatusCode RunClusteringAlgorithm(const pandora::Algorithm &algorithm, const std::string &clusteringAlgorithmName, const pandora::ClusterList *&pNewClusterList, std::string &newClusterListName)
Run a clustering algorithm (an algorithm that will create new cluster objects)
static pandora::StatusCode GetCurrentListName(const pandora::Algorithm &algorithm, std::string &listName)
Get the current list name.
static pandora::StatusCode AddToPfo(const pandora::Algorithm &algorithm, const pandora::ParticleFlowObject *const pPfo, const T *const pT)
Add a cluster to a particle flow object.
static pandora::StatusCode CreateTemporaryListAndSetCurrent(const pandora::Algorithm &algorithm, const T *&pT, std::string &temporaryListName)
Create a temporary list and set it to be the current list, enabling object creation.
static pandora::StatusCode InitializeFragmentation(const pandora::Algorithm &algorithm, const pandora::ClusterList &inputClusterList, std::string &originalClustersListName, std::string &fragmentClustersListName)
Initialize cluster fragmentation operations on clusters in the algorithm input list....
static pandora::StatusCode EndFragmentation(const pandora::Algorithm &algorithm, const std::string &clusterListToSaveName, const std::string &clusterListToDeleteName)
End cluster fragmentation operations on clusters in the algorithm input list.
static pandora::StatusCode RemoveIsolatedFromCluster(const pandora::Algorithm &algorithm, const pandora::Cluster *const pCluster, const pandora::CaloHit *const pCaloHit)
Remove an isolated calo hit from a cluster. Note this function will not remove the final calo hit fro...
static pandora::StatusCode CreateDaughterAlgorithm(const pandora::Algorithm &algorithm, pandora::TiXmlElement *const pXmlElement, std::string &daughterAlgorithmName)
Create an algorithm instance, via one of the algorithm factories registered with pandora....
static pandora::StatusCode GetCurrentList(const pandora::Algorithm &algorithm, const T *&pT)
Get the current list.
static pandora::StatusCode MergeAndDeleteClusters(const pandora::Algorithm &algorithm, const pandora::Cluster *const pClusterToEnlarge, const pandora::Cluster *const pClusterToDelete)
Merge two clusters in the current list, enlarging one cluster and deleting the second.
static pandora::StatusCode AddToCluster(const pandora::Algorithm &algorithm, const pandora::Cluster *const pCluster, const T *const pT)
Add a calo hit, or a list of calo hits, to a cluster.
static pandora::StatusCode SetPfoParentDaughterRelationship(const pandora::Algorithm &algorithm, const pandora::ParticleFlowObject *const pParentPfo, const pandora::ParticleFlowObject *const pDaughterPfo)
Set parent-daughter particle flow object relationship.
static pandora::StatusCode RemoveFromPfo(const pandora::Algorithm &algorithm, const pandora::ParticleFlowObject *const pPfo, const T *const pT)
Remove a cluster from a particle flow object. Note this function will not remove the final object (tr...
static pandora::StatusCode RemovePfoParentDaughterRelationship(const pandora::Algorithm &algorithm, const pandora::ParticleFlowObject *const pParentPfo, const pandora::ParticleFlowObject *const pDaughterPfo)
Remove parent-daughter particle flow object relationship.
static pandora::StatusCode EndReclustering(const pandora::Algorithm &algorithm, const std::string &selectedClusterListName)
End reclustering operations on clusters in the algorithm input list.
static pandora::StatusCode Delete(const pandora::Algorithm &algorithm, const T *const pT)
Delete an object from the current list.
static pandora::StatusCode RunDaughterAlgorithm(const pandora::Algorithm &algorithm, const std::string &daughterAlgorithmName)
Run an algorithm registered with pandora, from within a parent algorithm.
static const pandora::PluginManager * GetPlugins(const pandora::Algorithm &algorithm)
Get the pandora plugin instance, providing access to user registered functions and calculators.
static pandora::StatusCode InitializeReclustering(const pandora::Algorithm &algorithm, const pandora::TrackList &inputTrackList, const pandora::ClusterList &inputClusterList, std::string &originalClustersListName)
Initialize reclustering operations on clusters in the algorithm input list. This allows hits in a lis...
static pandora::StatusCode RemoveFromCluster(const pandora::Algorithm &algorithm, const pandora::Cluster *const pCluster, const pandora::CaloHit *const pCaloHit)
Remove a calo hit from a cluster. Note this function will not remove the final calo hit from a cluste...
static pandora::StatusCode TemporarilyReplaceCurrentList(const pandora::Algorithm &algorithm, const std::string &newListName)
Temporarily replace the current list with another list, which may only be a temporary list....
static pandora::StatusCode CreateAlgorithmTool(const pandora::Algorithm &algorithm, pandora::TiXmlElement *const pXmlElement, pandora::AlgorithmTool *&pAlgorithmTool)
Create an algorithm tool instance, via one of the algorithm tool factories registered with pandora....
static pandora::StatusCode RenameList(const pandora::Algorithm &algorithm, const std::string &oldListName, const std::string &newListName)
Rename a saved list, altering its saved name from a specified old list name to a specified new list n...
static pandora::StatusCode GetList(const pandora::Algorithm &algorithm, const std::string &listName, const T *&pT)
Get a named list.
static pandora::StatusCode RemoveAllTrackClusterAssociations(const pandora::Algorithm &algorithm)
Remove all associations between tracks and clusters.
static const pandora::PandoraSettings * GetSettings(const pandora::Algorithm &algorithm)
Get the pandora settings instance.
static pandora::StatusCode MergeFragments(const pandora::Algorithm &algorithm, const pandora::CaloHit *const pFragmentCaloHit1, const pandora::CaloHit *const pFragmentCaloHit2, const pandora::CaloHit *&pMergedCaloHit, const pandora::ObjectFactory< object_creation::CaloHitFragment::Parameters, object_creation::CaloHitFragment::Object > &factory=pandora::PandoraObjectFactory< object_creation::CaloHitFragment::Parameters, object_creation::CaloHitFragment::Object >())
Merge two calo hit fragments, originally from the same parent hit, to form a new calo hit.
Algorithm class. Algorithm addresses are held only by the algorithm manager. They have a fully define...
Definition Algorithm.h:21
AlgorithmTool class. Algorithm tools will tend to be tailored for specific parent algorithms,...
CaloHit class.
Definition CaloHit.h:26
Cluster class.
Definition Cluster.h:31
GeometryManager class.
ObjectFactory class responsible for extended pandora object creation.
PandoraSettings class.
ParticleFlowObject class.
PluginManager class.
Track class.
Definition Track.h:26
Vertex class.
Definition Vertex.h:26
MANAGED_CONTAINER< const MCParticle * > MCParticleList
MANAGED_CONTAINER< const Cluster * > ClusterList
MANAGED_CONTAINER< const CaloHit * > CaloHitList
MANAGED_CONTAINER< const Track * > TrackList
MANAGED_CONTAINER< const Vertex * > VertexList
StatusCode
The StatusCode enum.
MANAGED_CONTAINER< const ParticleFlowObject * > PfoList