/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
RecoTracker/LSTCore/interface/LSTInputSoA.h
76 строк
3 KB
Slava Krutelyov
moved to pixelSeeds firstHit, nHits (kMaxPLSHitsInHitsSoA = 4), hitDetBits (kMaxPLSHitBitsInHitsSoA = 8) to open room for more hits
10 июн 2026, 16:42
10 июн 2026, 16:42
12314fe
Код
Авторство
О чём код?
#ifndef RecoTracker_LSTCore_interface_LSTInputSoA_h #define RecoTracker_LSTCore_interface_LSTInputSoA_h #ifndef LST_STANDALONE #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h" #endif #include "DataFormats/SoATemplate/interface/SoALayout.h" #include "DataFormats/SoATemplate/interface/SoABlocks.h" #include "DataFormats/Portable/interface/PortableCollection.h" #include "RecoTracker/LSTCore/interface/Common.h" namespace lst { GENERATE_SOA_LAYOUT(HitsBaseSoALayout, SOA_COLUMN(float, xs), SOA_COLUMN(float, ys), SOA_COLUMN(float, zs), SOA_COLUMN(unsigned int, idxs), SOA_COLUMN(unsigned int, detid), SOA_COLUMN(uint16_t, clustsize), #ifndef LST_STANDALONE SOA_COLUMN(TrackingRecHit const*, hits), #endif SOA_SCALAR(unsigned int, nHitsOT)) GENERATE_SOA_LAYOUT(PixelSeedsSoALayout, SOA_COLUMN(unsigned int, firstHit), SOA_COLUMN(uint8_t, nHits), SOA_COLUMN(uint8_t, hitDetBits), // IT 0, OT 1 up to min(nHits, 8) SOA_COLUMN(float, deltaPhi), SOA_COLUMN(unsigned int, seedIdx), SOA_COLUMN(int, charge), SOA_COLUMN(int, superbin), SOA_COLUMN(PixelType, pixelType), SOA_COLUMN(char, isQuad), SOA_COLUMN(float, ptIn), SOA_COLUMN(float, ptErr), SOA_COLUMN(float, px), SOA_COLUMN(float, py), SOA_COLUMN(float, pz), SOA_COLUMN(float, etaErr), SOA_COLUMN(float, eta), SOA_COLUMN(float, phi)) GENERATE_SOA_BLOCKS(LSTInputSoALayout, SOA_BLOCK(hits, HitsBaseSoALayout), SOA_BLOCK(pixelSeeds, PixelSeedsSoALayout)) using HitsBaseSoA = HitsBaseSoALayout<>; using PixelSeedsSoA = PixelSeedsSoALayout<>; using LSTInputSoA = LSTInputSoALayout<>; using HitsBase = HitsBaseSoA::View; using HitsBaseConst = HitsBaseSoA::ConstView; using PixelSeeds = PixelSeedsSoA::View; using PixelSeedsConst = PixelSeedsSoA::ConstView; using LSTInputView = LSTInputSoA::View; using LSTInputConstView = LSTInputSoA::ConstView; // Template based accessor for getting specific SoA views. Needed in LSTEvent.dev.cc template <typename TSoA> struct LSTInputViewAccessor; template <> struct LSTInputViewAccessor<HitsBaseSoA> { static constexpr auto get(auto const& v) { return v.hits(); } }; template <> struct LSTInputViewAccessor<PixelSeedsSoA> { static constexpr auto get(auto const& v) { return v.pixelSeeds(); } }; } // namespace lst #endif