Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-06-06 01:33:37

0001 #ifndef RecoTracker_LSTCore_interface_QuintupletsSoA_h
0002 #define RecoTracker_LSTCore_interface_QuintupletsSoA_h
0003 
0004 #include <alpaka/alpaka.hpp>
0005 #include "DataFormats/Common/interface/StdArray.h"
0006 #include "DataFormats/SoATemplate/interface/SoALayout.h"
0007 
0008 #include "RecoTracker/LSTCore/interface/Common.h"
0009 
0010 namespace lst {
0011   GENERATE_SOA_LAYOUT(QuintupletsSoALayout,
0012                       SOA_COLUMN(ArrayUx2, tripletIndices),                        // inner and outer triplet indices
0013                       SOA_COLUMN(Params_T5::ArrayU16xLayers, lowerModuleIndices),  // lower module index in each layer
0014                       SOA_COLUMN(Params_T5::ArrayU8xLayers, logicalLayers),        // layer ID
0015                       SOA_COLUMN(Params_T5::ArrayUxHits, hitIndices),              // hit indices
0016                       SOA_COLUMN(Params_T5::ArrayFxEmbed, t5Embed),                // t5 embedding vector
0017                       SOA_COLUMN(FPX, innerRadius),                                // inner triplet circle radius
0018                       SOA_COLUMN(FPX, bridgeRadius),                               // "middle"/bridge triplet radius
0019                       SOA_COLUMN(FPX, outerRadius),                                // outer triplet radius
0020                       SOA_COLUMN(FPX, pt),
0021                       SOA_COLUMN(FPX, eta),
0022                       SOA_COLUMN(FPX, phi),
0023                       SOA_COLUMN(FPX, score_rphisum),  // r-phi based score
0024                       SOA_COLUMN(char, isDup),         // duplicate flag
0025                       SOA_COLUMN(bool, tightCutFlag),  // tight pass to be a TC
0026                       SOA_COLUMN(bool, partOfPT5),
0027                       SOA_COLUMN(float, regressionRadius),
0028                       SOA_COLUMN(float, regressionCenterX),
0029                       SOA_COLUMN(float, regressionCenterY),
0030                       SOA_COLUMN(float, rzChiSquared),  // r-z only chi2
0031                       SOA_COLUMN(float, chiSquared),
0032                       SOA_COLUMN(float, nonAnchorChiSquared),
0033                       SOA_COLUMN(float, dBeta1),
0034                       SOA_COLUMN(float, dBeta2));
0035 
0036   using QuintupletsSoA = QuintupletsSoALayout<>;
0037   using Quintuplets = QuintupletsSoA::View;
0038   using QuintupletsConst = QuintupletsSoA::ConstView;
0039 
0040   GENERATE_SOA_LAYOUT(QuintupletsOccupancySoALayout,
0041                       SOA_COLUMN(unsigned int, nQuintuplets),
0042                       SOA_COLUMN(unsigned int, totOccupancyQuintuplets));
0043 
0044   using QuintupletsOccupancySoA = QuintupletsOccupancySoALayout<>;
0045   using QuintupletsOccupancy = QuintupletsOccupancySoA::View;
0046   using QuintupletsOccupancyConst = QuintupletsOccupancySoA::ConstView;
0047 
0048 }  // namespace lst
0049 #endif