Home » Hades » Pluto » [done] Changing t distribution slopes
[done] Changing t distribution slopes [message #12461] |
Thu, 04 August 2011 04:20 |
Michael Kunkel
Messages: 53 Registered: June 2011
|
continuous participant |
From: *hr.hr.cox.net
|
|
Greetings
I am attempting to use PLUTO as a simulator for photoproduction.
I would like to test this by first using a well know cross-section
γ p -> p ρ [&pi+;&pi-;] with photon beam eneries 1.1 ->5.7 GeV
However when I simulate this reaction in PLUTO I get a t slope of -0.5 which contradicts the know slope of 7.1 -> 7.9 for these beam energies.
Is there a way to change the slope of this reaction?
I notice PDalitzDistribution can change slopes, can other reactions slopes be changed as well?
Thanks and BR
Michael
[Updated on: Wed, 22 May 2013 12:36] by Moderator Report message to a moderator
|
|
|
Re: Changing t distribution slopes [message #12462 is a reply to message #12461] |
Thu, 04 August 2011 09:52 |
Ingo Froehlich
Messages: 167 Registered: March 2004 Location: IKF - Frankfurt
|
first-grade participant |
From: *dip.t-dialin.net
|
|
Dear Michael,
do you want to change the m_t-Spektrum of the rho, is this correct? Could you give me a reference for the data you mentioned?
The production of the rho in your reaction has (beside its mass sampling) only one degree of freedom, which is the polar angle. Did you consider that an anisotropy of the rho also changes the other distributions?
Greetings, Ingo
--
Ingo Froehlich
IKF - University of Frankfurt
069-798-47027, FAX: -47024
|
|
|
Re: Changing t distribution slopes [message #12468 is a reply to message #12461] |
Thu, 04 August 2011 17:20 |
Michael Kunkel
Messages: 53 Registered: June 2011
|
continuous participant |
From: 129.57.113*
|
|
Greetings Ingo,
if m_t-spectrum is defined as the mandelstram variable t distribution, then yes this is what I would like to change.
In photoproduction rho is produced via pion and/or pomeron exchange therefore is a t dependance.
I have also uploaded the paper called rho.pdf, it's a paper from Physics Letters B
Volume 39, Issue 5, 29 May 1972, Pages 659-662
Where rho is produced in photoproduction.
Page 2 figure 1 depicts the slope parameter as a function of pipi mass.
In answering your last question, I did not consider that an anisotropy of the rho also changes the other distributions because of pion/pomeron exchange processes.
Thanks for your help, I greatly appreciate it
Michael
-
Attachment: rho.pdf
(Size: 265.78KB, Downloaded 853 times)
[Updated on: Thu, 04 August 2011 17:22] Report message to a moderator
|
|
|
Re: Changing t distribution slopes [message #12469 is a reply to message #12468] |
Fri, 05 August 2011 23:02 |
Ingo Froehlich
Messages: 167 Registered: March 2004 Location: IKF - Frankfurt
|
first-grade participant |
From: *dip.t-dialin.net
|
|
Dear Michael,
OK now I understand. A dependence of the polar angle on ds/dt has been used for the Delta production. But also here, we sample the polar angle. A direct sampling of more hidden values, like t, is difficult, because these distributions are non-flat, which needs some thinking, otherwise I produce only artifacts.
Such samplings have been, however, also requested by other people (in this case a rapidity distribution). My idea would be that one should be able to add a user-defined distribution for self-defined variables, and this changes then the direct observables, like angles and masses. I think this goes in the same direction.
But this is not yet implemented, and some idea for the next version. I will keep you informed.
What is possible of course right now is to add a calculation of the polar angle, if you have a relation between ds/dtheta <-> ds/dt
Greetings, Ingo
--
Ingo Froehlich
IKF - University of Frankfurt
069-798-47027, FAX: -47024
|
|
|
|
Re: Changing t distribution slopes [message #12491 is a reply to message #12471] |
Sun, 14 August 2011 22:34 |
Ingo Froehlich
Messages: 167 Registered: March 2004 Location: IKF - Frankfurt
|
first-grade participant |
From: *dip.t-dialin.net
|
|
OK, I played a little bit with a new source code, which I uploaded here:
http://www-linux.gsi.de/~hadeshyp/pluto/v5.38.1/pluto_v5.38.1.tar.gz
It is a test version, not yet finalized, and without warranty, because I had to change some parts in the scripting class, which needs some severe testing from my side. But for a first test it should be fine.
Below I attached a macro for your purpose with some comments (it works only with the new patched version):
Toggle Spoiler
//First, we create the general purpose distribution
//model:
PAnyDistribution* decay =
new PAnyDistribution("t_slope",
"A function to add a new t-slope");
decay->Add("q, parent");
decay->Add("p, daughter");
decay->Add("rho0, daughter");
//This is the cache for the undistorted data
//It is needed because the mandelstam t is a non-uniform
//distribution. The size and binning of the cache must
//be chosen such, that during runtime (better: during Preheating) the statistic
//is sufficiently filled
TH1F * cache = new TH1F ("cache","Rho0 t cache",400,-4.0,.0);
//For the following we we have to know that all particles (but the daughters) are in the parent rest frame
//the daughters are in their rest frame (i.e. the parent)
//therefore we have to boost into the parent frame
//the parent is indicated by "_parent"
//N.B.: "t" is reserved in TFormula, do NOT use it
decay->AddEquation(cache,"beam = _parent->GetBeam(); beam->Boost(_parent) ; t1 = (beam - [rho0])->Mag2(); _x = t1;");
//This is the final equation. The distribution (the probability function)
//must be stored in "_f"
decay->AddEquation("_f = exp( 8*t1 );");
//Remember, AnyDistribution is a rejection method. Therefore
//it can happen, that parts of the phase space, where _f has a
//large probability, is not well populated by the generated events
//In this case, the event loop will run forever, as Pluto tries
//to match the shape defined by _f.
//The following factor is the maximum enhancement factor to avoid such
//deadlocks.
//N.B.: It directly scales with the computing time!!!
decay->SetMaxEnhancementFactor(10);
//Hint: in this configuration, the sampling of 100kEvent takes ~30min
//Add this model to the Pluto data base:
makeDistributionManager()->Add(decay);
//Construct the reaction, as usual:
PReaction my_reaction("_T1 = 2.2","g","p","p rho0 [pi+ pi-]");
TH1F * histo1 = new TH1F ("histo1","rho0 t",100,-4,0);
TH1F * histo3 = new TH1F ("histo3","cos theta of rho0",50,-1.,1.);
my_reaction.Do(histo1,"beam = [g+p]->GetBeam(); t1 = (beam - [rho0])->Mag2(); _x = t1;");
my_reaction.Do(histo3,"_rho=[rho0]; _rho->Boost([g+p]); _x= cos(_rho->Theta())");
my_reaction.Print(); //The "Print()" statement is optional
//Make a dummy loop to fill the AnyDistribution with some statistics:
my_reaction.Preheating(100);
my_reaction.Loop(1000);
So the basic idea is that one is able to add an individual equation.
Before I move on, I would like to know your opinion.
Greetings, Ingo
--
Ingo Froehlich
IKF - University of Frankfurt
069-798-47027, FAX: -47024
|
|
|
|
Re: Changing t distribution slopes [message #12497 is a reply to message #12496] |
Tue, 16 August 2011 16:14 |
Ingo Froehlich
Messages: 167 Registered: March 2004 Location: IKF - Frankfurt
|
first-grade participant |
From: *x-matter.uni-frankfurt.de
|
|
Hi,
did you tested if the result is reasonable also with a lower max factor?
Greetings, Ingo
--
Ingo Froehlich
IKF - University of Frankfurt
069-798-47027, FAX: -47024
|
|
|
Re: Changing t distribution slopes [message #12532 is a reply to message #12497] |
Sun, 21 August 2011 09:20 |
Michael Kunkel
Messages: 53 Registered: June 2011
|
continuous participant |
From: 78.161.27*
|
|
Greetings,
I have tried a lower max factor (factor =2) and I see these warnings when running the macro. I am not sure how relevant they are, however the t-distribution is inconclusive at 100 events, and I am trying to find a way to submit to our farm because 30 minutes is all the interactive time I am allotted.
I will keep you updated, but I am overseas right now and have limited internet access.
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (0.000000)
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (0.000938)
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (0.001448)
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (0.001791)
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (0.054316)
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (0.078526)
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (0.160738)
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (0.220539)
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (0.250873)
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (0.360583)
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (0.679442)
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (0.965800)
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (1.841059)
Info in <PReaction::Loop()>: Preheating done
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (2.177904)
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (7.907200)
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (9.592476)
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (25.328512)
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (47.852180)
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (77.276515)
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (2103.552221)
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (6169.930473)
20% done in 7.650407 sec
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (30675.678831)
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (54993.179564)
40% done in 78.678375 sec
60% done in 376.921989 sec
Warning in <PAnyDistribution::IsValid>: Factor > max, increased (65084.205350)
80% done in 695.505551 sec
100% done in 1056.177333 sec
CPU time 1054.600000 sec
1084217 aborted events were repeated, error codes:
10=1084217
Thanks
Michael
|
|
|
Re: Changing t distribution slopes [message #12533 is a reply to message #12532] |
Sun, 21 August 2011 10:35 |
Ingo Froehlich
Messages: 167 Registered: March 2004 Location: IKF - Frankfurt
|
first-grade participant |
From: *dip.t-dialin.net
|
|
Hi,
the method is based on sampling (but with phase space only) and rejection (pure Monte-Carlo). For this one needs a ceiling value. The rejected events are those, for which a random number between 0 and the ceiling value is higher as the function. If the value is larger as the ceiling, the ceiling is adjusted. If this happens during the first events, it does not play a big role. But in your case this is too much.
Maybe it would be helpful if you could attach your macro. It could be that it depends on the beam energy. I tested it at T_kin=2.2 GeV only. There the slope was OK over some kEvents.
--
Ingo Froehlich
IKF - University of Frankfurt
069-798-47027, FAX: -47024
|
|
|
|
Re: Changing t distribution slopes [message #12554 is a reply to message #12534] |
Tue, 23 August 2011 12:38 |
Ingo Froehlich
Messages: 167 Registered: March 2004 Location: IKF - Frankfurt
|
first-grade participant |
From: *x-matter.uni-frankfurt.de
|
|
Hi,
testing this I also get incredible large ceiling values (almost going to infinity). So I don't wonder that it takes endless.
The problem is, I think, the beam smearing. After disabling it the macro produces reasonable results (10000kE in ~1min).
To understand this, we must look a little bit deeper. As explained, the event loop produces phase space events, and rejects all events which are disturbed by the t-function, by comparing it to the cache. But the basic observable is the angular distribution which is changed dramatically:
And it could be (this is only a first guess) that the shape of the angular distribution is different for the various beam energies, whereas the macro tries to match always the same shape as a function of t. (Btw., is it really true that this function is the same for all energies?)
Nevertheless, I don't have a quick solution. The best would be to write the macro in such a way, that it loop over the different energies, or I could try to change the class PAnyDistribution such, the the ceiling value is not fixed but is binned into pieces. In any case, one has to be aware that one needs more events, because each of the bins must have sufficient statistics.
The most simple solution is of course to run the macro many times, with different energies, and merge the events at a later stage.
What do you think?
Greetings, Ingo
PS: I tested always 10kEvents with some values between 1.0 and 5.7GeV. At lower energies it took longer, and more events have been rejected.
PS2: Sorry for the trouble, but this application is something really new for Pluto
-
Attachment: t_rho.png
(Size: 7.90KB, Downloaded 587 times)
-
Attachment: cos_rho.png
(Size: 8.60KB, Downloaded 648 times)
--
Ingo Froehlich
IKF - University of Frankfurt
069-798-47027, FAX: -47024
|
|
|
|
Re: Changing t distribution slopes [message #12560 is a reply to message #12555] |
Wed, 24 August 2011 16:09 |
Ingo Froehlich
Messages: 167 Registered: March 2004 Location: IKF - Frankfurt
|
first-grade participant |
From: *x-matter.uni-frankfurt.de
|
|
I tried it (roughly) with 100MeV binning, this seems to work. At 1GeV I see already problems at very low |t|. The truth is maybe somewhere in the middle.
--
Ingo Froehlich
IKF - University of Frankfurt
069-798-47027, FAX: -47024
|
|
|
Re: Changing t distribution slopes [message #12665 is a reply to message #12560] |
Wed, 21 September 2011 20:32 |
Michael Kunkel
Messages: 53 Registered: June 2011
|
continuous participant |
From: 129.57.115*
|
|
Greetings Ingo,
I want to thank you for the addition of the anydistribution function. I have found out that the beam smearing function for 1k events with anydistribution will take longer then 24 hours to complete. However, I used a "poor mans" beam smear and generate 5 million events took 2 hours.
I have tested any distribution for photo-produced gamma p -> p rho(pi+pi-) with the appropriate t distribution and everything looks good on the simulation end.
Thank you
Michael
|
|
|
|
|
Goto Forum:
Current Time: Tue Dec 03 19:35:53 CET 2024
Total time taken to generate the page: 0.00821 seconds
|