There are several ways to detect your environment. High-level Language Environment (LE) programs may call CEE3INF that passes back a bit string indicating the subsystem environment.
There are also a couple of options if you’re in the mood to roll your own. If your shop has strong naming conventions, a subroutine that returns the job name might do. Or you could create a more involved routine to return the initial program called from the job step task control block (TCB). You are running in CICS if the program name is “DFHSIP.” I don’t have the code to do either of the above with me, but you should be able to find examples on the web.