Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CA Extension to strips #47090

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 5 additions & 0 deletions Configuration/ProcessModifiers/python/stripNtupletFit_cff.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import FWCore.ParameterSet.Config as cms

# This modifier can be used in combination with pixelNtupletFit to include strip hits in the tracks

stripNtupletFit = cms.Modifier()
5 changes: 4 additions & 1 deletion DQM/SiPixelHeterogeneous/plugins/SiPixelCompareRecHitsSoA.cc
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
#include "Geometry/CommonTopologies/interface/PixelTopology.h"
#include "DataFormats/SiPixelDetId/interface/PixelSubdetector.h"
#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"

#include "Geometry/CommonTopologies/interface/SimpleSeedingLayersTopology.h"
template <typename T>
class SiPixelCompareRecHitsSoA : public DQMEDAnalyzer {
public:
Expand Down Expand Up @@ -246,9 +246,12 @@ void SiPixelCompareRecHitsSoA<T>::fillDescriptions(edm::ConfigurationDescription
}

using SiPixelPhase1CompareRecHitsSoA = SiPixelCompareRecHitsSoA<pixelTopology::Phase1>;
using SiPixelPhase1StripCompareRecHitsSoA = SiPixelCompareRecHitsSoA<pixelTopology::Phase1Strip>;
using SiPixelPhase2CompareRecHitsSoA = SiPixelCompareRecHitsSoA<pixelTopology::Phase2>;
using SiPixelHIonPhase1CompareRecHitsSoA = SiPixelCompareRecHitsSoA<pixelTopology::HIonPhase1>;

#include "FWCore/Framework/interface/MakerMacros.h"
DEFINE_FWK_MODULE(SiPixelPhase1CompareRecHitsSoA);
DEFINE_FWK_MODULE(SiPixelPhase1StripCompareRecHitsSoA);
DEFINE_FWK_MODULE(SiPixelPhase2CompareRecHitsSoA);
DEFINE_FWK_MODULE(SiPixelHIonPhase1CompareRecHitsSoA);
3 changes: 3 additions & 0 deletions DQM/SiPixelHeterogeneous/plugins/SiPixelCompareTrackSoA.cc
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#include "DQMServices/Core/interface/DQMStore.h"
#include "CUDADataFormats/Track/interface/TrackSoAHeterogeneousHost.h"
#include "CUDADataFormats/Track/interface/TrackSoAHeterogeneousDevice.h"
#include "Geometry/CommonTopologies/interface/SimpleSeedingLayersTopology.h"
// for string manipulations
#include <fmt/printf.h>

Expand Down Expand Up @@ -362,7 +363,9 @@ void SiPixelCompareTrackSoA<T>::fillDescriptions(edm::ConfigurationDescriptions&
using SiPixelPhase1CompareTrackSoA = SiPixelCompareTrackSoA<pixelTopology::Phase1>;
using SiPixelPhase2CompareTrackSoA = SiPixelCompareTrackSoA<pixelTopology::Phase2>;
using SiPixelHIonPhase1CompareTrackSoA = SiPixelCompareTrackSoA<pixelTopology::HIonPhase1>;
using SiPixelPhase1StripCompareTrackSoA = SiPixelCompareTrackSoA<pixelTopology::Phase1Strip>;

DEFINE_FWK_MODULE(SiPixelPhase1CompareTrackSoA);
DEFINE_FWK_MODULE(SiPixelPhase1StripCompareTrackSoA);
DEFINE_FWK_MODULE(SiPixelPhase2CompareTrackSoA);
DEFINE_FWK_MODULE(SiPixelHIonPhase1CompareTrackSoA);
Original file line number Diff line number Diff line change
Expand Up @@ -189,10 +189,12 @@ void SiPixelMonitorRecHitsSoAAlpaka<T>::fillDescriptions(edm::ConfigurationDescr
}

using SiPixelPhase1MonitorRecHitsSoAAlpaka = SiPixelMonitorRecHitsSoAAlpaka<pixelTopology::Phase1>;
using SiPixelPhase1StripMonitorRecHitsSoAAlpaka = SiPixelMonitorRecHitsSoAAlpaka<pixelTopology::Phase1Strip>;
using SiPixelPhase2MonitorRecHitsSoAAlpaka = SiPixelMonitorRecHitsSoAAlpaka<pixelTopology::Phase2>;
using SiPixelHIonPhase1MonitorRecHitsSoAAlpaka = SiPixelMonitorRecHitsSoAAlpaka<pixelTopology::HIonPhase1>;

#include "FWCore/Framework/interface/MakerMacros.h"
DEFINE_FWK_MODULE(SiPixelPhase1MonitorRecHitsSoAAlpaka);
DEFINE_FWK_MODULE(SiPixelPhase1StripMonitorRecHitsSoAAlpaka);
DEFINE_FWK_MODULE(SiPixelPhase2MonitorRecHitsSoAAlpaka);
DEFINE_FWK_MODULE(SiPixelHIonPhase1MonitorRecHitsSoAAlpaka);
3 changes: 3 additions & 0 deletions DQM/SiPixelHeterogeneous/plugins/SiPixelMonitorTrackSoA.cc
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#include "DQMServices/Core/interface/DQMStore.h"
#include "CUDADataFormats/Track/interface/PixelTrackUtilities.h"
#include "CUDADataFormats/Track/interface/TrackSoAHeterogeneousHost.h"
#include "Geometry/CommonTopologies/interface/SimpleSeedingLayersTopology.h"
// for string manipulations
#include <fmt/printf.h>

Expand Down Expand Up @@ -195,7 +196,9 @@ void SiPixelMonitorTrackSoA<T>::fillDescriptions(edm::ConfigurationDescriptions&
using SiPixelPhase1MonitorTrackSoA = SiPixelMonitorTrackSoA<pixelTopology::Phase1>;
using SiPixelPhase2MonitorTrackSoA = SiPixelMonitorTrackSoA<pixelTopology::Phase2>;
using SiPixelHIonPhase1MonitorTrackSoA = SiPixelMonitorTrackSoA<pixelTopology::HIonPhase1>;
using SiPixelPhase1StripMonitorTrackSoA = SiPixelMonitorTrackSoA<pixelTopology::Phase1Strip>;

DEFINE_FWK_MODULE(SiPixelPhase1MonitorTrackSoA);
DEFINE_FWK_MODULE(SiPixelPhase2MonitorTrackSoA);
DEFINE_FWK_MODULE(SiPixelHIonPhase1MonitorTrackSoA);
DEFINE_FWK_MODULE(SiPixelPhase1StripMonitorTrackSoA);
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
#include "DQMServices/Core/interface/DQMStore.h"
#include "DataFormats/TrackSoA/interface/TracksHost.h"

#include "Geometry/CommonTopologies/interface/SimpleSeedingLayersTopology.h"

template <typename T>
class SiPixelMonitorTrackSoAAlpaka : public DQMEDAnalyzer {
public:
Expand Down Expand Up @@ -195,7 +197,9 @@ void SiPixelMonitorTrackSoAAlpaka<T>::fillDescriptions(edm::ConfigurationDescrip
using SiPixelPhase1MonitorTrackSoAAlpaka = SiPixelMonitorTrackSoAAlpaka<pixelTopology::Phase1>;
using SiPixelPhase2MonitorTrackSoAAlpaka = SiPixelMonitorTrackSoAAlpaka<pixelTopology::Phase2>;
using SiPixelHIonPhase1MonitorTrackSoAAlpaka = SiPixelMonitorTrackSoAAlpaka<pixelTopology::HIonPhase1>;
using SiPixelPhase1StripMonitorTrackSoAAlpaka = SiPixelMonitorTrackSoAAlpaka<pixelTopology::Phase1Strip>;

DEFINE_FWK_MODULE(SiPixelPhase1MonitorTrackSoAAlpaka);
DEFINE_FWK_MODULE(SiPixelPhase2MonitorTrackSoAAlpaka);
DEFINE_FWK_MODULE(SiPixelHIonPhase1MonitorTrackSoAAlpaka);
DEFINE_FWK_MODULE(SiPixelPhase1StripMonitorTrackSoAAlpaka);
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
from DQM.SiPixelHeterogeneous.siPixelPhase2MonitorTrackSoA_cfi import *
from DQM.SiPixelHeterogeneous.siPixelHIonPhase1MonitorTrackSoA_cfi import *
from DQM.SiPixelHeterogeneous.siPixelMonitorVertexSoA_cfi import *
from DQM.SiPixelHeterogeneous.siPixelPhase1StripMonitorTrackSoA_cfi import *
# Alpaka Modules
from Configuration.ProcessModifiers.alpaka_cff import alpaka
from DQM.SiPixelHeterogeneous.siPixelPhase1MonitorRecHitsSoAAlpaka_cfi import *
Expand All @@ -17,6 +18,8 @@
from DQM.SiPixelHeterogeneous.siPixelHIonPhase1MonitorTrackSoAAlpaka_cfi import *
from DQM.SiPixelHeterogeneous.siPixelMonitorVertexSoAAlpaka_cfi import *



# Run-3 sequence
monitorpixelSoASource = cms.Sequence(siPixelPhase1MonitorRecHitsSoA * siPixelPhase1MonitorTrackSoA * siPixelMonitorVertexSoA)
# Run-3 Alpaka sequence
Expand Down Expand Up @@ -45,6 +48,7 @@
from DQM.SiPixelHeterogeneous.siPixelPhase1CompareTrackSoA_cfi import *
from DQM.SiPixelHeterogeneous.siPixelPhase2CompareTrackSoA_cfi import *
from DQM.SiPixelHeterogeneous.siPixelHIonPhase1CompareTrackSoA_cfi import *
from DQM.SiPixelHeterogeneous.siPixelPhase1StripCompareTrackSoA_cfi import *
from DQM.SiPixelHeterogeneous.siPixelCompareVertexSoA_cfi import *
from DQM.SiPixelHeterogeneous.siPixelPhase1RawDataErrorComparator_cfi import *
from DQM.SiPixelPhase1Common.SiPixelPhase1RawData_cfi import *
Expand Down Expand Up @@ -211,6 +215,33 @@
topFolderName = cms.string('SiPixelHeterogeneous/PixelVertexDevice')
)

monitorPixelTracksAlpaka = cms.Sequence(siPixelTrackSoAMonitorSerial *
siPixelTrackSoAMonitorDevice *
siPixelPhase1CompareTrackSoA)

# PixelTracks: monitor of CPUSerial product (Alpaka backend: 'serial_sync')
siPixelTrackSoAMonitorSerialStrip = siPixelPhase1StripMonitorTrackSoA.clone(
pixelTrackSrc = cms.InputTag('pixelTracksAlpakaSerial'),
topFolderName = cms.string('SiPixelHeterogeneous/PixelTrackSerial')
)

# PixelTracks: monitor of CPUSerial product (Alpaka backend: 'serial_sync')
siPixelTrackSoAMonitorDeviceStrip = siPixelPhase1StripMonitorTrackSoA.clone(
pixelTrackSrc = cms.InputTag('pixelTracksAlpaka'),
topFolderName = cms.string('SiPixelHeterogeneous/PixelTrackDevice')
)

monitorPixelTracksAlpakaStrip = cms.Sequence( siPixelTrackSoAMonitorSerialStrip *
siPixelTrackSoAMonitorDeviceStrip *
siPixelPhase1StripCompareTrackSoA)


from Configuration.ProcessModifiers.stripNtupletFit_cff import stripNtupletFit
stripNtupletFit.toReplaceWith(monitorPixelTracksAlpaka, monitorPixelTracksAlpakaStrip)
stripNtupletFit.toReplaceWith(siPixelPhase1CompareTrackSoA, siPixelPhase1StripCompareTrackSoA)
stripNtupletFit.toReplaceWith(siPixelTrackSoAMonitorSerial, siPixelTrackSoAMonitorSerial)
stripNtupletFit.toReplaceWith(siPixelTrackSoAMonitorDevice, siPixelTrackSoAMonitorDevice)

# Run-3 sequence
monitorpixelSoACompareSource = cms.Sequence(siPixelPhase1MonitorRawDataACPU *
siPixelPhase1MonitorRawDataAGPU *
Expand Down
3 changes: 2 additions & 1 deletion DataFormats/TrackSoA/interface/TracksHost.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
#include <cstdint>

#include <alpaka/alpaka.hpp>

#include "DataFormats/Common/interface/Uninitialized.h"
#include "DataFormats/Portable/interface/PortableHostCollection.h"
#include "DataFormats/TrackSoA/interface/TrackDefinitions.h"
#include "DataFormats/TrackSoA/interface/TracksSoA.h"
#include "Geometry/CommonTopologies/interface/SimplePixelTopology.h"
#include "Geometry/CommonTopologies/interface/SimpleSeedingLayersTopology.h"

// TODO: The class is created via inheritance of the PortableHostCollection.
// This is generally discouraged, and should be done via composition.
Expand Down Expand Up @@ -42,6 +42,7 @@ namespace pixelTrack {
using TracksHostPhase1 = TracksHost<pixelTopology::Phase1>;
using TracksHostPhase2 = TracksHost<pixelTopology::Phase2>;
using TracksHostHIonPhase1 = TracksHost<pixelTopology::HIonPhase1>;
using TracksHostPhase1Strip = TracksHost<pixelTopology::Phase1Strip>;

} // namespace pixelTrack

Expand Down
17 changes: 12 additions & 5 deletions DataFormats/TrackSoA/interface/TracksSoA.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

#include "HeterogeneousCore/AlpakaInterface/interface/OneToManyAssoc.h"
#include "Geometry/CommonTopologies/interface/SimplePixelTopology.h"
#include "Geometry/CommonTopologies/interface/SimpleSeedingLayersTopology.h"
#include "DataFormats/SoATemplate/interface/SoALayout.h"
#include "DataFormats/TrackSoA/interface/TrackDefinitions.h"

Expand Down Expand Up @@ -66,33 +67,39 @@ namespace reco {
struct IsTrackSoAConstView<TrackSoAConstView<pixelTopology::HIonPhase1>> : std::true_type {};
template <>
struct IsTrackSoAConstView<TrackSoAView<pixelTopology::HIonPhase1>> : std::true_type {};
template <>
struct IsTrackSoAConstView<TrackSoAConstView<pixelTopology::Phase1Strip>> : std::true_type {};
template <>
struct IsTrackSoAConstView<TrackSoAView<pixelTopology::Phase1Strip>> : std::true_type {};

template <typename T>
constexpr bool isTrackSoAConstView = IsTrackSoAConstView<T>::value;

template <typename ConstView, typename = std::enable_if_t<isTrackSoAConstView<ConstView>>>
// enable_if should be used when there is another implementation,
// please use static_assert to report invalid template arguments
template <typename ConstView> //, typename = std::enable_if_t<isTrackSoAConstView<ConstView>>>
ALPAKA_FN_HOST_ACC ALPAKA_FN_INLINE constexpr float charge(ConstView const& tracks, int32_t i) {
//was: std::copysign(1.f, tracks[i].state()(2)). Will be constexpr with C++23
float v = tracks[i].state()(2);
return float((0.0f < v) - (v < 0.0f));
}

template <typename ConstView, typename = std::enable_if_t<isTrackSoAConstView<ConstView>>>
template <typename ConstView> //, typename = std::enable_if_t<isTrackSoAConstView<ConstView>>>
ALPAKA_FN_HOST_ACC ALPAKA_FN_INLINE constexpr float phi(ConstView const& tracks, int32_t i) {
return tracks[i].state()(0);
}

template <typename ConstView, typename = std::enable_if_t<isTrackSoAConstView<ConstView>>>
template <typename ConstView> //, typename = std::enable_if_t<isTrackSoAConstView<ConstView>>>
ALPAKA_FN_HOST_ACC ALPAKA_FN_INLINE constexpr float tip(ConstView const& tracks, int32_t i) {
return tracks[i].state()(1);
}

template <typename ConstView, typename = std::enable_if_t<isTrackSoAConstView<ConstView>>>
template <typename ConstView> //, typename = std::enable_if_t<isTrackSoAConstView<ConstView>>>
ALPAKA_FN_HOST_ACC ALPAKA_FN_INLINE constexpr float zip(ConstView const& tracks, int32_t i) {
return tracks[i].state()(4);
}

template <typename ConstView, typename = std::enable_if_t<isTrackSoAConstView<ConstView>>>
template <typename ConstView> //, typename = std::enable_if_t<isTrackSoAConstView<ConstView>>>
ALPAKA_FN_HOST_ACC ALPAKA_FN_INLINE constexpr bool isTriplet(ConstView const& tracks, int32_t i) {
return tracks[i].nLayers() == 3;
}
Expand Down
2 changes: 2 additions & 0 deletions DataFormats/TrackSoA/interface/alpaka/TrackUtilities.h
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@ namespace pixelTrack {

float pt = std::min<float>(tracks.pt(it), chi2MaxPt);
float chi2Cut = chi2Scale * (chi2Coeff[0] + roughLog(pt) * chi2Coeff[1]);
//chi2Cut = chi2Scale;
if (tracks.chi2(it) >= chi2Cut) {
#ifdef NTUPLE_FIT_DEBUG
printf("Bad chi2 %d pt %f eta %f chi2 %f\n", it, tracks.pt(it), tracks.eta(it), tracks.chi2(it));
Expand Down Expand Up @@ -173,6 +174,7 @@ namespace pixelTrack {

// TODO: Should those be placed in the ALPAKA_ACCELERATOR_NAMESPACE
template struct TracksUtilities<pixelTopology::Phase1>;
template struct TracksUtilities<pixelTopology::Phase1Strip>;
template struct TracksUtilities<pixelTopology::Phase2>;

#endif // DataFormats_TrackSoA_interface_alpaka_TrackUtilities_h
4 changes: 3 additions & 1 deletion DataFormats/TrackSoA/interface/alpaka/TracksSoACollection.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
#include "DataFormats/Portable/interface/alpaka/PortableCollection.h"
#include "DataFormats/TrackSoA/interface/TracksDevice.h"
#include "DataFormats/TrackSoA/interface/TracksHost.h"
#include "Geometry/CommonTopologies/interface/SimplePixelTopology.h"
#include "Geometry/CommonTopologies/interface/SimpleSeedingLayersTopology.h"
#include "HeterogeneousCore/AlpakaInterface/interface/AssertDeviceMatchesHostCollection.h"
#include "HeterogeneousCore/AlpakaInterface/interface/CopyToHost.h"
#include "HeterogeneousCore/AlpakaInterface/interface/config.h"
Expand All @@ -29,6 +29,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
using TracksSoACollectionPhase1 = TracksSoACollection<pixelTopology::Phase1>;
using TracksSoACollectionPhase2 = TracksSoACollection<pixelTopology::Phase2>;
using TracksSoACollectionHIonPhase1 = TracksSoACollection<pixelTopology::HIonPhase1>;
using TracksSoACollectionPhase1Strip = TracksSoACollection<pixelTopology::Phase1Strip>;
} // namespace pixelTrack
} // namespace ALPAKA_ACCELERATOR_NAMESPACE

Expand All @@ -50,5 +51,6 @@ namespace cms::alpakatools {
ASSERT_DEVICE_MATCHES_HOST_COLLECTION(pixelTrack::TracksSoACollectionPhase1, pixelTrack::TracksHostPhase1);
ASSERT_DEVICE_MATCHES_HOST_COLLECTION(pixelTrack::TracksSoACollectionPhase2, pixelTrack::TracksHostPhase2);
ASSERT_DEVICE_MATCHES_HOST_COLLECTION(pixelTrack::TracksSoACollectionHIonPhase1, pixelTrack::TracksHostHIonPhase1);
ASSERT_DEVICE_MATCHES_HOST_COLLECTION(pixelTrack::TracksSoACollectionPhase1Strip, pixelTrack::TracksHostPhase1Strip);

#endif // DataFormats_TrackSoA_interface_alpaka_TracksSoACollection_h
5 changes: 5 additions & 0 deletions DataFormats/TrackSoA/src/alpaka/classes_cuda_def.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,9 @@
<class name="alpaka_cuda_async::pixelTrack::TracksSoACollectionPhase2" persistent="false"/>
<class name="edm::DeviceProduct<alpaka_cuda_async::pixelTrack::TracksSoACollectionPhase2>" persistent="false"/>
<class name="edm::Wrapper<edm::DeviceProduct<alpaka_cuda_async::pixelTrack::TracksSoACollectionPhase2>>" persistent="false"/>

<class name="alpaka_cuda_async::PortableCollection<reco::TrackLayout<pixelTopology::Phase1Strip>>" persistent="false"/>
<class name="alpaka_cuda_async::pixelTrack::TracksSoACollectionPhase1Strip" persistent="false"/>
<class name="edm::DeviceProduct<alpaka_cuda_async::pixelTrack::TracksSoACollectionPhase1Strip>" persistent="false"/>
<class name="edm::Wrapper<edm::DeviceProduct<alpaka_cuda_async::pixelTrack::TracksSoACollectionPhase1Strip>>" persistent="false"/>
</lcgdict>
5 changes: 5 additions & 0 deletions DataFormats/TrackSoA/src/alpaka/classes_rocm_def.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,9 @@
<class name="alpaka_rocm_async::pixelTrack::TracksSoACollectionPhase2" persistent="false"/>
<class name="edm::DeviceProduct<alpaka_rocm_async::pixelTrack::TracksSoACollectionPhase2>" persistent="false"/>
<class name="edm::Wrapper<edm::DeviceProduct<alpaka_rocm_async::pixelTrack::TracksSoACollectionPhase2>>" persistent="false"/>

<class name="alpaka_rocm_async::PortableCollection<reco::TrackLayout<pixelTopology::Phase1Strip>>" persistent="false"/>
<class name="alpaka_rocm_async::pixelTrack::TracksSoACollectionPhase1Strip" persistent="false"/>
<class name="edm::DeviceProduct<alpaka_rocm_async::pixelTrack::TracksSoACollectionPhase1Strip>" persistent="false"/>
<class name="edm::Wrapper<edm::DeviceProduct<alpaka_rocm_async::pixelTrack::TracksSoACollectionPhase1Strip>>" persistent="false"/>
</lcgdict>
3 changes: 2 additions & 1 deletion DataFormats/TrackSoA/src/classes.cc
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
#include "DataFormats/Portable/interface/PortableHostCollectionReadRules.h"
#include "DataFormats/TrackSoA/interface/TracksSoA.h"
#include "Geometry/CommonTopologies/interface/SimplePixelTopology.h"
#include "Geometry/CommonTopologies/interface/SimpleSeedingLayersTopology.h"

using namespace reco;

SET_PORTABLEHOSTCOLLECTION_READ_RULES(PortableHostCollection<TrackLayout<pixelTopology::Phase1>>);
SET_PORTABLEHOSTCOLLECTION_READ_RULES(PortableHostCollection<TrackLayout<pixelTopology::Phase2>>);
// SET_PORTABLEHOSTCOLLECTION_READ_RULES(PortableHostCollection<TrackLayout<pixelTopology::HIonPhase1>>); //TODO: For the moment we live without HIons
SET_PORTABLEHOSTCOLLECTION_READ_RULES(PortableHostCollection<TrackLayout<pixelTopology::Phase1Strip>>);
10 changes: 10 additions & 0 deletions DataFormats/TrackSoA/src/classes_def.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,14 @@
<class name="PortableHostCollection<reco::TrackLayout<pixelTopology::HIonPhase1>>"/>
<class name="pixelTrack::TracksHostHIonPhase1"/>
<class name="edm::Wrapper<pixelTrack::TracksHostHIonPhase1>" splitLevel="0"/>

<class name="reco::TrackSoA<pixelTopology::Phase1Strip>"/>
<class name="reco::TrackSoA<pixelTopology::Phase1Strip>::Layout<>"/>
<class name="reco::TrackLayout<pixelTopology::Phase1Strip>"/>
<class name="reco::TrackSoAView<pixelTopology::Phase1Strip>"/>

<class name="PortableHostCollection<reco::TrackLayout<pixelTopology::Phase1Strip>>"/>
<class name="pixelTrack::TracksHostPhase1Strip">
</class>
<class name="edm::Wrapper<pixelTrack::TracksHostPhase1Strip>" splitLevel="0"/>
</lcgdict>
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
#include "DataFormats/Portable/interface/PortableDeviceCollection.h"
#include "DataFormats/TrackingRecHitSoA/interface/TrackingRecHitsHost.h"
#include "DataFormats/TrackingRecHitSoA/interface/TrackingRecHitsSoA.h"
#include "Geometry/CommonTopologies/interface/SimpleSeedingLayersTopology.h"

template <typename TrackerTraits, typename TDev>
class TrackingRecHitDevice : public PortableDeviceCollection<TrackingRecHitLayout<TrackerTraits>, TDev> {
Expand Down
2 changes: 2 additions & 0 deletions DataFormats/TrackingRecHitSoA/interface/TrackingRecHitsHost.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
#include "DataFormats/Portable/interface/PortableHostCollection.h"
#include "DataFormats/TrackingRecHitSoA/interface/TrackingRecHitsSoA.h"
#include "HeterogeneousCore/AlpakaInterface/interface/config.h"
#include "Geometry/CommonTopologies/interface/SimpleSeedingLayersTopology.h"

template <typename TrackerTraits>
class TrackingRecHitHost : public PortableHostCollection<TrackingRecHitLayout<TrackerTraits>> {
Expand Down Expand Up @@ -50,5 +51,6 @@ class TrackingRecHitHost : public PortableHostCollection<TrackingRecHitLayout<Tr
using TrackingRecHitHostPhase1 = TrackingRecHitHost<pixelTopology::Phase1>;
using TrackingRecHitHostPhase2 = TrackingRecHitHost<pixelTopology::Phase2>;
using TrackingRecHitHostHIonPhase1 = TrackingRecHitHost<pixelTopology::HIonPhase1>;
using TrackingRecHitHostPhase1Strip = TrackingRecHitHost<pixelTopology::Phase1Strip>;

#endif // DataFormats_TrackingRecHitSoA_interface_TrackingRecHitsHost_h
Loading