@@ -397,10 +397,15 @@ TEST_CASE("TestExpressionSerialization")
397397{
398398 Filter f = o2::aod::track::signed1Pt > 0 .f && ifnode (nabs (o2::aod::track::eta) < 1 .0f , nabs (o2::aod::track::x) > 2 .0f , nabs (o2::aod::track::y) > 3 .0f );
399399 Projector p = -1 .f * nlog (ntan (o2::constants::math::PIQuarter - 0 .5f * natan (o2::aod::fwdtrack::tgl)));
400+ Projector p1 = ifnode (o2::aod::track::itsClusterSizes > (uint32_t )0 , static_cast <uint8_t >(o2::aod::track::ITS), (uint8_t )0x0 ) |
401+ ifnode (o2::aod::track::tpcNClsFindable > (uint8_t )0 , static_cast <uint8_t >(o2::aod::track::TPC), (uint8_t )0x0 ) |
402+ ifnode (o2::aod::track::trdPattern > (uint8_t )0 , static_cast <uint8_t >(o2::aod::track::TRD), (uint8_t )0x0 ) |
403+ ifnode ((o2::aod::track::tofChi2 >= 0 .f ) && (o2::aod::track::tofExpMom > 0 .f ), static_cast <uint8_t >(o2::aod::track::TOF), (uint8_t )0x0 );
400404
401405 std::vector<Projector> projectors;
402406 projectors.emplace_back (std::move (f));
403407 projectors.emplace_back (std::move (p));
408+ projectors.emplace_back (std::move (p1));
404409
405410 std::stringstream osm;
406411 ExpressionJSONHelpers::write (osm, projectors);
@@ -423,6 +428,15 @@ TEST_CASE("TestExpressionSerialization")
423428 auto t22 = createExpressionTree (s22, schemap);
424429 REQUIRE (t12->ToString () == t22->ToString ());
425430
431+ auto s13 = createOperations (projectors[2 ]);
432+ auto s23 = createOperations (ps[2 ]);
433+ auto schemap1 = std::make_shared<arrow::Schema>(std::vector{o2::aod::track::ITSClusterSizes::asArrowField (), o2::aod::track::TPCNClsFindable::asArrowField (),
434+ o2::aod::track::TRDPattern::asArrowField (), o2::aod::track::TOFChi2::asArrowField (),
435+ o2::aod::track::TOFExpMom::asArrowField ()});
436+ auto t13 = createExpressionTree (s13, schemap1);
437+ auto t23 = createExpressionTree (s23, schemap1);
438+ REQUIRE (t13->ToString () == t23->ToString ());
439+
426440 osm.clear ();
427441 osm.str (" " );
428442 ArrowJSONHelpers::write (osm, schemaf);
0 commit comments