Zend certified PHP/Magento developer

Cart Price Rules by condition

In my code i can apply 50% discount on cart but i want this discount to apply only when product from a specific category is added.

        MagentoQuoteModelQuote $quote,
        MagentoQuoteApiDataShippingAssignmentInterface $shippingAssignment,
        MagentoQuoteModelQuoteAddressTotal $total
    ) {

        parent::collect($quote, $shippingAssignment, $total);
        //$address             = $shippingAssignment->getShipping()->getAddress();
        $label               = 'RolusTech Discount';
        $discountAmount      = 0;
        $appliedCartDiscount = 0;
        if($total->getDiscountDescription()) {
            // If a discount exists in cart and another discount is applied, the add both discounts.
            $appliedCartDiscount = $total->getDiscountAmount();
            $discountAmount      = $total->getDiscountAmount()+$discountAmount;
            $label               = $total->getDiscountDescription().', '.$label;
        }

        $disc = $total->getSubtotal();
        $disc1 = -$disc/2;
        $total->setDiscountDescription($label);
        $total->setDiscountAmount($disc1);
        $total->setBaseDiscountAmount($disc1);
        $total->setSubtotalWithDiscount($total->getSubtotal() + $disc1);
        $total->setBaseSubtotalWithDiscount($total->getBaseSubtotal() + $disc1);

        if(isset($appliedCartDiscount)) {
            $total->addTotalAmount($this->getCode(), $disc1 - $appliedCartDiscount);
            $total->addBaseTotalAmount($this->getCode(), $disc1 - $appliedCartDiscount);
        } else {
            $total->addTotalAmount($this->getCode(), $disc1);
            $total->addBaseTotalAmount($this->getCode(), $disc1);
        }

        return $this;
    }```