As shown in Ref, the amplitude of a pulse determines the rotation on the x-axis, while the angle determines the rotation on the z-axix. According to the paper, the author proved such results with pulse experiments and plot the results on the Bloch sphere.

However, after reading the source code of this paper on Github. He utilized the following method to simulate pulse circuit.
from qiskit import pulse
from qiskit_ibm_runtime.fake_provider import FakeManila
backend = FakeManila()
schedule1 = pulse.Schedule(name='angle_sampling')
drag1 = pulse.library.Drag(duration=duration, amp=amp, sigma=sigma, beta=beta, angle=angle)
schedule1 += pulse.Play(drag1, pulse.DriveChannel(0))
schedule1 += measure << 500
samples = [float(decimal.Decimal(random.randrange(0, 1000))/500)* np.pi for _ in range(500)]
schedule1_all = [schedule1.assign_parameters({angle: sample}, inplace = False) for sample in samples]
backend_sim = qd.DynamicsBackend.from_backend(backend, evaluation_mode='sparse')
solver_options = {"method": "statevector", "atol": 1e-6, "rtol": 1e-8}
backend_sim.set_options(solver_options=solver_options)
job = backend_sim.run(schedule1_all, shots=1024, meas_level=2, meas_return='avg')
Through such method, it seems impossible to capture statevector from the job result. I wonder if there is any way to obtain the statevector of a pulse experiment?