APRILContent
Algorithm of Particle Reconstruction for ILC - implementation with PandoraSDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations
ClustersMergingAlgorithm.h
Go to the documentation of this file.
1 /*
3  *
4  * ClustersMergingAlgorithm.h header template automatically generated by a class generator
5  * Creation date : jeu. avr. 9 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 Remi Ete
25  * @copyright CNRS , IPNL
26  */
27 
28 
29 #ifndef CLUSTERSMERGINGALGORITHM_H
30 #define CLUSTERSMERGINGALGORITHM_H
31 
32 #include "Pandora/Algorithm.h"
33 #include "Pandora/PandoraInputTypes.h"
35 
36 #include "APRILObjects/Cluster.h"
37 
38 namespace pandora { class ClusterFitResult; }
39 
40 namespace april_content
41 {
42 
46 class ClustersMergingAlgorithm : public pandora::Algorithm
47 {
48 public:
52  class Factory : public pandora::AlgorithmFactory
53  {
54  public:
55  pandora::Algorithm *CreateAlgorithm() const;
56  };
57 
58 private:
59  pandora::StatusCode Run();
60  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
61  pandora::StatusCode GetEligibleClusters(std::vector<APRILCluster*>& clusterVector) const;
62 
63 private:
64  float m_maxChi;
65  float m_lowEnergyMaxChi;
66  float m_maxMergingEnergy;
67  bool m_useEnergyChi;
68  bool m_useMCTruth;
69  bool m_mergeIssue;
70  bool m_mergeError;
71  bool m_onlyMergeCharged;
72 
73 };
74 
75 //------------------------------------------------------------------------------------------------------------------------------------------
76 
77 inline pandora::Algorithm *ClustersMergingAlgorithm::Factory::CreateAlgorithm() const
78 {
79  return new ClustersMergingAlgorithm();
80 }
81 
82 }
83 
84 #endif
Factory class for instantiating algorithm.
Definition: ClustersMergingAlgorithm.h:52
ClustersMergingAlgorithm class.
Definition: ClustersMergingAlgorithm.h:46