File indexing completed on 2025-02-22 10:33:25
0001
0002
0003
0004 #pragma once
0005
0006 #include <algorithms/algorithm.h>
0007 #include <edm4eic/ReconstructedParticleCollection.h>
0008 #include <string>
0009 #include <string_view>
0010
0011 #include "algorithms/interfaces/ParticleSvc.h"
0012 #include "algorithms/interfaces/WithPodConfig.h"
0013 #include "algorithms/reco/ScatteredElectronsEMinusPzConfig.h"
0014
0015
0016 namespace eicrecon {
0017
0018 using ScatteredElectronsEMinusPzAlgorithm = algorithms::Algorithm<
0019 algorithms::Input<
0020 edm4eic::ReconstructedParticleCollection,
0021 edm4eic::ReconstructedParticleCollection
0022 >,
0023 algorithms::Output<
0024 edm4eic::ReconstructedParticleCollection
0025 >
0026 >;
0027
0028 class ScatteredElectronsEMinusPz : public ScatteredElectronsEMinusPzAlgorithm, WithPodConfig<ScatteredElectronsEMinusPzConfig>{
0029
0030 public:
0031
0032 ScatteredElectronsEMinusPz(std::string_view name)
0033 : ScatteredElectronsEMinusPzAlgorithm{name,
0034 {"inputParticles", "inputElectronCandidates"},
0035 {"outputElectrons"},
0036 "Outputs DIS electrons ordered in decreasing E-pz"} {}
0037 void init() final;
0038 void process(const Input&, const Output&) const final;
0039
0040 private:
0041 const algorithms::ParticleSvc& m_particleSvc = algorithms::ParticleSvc::instance();
0042
0043 };
0044
0045 }