APRILContent
Algorithm of Particle Reconstruction for ILC - implementation with PandoraSDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations
PhotonReconstructionAlgorithm.h
Go to the documentation of this file.
1 /*
3  *
4  * PhotonReconstructionAlgorithm.h header template automatically generated by a class generator
5  * Creation date : lun. oct. 24 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 PHOTONRECONSTRUCTIONALGORITHM_H
30 #define PHOTONRECONSTRUCTIONALGORITHM_H
31 
32 #include "Pandora/Algorithm.h"
33 #include "Pandora/PandoraInternal.h"
34 
35 #include "TMVA/Reader.h"
36 #include "TMVA/MethodCuts.h"
37 
38 namespace april_content
39 {
43  class PhotonReconstructionAlgorithm : public pandora::Algorithm
44  {
45  public:
49  class Factory : public pandora::AlgorithmFactory
50  {
51  public:
52  pandora::Algorithm *CreateAlgorithm() const;
53  };
54 
55  private:
56  pandora::StatusCode Run();
57  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
58 
65  pandora::StatusCode SelectPhotonsAndRemoveOthers(const pandora::ClusterList *const pInputClusterList,
66  pandora::ClusterList &photonClusters,
67  pandora::ClusterList &nonPhotonClusters);
68 
69  private:
71  std::string m_inputCaloHitListName;
76 
77  static TMVA::Reader* m_reader;
78  };
79 
80  //------------------------------------------------------------------------------------------------------------------------------------------
81 
82  inline pandora::Algorithm *PhotonReconstructionAlgorithm::Factory::CreateAlgorithm() const
83  {
84  return new PhotonReconstructionAlgorithm();
85  }
86 }
87 
88 #endif // PHOTONRECONSTRUCTIONALGORITHM_H
PhotonReconstructionAlgorithm class.
Definition: PhotonReconstructionAlgorithm.h:43
std::string m_inputCaloHitListName
The name of the input calo hit list, containing the hits to be clustered.
Definition: PhotonReconstructionAlgorithm.h:71
Factory class for instantiating algorithm.
Definition: PhotonReconstructionAlgorithm.h:49
pandora::StatusCode SelectPhotonsAndRemoveOthers(const pandora::ClusterList *const pInputClusterList, pandora::ClusterList &photonClusters, pandora::ClusterList &nonPhotonClusters)
Select photons from the input cluster list.
Definition: PhotonReconstructionAlgorithm.cc:155
bool m_restoreOriginalCaloHitList
Whether to restore the original calo hit list as the &quot;current&quot; list upon completion.
Definition: PhotonReconstructionAlgorithm.h:72
bool m_replaceCurrentClusterList
Whether to subsequently use the new photon cluster list as the &quot;current&quot; list.
Definition: PhotonReconstructionAlgorithm.h:75
std::string m_nonPhotonClusterListName
The name under which to save the new non-photon cluster list.
Definition: PhotonReconstructionAlgorithm.h:74
std::string m_clusteringAlgorithmName
The name of the clustering algorithm to run.
Definition: PhotonReconstructionAlgorithm.h:70
std::string m_photonClusterListName
The name under which to save the new photon cluster list.
Definition: PhotonReconstructionAlgorithm.h:73