As far as I know, it doesn't matter which type of Thread group you are using with Constant Throughput timer, at the end of the test in the results, you will get your desired Throughput which you mentioned in Constant Throughput Timer i.e. if you have mentioned 1200/min in Constant Throughput Timer with "Calculate Throughput based on" value as "All active threads" and there are 3 requests (samplers) in your thread group then JMeter will manage the requests in a way that it will generate only 6.6 requests/sec for each sampler i.e. 1200/min is divided among 3 requests, it doesn't matter whether you are using Ultimate Thread Group or the Simple Thread Group; Throughput timer works in same way for all types of thread groups.
In case you have only 1 request as in your scenario then it will generate Throughput of 20 request/sec (sometimes 20.1) with Constant Throughput Timer value as 1200/min with "All active threads" and Timer added at the root of script. Do not select "This thread only" value for Timer added at root, as it will change the result. Please refer this link for settings mentioned in Constant Throughput Timer.
Also, there is one more plugin called "Throughput Shaping Timer" available for the same task as done as Constant Throughput Timer and users who have used it (I haven't used this plugin) says it is better than the Constant Throughput Timer (although I don't have any comparison between the two). This is just for your reference.