EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
LambdaReconstruction.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2// Copyright (C) 2026 Sebouh Paul, Baptiste Fraisse
3
4#pragma once
5#include <DD4hep/Detector.h>
6#include <algorithms/algorithm.h>
7#include <algorithms/geo.h>
8#include <edm4eic/ReconstructedParticleCollection.h>
9#include <spdlog/logger.h>
10#include <gsl/pointers>
11#include <memory>
12#include <string> // for basic_string
13#include <string_view> // for string_view
14
18
19namespace eicrecon {
20
21using LambdaReconstructionAlgorithm = algorithms::Algorithm<
22 algorithms::Input<const edm4eic::ReconstructedParticleCollection,
23 const edm4eic::ReconstructedParticleCollection,
24 const edm4eic::ReconstructedParticleCollection,
25 const edm4eic::ReconstructedParticleCollection>,
26 /*output collections contain the lambda candidates and their decay products in the CM frame*/
27 algorithms::Output<edm4eic::ReconstructedParticleCollection,
28 edm4eic::ReconstructedParticleCollection>>;
49 public WithPodConfig<LambdaReconstructionConfig> {
50public:
51 LambdaReconstruction(std::string_view name)
53 name,
54
55 {"inputNeutralsHcal", "inputNeutralsB0", "inputNeutralsEcalEndCapP",
56 "inputNeutralsLFHCAL"},
57
58 {"outputLambdas", "outputLambdaDecayProductsCM"},
59
60 "Reconstructs lambda candidates and their decay products (in the CM frame) from the "
61 "reconstructed neutrons and photons"} {}
62
63 void init() final;
64 void process(const Input&, const Output&) const final;
65
66private:
67 std::shared_ptr<spdlog::logger> m_log;
68 const algorithms::ParticleSvc& m_particleSvc = algorithms::ParticleSvc::instance();
69 const dd4hep::Detector* m_detector{algorithms::GeoSvc::instance().detector()};
70 double m_zMax{0};
71
72 bool reconstruct_from_triplet(const edm4eic::ReconstructedParticle& n_in,
73 const edm4eic::ReconstructedParticle& g1_in,
74 const edm4eic::ReconstructedParticle& g2_in,
75 edm4eic::ReconstructedParticleCollection* out_lambdas,
76 edm4eic::ReconstructedParticleCollection* out_decay_products) const;
77};
78} // namespace eicrecon
Definition LambdaReconstruction.h:49
LambdaReconstruction(std::string_view name)
Definition LambdaReconstruction.h:51
Definition WithPodConfig.h:22
Definition ActsSvc.h:11
Definition ActsGeometryProvider.h:28
-client
Definition CalorimeterClusterRecoCoG.cc:37
algorithms::Algorithm< algorithms::Input< const edm4eic::ReconstructedParticleCollection, const edm4eic::ReconstructedParticleCollection, const edm4eic::ReconstructedParticleCollection, const edm4eic::ReconstructedParticleCollection >, algorithms::Output< edm4eic::ReconstructedParticleCollection, edm4eic::ReconstructedParticleCollection > > LambdaReconstructionAlgorithm
Definition LambdaReconstruction.h:28
Definition SimCalorimeterHitProcessor.cc:35