28 #ifndef APRIL_CONTENT_H
29 #define APRIL_CONTENT_H 1
36 #include "Api/PandoraApi.h"
37 #include "Pandora/PandoraInternal.h"
164 #define APRIL_ALGORITHM_LIST(d) \
165 d("PerfectParticleFlow", april_content::PerfectParticleFlowAlgorithm::Factory) \
166 d("PerfectClustering", april_content::PerfectClusteringAlgorithm::Factory) \
167 d("PerfectClusteringNew", april_content::PerfectClusteringAlgorithmNew::Factory) \
168 d("PerfectHitCorrection", april_content::PerfectHitCorrectionAlgorithm::Factory) \
169 d("PerfectFragmentRemoval", april_content::PerfectFragmentRemovalAlgorithm::Factory) \
170 d("PerfectIsoHitRemoval", april_content::PerfectIsoHitRemovalAlgorithm::Factory) \
171 d("IsoHitRemoval", april_content::IsoHitRemovalAlgorithm::Factory) \
172 d("IsoHitClustering", april_content::IsoHitClusteringAlgorithm::Factory) \
173 d("FragmentsFromIsoHitsMerging", april_content::FragmentsFromIsoHitsMergingAlgorithm::Factory) \
174 d("PerfectNeutralHitRecovery", april_content::PerfectNeutralHitRecoveryAlgorithm::Factory) \
175 d("PerfectChargedHitRecovery", april_content::PerfectChargedHitRecoveryAlgorithm::Factory) \
176 d("PerfectChargedClusterSeparation", april_content::PerfectChargedClusterSeparationAlgorithm::Factory) \
177 d("PerfectPfoCreation", april_content::PerfectPfoCreationAlgorithm::Factory) \
178 d("SimplePfoTest", april_content::SimplePfoTestAlgorithm::Factory) \
179 d("SemiPerfectPfoCreation", april_content::SemiPerfectPfoCreationAlgorithm::Factory) \
180 d("CheatingTrackToClusterMatching", april_content::CheatingTrackToClusterMatching::Factory) \
181 d("APRILClustering", april_content::APRILClusteringAlgorithm::Factory) \
182 d("CheatingClusterCleaning", april_content::CheatingClusterCleaningAlgorithm::Factory) \
183 d("CheatingClusterMerging", april_content::CheatingClusterMergingAlgorithm::Factory) \
184 d("CheatingClusterMergingNew", april_content::CheatingClusterMergingNewAlgorithm::Factory) \
185 d("CheatingHitRecovery", april_content::CheatingHitRecoveryAlgorithm::Factory) \
186 d("CheatingParticleID", april_content::CheatingParticleIDAlgorithm::Factory) \
187 d("ClusteringParent", april_content::ClusteringParentAlgorithm::Factory) \
188 d("SimpleRegionClustering", april_content::SimpleRegionClusteringAlgorithm::Factory) \
189 d("VisualMonitoring", april_content::VisualMonitoringAlgorithm::Factory) \
190 d("PerformanceMonitoring", april_content::PerformanceMonitoringAlgorithm::Factory) \
191 d("SingleParticleMonitoring", april_content::SingleParticleMonitoringAlgorithm::Factory) \
192 d("FinalParticleId", april_content::FinalParticleIdAlgorithm::Factory) \
193 d("PhotonReconstruction", april_content::PhotonReconstructionAlgorithm::Factory) \
194 d("SingleClusterId", april_content::SingleClusterIdAlgorithm::Factory) \
195 d("PfoCreation", april_content::PfoCreationAlgorithm::Factory) \
196 d("EnergyExcessReclustering", april_content::EnergyExcessReclusteringAlgorithm::Factory) \
197 d("MissingEnergyReclustering", april_content::MissingEnergyReclusteringAlgorithm::Factory) \
198 d("SplitTrackReclustering", april_content::SplitTrackReclusteringAlgorithm::Factory) \
199 d("ForceSplitTrackAssociations", april_content::ForceSplitTrackAssociationsAlg::Factory) \
200 d("TopologicalAssociationParent", april_content::TopologicalAssociationParentAlgorithm::Factory) \
201 d("PointingClusterAssociation", april_content::PointingClusterAssociationAlgorithm::Factory) \
202 d("PointingClusterAssociationNew", april_content::PointingClusterAssociationNewAlgorithm::Factory) \
203 d("ClustersMerging", april_content::ClustersMergingAlgorithm::Factory) \
204 d("MatchTrackWithStartingCluster", april_content::MatchTrackWithStartingClusterAlgorithm::Factory) \
205 d("ClusterFromTrackMerging", april_content::ClusterFromTrackMergingAlgorithm::Factory) \
206 d("ClusterFromTrackMerging2", april_content::ClusterFromTrackMergingAlgorithm2::Factory) \
207 d("ClusterFromTrackMerging3", april_content::ClusterFromTrackMergingAlgorithm3::Factory) \
208 d("ChargedFragmentsMerging", april_content::ChargedFragmentsMergingAlgorithm::Factory) \
209 d("ChargedFragmentsMerging2", april_content::ChargedFragmentsMergingAlgorithm2::Factory) \
210 d("ChargedFragmentsMerging3", april_content::ChargedFragmentsMergingAlgorithm3::Factory) \
211 d("ClusterFromTrackMerging4", april_content::ClusterFromTrackMergingAlgorithm4::Factory) \
212 d("ClusterFromTrackMerging5", april_content::ClusterFromTrackMergingAlgorithm5::Factory) \
213 d("NeutralFragmentMerging", april_content::NeutralFragmentMergingAlgorithm::Factory) \
214 d("NearbyFragmentsMerging", april_content::NearbyFragmentsMergingAlgorithm::Factory) \
215 d("ClosebySeedMerging", april_content::ClosebySeedMergingAlgorithm::Factory) \
216 d("ClusterFragmentMerging", april_content::ClusterFragmentMergingAlgorithm::Factory) \
217 d("SurroundingHitsMerging", april_content::SurroundingHitsMergingAlgorithm::Factory) \
218 d("NearbyTrackPhotonRemoval", april_content::NearbyTrackPhotonRemovalAlg::Factory) \
219 d("MipFragmentMerging", april_content::MipFragmentMergingAlg::Factory) \
220 d("FragmentRemoval", april_content::FragmentRemovalAlgorithm::Factory) \
221 d("FragmentsFinding", april_content::FragmentsFindingAlgorithm::Factory) \
222 d("PhotonClean", april_content::PhotonCleanAlgorithm::Factory) \
223 d("ConeBasedMerging", april_content::ConeBasedMergingAlgorithm::Factory) \
224 d("MainFragmentRemoval", april_content::MainFragmentRemovalAlgorithm::Factory) \
225 d("TrackClusterAssociationMVA", april_content::TrackClusterAssociationMVAAlgorithm::Factory) \
226 d("UnassociatedTrackRecovery", april_content::UnassociatedTrackRecoveryAlg::Factory) \
227 d("TrackClusterAssociation", april_content::TrackClusterAssociationAlgorithm::Factory) \
228 d("LoopingTrackAssociation", april_content::LoopingTrackAssociationAlgorithm::Factory) \
229 d("TrackRecovery", april_content::TrackRecoveryAlgorithm::Factory) \
230 d("TrackRecoveryHelix", april_content::TrackRecoveryHelixAlgorithm::Factory) \
231 d("TrackRecoveryInteractions", april_content::TrackRecoveryInteractionsAlgorithm::Factory) \
232 d("EventPreparation", april_content::EventPreparationAlgorithm::Factory) \
233 d("ClusterPreparation", april_content::ClusterPreparationAlgorithm::Factory) \
234 d("TrackPreparation", april_content::TrackPreparationAlgorithm::Factory) \
235 d("CaloHitListMerging", april_content::InputObjectListMergingAlgorithm<pandora::CaloHitList>::Factory) \
236 d("TrackListMerging", april_content::InputObjectListMergingAlgorithm<pandora::TrackList>::Factory) \
237 d("MCParticleListMerging", april_content::InputObjectListMergingAlgorithm<pandora::MCParticleList>::Factory) \
238 d("PfoListMerging", april_content::AlgorithmObjectListMergingAlgorithm<pandora::ParticleFlowObject>::Factory) \
239 d("ClusterListMerging", april_content::AlgorithmObjectListMergingAlgorithm<pandora::Cluster>::Factory) \
240 d("VertexListMerging", april_content::AlgorithmObjectListMergingAlgorithm<pandora::Vertex>::Factory) \
241 d("ListChanging", april_content::ListChangingAlgorithm::Factory) \
242 d("AlgorithmConfiguration", april_content::AlgorithmConfiguration::Factory) \
243 d("CaloHitPreparation", april_content::CaloHitPreparationAlgorithm::Factory) \
244 d("CaloHitTiming", april_content::CaloHitTimingAlgorithm::Factory) \
245 d("ClusterCheck", april_content::ClusterCheckAlgorithm::Factory) \
246 d("ClusterPurity", april_content::ClusterPurityAlgorithm::Factory) \
247 d("ClusterEfficiency", april_content::ClusterEfficiencyAlgorithm::Factory) \
248 d("IsolatedHitClustering", april_content::IsolatedHitClusteringAlgorithm::Factory) \
249 d("NearbyHitRecovery", april_content::NearbyHitRecoveryAlgorithm::Factory) \
250 d("LoadEMCluster", april_content::LoadEMClusterAlgorithm::Factory)
253 #define APRIL_ALGORITHM_TOOL_LIST(d) \
254 d("ConnectorCleaning", april_content::ConnectorCleaningTool::Factory) \
255 d("ConnectorSeeding", april_content::ConnectorSeedingTool::Factory) \
256 d("ConnectorPlus", april_content::ConnectorPlusTool::Factory) \
257 d("NearbyHitsConnecting", april_content::NearbyHitsConnectingTool::Factory) \
258 d("TrackDrivenSeeding", april_content::TrackDrivenSeedingTool::Factory) \
259 d("ConnectorAlignment", april_content::ConnectorAlignmentTool::Factory) \
260 d("CaloHitMerging", april_content::CaloHitMergingTool::Factory)
262 #define APRIL_PARTICLE_ID_LIST(d) \
263 d("APRILEmShowerId", april_content::APRILParticleIdPlugins::APRILEmShowerId) \
264 d("APRILPhotonId", april_content::APRILParticleIdPlugins::APRILPhotonId) \
265 d("APRILElectronId", april_content::APRILParticleIdPlugins::APRILElectronId) \
266 d("APRILMuonId", april_content::APRILParticleIdPlugins::APRILMuonId)
282 static pandora::StatusCode RegisterAPRILShowerProfilePlugin(
const pandora::Pandora &pandora);
292 static pandora::StatusCode
RegisterBFieldPlugin(
const pandora::Pandora &pandora,
const float innerBField,
const float muonBarrelBField,
293 const float muonEndCapBField);
315 APRIL_ALGORITHM_LIST(PANDORA_REGISTER_ALGORITHM);
316 APRIL_ALGORITHM_TOOL_LIST(PANDORA_REGISTER_ALGORITHM_TOOL);
318 return pandora::STATUS_CODE_SUCCESS;
328 inline pandora::StatusCode APRILContent::RegisterAPRILShowerProfilePlugin(
const pandora::Pandora &pandora)
336 const float muonBarrelBField,
const float muonEndCapBField)
372 return pandora::STATUS_CODE_SUCCESS;
379 APRIL_PARTICLE_ID_LIST(PANDORA_REGISTER_PARTICLE_ID);
381 return pandora::STATUS_CODE_SUCCESS;
385 #endif // APRIL_CONTENT_H
Header file for the cheating cluster cleaning algorithm class.
Header file for the cheating cluster cleaning algorithm class.
Header file for the cheating cluster cleaning algorithm class.
Header file for the looping track association algorithm class.
Header file for the perfect particle flow algorithm class.
Header file for the cheating clustering algorithm class.
static pandora::StatusCode RegisterBFieldPlugin(const pandora::Pandora &pandora, const float innerBField, const float muonBarrelBField, const float muonEndCapBField)
Register the b field plugin (note user side configuration) with pandora.
Definition: APRILContent.h:335
Header file for the cheating cluster cleaning algorithm class.
Header file for the cheating clustering algorithm class.
APRILBFieldPlugin class.
Definition: APRILBFieldPlugin.h:38
Header file for the perfect particle flow algorithm class.
APRILPseudoLayerPlugin class.
Definition: APRILPseudoLayerPlugin.h:41
APRILShowerProfilePlugin class.
Definition: ShowerProfilePlugin.h:18
Header file for the cheating track to cluster matching algorithm class.
Header file for the cheating clustering algorithm class.
Header file for the track recovery interactions algorithm class.
Header file for the shower profile plugin class.
Header file for the cheating clustering algorithm class.
Header file for the force split track associations algorithm class.
Header file for the perfect particle flow algorithm class.
APRILContent class used to register april algorithms and plugins.
Definition: APRILContent.h:160
Header file for the track-cluster association algorithm class.
Header file for the cone based merging algorithm class.
Header file for the cheating clustering algorithm class.
Header file for the main fragment removal algorithm class.
static pandora::StatusCode RegisterAlgorithms(const pandora::Pandora &pandora)
Register all the april algorithms with pandora.
Definition: APRILContent.h:313
static pandora::StatusCode RegisterEnergyCorrections(const pandora::Pandora &pandora)
Register the energy corrections with pandora.
Definition: APRILContent.h:343
Header file for the cheating cluster cleaning algorithm class.
static pandora::StatusCode RegisterParticleIds(const pandora::Pandora &pandora)
Register april particle id functions.
Definition: APRILContent.h:377
Header file for the cheating clustering algorithm class.
Header file for the cheating clustering algorithm class.
static pandora::StatusCode RegisterAPRILPseudoLayerPlugin(const pandora::Pandora &pandora)
Register pseudo layer plugin with pandora.
Definition: APRILContent.h:323
Header file for the track recovery algorithm class.
Header file for the cheating particle id algorithm class.
Header file for the track recovery helix algorithm class.