Skip to content

A More Flexible And Lightweight CA #47611

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

Open
wants to merge 30 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
17997ca
Moving histo out of hits
AdrianoDee Nov 2, 2024
4e80f0c
Start CAGeometry (was CAPArams)
AdrianoDee Nov 2, 2024
6eed550
Start cleanup of Average Geometry
AdrianoDee Nov 9, 2024
745ff55
No TrackerTraits TrackSoA
AdrianoDee Nov 11, 2024
d944806
No TrackerTraits HitSoA
AdrianoDee Nov 14, 2024
f31e616
Moving more CA cuts to CAParams
AdrianoDee Nov 18, 2024
f885929
Start for GenericContainer
AdrianoDee Nov 21, 2024
92f4b33
Moved HitToTuple to GenericContainer
AdrianoDee Nov 22, 2024
fb2ebba
Moved TupleMultiplicity to GenericContainer
AdrianoDee Nov 22, 2024
16ce3f5
Moved HitContainer to SequentialContainer
AdrianoDee Nov 24, 2024
9a26fb4
Fixes to CAParamsESProducer and rebase
AdrianoDee Nov 24, 2024
d8da2cb
Configurable maxNumberOfTuples and avgHitsPerTrack
AdrianoDee Nov 28, 2024
11304af
Introducing CACouple
AdrianoDee Nov 30, 2024
8648910
Filling the cellToCell histogram
AdrianoDee Dec 1, 2024
83de0ea
Use cellToCell histo in find_ntuplets
AdrianoDee Dec 2, 2024
5df5613
Configurable avgCellsPerHit, avgCellsPerCell, avgTracksPerCell
AdrianoDee Dec 3, 2024
bbdce10
HitToCell in CAFishbone
AdrianoDee Dec 3, 2024
954fce3
CASimpleCell Consolidation
AdrianoDee Dec 9, 2024
0b7fdc7
CAGeometry renaming and no FrameSoA
AdrianoDee Dec 13, 2024
8b336a3
Implementing heuristic sizes for doublets and tuples
AdrianoDee Dec 18, 2024
33a88df
Fishbone flexi + Move CAGeometry to Record
AdrianoDee Jan 21, 2025
a9a98c4
Code and history clean up
AdrianoDee Mar 17, 2025
67bad40
Code checks and PR number
AdrianoDee Mar 17, 2025
cbd2d7f
Spelling
AdrianoDee Mar 18, 2025
d47f047
Fixes for HI tests and first comment
AdrianoDee Mar 19, 2025
047152b
Second round of comments
AdrianoDee Mar 28, 2025
0256a8d
Allowing HI and pp hlt customisations
AdrianoDee Mar 31, 2025
9be855c
Updating Phase2 HLT (HLT_75e33)
AdrianoDee Apr 3, 2025
777aa18
Second round of comments - part I
AdrianoDee Apr 7, 2025
e5ae12f
Second round of comments - part II
AdrianoDee Apr 7, 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
39 changes: 20 additions & 19 deletions DQM/SiPixelHeterogeneous/plugins/SiPixelCompareRecHits.cc
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,9 @@
#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"

// TODO: change class name to SiPixelCompareRecHitsSoA when CUDA code is removed
template <typename T>
class SiPixelCompareRecHits : public DQMEDAnalyzer {
public:
using HitsSoA = TrackingRecHitHost<T>;
using HitsSoA = reco::TrackingRecHitHost;

explicit SiPixelCompareRecHits(const edm::ParameterSet&);
~SiPixelCompareRecHits() override = default;
Expand Down Expand Up @@ -75,8 +74,8 @@ class SiPixelCompareRecHits : public DQMEDAnalyzer {
//
// constructors
//
template <typename T>
SiPixelCompareRecHits<T>::SiPixelCompareRecHits(const edm::ParameterSet& iConfig)

SiPixelCompareRecHits::SiPixelCompareRecHits(const edm::ParameterSet& iConfig)
: geomToken_(esConsumes<TrackerGeometry, TrackerDigiGeometryRecord, edm::Transition::BeginRun>()),
topoToken_(esConsumes<TrackerTopology, TrackerTopologyRcd, edm::Transition::BeginRun>()),
tokenSoAHitsReference_(consumes(iConfig.getParameter<edm::InputTag>("pixelHitsReferenceSoA"))),
Expand All @@ -87,15 +86,14 @@ SiPixelCompareRecHits<T>::SiPixelCompareRecHits(const edm::ParameterSet& iConfig
//
// Begin Run
//
template <typename T>
void SiPixelCompareRecHits<T>::dqmBeginRun(const edm::Run& iRun, const edm::EventSetup& iSetup) {

void SiPixelCompareRecHits::dqmBeginRun(const edm::Run& iRun, const edm::EventSetup& iSetup) {
tkGeom_ = &iSetup.getData(geomToken_);
tTopo_ = &iSetup.getData(topoToken_);
}

template <typename T>
template <typename U, typename V>
void SiPixelCompareRecHits<T>::analyzeSeparate(U tokenRef, V tokenTar, const edm::Event& iEvent) {
void SiPixelCompareRecHits::analyzeSeparate(U tokenRef, V tokenTar, const edm::Event& iEvent) {
const auto& rhsoaHandleRef = iEvent.getHandle(tokenRef);
const auto& rhsoaHandleTar = iEvent.getHandle(tokenTar);

Expand Down Expand Up @@ -206,8 +204,8 @@ void SiPixelCompareRecHits<T>::analyzeSeparate(U tokenRef, V tokenTar, const edm
//
// -- Analyze
//
template <typename T>
void SiPixelCompareRecHits<T>::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) {

void SiPixelCompareRecHits::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) {
// The default use case is to use vertices from Alpaka reconstructed on CPU and GPU;
// The function is left templated if any other cases need to be added
analyzeSeparate(tokenSoAHitsReference_, tokenSoAHitsTarget_, iEvent);
Expand All @@ -216,10 +214,10 @@ void SiPixelCompareRecHits<T>::analyze(const edm::Event& iEvent, const edm::Even
//
// -- Book Histograms
//
template <typename T>
void SiPixelCompareRecHits<T>::bookHistograms(DQMStore::IBooker& iBook,
edm::Run const& iRun,
edm::EventSetup const& iSetup) {

void SiPixelCompareRecHits::bookHistograms(DQMStore::IBooker& iBook,
edm::Run const& iRun,
edm::EventSetup const& iSetup) {
iBook.cd();
iBook.setCurrentFolder(topFolderName_);

Expand Down Expand Up @@ -259,8 +257,8 @@ void SiPixelCompareRecHits<T>::bookHistograms(DQMStore::IBooker& iBook,
hFposYDiff_ = iBook.book1D("rechitsposYDiffFpix","y-position difference of rechits in FPix; rechit y-pos difference (Reference - Target)", 1000, -10, 10);
}

template<typename T>
void SiPixelCompareRecHits<T>::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {

void SiPixelCompareRecHits::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
// monitorpixelRecHitsSoAAlpaka
edm::ParameterSetDescription desc;
desc.add<edm::InputTag>("pixelHitsReferenceSoA", edm::InputTag("siPixelRecHitsPreSplittingAlpakaSerial"));
Expand All @@ -270,12 +268,15 @@ void SiPixelCompareRecHits<T>::fillDescriptions(edm::ConfigurationDescriptions&
descriptions.addWithDefaultLabel(desc);
}

using SiPixelPhase1CompareRecHits = SiPixelCompareRecHits<pixelTopology::Phase1>;
using SiPixelPhase2CompareRecHits = SiPixelCompareRecHits<pixelTopology::Phase2>;
using SiPixelHIonPhase1CompareRecHits = SiPixelCompareRecHits<pixelTopology::HIonPhase1>;
using SiPixelCompareRecHits = SiPixelCompareRecHits;
Copy link
Contributor

Choose a reason for hiding this comment

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

why this one ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

A (tautological) mistake.

// keeping the old names to allow a smooth HLT migration
using SiPixelPhase1CompareRecHits = SiPixelCompareRecHits;
using SiPixelPhase2CompareRecHits = SiPixelCompareRecHits;
using SiPixelHIonPhase1CompareRecHits = SiPixelCompareRecHits;

#include "FWCore/Framework/interface/MakerMacros.h"
// TODO: change module names to SiPixel*CompareRecHitsSoA when CUDA code is removed
DEFINE_FWK_MODULE(SiPixelCompareRecHits);
DEFINE_FWK_MODULE(SiPixelPhase1CompareRecHits);
DEFINE_FWK_MODULE(SiPixelPhase2CompareRecHits);
DEFINE_FWK_MODULE(SiPixelHIonPhase1CompareRecHits);
Expand Down
41 changes: 19 additions & 22 deletions DQM/SiPixelHeterogeneous/plugins/SiPixelCompareTracks.cc
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,10 @@ namespace {
} // namespace

// TODO: change class name to SiPixelCompareTracksSoA when CUDA code is removed
template <typename T>

class SiPixelCompareTracks : public DQMEDAnalyzer {
public:
using PixelTrackSoA = TracksHost<T>;
using PixelTrackSoA = reco::TracksHost;

explicit SiPixelCompareTracks(const edm::ParameterSet&);
~SiPixelCompareTracks() override = default;
Expand Down Expand Up @@ -135,20 +135,16 @@ class SiPixelCompareTracks : public DQMEDAnalyzer {
// constructors
//

template <typename T>
SiPixelCompareTracks<T>::SiPixelCompareTracks(const edm::ParameterSet& iConfig)
SiPixelCompareTracks::SiPixelCompareTracks(const edm::ParameterSet& iConfig)
: tokenSoATrackReference_(consumes<PixelTrackSoA>(iConfig.getParameter<edm::InputTag>("pixelTrackReferenceSoA"))),
tokenSoATrackTarget_(consumes<PixelTrackSoA>(iConfig.getParameter<edm::InputTag>("pixelTrackTargetSoA"))),
topFolderName_(iConfig.getParameter<std::string>("topFolderName")),
useQualityCut_(iConfig.getParameter<bool>("useQualityCut")),
minQuality_(pixelTrack::qualityByName(iConfig.getParameter<std::string>("minQuality"))),
dr2cut_(iConfig.getParameter<double>("deltaR2cut")) {}

template <typename T>
template <typename U, typename V>
void SiPixelCompareTracks<T>::analyzeSeparate(U tokenRef, V tokenTar, const edm::Event& iEvent) {
using helper = TracksUtilities<T>;

void SiPixelCompareTracks::analyzeSeparate(U tokenRef, V tokenTar, const edm::Event& iEvent) {
const auto& tsoaHandleRef = iEvent.getHandle(tokenRef);
const auto& tsoaHandleTar = iEvent.getHandle(tokenTar);

Expand Down Expand Up @@ -182,7 +178,7 @@ void SiPixelCompareTracks<T>::analyzeSeparate(U tokenRef, V tokenTar, const edm:
//Loop over Tar tracks and store the indices of the loose tracks. Whats happens if useQualityCut_ is false?
std::vector<int32_t> looseTrkidxTar;
for (int32_t jt = 0; jt < maxTracksTar; ++jt) {
if (helper::nHits(tsoaTar.view(), jt) == 0)
if (reco::nHits(tsoaTar.view(), jt) == 0)
break; // this is a guard
if (!(tsoaTar.view()[jt].pt() > 0.))
continue;
Expand All @@ -195,7 +191,7 @@ void SiPixelCompareTracks<T>::analyzeSeparate(U tokenRef, V tokenTar, const edm:

//Now loop over Ref tracks//nested loop for loose gPU tracks
for (int32_t it = 0; it < maxTracksRef; ++it) {
int nHitsRef = helper::nHits(tsoaRef.view(), it);
int nHitsRef = reco::nHits(tsoaRef.view(), it);

if (nHitsRef == 0)
break; // this is a guard
Expand Down Expand Up @@ -238,7 +234,7 @@ void SiPixelCompareTracks<T>::analyzeSeparate(U tokenRef, V tokenTar, const edm:

hchi2_->Fill(tsoaRef.view()[it].chi2(), tsoaTar.view()[closestTkidx].chi2());
hCharge_->Fill(qRef, reco::charge(tsoaTar.view(), closestTkidx));
hnHits_->Fill(helper::nHits(tsoaRef.view(), it), helper::nHits(tsoaTar.view(), closestTkidx));
hnHits_->Fill(reco::nHits(tsoaRef.view(), it), reco::nHits(tsoaTar.view(), closestTkidx));
hnLayers_->Fill(tsoaRef.view()[it].nLayers(), tsoaTar.view()[closestTkidx].nLayers());
hpt_->Fill(ptRef, tsoaTar.view()[closestTkidx].pt());
hCurvature_->Fill(qRef / ptRef, reco::charge(tsoaTar.view(), closestTkidx) / tsoaTar.view()[closestTkidx].pt());
Expand Down Expand Up @@ -279,8 +275,8 @@ void SiPixelCompareTracks<T>::analyzeSeparate(U tokenRef, V tokenTar, const edm:
//
// -- Analyze
//
template <typename T>
void SiPixelCompareTracks<T>::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) {

void SiPixelCompareTracks::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) {
// The default use case is to use vertices from Alpaka reconstructed on CPU and GPU;
// The function is left templated if any other cases need to be added
analyzeSeparate(tokenSoATrackReference_, tokenSoATrackTarget_, iEvent);
Expand All @@ -289,10 +285,10 @@ void SiPixelCompareTracks<T>::analyze(const edm::Event& iEvent, const edm::Event
//
// -- Book Histograms
//
template <typename T>
void SiPixelCompareTracks<T>::bookHistograms(DQMStore::IBooker& iBook,
edm::Run const& iRun,
edm::EventSetup const& iSetup) {

void SiPixelCompareTracks::bookHistograms(DQMStore::IBooker& iBook,
edm::Run const& iRun,
edm::EventSetup const& iSetup) {
iBook.cd();
iBook.setCurrentFolder(topFolderName_);

Expand Down Expand Up @@ -371,8 +367,7 @@ void SiPixelCompareTracks<T>::bookHistograms(DQMStore::IBooker& iBook,

}

template<typename T>
void SiPixelCompareTracks<T>::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
void SiPixelCompareTracks::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
// monitorpixelTrackSoA
edm::ParameterSetDescription desc;
desc.add<edm::InputTag>("pixelTrackReferenceSoA", edm::InputTag("pixelTracksAlpakaSerial"));
Expand All @@ -386,10 +381,12 @@ void SiPixelCompareTracks<T>::fillDescriptions(edm::ConfigurationDescriptions& d

// TODO: change module names to SiPixel*CompareTracksSoA when CUDA code is removed

using SiPixelPhase1CompareTracks = SiPixelCompareTracks<pixelTopology::Phase1>;
using SiPixelPhase2CompareTracks = SiPixelCompareTracks<pixelTopology::Phase2>;
using SiPixelHIonPhase1CompareTracks = SiPixelCompareTracks<pixelTopology::HIonPhase1>;
using SiPixelPhase1CompareTracks = SiPixelCompareTracks;
using SiPixelPhase2CompareTracks = SiPixelCompareTracks;
using SiPixelHIonPhase1CompareTracks = SiPixelCompareTracks;

// Duplicates to keep them alive for the HLT menu to migrate to the new modules
DEFINE_FWK_MODULE(SiPixelCompareTracks);
DEFINE_FWK_MODULE(SiPixelPhase1CompareTracks);
DEFINE_FWK_MODULE(SiPixelPhase2CompareTracks);
DEFINE_FWK_MODULE(SiPixelHIonPhase1CompareTracks);
Expand Down
34 changes: 17 additions & 17 deletions DQM/SiPixelHeterogeneous/plugins/SiPixelMonitorRecHitsSoAAlpaka.cc
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,9 @@
#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"

template <typename T>
class SiPixelMonitorRecHitsSoAAlpaka : public DQMEDAnalyzer {
public:
using HitsOnHost = TrackingRecHitHost<T>;
using HitsOnHost = reco::TrackingRecHitHost;

explicit SiPixelMonitorRecHitsSoAAlpaka(const edm::ParameterSet&);
~SiPixelMonitorRecHitsSoAAlpaka() override = default;
Expand Down Expand Up @@ -61,8 +60,8 @@ class SiPixelMonitorRecHitsSoAAlpaka : public DQMEDAnalyzer {
//
// constructors
//
template <typename T>
SiPixelMonitorRecHitsSoAAlpaka<T>::SiPixelMonitorRecHitsSoAAlpaka(const edm::ParameterSet& iConfig)

SiPixelMonitorRecHitsSoAAlpaka::SiPixelMonitorRecHitsSoAAlpaka(const edm::ParameterSet& iConfig)
: geomToken_(esConsumes<TrackerGeometry, TrackerDigiGeometryRecord, edm::Transition::BeginRun>()),
topoToken_(esConsumes<TrackerTopology, TrackerTopologyRcd, edm::Transition::BeginRun>()),
tokenSoAHits_(consumes(iConfig.getParameter<edm::InputTag>("pixelHitsSrc"))),
Expand All @@ -71,17 +70,17 @@ SiPixelMonitorRecHitsSoAAlpaka<T>::SiPixelMonitorRecHitsSoAAlpaka(const edm::Par
//
// Begin Run
//
template <typename T>
void SiPixelMonitorRecHitsSoAAlpaka<T>::dqmBeginRun(const edm::Run& iRun, const edm::EventSetup& iSetup) {

void SiPixelMonitorRecHitsSoAAlpaka::dqmBeginRun(const edm::Run& iRun, const edm::EventSetup& iSetup) {
tkGeom_ = &iSetup.getData(geomToken_);
tTopo_ = &iSetup.getData(topoToken_);
}

//
// -- Analyze
//
template <typename T>
void SiPixelMonitorRecHitsSoAAlpaka<T>::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) {

void SiPixelMonitorRecHitsSoAAlpaka::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) {
const auto& rhsoaHandle = iEvent.getHandle(tokenSoAHits_);
if (!rhsoaHandle.isValid()) {
edm::LogWarning("SiPixelMonitorRecHitsSoAAlpaka") << "No RecHits SoA found \n returning!";
Expand Down Expand Up @@ -136,10 +135,10 @@ void SiPixelMonitorRecHitsSoAAlpaka<T>::analyze(const edm::Event& iEvent, const
//
// -- Book Histograms
//
template <typename T>
void SiPixelMonitorRecHitsSoAAlpaka<T>::bookHistograms(DQMStore::IBooker& iBook,
edm::Run const& iRun,
edm::EventSetup const& iSetup) {

void SiPixelMonitorRecHitsSoAAlpaka::bookHistograms(DQMStore::IBooker& iBook,
edm::Run const& iRun,
edm::EventSetup const& iSetup) {
iBook.cd();
iBook.setCurrentFolder(topFolderName_);

Expand Down Expand Up @@ -179,20 +178,21 @@ void SiPixelMonitorRecHitsSoAAlpaka<T>::bookHistograms(DQMStore::IBooker& iBook,
}
}

template<typename T>
void SiPixelMonitorRecHitsSoAAlpaka<T>::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
void SiPixelMonitorRecHitsSoAAlpaka::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
// monitorpixelRecHitsSoA
edm::ParameterSetDescription desc;
desc.add<edm::InputTag>("pixelHitsSrc", edm::InputTag("siPixelRecHitsPreSplittingAlpaka"));
desc.add<std::string>("TopFolderName", "SiPixelHeterogeneous/PixelRecHitsAlpaka");
descriptions.addWithDefaultLabel(desc);
}

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

#include "FWCore/Framework/interface/MakerMacros.h"
DEFINE_FWK_MODULE(SiPixelMonitorRecHitsSoAAlpaka);
DEFINE_FWK_MODULE(SiPixelPhase1MonitorRecHitsSoAAlpaka);
DEFINE_FWK_MODULE(SiPixelPhase2MonitorRecHitsSoAAlpaka);
DEFINE_FWK_MODULE(SiPixelHIonPhase1MonitorRecHitsSoAAlpaka);

32 changes: 16 additions & 16 deletions DQM/SiPixelHeterogeneous/plugins/SiPixelMonitorTrackSoAAlpaka.cc
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@
#include "DQMServices/Core/interface/DQMEDAnalyzer.h"
#include "DQMServices/Core/interface/DQMStore.h"
#include "DataFormats/TrackSoA/interface/TracksHost.h"
#include "DataFormats/TrackSoA/interface/alpaka/TrackUtilities.h"

template <typename T>
class SiPixelMonitorTrackSoAAlpaka : public DQMEDAnalyzer {
public:
using PixelTrackHeterogeneous = TracksHost<T>;
using PixelTrackHeterogeneous = reco::TracksHost;
explicit SiPixelMonitorTrackSoAAlpaka(const edm::ParameterSet&);
~SiPixelMonitorTrackSoAAlpaka() override = default;
void bookHistograms(DQMStore::IBooker& ibooker, edm::Run const& iRun, edm::EventSetup const& iSetup) override;
Expand Down Expand Up @@ -64,8 +64,7 @@ class SiPixelMonitorTrackSoAAlpaka : public DQMEDAnalyzer {
// constructors
//

template <typename T>
SiPixelMonitorTrackSoAAlpaka<T>::SiPixelMonitorTrackSoAAlpaka(const edm::ParameterSet& iConfig) {
SiPixelMonitorTrackSoAAlpaka::SiPixelMonitorTrackSoAAlpaka(const edm::ParameterSet& iConfig) {
tokenSoATrack_ = consumes<PixelTrackHeterogeneous>(iConfig.getParameter<edm::InputTag>("pixelTrackSrc"));
topFolderName_ = iConfig.getParameter<std::string>("topFolderName"); //"SiPixelHeterogeneous/PixelTrackSoA";
useQualityCut_ = iConfig.getParameter<bool>("useQualityCut");
Expand All @@ -75,8 +74,8 @@ SiPixelMonitorTrackSoAAlpaka<T>::SiPixelMonitorTrackSoAAlpaka(const edm::Paramet
//
// -- Analyze
//
template <typename T>
void SiPixelMonitorTrackSoAAlpaka<T>::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) {

void SiPixelMonitorTrackSoAAlpaka::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) {
const auto& tsoaHandle = iEvent.getHandle(tokenSoATrack_);
if (!tsoaHandle.isValid()) {
edm::LogWarning("SiPixelMonitorTrackSoAAlpaka") << "No Track SoA found \n returning!" << std::endl;
Expand All @@ -90,7 +89,7 @@ void SiPixelMonitorTrackSoAAlpaka<T>::analyze(const edm::Event& iEvent, const ed
int32_t nLooseAndAboveTracks = 0;

for (int32_t it = 0; it < maxTracks; ++it) {
auto nHits = tsoa.view().detIndices().size(it);
auto nHits = reco::nHits(tsoa.const_view(), it);
auto nLayers = tsoa.view()[it].nLayers();
if (nHits == 0)
break; // this is a guard
Expand Down Expand Up @@ -139,10 +138,10 @@ void SiPixelMonitorTrackSoAAlpaka<T>::analyze(const edm::Event& iEvent, const ed
//
// -- Book Histograms
//
template <typename T>
void SiPixelMonitorTrackSoAAlpaka<T>::bookHistograms(DQMStore::IBooker& iBook,
edm::Run const& iRun,
edm::EventSetup const& iSetup) {

void SiPixelMonitorTrackSoAAlpaka::bookHistograms(DQMStore::IBooker& iBook,
edm::Run const& iRun,
edm::EventSetup const& iSetup) {
iBook.cd();
iBook.setCurrentFolder(topFolderName_);

Expand Down Expand Up @@ -181,8 +180,7 @@ hChi2VsEta = iBook.bookProfile("nChi2ndofVsEta", fmt::format("{} vs track #eta;T
}
}

template <typename T>
void SiPixelMonitorTrackSoAAlpaka<T>::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
void SiPixelMonitorTrackSoAAlpaka::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
// monitorpixelTrackSoA
edm::ParameterSetDescription desc;
desc.add<edm::InputTag>("pixelTrackSrc", edm::InputTag("pixelTracksAlpaka"));
Expand All @@ -192,10 +190,12 @@ void SiPixelMonitorTrackSoAAlpaka<T>::fillDescriptions(edm::ConfigurationDescrip
descriptions.addWithDefaultLabel(desc);
}

using SiPixelPhase1MonitorTrackSoAAlpaka = SiPixelMonitorTrackSoAAlpaka<pixelTopology::Phase1>;
using SiPixelPhase2MonitorTrackSoAAlpaka = SiPixelMonitorTrackSoAAlpaka<pixelTopology::Phase2>;
using SiPixelHIonPhase1MonitorTrackSoAAlpaka = SiPixelMonitorTrackSoAAlpaka<pixelTopology::HIonPhase1>;
using SiPixelPhase1MonitorTrackSoAAlpaka = SiPixelMonitorTrackSoAAlpaka;
using SiPixelPhase2MonitorTrackSoAAlpaka = SiPixelMonitorTrackSoAAlpaka;
using SiPixelHIonPhase1MonitorTrackSoAAlpaka = SiPixelMonitorTrackSoAAlpaka;

// Duplicates to keep them alive for the HLT menu to migrate to the new modules
DEFINE_FWK_MODULE(SiPixelMonitorTrackSoAAlpaka);
DEFINE_FWK_MODULE(SiPixelPhase1MonitorTrackSoAAlpaka);
DEFINE_FWK_MODULE(SiPixelPhase2MonitorTrackSoAAlpaka);
DEFINE_FWK_MODULE(SiPixelHIonPhase1MonitorTrackSoAAlpaka);
4 changes: 2 additions & 2 deletions DataFormats/TrackSoA/interface/TrackDefinitions.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#ifndef DataFormats_Track_interface_TrackDefinitions_h
#define DataFormats_Track_interface_TrackDefinitions_h
#ifndef DataFormats_TrackSoA_interface_TrackDefinitions_h
#define DataFormats_TrackSoA_interface_TrackDefinitions_h
#include <string>
#include <algorithm>
#include <stdexcept>
Expand Down
Loading