APRILContent
Algorithm of Particle Reconstruction for ILC - implementation with PandoraSDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations
TrackPreparationAlgorithm.h
Go to the documentation of this file.
1 /*
3  *
4  * TrackPreparationAlgorithm.h header template automatically generated by a class generator
5  * Creation date : sam. mars 21 2015
6  *
7  * This file is part of APRILContent libraries.
8  *
9  * APRILContent is free software: you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation, either version 3 of the License, or
12  * (at your option) any later version.
13  * based upon these libraries are permitted. Any copy of these libraries
14  * must include this copyright notice.
15  *
16  * APRILContent is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with APRILContent. If not, see <http://www.gnu.org/licenses/>.
23  *
24  * @author John Marshall
25  */
26 
27 
28 #ifndef APRIL_TRACK_PREPARATION_ALGORITHM_H
29 #define APRIL_TRACK_PREPARATION_ALGORITHM_H 1
30 
31 #include "Pandora/Algorithm.h"
32 
33 namespace april_content
34 {
35 
39 class TrackPreparationAlgorithm : public pandora::Algorithm
40 {
41 public:
45  class Factory : public pandora::AlgorithmFactory
46  {
47  public:
48  pandora::Algorithm *CreateAlgorithm() const;
49  };
50 
55 
56 private:
57  pandora::StatusCode Run();
58  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
59 
66  pandora::StatusCode CreatePfoTrackList(const pandora::TrackList &inputTrackList, pandora::TrackList &pfoTrackList) const;
67 
76  bool HasAssociatedClusters(const pandora::Track *const pTrack, const bool readSiblingInfo = true) const;
77 
78  pandora::StringVector m_candidateListNames;
80 
82  pandora::StringVector m_associationAlgorithms;
83 
85  std::string m_pfoTrackListName;
86 };
87 
88 //------------------------------------------------------------------------------------------------------------------------------------------
89 
90 inline pandora::Algorithm *TrackPreparationAlgorithm::Factory::CreateAlgorithm() const
91 {
92  return new TrackPreparationAlgorithm();
93 }
94 
95 }
96 
97 #endif // #ifndef APRIL_TRACK_PREPARATION_ALGORITHM_H
TrackPreparationAlgorithm()
Default constructor.
Definition: TrackPreparationAlgorithm.cc:25
bool m_shouldMakePfoTrackList
Whether to make pfo track list, containing parent tracks of charged pfos.
Definition: TrackPreparationAlgorithm.h:84
Factory class for instantiating algorithm.
Definition: TrackPreparationAlgorithm.h:45
std::string m_pfoTrackListName
The name of the pfo track list, containing parent tracks of charged pfos.
Definition: TrackPreparationAlgorithm.h:85
std::string m_mergedCandidateListName
The name under which to save the full, merged, list of candidate tracks.
Definition: TrackPreparationAlgorithm.h:79
pandora::StringVector m_candidateListNames
The list of track list names to use.
Definition: TrackPreparationAlgorithm.h:78
bool HasAssociatedClusters(const pandora::Track *const pTrack, const bool readSiblingInfo=true) const
Whether a track, or any of its daughters or siblings has an associated cluster.
Definition: TrackPreparationAlgorithm.cc:121
pandora::StringVector m_associationAlgorithms
The ordered list of track-cluster associations algorithm to run.
Definition: TrackPreparationAlgorithm.h:82
pandora::StatusCode CreatePfoTrackList(const pandora::TrackList &inputTrackList, pandora::TrackList &pfoTrackList) const
Create list of parent tracks to be used in construction of charged pfos.
Definition: TrackPreparationAlgorithm.cc:84
bool m_shouldMakeAssociations
Whether to re-make track-cluster associations for candidate tracks.
Definition: TrackPreparationAlgorithm.h:81
TrackPreparationAlgorithm class.
Definition: TrackPreparationAlgorithm.h:39