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 10 commits into
base: master
Choose a base branch
from
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()
3 changes: 2 additions & 1 deletion Configuration/PyReleaseValidation/python/relval_gpu.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
12850.402, 12850.403, 12850.404,
12450.406, 12450.407, 12450.408,
12861.402,
16834.409,

# 2024 with PU, Alpaka-based
13034.402, 13034.403, 13034.404,
Expand All @@ -65,7 +66,7 @@
13034.492, 13034.493,
13050.402, 13050.403, 13050.404,
13050.406, 13050.407, 13050.408,
13061.402,
13061.402, 17034.409,

# Run4, Alpaka-based noPU
29634.402, 29634.403, 29634.404, 29634.406, 29634.704,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1402,6 +1402,20 @@ def setup_(self, step, stepName, stepDict, k, properties):
offset = 0.408,
)

upgradeWFs['PatatrackPixelPlusStripAlpaka'] = PatatrackWorkflow(
digi = {
'--procModifiers': 'alpaka',
'--customise': 'HLTrigger/Configuration/customizeHLTforAlpakaStripNoDoubletRecovery.customizeHLTforAlpakaStripNoDoubletRecovery'
},
reco = {
'-s': 'RAW2DIGI,RECO',
'--procModifiers': 'alpaka,stripNtupletFit'
},
harvest = None,
suffix = 'Patatrack_PixelPlusStripAlpaka',
offset = 0.409,
)

# end of Patatrack workflows
###############################################################################################################

Expand Down
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 *



Comment on lines +21 to +22
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change

# 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>

Copy link
Contributor

Choose a reason for hiding this comment

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

please add back the empty line

#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
Comment on lines +78 to +79
Copy link
Contributor

Choose a reason for hiding this comment

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

I guess we disagree on how to write C++ code.

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;
Copy link
Contributor

Choose a reason for hiding this comment

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

what does this comment mean ?

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"/>
Copy link
Contributor

Choose a reason for hiding this comment

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

indentation

<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
Loading