Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
EIC
Project Juggler
Commits
6f456acf
Commit
6f456acf
authored
May 11, 2022
by
Wouter Deconinck
Browse files
Support for acts@19.0.0
parent
fa539623
Pipeline
#32113
failed with stages
in 59 seconds
Changes
9
Pipelines
93
Hide whitespace changes
Inline
Side-by-side
CMakeLists.txt
View file @
6f456acf
...
...
@@ -44,7 +44,7 @@ find_package(ROOT COMPONENTS Core RIO Tree MathCore GenVector Geom REQUIRED)
find_package
(
DD4hep COMPONENTS DDG4 DDG4IO DDRec REQUIRED
)
find_package
(
Acts REQUIRED COMPONENTS Core PluginIdentification PluginTGeo PluginDD4hep PluginJson
)
set
(
Acts_VERSION_MIN
"1
5.1
.0"
)
set
(
Acts_VERSION_MIN
"1
9.0
.0"
)
set
(
Acts_VERSION
"
${
Acts_VERSION_MAJOR
}
.
${
Acts_VERSION_MINOR
}
.
${
Acts_VERSION_PATCH
}
"
)
if
(
${
Acts_VERSION
}
VERSION_LESS
${
Acts_VERSION_MIN
}
AND NOT
"
${
Acts_VERSION
}
"
STREQUAL
"9.9.9"
)
...
...
JugTrack/JugTrack/GeometryContainers.hpp
View file @
6f456acf
...
...
@@ -11,6 +11,7 @@
#include "JugTrack/Utilities/GroupBy.hpp"
#include "JugTrack/Utilities/Range.hpp"
#include "Acts/Geometry/GeometryIdentifier.hpp"
#include "Acts/Surfaces/Surface.hpp"
#include <algorithm>
#include <cstddef>
...
...
@@ -177,21 +178,11 @@ struct GeometryIdMultisetAccessor {
// pointer to the container
const
Container
*
container
=
nullptr
;
// count the number of elements with requested geoId
size_t
count
(
const
Acts
::
GeometryIdentifier
&
geoId
)
const
{
assert
(
container
!=
nullptr
);
return
container
->
count
(
geoId
);
}
// get the range of elements with requested geoId
std
::
pair
<
Iterator
,
Iterator
>
range
(
const
Acts
::
GeometryIdentifier
&
geoId
)
const
{
std
::
pair
<
Iterator
,
Iterator
>
range
(
const
Acts
::
Surface
&
surface
)
const
{
assert
(
container
!=
nullptr
);
return
container
->
equal_range
(
geoId
);
return
container
->
equal_range
(
surface
.
geometryId
()
);
}
// get the element using the iterator
const
Value
&
at
(
const
Iterator
&
it
)
const
{
return
*
it
;
}
};
}
// namespace FW
JugTrack/JugTrack/IndexSourceLink.hpp
View file @
6f456acf
...
...
@@ -12,6 +12,7 @@
#include "JugTrack/Index.hpp"
#include "Acts/EventData/SourceLink.hpp"
#include "Acts/Surfaces/Surface.hpp"
#include <cassert>
...
...
JugTrack/src/components/CKFTracking.cpp
View file @
6f456acf
...
...
@@ -141,14 +141,18 @@ namespace Jug::Reco {
extensions
.
measurementSelector
.
connect
<&
Acts
::
MeasurementSelector
::
select
>
(
&
measSel
);
IndexSourceLinkAccessor
slAccessor
;
slAccessor
.
container
=
src_links
;
Acts
::
SourceLinkAccessorDelegate
<
IndexSourceLinkAccessor
::
Iterator
>
slAccessorDelegate
;
slAccessorDelegate
.
connect
<&
IndexSourceLinkAccessor
::
range
>
(
&
slAccessor
);
// Set the CombinatorialKalmanFilter options
CKFTracking
::
TrackFinderOptions
options
(
m_geoctx
,
m_fieldctx
,
m_calibctx
,
IndexSourceLinkAccessor
(),
extensions
,
Acts
::
LoggerWrapper
{
logger
()},
pOptions
,
&
(
*
pSurface
));
m_geoctx
,
m_fieldctx
,
m_calibctx
,
slAccessorDelegate
,
extensions
,
Acts
::
LoggerWrapper
{
logger
()},
pOptions
,
&
(
*
pSurface
));
auto
results
=
(
*
m_trackFinderFunc
)(
*
src_links
,
*
init_trk_params
,
options
);
auto
results
=
(
*
m_trackFinderFunc
)(
*
init_trk_params
,
options
);
for
(
std
::
size_t
iseed
=
0
;
iseed
<
init_trk_params
->
size
();
++
iseed
)
{
...
...
JugTrack/src/components/CKFTracking.h
View file @
6f456acf
...
...
@@ -40,7 +40,7 @@ class CKFTracking : public GaudiAlgorithm {
public:
/// Track finder function that takes input measurements, initial trackstate
/// and track finder options and returns some track-finder-specific result.
using
TrackFinderOptions
=
Acts
::
CombinatorialKalmanFilterOptions
<
IndexSourceLinkAccessor
>
;
using
TrackFinderOptions
=
Acts
::
CombinatorialKalmanFilterOptions
<
IndexSourceLinkAccessor
::
Iterator
>
;
using
TrackFinderResult
=
std
::
vector
<
Acts
::
Result
<
Acts
::
CombinatorialKalmanFilterResult
>>
;
/// Find function that takes the above parameters
...
...
@@ -49,8 +49,7 @@ public:
class
CKFTrackingFunction
{
public:
virtual
~
CKFTrackingFunction
()
=
default
;
virtual
TrackFinderResult
operator
()(
const
IndexSourceLinkContainer
&
,
const
TrackParametersContainer
&
,
virtual
TrackFinderResult
operator
()(
const
TrackParametersContainer
&
,
const
TrackFinderOptions
&
)
const
=
0
;
};
...
...
JugTrack/src/components/CKFTrackingFunction.cpp
View file @
6f456acf
...
...
@@ -44,12 +44,11 @@ namespace {
CKFTrackingFunctionImpl
(
CKF
&&
f
)
:
trackFinder
(
std
::
move
(
f
))
{}
Jug
::
Reco
::
CKFTracking
::
TrackFinderResult
operator
()(
const
Jug
::
IndexSourceLinkContainer
&
sourcelinks
,
const
Jug
::
TrackParametersContainer
&
initialParameters
,
operator
()(
const
Jug
::
TrackParametersContainer
&
initialParameters
,
const
Jug
::
Reco
::
CKFTracking
::
TrackFinderOptions
&
options
)
const
override
{
return
trackFinder
.
findTracks
(
sourcelinks
,
initialParameters
,
options
);
return
trackFinder
.
findTracks
(
initialParameters
,
options
);
};
};
...
...
JugTrack/src/components/TrackFindingAlgorithm.cpp
View file @
6f456acf
...
...
@@ -142,14 +142,18 @@ namespace Jug::Reco {
extensions
.
measurementSelector
.
connect
<&
Acts
::
MeasurementSelector
::
select
>
(
&
measSel
);
IndexSourceLinkAccessor
slAccessor
;
slAccessor
.
container
=
src_links
;
Acts
::
SourceLinkAccessorDelegate
<
IndexSourceLinkAccessor
::
Iterator
>
slAccessorDelegate
;
slAccessorDelegate
.
connect
<&
IndexSourceLinkAccessor
::
range
>
(
&
slAccessor
);
// Set the CombinatorialKalmanFilter options
TrackFindingAlgorithm
::
TrackFinderOptions
options
(
m_geoctx
,
m_fieldctx
,
m_calibctx
,
IndexSourceLinkAccessor
(),
extensions
,
Acts
::
LoggerWrapper
{
logger
()},
pOptions
,
&
(
*
pSurface
));
m_geoctx
,
m_fieldctx
,
m_calibctx
,
slAccessorDelegate
,
extensions
,
Acts
::
LoggerWrapper
{
logger
()},
pOptions
,
&
(
*
pSurface
));
auto
results
=
(
*
m_trackFinderFunc
)(
*
src_links
,
*
init_trk_params
,
options
);
auto
results
=
(
*
m_trackFinderFunc
)(
*
init_trk_params
,
options
);
for
(
std
::
size_t
iseed
=
0
;
iseed
<
init_trk_params
->
size
();
++
iseed
)
{
...
...
JugTrack/src/components/TrackFindingAlgorithm.h
View file @
6f456acf
...
...
@@ -40,7 +40,7 @@ class TrackFindingAlgorithm : public GaudiAlgorithm {
public:
/// Track finder function that takes input measurements, initial trackstate
/// and track finder options and returns some track-finder-specific result.
using
TrackFinderOptions
=
Acts
::
CombinatorialKalmanFilterOptions
<
IndexSourceLinkAccessor
>
;
using
TrackFinderOptions
=
Acts
::
CombinatorialKalmanFilterOptions
<
IndexSourceLinkAccessor
::
Iterator
>
;
using
TrackFinderResult
=
std
::
vector
<
Acts
::
Result
<
Acts
::
CombinatorialKalmanFilterResult
>>
;
/// Find function that takes the above parameters
...
...
@@ -49,8 +49,7 @@ public:
class
TrackFinderFunction
{
public:
virtual
~
TrackFinderFunction
()
=
default
;
virtual
TrackFinderResult
operator
()(
const
IndexSourceLinkContainer
&
,
const
TrackParametersContainer
&
,
virtual
TrackFinderResult
operator
()(
const
TrackParametersContainer
&
,
const
TrackFinderOptions
&
)
const
=
0
;
};
...
...
JugTrack/src/components/TrackFindingAlgorithmFunction.cpp
View file @
6f456acf
...
...
@@ -44,12 +44,11 @@ namespace {
TrackFinderFunctionImpl
(
CKF
&&
f
)
:
trackFinder
(
std
::
move
(
f
))
{}
Jug
::
Reco
::
TrackFindingAlgorithm
::
TrackFinderResult
operator
()(
const
Jug
::
IndexSourceLinkContainer
&
sourcelinks
,
const
Jug
::
TrackParametersContainer
&
initialParameters
,
operator
()(
const
Jug
::
TrackParametersContainer
&
initialParameters
,
const
Jug
::
Reco
::
TrackFindingAlgorithm
::
TrackFinderOptions
&
options
)
const
override
{
return
trackFinder
.
findTracks
(
sourcelinks
,
initialParameters
,
options
);
return
trackFinder
.
findTracks
(
initialParameters
,
options
);
};
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment