APRILContent
Algorithm of Particle Reconstruction for ILC - implementation with PandoraSDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations
NearbyTrackPhotonRemovalAlg.h
Go to the documentation of this file.
1 /*
3  *
4  * NearbyTrackPhotonRemovalAlg.h header template automatically generated by a class generator
5  * Creation date : lun. juin 27 2016
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 Remi Ete
25  * @copyright CNRS , IPNL
26  */
27 
28 
29 #ifndef NEARBYTRACKPHOTONREMOVALALG_H
30 #define NEARBYTRACKPHOTONREMOVALALG_H
31 
32 #include "Pandora/Algorithm.h"
33 #include "Pandora/PandoraInternal.h"
34 
35 namespace april_content
36 {
37 
41 class NearbyTrackPhotonRemovalAlg : public pandora::Algorithm
42 {
43 public:
47  class Factory : public pandora::AlgorithmFactory
48  {
49  public:
50  pandora::Algorithm *CreateAlgorithm() const;
51  };
52 
53 private:
54  pandora::StatusCode Run();
55  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
56 
63  pandora::StatusCode GetContents(pandora::ClusterVector &clusterVector, pandora::TrackVector &trackVector) const;
64 
72  pandora::StatusCode RemoveNearbyPhotonHits(const pandora::ClusterVector &clusterVector, const pandora::TrackVector &trackVector,
73  pandora::ClusterVector &photonFragmentVector) const;
74 
80  pandora::StatusCode RemovePhotonFragments(const pandora::ClusterVector &photonFragmentVector) const;
81 
82 private:
83  std::string m_photonClusterListName;
84  float m_maxTrackHitDistance;
85  float m_maxOmegaTrack;
86  float m_minRemainingPhotonEnergy;
87  unsigned int m_minRemainingPhotonNHits;
88 };
89 
90 //------------------------------------------------------------------------------------------------------------------------------------------
91 //------------------------------------------------------------------------------------------------------------------------------------------
92 
93 inline pandora::Algorithm *NearbyTrackPhotonRemovalAlg::Factory::CreateAlgorithm() const
94 {
95  return new NearbyTrackPhotonRemovalAlg();
96 }
97 
98 }
99 
100 #endif // NEARBYTRACKPHOTONREMOVALALG_H
NearbyTrackPhotonRemovalAlg class.
Definition: NearbyTrackPhotonRemovalAlg.h:41
pandora::StatusCode RemovePhotonFragments(const pandora::ClusterVector &photonFragmentVector) const
Delete the provided list of photon fragments.
Definition: NearbyTrackPhotonRemovalAlg.cc:187
pandora::StatusCode RemoveNearbyPhotonHits(const pandora::ClusterVector &clusterVector, const pandora::TrackVector &trackVector, pandora::ClusterVector &photonFragmentVector) const
Remove photon hits nearby tracks and get all photon fragments with too less hits. ...
Definition: NearbyTrackPhotonRemovalAlg.cc:107
pandora::StatusCode GetContents(pandora::ClusterVector &clusterVector, pandora::TrackVector &trackVector) const
Get the contents for the algorithm.
Definition: NearbyTrackPhotonRemovalAlg.cc:59
Factory class for instantiating algorithm.
Definition: NearbyTrackPhotonRemovalAlg.h:47