Skip to content

SHould be able to deal with the is operator #224

Open
@gordonwatts

Description

@gordonwatts

In the following, at the very end, we should be able to do is True - right now we have to do == True

@pytest.mark.skipif(not run_long_running_tests, reason="Skipping long running test")
def test_class_enum_use_inline():
    """Use a enum as part of the actual query"""

    # Define the calo clusters return
    from func_adl_xAOD.atlas.xaod.event_collections import (
        atlas_xaod_collections,
    )

    atlas_xaod_collections.append(
        EventCollectionSpecification(
            "atlas",
            "CaloClusters",
            ["xAODCaloEvent/CaloClusterContainer.h"],
            atlas_xaod_event_collection_collection(
                "xAOD::CaloClusterContainer", "xAOD::CaloCluster"
            ),
            ["xAODCaloEvent"],
        ),
    )

    # Define the num class for future reference
    class xAOD:
        class CaloCluster_v1:
            class ClusterSize(Enum):
                SW_55ele = 1
                SW_35ele = 2
                SW_37ele = 3
                SW_55gam = 4
                SW_35gam = 5
                SW_37gam = 6
                SW_55Econv = 7
                SW_35Econv = 8
                SW_37Econv = 9
                SW_softe = 10
                Topo_420 = 11
                Topo_633 = 12
                SW_7_11 = 13
                SuperCluster = 14
                Tower_01_01 = 15
                Tower_005_005 = 16
                Tower_fixed_area = 17
                CSize_Unknown = 99

    # Declare the enum class
    ctyp.define_enum(
        "xAOD.CaloCluster_v1",
        "ClusterSize",
        [e.name for e in xAOD.CaloCluster_v1.ClusterSize],
    )

    # Define the `getConstituentsSignalState` method
    ctyp.add_method_type_info(
        "xAOD::CaloCluster_v1",
        "clusterSize",
        ctyp.terminal("xAOD::CaloCluster_v1::ClusterSize", tree_type="int"),
    )

    # fmt: off
    training_df = as_pandas(
        f_exot_15.SelectMany(lambda e: e.CaloClusters("egammaClusters"))
        .Select(lambda c: c.clusterSize() == xAOD.CaloCluster_v1.ClusterSize.SuperCluster)
    )
    # fmt: on

    assert len(training_df) > 0
    print(training_df.col1)
    assert all(training_df.col1 is True)
    ```
    
<!-- Edit the body of your new issue then click the"Create Issue" button in the top right of the editor. The first line will be the issue title. Assignees and Labels follow after a blank line. Leave an empty line before beginning the body of the issue. -->

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions