EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
MatchToRICHPID.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2// Copyright (C) 2022, 2023, Sylvester Joosten, Wouter Deconinck, Dmitry Romanov, Christopher Dilks
3
4#pragma once
5
6#include <algorithms/algorithm.h>
7#include <edm4eic/CherenkovParticleIDCollection.h>
8#include <edm4eic/EDM4eicVersion.h>
9#include <edm4eic/MCRecoParticleAssociationCollection.h>
10#include <edm4eic/ReconstructedParticleCollection.h>
11#include <edm4hep/ParticleIDCollection.h>
12#include <string>
13#include <string_view>
14
17
18#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
19#include <edm4eic/MCRecoParticleLinkCollection.h>
20#endif
21
22namespace eicrecon {
23
25 algorithms::Algorithm<algorithms::Input<edm4eic::ReconstructedParticleCollection,
26 edm4eic::MCRecoParticleAssociationCollection,
27 edm4eic::CherenkovParticleIDCollection>,
28 algorithms::Output<edm4eic::ReconstructedParticleCollection,
29#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
30 edm4eic::MCRecoParticleLinkCollection,
31#endif
32 edm4eic::MCRecoParticleAssociationCollection,
33 edm4hep::ParticleIDCollection>>;
34
35class MatchToRICHPID : public MatchToRICHPIDAlgorithm, public WithPodConfig<MatchToRICHPIDConfig> {
36public:
37 MatchToRICHPID(std::string_view name)
39 {"inputReconstructedParticlesCollection",
40 "inputAssociationsCollection",
41 "inputCherenkovParticleIDCollection"},
42 {"outputReconstructedParticlesCollection",
43#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
44 "outputLinks",
45#endif
46 "outputAssociationsCollection"},
47 "Matches tracks to Cherenkov PIDs"} {};
48
49 void init() final;
50 void process(const Input&, const Output&) const final;
51
52private:
53 bool linkCherenkovPID(edm4eic::MutableReconstructedParticle& in_part,
54 const edm4eic::CherenkovParticleIDCollection& in_pids,
55 edm4hep::ParticleIDCollection& out_pids) const;
56};
57
58} // namespace eicrecon
Definition MatchToRICHPID.h:35
MatchToRICHPID(std::string_view name)
Definition MatchToRICHPID.h:37
Definition WithPodConfig.h:22
-client
Definition CalorimeterClusterRecoCoG.cc:37
algorithms::Algorithm< algorithms::Input< edm4eic::ReconstructedParticleCollection, edm4eic::MCRecoParticleAssociationCollection, edm4eic::CherenkovParticleIDCollection >, algorithms::Output< edm4eic::ReconstructedParticleCollection, edm4eic::MCRecoParticleLinkCollection, edm4eic::MCRecoParticleAssociationCollection, edm4hep::ParticleIDCollection > > MatchToRICHPIDAlgorithm
Definition MatchToRICHPID.h:33