I would do what Mike j suggests On a flat concrete area stand a "straight" 2 x up on edge that's the length of the top bar. Then set the frame bent side facing up on top, aligned on top of this board. Have the frame setting propped up nice and level. I would take some duct tape and securely fasten the second "straight" 2 x once again on edge, to the top bar and give it a few whacks with a sledge [ a big one].
These frames are easy to find for 100-150 bucks . That is the ticket to go if you can't get it straight.
I know some may suggest "heating" the frame up first with a torch but you may end up putting a flat spot on it.
I have had many nice old bikes with bent frames..All of them I ended up parting out except the one pictured below.
This one I made into "roadster" called the General. The top bar was bent.Someone did straighten it but put a long flat spot on it in the process. Notice how the top bar seems a little fatter by the top painted frame dart. I don't think this bike came out of the factory with this flattened out oval top bar.
View attachment 359746 View attachment 359747 View attachment 359748
I think most of these bikes get bent from a vehicle bumping them while parked in a garage.
I once got a bike out of a barn that the farmer backed his tractor over. I got it free. Looked like a pretzel!