Dear @hajar.bagheri,
Thanks for your questions.
- First of all…Are you compiling the source routine? If no, here you will find how to compile from Flair (pag 27), and even more important, you can see a new user routine that probably could help you to solve the problems that you have.
Here you can see the timetable of the course, where you can find all the lectures, and in particular some examples using this new source routine.
After this comment, let’s try to solve your problems just using the old source.f routine .
After compiling the input will run, but it will crash due to the following error:
Abort called from DEDX reason Exceeded upper dp/dx abscissa. Run stopped!
STOP Exceeded upper dp/dx abscissa.
This is because you are getting from your routine a particle whose energy which exceeds the value specified in the BEAM card:
From your spectrum → The Max is ~187 GeV
From BEAM card → ~0.83 GeV
Then, the energy from the Beam card has to be always larger that the maximum from your spectrum.
After these changes, your simulation should run.
-
Sure, If you only need to sample from two different particles (same spectrum) you can do something similar to what is explained in this post
For two spectra, It’s a bit more tricky, but possible. If you see the routine, you will find the variables
ENEPOI, ENEPRO and ENECUM which are used to store your spectrum. What you can do is simply define new variables to store the second spectrum, and modify the code in order to call this variables in case you are using one particle or the other. -
I understand that you want particles perpendicular to one of the plane sides of the cylinder. To do that, you can just define the Cosines in the user routine (~ line 260).
I hope this can be useful. Let me know if you need more help
Cheers!
André