@@ -256,6 +256,35 @@ DECLARE_SOA_EXPRESSION_COLUMN(DetectorMap, detectorMap, uint8_t, //! Detector ma
256256 ifnode(aod::track::tpcNClsFindable > (uint8_t )0, static_cast<uint8_t>(o2::aod::track::TPC ), (uint8_t )0x0) |
257257 ifnode(aod::track::trdPattern > (uint8_t )0, static_cast<uint8_t>(o2::aod::track::TRD ), (uint8_t )0x0) |
258258 ifnode((aod::track::tofChi2 >= 0 .f) && (aod::track::tofExpMom > 0 .f), static_cast<uint8_t>(o2::aod::track::TOF ), (uint8_t )0x0));
259+ DECLARE_SOA_DYNAMIC_COLUMN (ITSClusterMap, itsClusterMap, // ! ITS cluster map, one bit per a layer, starting from the innermost
260+ [](uint32_t itsClusterSizes) -> uint8_t {
261+ uint8_t clmap = 0 ;
262+ for (unsigned int layer = 0 ; layer < 7 ; layer++) {
263+ if ((itsClusterSizes >> (layer * 4 )) & 0xf ) {
264+ clmap |= (1 << layer);
265+ }
266+ }
267+ return clmap;
268+ });
269+ DECLARE_SOA_DYNAMIC_COLUMN (ITSNCls, itsNCls, // ! Number of ITS clusters
270+ [](uint8_t itsClusterSizes) -> uint8_t {
271+ uint8_t itsNcls = 0 ;
272+ for (int layer = 0 ; layer < 7 ; layer++) {
273+ if ((itsClusterSizes >> (layer * 4 )) & 0xf )
274+ itsNcls++;
275+ }
276+ return itsNcls;
277+ });
278+ DECLARE_SOA_DYNAMIC_COLUMN (ITSNClsInnerBarrel, itsNClsInnerBarrel, // ! Number of ITS clusters in the Inner Barrel
279+ [](uint8_t itsClusterSizes) -> uint8_t {
280+ uint8_t itsNclsInnerBarrel = 0 ;
281+ for (int layer = 0 ; layer < 3 ; layer++) {
282+ if ((itsClusterSizes >> (layer * 4 )) & 0xf )
283+ itsNclsInnerBarrel++;
284+ }
285+ return itsNclsInnerBarrel;
286+ });
287+
259288} // namespace v001
260289
261290DECLARE_SOA_DYNAMIC_COLUMN (HasITS, hasITS, // ! Flag to check if track has a ITS match
@@ -274,16 +303,6 @@ DECLARE_SOA_DYNAMIC_COLUMN(TPCNClsFound, tpcNClsFound, //! Number of found TPC c
274303 [](uint8_t tpcNClsFindable, int8_t tpcNClsFindableMinusFound) -> int16_t { return (int16_t )tpcNClsFindable - tpcNClsFindableMinusFound; });
275304DECLARE_SOA_DYNAMIC_COLUMN (TPCNClsCrossedRows, tpcNClsCrossedRows, // ! Number of crossed TPC Rows
276305 [](uint8_t tpcNClsFindable, int8_t TPCNClsFindableMinusCrossedRows) -> int16_t { return (int16_t )tpcNClsFindable - TPCNClsFindableMinusCrossedRows; });
277- DECLARE_SOA_DYNAMIC_COLUMN (ITSClusterMapDyn, itsClusterMap, // ! ITS cluster map, one bit per a layer, starting from the innermost
278- [](uint32_t itsClusterSizes) -> uint8_t {
279- uint8_t clmap = 0 ;
280- for (unsigned int layer = 0 ; layer < 7 ; layer++) {
281- if ((itsClusterSizes >> (layer * 4 )) & 0xf ) {
282- clmap |= (1 << layer);
283- }
284- }
285- return clmap;
286- });
287306DECLARE_SOA_DYNAMIC_COLUMN (ITSNCls, itsNCls, // ! Number of ITS clusters
288307 [](uint8_t itsClusterMap) -> uint8_t {
289308 uint8_t itsNcls = 0 ;
@@ -304,25 +323,6 @@ DECLARE_SOA_DYNAMIC_COLUMN(ITSNClsInnerBarrel, itsNClsInnerBarrel, //! Number of
304323 }
305324 return itsNclsInnerBarrel;
306325 });
307- DECLARE_SOA_DYNAMIC_COLUMN (ITSNCls001, itsNCls, // ! Number of ITS clusters
308- [](uint8_t itsClusterSizes) -> uint8_t {
309- uint8_t itsNcls = 0 ;
310- for (int layer = 0 ; layer < 7 ; layer++) {
311- if ((itsClusterSizes >> (layer * 4 )) & 0xf )
312- itsNcls++;
313- }
314- return itsNcls;
315- });
316- DECLARE_SOA_DYNAMIC_COLUMN (ITSNClsInnerBarrel001, itsNClsInnerBarrel, // ! Number of ITS clusters in the Inner Barrel
317- [](uint8_t itsClusterSizes) -> uint8_t {
318- uint8_t itsNclsInnerBarrel = 0 ;
319- for (int layer = 0 ; layer < 3 ; layer++) {
320- if ((itsClusterSizes >> (layer * 4 )) & 0xf )
321- itsNclsInnerBarrel++;
322- }
323- return itsNclsInnerBarrel;
324- });
325-
326326DECLARE_SOA_DYNAMIC_COLUMN (TPCFoundOverFindableCls, tpcFoundOverFindableCls, // ! Ratio of found over findable clusters
327327 [](uint8_t tpcNClsFindable, int8_t tpcNClsFindableMinusFound) -> float {
328328 int16_t tpcNClsFound = (int16_t )tpcNClsFindable - tpcNClsFindableMinusFound;
@@ -462,7 +462,7 @@ DECLARE_SOA_TABLE_FULL_VERSIONED(StoredTracksExtra_001, "TracksExtra", "AOD", "T
462462 track::HasTRD<track::v001::DetectorMap>, track::HasTOF<track::v001::DetectorMap>,
463463 track::TPCNClsFound<track::TPCNClsFindable, track::TPCNClsFindableMinusFound>,
464464 track::TPCNClsCrossedRows<track::TPCNClsFindable, track::TPCNClsFindableMinusCrossedRows>,
465- track::ITSClusterMapDyn <track::ITSClusterSizes>, track::ITSNCls001 <track::ITSClusterSizes>, track::ITSNClsInnerBarrel001 <track::ITSClusterSizes>,
465+ track::v001::ITSClusterMap <track::ITSClusterSizes>, track::v001::ITSNCls <track::ITSClusterSizes>, track::v001::ITSNClsInnerBarrel <track::ITSClusterSizes>,
466466 track::TPCCrossedRowsOverFindableCls<track::TPCNClsFindable, track::TPCNClsFindableMinusCrossedRows>,
467467 track::TPCFoundOverFindableCls<track::TPCNClsFindable, track::TPCNClsFindableMinusFound>,
468468 track::TPCFractionSharedCls<track::TPCNClsShared, track::TPCNClsFindable, track::TPCNClsFindableMinusFound>,
0 commit comments