You could actually use the setup script at project level to set a property (ie. 'launcher_id') at project level, same thing at testsuite level and test case level, as there are setup scripts possibilities at each level.
Then check these property values in your groovy script (as you can expand properties at each level), which will give you the higher level caller.
Finally reinitialize those properties in the corresponding tear down script (project, testsuite and testcase level) (more relevant for testcase or testsuite executions)