Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-07 08:04:17

0001 // SPDX-License-Identifier: LGPL-3.0-or-later
0002 // Copyright (C) 2026 Derek Anderson
0003 
0004 #include <JANA/JApplicationFwd.h>
0005 #include <JANA/Utils/JTypeInfo.h>
0006 #include <edm4eic/TrackClusterMatch.h>
0007 #include <memory>
0008 #include <string>
0009 #include <vector>
0010 
0011 #include "extensions/jana/JOmniFactoryGeneratorT.h"
0012 #include "factories/meta/CollectionCollector_factory.h"
0013 #include "factories/particle_flow/ChargedCandidateMaker_factory.h"
0014 
0015 extern "C" {
0016 
0017 void InitPlugin(JApplication* app) {
0018 
0019   using namespace eicrecon;
0020 
0021   InitJANAPlugin(app);
0022 
0023   // ====================================================================
0024   // PFAlpha: baseline PF implementation
0025   // ====================================================================
0026 
0027   // --------------------------------------------------------------------
0028   // PFA (1b) arbitration: form charged candidates
0029   // --------------------------------------------------------------------
0030 
0031   // backward -----------------------------------------------------------
0032 
0033   app->Add(
0034       new JOmniFactoryGeneratorT<CollectionCollector_factory<edm4eic::TrackClusterMatch, false>>(
0035           "EndcapNTrackClusterMatches",
0036           {"EcalEndcapNTrackClusterMatches", "HcalEndcapNTrackClusterMatches"},
0037           {"EndcapNTrackClusterMatches"}, app));
0038 
0039   app->Add(new JOmniFactoryGeneratorT<ChargedCandidateMaker_factory>(
0040       "EndcapNChargedCandidateParticlesAlpha", {"EndcapNTrackClusterMatches"},
0041       {"EndcapNChargedCandidateParticlesAlpha"}, {}, app));
0042 
0043   // central ------------------------------------------------------------
0044 
0045   app->Add(
0046       new JOmniFactoryGeneratorT<CollectionCollector_factory<edm4eic::TrackClusterMatch, false>>(
0047           "BarrelTrackClusterMatches",
0048           {"EcalBarrelTrackClusterMatches", "HcalBarrelTrackClusterMatches"},
0049           {"BarrelTrackClusterMatches"}, app));
0050 
0051   app->Add(new JOmniFactoryGeneratorT<ChargedCandidateMaker_factory>(
0052       "BarrelChargedCandidateParticlesAlpha", {"BarrelTrackClusterMatches"},
0053       {"BarrelChargedCandidateParticlesAlpha"}, {}, app));
0054 
0055   // forward ------------------------------------------------------------
0056 
0057   app->Add(
0058       new JOmniFactoryGeneratorT<CollectionCollector_factory<edm4eic::TrackClusterMatch, false>>(
0059           "EndcapPTrackClusterMatches",
0060           {"EcalEndcapPTrackClusterMatches", "LFHCALTrackClusterMatches",
0061            "HcalEndcapPInsertTrackClusterMatches"},
0062           {"EndcapPTrackClusterMatches"}, app));
0063 
0064   app->Add(new JOmniFactoryGeneratorT<ChargedCandidateMaker_factory>(
0065       "EndcapPChargedCandidateParticlesAlpha", {"EndcapPTrackClusterMatches"},
0066       {"EndcapPChargedCandidateParticlesAlpha"}, {}, app));
0067 }
0068 } // extern "C"