Skip to content
Open
Show file tree
Hide file tree
Changes from 130 commits
Commits
Show all changes
134 commits
Select commit Hold shift + click to select a range
097ec32
updating secondary vertex finder
bishoyDHD Sep 2, 2024
09636b8
Merge branch 'eic:main' into displacedvertex
bishoyDHD Sep 2, 2024
7c9162b
added reco-particles to displaced vertex
bishoyDHD Sep 6, 2024
f109512
Merge branch 'displacedvertex' of https://github.com/bishoyDHD/EICrec…
bishoyDHD Sep 6, 2024
b6579d5
Prelim secvertex finder
bishoyDHD Sep 10, 2024
8063442
Modifying the displaced vertex finder
bishoyDHD Oct 8, 2024
888e5e5
adding displaced vertex changes
bishoyDHD Oct 8, 2024
4a699cb
Merge branch 'eic:main' into displacedvertex
bishoyDHD Oct 14, 2024
ee917d1
Added more functionality to sec. vertex and now compatible with ACTS …
bishoyDHD Nov 18, 2024
2f12770
Merge branch 'displacedvertex' of https://github.com/bishoyDHD/EICrec…
bishoyDHD Nov 18, 2024
cbcf0c2
Merge branch 'eic:main' into displacedvertex
bishoyDHD Nov 18, 2024
fff3b03
adding fuctions for sec vertex reco
bishoyDHD Dec 7, 2024
e2e19f4
Merge branch 'eic:main' into displacedvertex
bishoyDHD Jan 3, 2025
1d0d8a7
Secondary Vertexing Utility tool implentation
bishoyDHD Jan 3, 2025
4dd58e0
Updating sec vertex finder
bishoyDHD Jan 6, 2025
1231d7f
Merge branch 'eic:main' into displacedvertex
bishoyDHD Jan 20, 2025
8f7852b
Merge branch 'eic:main' into displacedvertex
bishoyDHD Jan 20, 2025
4ec0b87
Added method to calculate the Prim. Vtx form Adaptive Multivertex Finder
bishoyDHD Jan 31, 2025
65b261e
Updated the SecondaryVertex to calculate prim. vtx using AMVF
bishoyDHD Feb 7, 2025
39fdc6e
cleaning up sec. vertex finder
bishoyDHD Feb 11, 2025
4d918f5
Cleaned up some std::cout printouts
bishoyDHD Feb 14, 2025
4daa73b
Merge branch 'eic:main' into displacedvertex
bishoyDHD Feb 18, 2025
8a5d527
added C macro for Lambda->proton pi analysis
bishoyDHD Feb 26, 2025
3436fd5
Tidying up plots for Lambda decay
bishoyDHD Feb 27, 2025
532a4e9
Added reco Lambda ROOT file
Feb 27, 2025
7102fa9
fixed some minor bugs in Lambda analysis macro
bishoyDHD Feb 27, 2025
1d562f2
updating Lambda reco ROOT file
Feb 27, 2025
17f8ab7
added runlist here
bishoyDHD Feb 27, 2025
bfd67d5
Added 4th tracking dimension of time. Working properly
bishoyDHD Mar 4, 2025
7a032f0
added sec. vertex invariant mass
bishoyDHD Mar 15, 2025
bb450db
Added more functionality to sec. verting analysis Macro
bishoyDHD Mar 18, 2025
c875374
Newly generate ROOT for plotting
Mar 18, 2025
6fcbc89
added Armenteros Podolansky plot
bishoyDHD Mar 19, 2025
8aef394
Updated the ana file
bishoyDHD Mar 19, 2025
d6fb60a
sec vertex cuts
bishoyDHD Apr 2, 2025
0a4dd1e
Merge branch 'eic:main' into displacedvertex
bishoyDHD Apr 2, 2025
34c77e3
Fixing sec vertex analysis
bishoyDHD Apr 3, 2025
907e208
Updating sec vertex to compliance with new changes
bishoyDHD May 10, 2025
995a9d8
Complaince update with main branch in recent singularity updates
bishoyDHD May 12, 2025
92bde8f
Merge branch 'eic:main' into displacedvertex
bishoyDHD May 12, 2025
de86c19
Added AMVPrimaryVertex Collection
bishoyDHD May 21, 2025
ccaf923
Merge branch 'displacedvertex' of https://github.com/bishoyDHD/EICrec…
bishoyDHD May 21, 2025
34efd49
Merge branch 'eic:main' into displacedvertex
bishoyDHD May 27, 2025
12272d4
Modified AMVF algorithm for both primary and sec vertexting
bishoyDHD May 27, 2025
48efd0a
Update Sec vertex, field-->bField
bishoyDHD May 28, 2025
68e311d
Update sec. vertex to be in compliance with updated ACTS
bishoyDHD Jun 3, 2025
f24b9c3
Playing with AMVF for PV
bishoyDHD Jun 5, 2025
bcff707
small updates to Sec. Vertex finder
bishoyDHD Jun 9, 2025
b71d57d
Merge branch 'eic:main' into displacedvertex
bishoyDHD Jun 13, 2025
0151dda
cleaning up displaced vertex
bishoyDHD Jun 13, 2025
e9dd913
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 13, 2025
3bdfe4d
Displacedvertex (#1912)
bishoyDHD Jun 13, 2025
b9481db
fixed spelling mistakes in comments eicrecon -Pnthreads=8 -Ptracking:…
bishoyDHD Jun 13, 2025
86fbc50
Merge branch 'displacedvertex' of https://github.com/bishoyDHD/EICrec…
bishoyDHD Jun 13, 2025
5a8aa98
bringing branch into compliance with updated EICrecon
bishoyDHD Jun 13, 2025
472cf51
merging some conflicts here
bishoyDHD Jun 13, 2025
44b0968
removed the TProfile dependcies
bishoyDHD Jun 13, 2025
2c831d5
removed unused variables because they cause errors
bishoyDHD Jun 13, 2025
c92fb49
removing even more unused variables
bishoyDHD Jun 13, 2025
d02cda3
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 13, 2025
777478c
found more unused vars and removed them for now
bishoyDHD Jun 13, 2025
bb8086a
Found additional unused vars
bishoyDHD Jun 13, 2025
183f7a2
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 13, 2025
f11afde
found yet another unused variable
bishoyDHD Jun 13, 2025
428e586
Merge branch 'secvertexAMVF' of https://github.com/eic/EICrecon into …
bishoyDHD Jun 13, 2025
eb7b341
cleaning up sec vertex finder
bishoyDHD Jun 13, 2025
ee123f7
removed more unused vars from SecondaryVertexFinder_factory
bishoyDHD Jun 14, 2025
155b346
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 14, 2025
0ecae3b
Changed to the correct type in the SecondaryVertexFinder_factory
bishoyDHD Jun 14, 2025
02c1c12
secvertexAMVF compliance for type matching
bishoyDHD Jun 14, 2025
3da8bc0
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 14, 2025
8ea36e7
fixing TrackingUtilityTool for sec vertex finder
bishoyDHD Jun 14, 2025
139ad4d
Merge branch 'secvertexAMVF' of https://github.com/eic/EICrecon into …
bishoyDHD Jun 14, 2025
52f2f4a
Fixing Clang cleanup
bishoyDHD Jun 14, 2025
2eae4f5
Removed UtilityTool for now
bishoyDHD Jun 14, 2025
c9ce682
Cleaning up the preprocessor include directives
bishoyDHD Jun 15, 2025
579251b
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 15, 2025
f66a6b4
Updated License and Copyright statements: Dmitry
bishoyDHD Jun 16, 2025
9503602
Merge branch 'secvertexAMVF' of https://github.com/eic/EICrecon into …
bishoyDHD Jun 16, 2025
be5dab4
Updated missing copyright
bishoyDHD Jun 16, 2025
9f24639
Cleanups. Fixed C-style cast
bishoyDHD Jun 19, 2025
e37624d
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 19, 2025
5a235d4
Cleaning up SecondaryVertexFinder.h
bishoyDHD Jun 19, 2025
a2fcd54
Merge branch 'secvertexAMVF' of https://github.com/eic/EICrecon into …
bishoyDHD Jun 19, 2025
f851eaa
Revert back to eicrecon::WithPodConfig
bishoyDHD Jun 19, 2025
eda9580
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 19, 2025
76c701f
iwyu: SecondaryVertexFinder
bishoyDHD Jun 19, 2025
37db21d
Merge branch 'secvertexAMVF' of https://github.com/eic/EICrecon into …
bishoyDHD Jun 19, 2025
3bd15c4
Using interface. Moved variables to config. Renamed collection names…
bishoyDHD Jun 24, 2025
b9aae09
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 24, 2025
938c64c
Reverted back to interface in .
bishoyDHD Jun 25, 2025
ecc1bb4
Reverted back to interface in .
bishoyDHD Jun 25, 2025
7e980bc
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 25, 2025
91e1bcd
Cleaned up iwyu
bishoyDHD Jun 25, 2025
95d668b
Merge branch 'secvertexAMVF' of https://github.com/eic/EICrecon into …
bishoyDHD Jun 25, 2025
def07f5
Cleaning up iwyu from
bishoyDHD Jun 25, 2025
88eef22
Update Sec vertex alorithm. Independent variables for primary and sec…
bishoyDHD Jul 8, 2025
109231f
Made corrections to sec vtx finder to ensure that track container not…
bishoyDHD Jul 8, 2025
554e3d5
Cleaned up AMVF Primary and Sec. vertex
bishoyDHD Jul 22, 2025
9036a84
Resolve some conflicts with the JEventProcessorPODIO.cc
bishoyDHD Jul 22, 2025
917abf5
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jul 22, 2025
b1b5d8a
removed unused var
bishoyDHD Jul 22, 2025
a57ece3
removed unused var
bishoyDHD Jul 22, 2025
07394e7
iwyu fix
bishoyDHD Jul 23, 2025
61dd02a
removed format include directive
bishoyDHD Jul 23, 2025
93b2e50
Merge branch 'main' into secvertexAMVF
bishoyDHD Jul 25, 2025
d049e29
SecondaryVertexFinder: adopt algorithms convention for process call
veprbl Jul 27, 2025
1734966
SecondaryVertexFinder: use <> includes where appropriate
veprbl Jul 27, 2025
6ebd198
add missing copyright years
veprbl Jul 27, 2025
bbbcdc8
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jul 27, 2025
c5f2c23
Update src/algorithms/tracking/TrackProjector.cc
veprbl Jul 27, 2025
740f6ff
Merge branch 'main' into secvertexAMVF
veprbl Jul 27, 2025
9119287
avoid extra small epsilon
veprbl Jul 27, 2025
4a00881
remove comment that's already in Config
veprbl Jul 27, 2025
ef1a410
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jul 27, 2025
f6f5f8d
SecondaryVertexFinder: avoid warnings of init shadowing its proper de…
veprbl Jul 27, 2025
3cc79b9
Added initialVariances to Config
bishoyDHD Jul 28, 2025
fb1e371
Merge branch 'secvertexAMVF' of https://github.com/eic/EICrecon into …
bishoyDHD Jul 28, 2025
10cf069
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jul 28, 2025
3caae30
clean up iwyu
bishoyDHD Jul 28, 2025
00efab5
Merge branch 'secvertexAMVF' of https://github.com/eic/EICrecon into …
bishoyDHD Jul 28, 2025
9bd0922
Merge branch 'main' into secvertexAMVF
veprbl Nov 12, 2025
b0f4fe4
Update src/algorithms/tracking/SecondaryVertexFinderConfig.h
veprbl Nov 13, 2025
640a499
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 13, 2025
f7c39d0
Update src/factories/tracking/SecondaryVertexFinder_factory.h
veprbl Nov 13, 2025
895ad5d
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 13, 2025
1571282
Change tracksMaxZinterval type from unsigned int to float
veprbl Nov 13, 2025
ef32d98
Update src/factories/tracking/SecondaryVertexFinder_factory.h
veprbl Nov 13, 2025
fb2793e
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 13, 2025
6355b67
Update src/algorithms/tracking/SecondaryVertexFinder.cc
veprbl Nov 13, 2025
35a1068
Apply suggestions from code review
veprbl Nov 13, 2025
ba4db2c
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 13, 2025
2e3fff3
Update src/algorithms/tracking/SecondaryVertexFinder.cc
veprbl Nov 13, 2025
de73fd2
Secvertex amvf to be merged into main EICrecon repo (fix: iwyu) (#2187)
wdconinc Nov 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
414 changes: 414 additions & 0 deletions src/algorithms/tracking/SecondaryVertexFinder.cc

Large diffs are not rendered by default.

91 changes: 91 additions & 0 deletions src/algorithms/tracking/SecondaryVertexFinder.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// Copyright (C) 2025 Dongwi H. Dongwi (Bishoy)

#pragma once

#include <Acts/Geometry/GeometryContext.hpp>
#include <Acts/MagneticField/MagneticFieldContext.hpp>
#include <Acts/Propagator/EigenStepper.hpp>
#include <Acts/Vertexing/AdaptiveGridDensityVertexFinder.hpp>
#include <Acts/Vertexing/AdaptiveMultiVertexFinder.hpp>
#include <Acts/Vertexing/AdaptiveMultiVertexFitter.hpp>
#include <Acts/Vertexing/HelicalTrackLinearizer.hpp>
#include <Acts/Vertexing/ImpactPointEstimator.hpp>
#include <Acts/Vertexing/Vertex.hpp>
#include <Acts/Vertexing/VertexingOptions.hpp>
#include <ActsExamples/EventData/Trajectories.hpp>
#include <algorithms/algorithm.h>
#include <edm4eic/ReconstructedParticleCollection.h>
#include <edm4eic/VertexCollection.h>
#include <spdlog/logger.h>
#include <gsl/pointers>
#include <memory>
#include <string>
#include <string_view>
#include <vector>

#include "ActsGeometryProvider.h"
#include "DD4hepBField.h"
#include "SecondaryVertexFinderConfig.h"
#include "algorithms/interfaces/WithPodConfig.h"

namespace eicrecon {

using SecondaryVertexFinderAlgorithm =
algorithms::Algorithm<algorithms::Input<edm4eic::ReconstructedParticleCollection,
std::vector<const ActsExamples::Trajectories>>,
algorithms::Output<edm4eic::VertexCollection, edm4eic::VertexCollection>>;

class SecondaryVertexFinder : public SecondaryVertexFinderAlgorithm,
public WithPodConfig<eicrecon::SecondaryVertexFinderConfig> {
public:
SecondaryVertexFinder(std::string_view name)
: SecondaryVertexFinderAlgorithm{name,
{"inputReconstructedParticles", "inputActsTrajectories"},
{"outputPrimaryVertices", "outputSecondaryVertices"},
""} {}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing docstring.


void init() final;

void process(const Input&, const Output&) const final;

// FIXME this is not compliant with algorithms interface
void applyLogger(std::shared_ptr<spdlog::logger> log) { m_log = log; };

private:
// Calculate an initial Primary Vertex
void calculatePrimaryVertex(
const edm4eic::ReconstructedParticleCollection&,
const std::vector<gsl::not_null<const ActsExamples::Trajectories*>>& trajectories,
Acts::EigenStepper<>, edm4eic::VertexCollection&) const;

//Calculate secondary vertex and store secVertex container
void calculateSecondaryVertex(
const edm4eic::ReconstructedParticleCollection&,
const std::vector<gsl::not_null<const ActsExamples::Trajectories*>>& trajectories,
Acts::EigenStepper<>, edm4eic::VertexCollection&) const;

// Functions to be used to check efficacy of sec. vertex
void setVertexContainer(std::vector<Acts::Vertex> inputcontainer) {
vtx_container = inputcontainer;
};

//set up Impact estimator
using ImpactPointEstimator = Acts::ImpactPointEstimator;
using LinearizerSec = Acts::HelicalTrackLinearizer;
using VertexFitterSec = Acts::AdaptiveMultiVertexFitter;
using VertexFinderSec = Acts::AdaptiveMultiVertexFinder;
using VertexFinderOptionsSec = Acts::VertexingOptions;
using seedFinder = Acts::AdaptiveGridDensityVertexFinder;

std::shared_ptr<spdlog::logger> m_log;
std::shared_ptr<const ActsGeometryProvider> m_geoSvc;

std::shared_ptr<const eicrecon::BField::DD4hepBField> m_BField = nullptr;
Acts::GeometryContext m_geoctx;
Acts::MagneticFieldContext m_fieldctx;
SecondaryVertexFinderConfig m_cfg;
std::vector<Acts::Vertex> vtx_container;
};

} // namespace eicrecon
39 changes: 39 additions & 0 deletions src/algorithms/tracking/SecondaryVertexFinderConfig.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#pragma once
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing license header.


#include <Acts/Definitions/Units.hpp>

namespace eicrecon {

struct SecondaryVertexFinderConfig {
unsigned int maxVertices = 20;
unsigned int maxIterations = 500;
unsigned int maxSecIterations = 1000;
//Max z interval used for adding tracks to fit: when adding a new vertex to the multi vertex fit,
//only the tracks whose z at PCA is closer to the seeded vertex than tracksMaxZinterval
//are added to this new vertex
float tracksMaxZinterval = 3 * Acts::UnitConstants::mm;
float tracksMaxZintervalSec = 10 * Acts::UnitConstants::mm;

// Max chi2 value for which tracks are considered compatible with
// the fitted vertex. These tracks are removed from the seedTracks
// after the fit has been performed.
double maxVertexChi2 = 18.42;
bool doFullSplitting = false;
// 5 corresponds to a p-value of ~0.92 using `chi2(x=5,ndf=2)`
float tracksMaxSignificance = 6.7;
float maxMergeVertexSignificance = 3;
float minWeight = 1e-04;
float maxDistToLinPoint = 5.5 * Acts::UnitConstants::mm;
// Bin extent in z-direction
float spatialBinExtent = 25 * Acts::UnitConstants::um;
Acts::Vector4 initialVariances = Acts::Vector4{1e+2, 1e+2, 1e+2, 1e+8};
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still needs units.

// Bin extent in t-direction
float temporalBinExtent = 19. * Acts::UnitConstants::mm;
bool doSmoothing = true;
bool reassignTracksAfterFirstFit = true;
bool useTime = false;
// Use seed vertex as a constraint for the fit
bool useSeedConstraint = true;
};

} // namespace eicrecon
2 changes: 1 addition & 1 deletion src/algorithms/tracking/TrackProjector.cc
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ void TrackProjector::init() {

void TrackProjector::process(const Input& input, const Output& output) const {
const auto [acts_trajectories, tracks] = input;
auto [track_segments] = output;
const auto [track_segments] = output;

debug("Track projector event process. Num of input trajectories: {}",
std::size(acts_trajectories));
Expand Down
73 changes: 73 additions & 0 deletions src/factories/tracking/SecondaryVertexFinder_factory.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
// SPDX-License-Identifier: LGPL-3.0-or-later
// Copyright (C) 2025 Dongwi H. Dongwi (Bishoy)

#pragma once

#include <ActsExamples/EventData/Trajectories.hpp>
#include <JANA/JEvent.h>
#include <edm4eic/Vertex.h>
#include <edm4eic/TrackParameters.h>
#include <memory>
#include <string>
#include <utility>
#include <vector>

#include "algorithms/tracking/SecondaryVertexFinderConfig.h"
#include "algorithms/tracking/SecondaryVertexFinder.h"
#include "extensions/jana/JOmniFactory.h"

namespace eicrecon {

class SecondaryVertexFinder_factory
: public JOmniFactory<SecondaryVertexFinder_factory, SecondaryVertexFinderConfig> {

private:
using AlgoT = eicrecon::SecondaryVertexFinder;
std::unique_ptr<AlgoT> m_algo;

PodioInput<edm4eic::ReconstructedParticle> m_reco_input{this};
Input<ActsExamples::Trajectories> m_acts_trajectories_input{this};
PodioOutput<edm4eic::Vertex> m_prm_vertices_output{this};
PodioOutput<edm4eic::Vertex> m_sec_vertices_output{this};

ParameterRef<unsigned int> m_maxVertices{this, "maxVertices", config().maxVertices,
"Maximum num vertices that can be found"};
ParameterRef<bool> m_reassignTracksAfterFirstFit{
this, "reassignTracksAfterFirstFit", config().reassignTracksAfterFirstFit,
"Whether or not to reassign tracks after first fit"};
ParameterRef<float> m_tracksMaxZinterval{this, "tracksMaxZinterval", config().tracksMaxZinterval,
"Max z interval for Acts::AdaptiveMultiVertexFinder."};
ParameterRef<unsigned int> m_maxIterations{this, "maxIterations", config().maxIterations,
"Max iterations for Acts::AdaptiveMultivertexFinder"};
ParameterRef<float> m_maxDistToLinPoint{
this, "maxDistToLinPoint", config().maxDistToLinPoint,
"Max disttance to line point (pca) for Acts::AdaptiveMultivertexFinder"};

Service<ACTSGeo_service> m_ACTSGeoSvc{this};

public:
void Configure() {
m_algo = std::make_unique<AlgoT>(this->GetPrefix());
m_algo->applyConfig(config());
m_algo->applyLogger(logger());
m_algo->init();
}

void Process(int32_t, uint64_t) {
std::vector<gsl::not_null<const ActsExamples::Trajectories*>> acts_trajectories_input;
for (auto acts_traj : m_acts_trajectories_input()) {
acts_trajectories_input.push_back(acts_traj);
}
m_algo->process(
{
m_reco_input(),
acts_trajectories_input,
},
{
m_prm_vertices_output().get(),
m_sec_vertices_output().get(),
});
}
};

} // namespace eicrecon
9 changes: 9 additions & 0 deletions src/global/tracking/tracking.cc
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
#include "factories/tracking/AmbiguitySolver_factory.h"
#include "factories/tracking/CKFTracking_factory.h"
#include "factories/tracking/IterativeVertexFinder_factory.h"
#include "factories/tracking/SecondaryVertexFinder_factory.h"
#include "factories/tracking/TrackParamTruthInit_factory.h"
#include "factories/tracking/TrackProjector_factory.h"
#include "factories/tracking/TrackPropagation_factory.h"
Expand Down Expand Up @@ -392,6 +393,14 @@ void InitPlugin(JApplication* app) {
app->Add(new JOmniFactoryGeneratorT<CollectionCollector_factory<edm4eic::Track, true>>(
"CombinedTracks", {"CentralCKFTracks", "B0TrackerCKFTracks"}, {"CombinedTracks"}, app));

app->Add(new JOmniFactoryGeneratorT<SecondaryVertexFinder_factory>(
"SecondaryTrackVerticesAMVF", {"ReconstructedParticles", "CentralCKFActsTrajectories"},
{
"PrimaryTrackVerticesAMVF",
"SecondaryTrackVerticesAMVF",
Comment on lines +399 to +400
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, so our IVF collection is CentralTrackVertices, we can't just replace Central with Primary.

Suggested change
"PrimaryTrackVerticesAMVF",
"SecondaryTrackVerticesAMVF",
"CentralTrackVerticesAMVF",
"CentralTrackSecondaryVerticesAMVF",

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or if we are to be consistent with Xin's collections it would be

Suggested change
"PrimaryTrackVerticesAMVF",
"SecondaryTrackVerticesAMVF",
"PrimaryVerticesAMVF",
"SecondaryVerticesAMVF",

I wonder if primaries and secondaries produced by this factory can overlap?

},
{}, app));

app->Add(new JOmniFactoryGeneratorT<
CollectionCollector_factory<edm4eic::MCRecoTrackParticleAssociation, true>>(
"CombinedTrackAssociations", {"CentralCKFTrackAssociations", "B0TrackerCKFTrackAssociations"},
Expand Down
2 changes: 2 additions & 0 deletions src/services/io/podio/JEventProcessorPODIO.cc
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,8 @@ JEventProcessorPODIO::JEventProcessorPODIO() {
"CentralCKFTracks",
"CentralCKFTrackAssociations",
"CentralCKFTrackParameters",
"PrimaryTrackVerticesAMVF",
"SecondaryTrackVerticesAMVF",
// tracking properties - true seeding
"CentralCKFTruthSeededTrajectoriesUnfiltered",
"CentralCKFTruthSeededTracksUnfiltered",
Expand Down
Loading