Home » PANDA » PandaRoot » Tracking » backpropagation with GEANE
backpropagation with GEANE [message #10704] 
Wed, 19 May 2010 18:17 
Anastasia Karavdina
Messages: 76 Registered: May 2010 Location: Mainz, Germany

continuous participant 
From: *kph.unimainz.de


Hello all!
I'm faced with one unexpected problem with GEANE and need your help. My task is obtain antiproton parameters in interaction point from reconstructed information in luminosity monitor. So I want use backpropagation from GEANE. I simulated antiprotons with momentum 8.9 GeV/c, and just for test I used information (position and momentum) from first MC hit in lumi as input for FairTrackParP
Also I set origin of coordinates in point (0,0,0) and used BackTrackToVirtualPlaneAtPCA(1) function for backpropagation. As a results I have point near origin of coordinates and momentum in this point.
I compared my results with true information from MC generator and I observed significant differences in momentum coordinates, which lead to differences between reconstructed and simulated angles of particles. I made such tests with dipole&solenoid&transition maps as well as without magnetic field. Without magnetic field differences between reconstructed and simulated angles aren't so significant, but they still exist.
There are files with plots, which I obtained in simulation with magnetic field:
File momentum.eps with plots of momentum coordinates, errors for momentum coordinates and differences between momentum coordinates from MC generator and "reconstructed" momentum coordinates by GEANE.
In file vertex.eps with plots of coordinates of PCA and errors.
In file uncer.eps with plots of differences between reconstructed and simulated angles and momentum magnitude.
So my main question is: Does anybody know something about accuracy for propagation and backpropagation with GEANE?
How GEANE use information about errors of input parameters (position and momentum) ? Only for calculation of covariance matrix or for calculation output parameters too?
Best wishes,
Anastasia.

Attachment: momentum.eps
(Size: 58.53KB, Downloaded 350 times)

Attachment: vertex.eps
(Size: 35.64KB, Downloaded 346 times)

Attachment: uncer.eps
(Size: 279.51KB, Downloaded 352 times)




Re: backpropagation with GEANE [message #10706 is a reply to message #10705] 
Wed, 19 May 2010 18:58 
Anastasia Karavdina
Messages: 76 Registered: May 2010 Location: Mainz, Germany

continuous participant 
From: *kph.unimainz.de


Hello Stefano!
This is the code, that I used:
PndMCTrack* myTrack = (PndMCTrack*)(fMCTracks>At(0));
//Get Start point and momentum from MC
PndSdsMCPoint* mcPoint = (PndSdsMCPoint*)(fMCHits>At(0));
StartPos = mcPoint>GetPosition();
TVector3 MCmom;
mcPoint>Momentum(MCmom);
StartMom = TVector3(MCmom.X(),MCmom.Y(),MCmom.Z());
StartPosErr = TVector3(0,0,0);
StartMomErr = TVector3(0,0,0);
//Charge and PDGCode of particle
Int_t PDGCode = myTrack>GetPdgCode();
TDatabasePDG *fdbPDG= TDatabasePDG::Instance();
TParticlePDG *fParticle= fdbPDG>GetParticle(PDGCode);
Double_t fCharge= fParticle>Charge();
TClonesArray& clref1 = *fTrackParIni;
Int_t size1 = clref1.GetEntriesFast();
FairTrackParP *fStart =
new (clref1[size1]) FairTrackParP(StartPos, StartMom, StartPosErr, StartMomErr, fCharge, StartO, StartU, StartV);
TClonesArray& clref = *fTrackParGeane;
Int_t size = clref.GetEntriesFast();
FairTrackParP *fRes = new(clref[size]) FairTrackParP();
//Set origin of coordinate in intial point of track (0,0,0)
TVector3 vtx = myTrack>GetStartVertex();
fPro>SetPoint(vtx);
fPro>BackTrackToVirtualPlaneAtPCA(1);//1 means "closest approach to point"
fPro>Propagate(fStart, fRes, PDGCode);
new((*fTrackParFinal)[i]) FairTrackParP(*(fRes)); //save Track



Re: backpropagation with GEANE [message #10709 is a reply to message #10706] 
Wed, 19 May 2010 19:25 
StefanoSpataro
Messages: 2736 Registered: June 2005 Location: Torino

firstgrade participant 
From: *to.infn.it


Hi,
I would use use:
fPro>SetPoint(vtx);
fPro>PropagateToPCA(1,1);
fPro>Propagate(fStart, fRes, PDGCode);
instead of:
fPro>SetPoint(vtx);
fPro>BackTrackToVirtualPlaneAtPCA(1);//1 means "closest approach to point"
fPro>Propagate(fStart, fRes, PDGCode);
I am not sure the function BackTrackToVirtualPlaneAtPCA is the one you need, but I sould wrong.
What are you using as StartO, StartU, StartV?
Another comment:
PndMCTrack* myTrack = (PndMCTrack*)(fMCTracks>At(0));
//Get Start point and momentum from MC
PndSdsMCPoint* mcPoint = (PndSdsMCPoint*)(fMCHits>At(0));
I am not sure if this works. You should ask that mcPoint and mcTrack are the same particle: mcPoint>GetTrackID()==0. Without this check, you could also take some secondary and call them "antiprotons".



Re: backpropagation with GEANE [message #10710 is a reply to message #10709] 
Thu, 20 May 2010 10:43 
Anastasia Karavdina
Messages: 76 Registered: May 2010 Location: Mainz, Germany

continuous participant 
From: *kph.unimainz.de


Hi!
Using PropagateToPCA(1,1) instead of BackTrackToVirtualPlaneAtPCA(1) doesn't make any essential difference. The difference is that for PropagateToPCA you have to use FairTrackParH parametrization for track, but for BackTrackToVirtualPlaneAtPCA(1) you can use both FairTrackParH and FairTrackParP parametrization. But result from PropagateToPCA(1,1) the same as from using BackTrackToVirtualPlaneAtPCA(1).
Thank you for comment about ask for mcPoint>GetTrackID()==0, I really forgot to check it. But fortunately all particles of my simulation were antiprotons, so adding of this check didn't change the result.
StartO, StartU, StartV are directing vectors of luminosity detector. I take them from GeoManager (PndGeoHandling) as
fGeoH>GetOUVId(mcPoint>GetDetName(), StartO, StartU, StartV);




Re: backpropagation with GEANE [message #10715 is a reply to message #10711] 
Thu, 20 May 2010 15:54 
Lia Lavezzi
Messages: 291 Registered: May 2007 Location: Torino

firstgrade participant 
From: *pv.infn.it


Hi Anastasia,
your code seems correct.
Actually, as you were saying, there is no big difference between BackTrackToVirtualPlaneAtPCA(1) and PropagateToPCA(1, 1): with the first one you must use the FairTrackParP and with the second one the FairTrackParH.
They do the following:
1) BackTrackToVirtualPlaneAtPCA(1):
 finds the PCA to the point you chose
 builds a plane there
 backpropagates from the starting point to this plane
2) PropagateToPCA(1, 1):
 finds the PCA to the point you chose
 find the track length at that point
 backpropagates from the starting point to this track length
The only difference stands in the input/output type and in the fact that you have or not a plane defined.
Quote:  I set origin of coordinates in point (0,0,0) and used BackTrackToVirtualPlaneAtPCA(1) function for backpropagation. As a results I have point near origin of coordinates and momentum in this point.

The backtracked point should contain the true point within the GEANE error.
Quote:  I compared my results with true information from MC generator and I observed significant differences in momentum coordinates, which lead to differences between reconstructed and simulated angles of particles. I made such tests with dipole&solenoid&transition maps as well as without magnetic field. Without magnetic field differences between reconstructed and simulated angles aren't so significant, but they still exist.

Does the term "significant" mean that the differences are outside the GEANE errors? In your plots the differences seem small and compatible with roundoff error.
The problem we know is that in forward propagation the energy is taken at the beginning of the step, whereas in backward the energy is taken at the end of the (forward) step. This can be cured, but in principle the difference is not so big, if the stepping is appropriate.
Concerning the accuracy: GEANE propagates the mean values of the parameters, without taking into account the random processes (dE/dx fluctuations, multiple scattering...). If for example you start from the true value and track 1000 particles with geant3 on to a plane, they will be spread because of these random processes, but if you propagate them with geane you will get 1000 times exactly the same value, the mean value of the distribution.
In your case you start from the MCpoints, which are spread around the mean value, and go back to the true vertex.
The amount of the difference between the GEANE backpropagation and the corresponding MC value can be guessed looking at the error calculated by GEANE: this takes into account also the random processes and tells you how much you are wrong in taking the mean value, neglecting the random effects. It depends basically on the path the particle has to travel from start to end point and on the material amount it has to cross. Hence, the pull quantity (MC  GEANE)/error_GEANE should be a good gaussian. If it is so everything is OK.
There is however a strange thing in the plots: in the error plots there is always a big peak in 0: the error might be small, but it should not be exactly 0, even if you start from errors all equal to 0.
To answer to your question on errors, they are used only in the propagation of the covariance matrix, and not in the calculation of the mean values of the parameters. There is also an option in native fortran GEANE which allows the user to perform the propagation of the mean values without calculating the associated errors.
When you call Propagate it should return a Bool_t true if the propagation succeded and false if it failed.
Can you please try putting:
Bool_t isProp = fPro>Propagate(fStart, fRes, PDGCode);
if(isProp == kTRUE) new((*fTrackParFinal)[i]) FairTrackParP(*(fRes));
and save only the correctly propagated tracks?
Concerning the Sds planes as starting planes, if you use the PropagateToPlane(1, 1) you can build the FairTrackParH directly from the MARS variables and get rid of them. It is true that the errors you set are not the right ones, but as I was saying this should affect only the error calculations, and not the mean values.
Hope this helps,
Alberto and Lia.



Re: backpropagation with GEANE [message #10721 is a reply to message #10715] 
Fri, 21 May 2010 10:45 
Anastasia Karavdina
Messages: 76 Registered: May 2010 Location: Mainz, Germany

continuous participant 
From: *kph.unimainz.de


Hi Alberto and Lia,
Thank you for detailed explanation! I added requirement to save only the correctly propagated tracks, but it didn't change even number of events in my histograms.
About "significant":
First of all I'm interesting in knowledge of angle resolution,
so under "significant" I meant differences between simulated and reconstructed values of angles. I don't know how to correct compare them, but I see, that these differences much more bigger, then uncertainties, for example, due to multiple scattering in luminosity monitor. And also I can not explain shape of these differences (for example in angle phi).
In absence of magnetic field I expected differences between simulated and reconstructed values of angles equal to zero. Because I simulated tracks in vacuum inside beam pipe, so there is no any material and I expected obtain PCA equal to (0,0,0).
But you right if I compare differences between coordinates of PCA and momentum coordinates with GEANE errors for these variables it seems everything is fine (with the exception of case with zero errors). I would like to know what is the nature of this nonzero errors in absence of magnetic field? Is it only computing uncertainties?
I add plots for the same variables as in my first message in absence of magnetic field.
It's interesting that without magnetic field I don't have any peaks in zero for errors of momentum and PCA coordinates.
Anastasia.



Re: backpropagation with GEANE [message #10732 is a reply to message #10721] 
Mon, 24 May 2010 18:13 
Lia Lavezzi
Messages: 291 Registered: May 2007 Location: Torino

firstgrade participant 
From: *pv.infn.it


Hi Anastasia,
let me ask some questions: you are simulating antiprotons from the IP (0, 0, 0) which travel inside the beam pipe, where there is vacuum. Which is the starting momentum (also the direction)?
The luminosity monitor is positioned at some distance in z direction (how far?), downstream, around the beam pipe, but very close to it, right?
Quote:  About "significant":
First of all I'm interesting in knowledge of angle resolution,
so under "significant" I meant differences between simulated and reconstructed values of angles. I don't know how to correct compare them, but I see, that these differences much more bigger, then uncertainties, for example, due to multiple scattering in luminosity monitor. And also I can not explain shape of these differences (for example in angle phi).
In absence of magnetic field I expected differences between simulated and reconstructed values of angles equal to zero. Because I simulated tracks in vacuum inside beam pipe, so there is no any material and I expected obtain PCA equal to (0,0,0).

... actually we see very small differences in your plots
For example: 0.05 x 10^6 in phi and 10^9 in theta... These are round off errors.
Are we misunderstanding something? You say the differences are bigger than what expected from multiple scattering in the luminosity monitor: what is the expected value?
Quote:  But you right if I compare differences between coordinates of PCA and momentum coordinates with GEANE errors for these variables it seems everything is fine (with the exception of case with zero errors). I would like to know what is the nature of this nonzero errors in absence of magnetic field? Is it only computing uncertainties?

To be detected, the antiprotons must exit the beam pipe and enter the luminosity monitor, so they undergo both multiple scattering and energy loss, even if they have travelled for a large part of their path in vacuum and even without magnetic field.
GEANE errors are calculated summing up three different contributions:
1) errors due to the initial error in direction (present even without magnetic field) propagated during tracking;
2) errors propagated by magnetic field during tracking;
3) random effects errors, added at each step.
In your case:
1) you don' t have magnetic field, so no type 2 errors.
2) If you put starting errors equal to 0, you will neither have errors of type 1. (Did you put again the starting error to 0 or did you put there some value?)
3) Concerning the random effects, (dedx and multiple scattering), they contribute to the error of type 3.
If we are saying something wrong, please correct us!
Cheers,
Lia and Alberto.




Re: backpropagation with GEANE [message #10750 is a reply to message #10737] 
Thu, 27 May 2010 18:09 
Lia Lavezzi
Messages: 291 Registered: May 2007 Location: Torino

firstgrade participant 
From: *pv.infn.it


Hi Anastasia,
thank you for the info
Quote:  You are right, in absence of magnetic field differences in my plots are very small. But as I don't have any material I can explain these differences only in two ways:
a) It's accuracy of calculation methods used in GEANE.
b) I did something wrong.
Differences in absence of magnetic field are not important I've asked you just to be sure that I used GEANE

I really believe that 10^8/9 are rounding errors, so without magnetic field the deltas can be explained this way.
Quote:  In magnetic field situation become worse: I have difference 2*10^3 rad for phi angle an 7*10^6 rad for theta angle. From multiple scattering I expect uncertainties about 6*10^5 rad for this beam momentum and for phi angle I obtained much more difference.

Any initial delta due to the spread (even little) of the momentum is worsened by the presence of the magnetic field, in particular in this case where your particles travel through the transient field, that is inhomogeneous (in GEANE part of the error matrix is dedicated to the calculation of the transportation of the initial error due to magnetic field).
So you have the geant3 particle that moves from the vertex, through the magnetic field and the layer of luminosity monitor, it spreads its momentum. Then you take this spread momentum as starting point, so you start from a wrong one, repropagate backward the mean value, which will arrive in the PCA to a value different from the MC one.
About the amount of this difference, I think it could be estimated by simulating several (enough to have a statistically valid sample) particles with fixed direction and distributing the momentum on the first luminosity monitor layer: it should be spread and the width of the distribution should tell you the amount of the difference you get later with GEANE. It should moreover be of the order of magnitude of the error calculated by GEANE itself.
Another test to see that everything works fine could be to switch off the multiple scattering during geant3 simulation, in this case the deltas should become smaller, since practically you would simulate with geant3 in the same way you track with GEANE.
Quote:  Also I worried about two spots in plot of momentum magnitude (Delta P(P_MC) in file uncer.eps from my first post). Here Delta P is a difference between true simulation value P_MC and magnitude of momentum obtained after backpropagation. Do you know any reason why I obtained two different value for momentum magnitude after backpropagation?

I' ve been thinking about this too... ok, they are two values really close (10^6), but it is strange to have these two "spots". I don' t know exactly what to say here.
If I understood correctly from a picture of the luminosity monitor the first layer is made up by 4 sensors, is this correct? So I guess your StartPos could belong to any of the four sensors... Could it be that when you start from one sensor you get one of the two spots, and when you start from another you get the other one? ...but this is just a guess!
Is the code available in the svn? It would be helpful if I could recreate your results, maybe I could make more checks and give you more precise answers...
Cheers,
Lia.



Re: backpropagation with GEANE [message #10759 is a reply to message #10750] 
Wed, 02 June 2010 13:47 
Anastasia Karavdina
Messages: 76 Registered: May 2010 Location: Mainz, Germany

continuous participant 
From: *kph.unimainz.de


Hi Lia!
I made tests for fixed direction that you suggested me
Quote:  About the amount of this difference, I think it could be estimated by simulating several (enough to have a statistically valid sample) particles with fixed direction and distributing the momentum on the first luminosity monitor layer: it should be spread and the width of the distribution should tell you the amount of the difference you get later with GEANE. It should moreover be of the order of magnitude of the error calculated by GEANE itself.

I found out that momentum on the first luminosity monitor layer is not spread at all, but momentum on the second luminosity monitor layer is spread and amount of this spread is the same order as errors of momentum coordinates after backpropagation with GEANE. Good news that difference between "reconstructed" with GEANE and true values smaller then spread of momentum coordinate on the second layer. But I used MC hit information from the first layer and as I understand it is a hit on the first surface of the first layer of luminosity monitor, before any multiple scattering. Maybe GEANE use this information inside out as a hit from the last surface of the first layer and this is the reason why errors after backpropagation with GEANE the same as spread after muliple scattering?
In file momentum_1stMChit.ps you can see plots for momentum coordinate of MC hits from the first (0) and the second(1) layres. In file momentum_rec.ps you can see momentum coordinate, errors and differences between "reconstructed" with GEANE and true values of momentum coordinates.
Quote:  Another test to see that everything works fine could be to switch off the multiple scattering during geant3 simulation, in this case the deltas should become smaller, since practically you would simulate with geant3 in the same way you track with GEANE.

Can you tell me how I can switch off the multiple scattering, please?
Quote:  If I understood correctly from a picture of the luminosity monitor the first layer is made up by 4 sensors, is this correct? So I guess your StartPos could belong to any of the four sensors... Could it be that when you start from one sensor you get one of the two spots, and when you start from another you get the other one? ...but this is just a guess! Wink

It's not true. The luminosity monitor consists only from 4 layers and each of them contain only one sensor plane. And I check that my first MC hit is indeed hit from first layer.
My code is not available in SVN now(
Because we use MVD classes and now we are waiting for new realise from MVD group to avoid any conflict between different version of code.
Cheers,
Anastasia.



Re: backpropagation with GEANE [message #10766 is a reply to message #10759] 
Thu, 03 June 2010 10:57 
Lia Lavezzi
Messages: 291 Registered: May 2007 Location: Torino

firstgrade participant 
From: *pv.infn.it


Hi Anastasia,
Quote:  Maybe GEANE use this information inside out as a hit from the last surface of the first layer and this is the reason why errors after backpropagation with GEANE the same as spread after muliple scattering?

Actually this should not happen, since you set the starting position with StartPos, and this is on the entering surface of the luminosity monitor, so GEANE starts from there and moves in the vacuum back to (0, 0, 0). Could there be a mismatch between the StartPos and the starting plane? Are you sure that the starting plane contains the point (i.e. is the first surface)? Anyway, the important thing here is the orientation of the plane, since as starting point it takes StartPos.
I see in the plots with fixed momentum direction you don' t have the zero errors... How do the reconstructed momentum distributions look like if you separate the cases with and without 0 error in the test with random starting momentum and magnetic field on? Is there any difference between the two?
Quote:  Can you tell me how I can switch off the multiple scattering, please?

You should set to 0 the value in gconfig/SetCuts.C:
gMC>SetProcess("MULS",0); /**multiple scattering*/
Quote:  The luminosity monitor consists only from 4 layers and each of them contain only one sensor plane. And I check that my first MC hit is indeed hit from first layer.

Ok, then it does not depend on geometry.
Quote:  My code is not available in SVN now(Because we use MVD classes and now we are waiting for new realise from MVD group to avoid any conflict between different version of code.

Ok, I see. I will wait
Cheers,
Lia.



Re: backpropagation with GEANE [message #10794 is a reply to message #10766] 
Fri, 11 June 2010 13:43 
Anastasia Karavdina
Messages: 76 Registered: May 2010 Location: Mainz, Germany

continuous participant 
From: *kph.unimainz.de


Hi Lia!
Quote:  Could there be a mismatch between the StartPos and the starting plane? Are you sure that the starting plane contains the point (i.e. is the first surface)? Anyway, the important thing here is the orientation of the plane, since as starting point it takes StartPos.

The main difficult here, that our planes rotated relative to the zaxis. So for hits with different (x,y) coordinates we have different z. Distribution for zcoordinate of the first MC coordinate seems to be reasonable. Also I saw several events with event display and MC hits always on the first surface of the plane.
Quote: 
I see in the plots with fixed momentum direction you don' t have the zero errors... How do the reconstructed momentum distributions look like if you separate the cases with and without 0 error in the test with random starting momentum and magnetic field on? Is there any difference between the two?

There is only one difference between case with 0 errors and case nonzero errors. Do you remember two spots in plot of difference between simulated and "reconstructed" momentum magnitude? Spot around zero corresponds to 0 errors in momentum coordinates and spot around 2*10^5 GeV/c corresponds to nonzero errors. But other distributions in both cases look the same.
Also I figured out that if I fix direction of particle momentum (angle phi and theta) I always have only one peak in errors distribution, but it can be as zero peak as well as nonzero peak. For example for (phi,theta)=(0, 0.45) I have nonzero peak, for (phi,theta)=(45, 0.45) also nonzero peak, but for (phi,theta)=(90, 0.45) I have zero peak. Maybe here magnetic field from solenoid & dipole play a main role, but how it can influence for calculation errors in GEANE?
Quote:  You should set to 0 the value in gconfig/SetCuts.C:
gMC>SetProcess("MULS",0); /**multiple scattering*/

I switched off multiple scattering, but nothing changed after it in my histogram. And it's confirm that MC hits which I used are always on the first surface of the plane and I don't have any sources of multiple scattering in my test.
Cheers,
Anastasia.






Re: backpropagation with GEANE [message #10820 is a reply to message #10800] 
Wed, 23 June 2010 11:31 
Anastasia Karavdina
Messages: 76 Registered: May 2010 Location: Mainz, Germany

continuous participant 
From: *kph.unimainz.de


Hi Lia!
Finally I understood source of our problem!
It's rounding accuracy!
For example without magnetic field I don't need to rotate the luminosity monitor and middle of the first plane always in 1100 cm. The thickness of plane 150 mkm, so position of first surface of first plane should be always in 1099.9925 cm. But we use TVector3 for store hit information (and I think it use double to store each coordinate), so z coordinate is not exactly 1099.9925 it is 1099.992554. Then GEANE takes this number and it's rounded to 1099.9926. And for GEANE it means that this point placed inside silicon plane (after 1 mkm of silicon), so GEANE calculate energy loss and so on. Without magnetic field z coordinate of first hit always the same (1099.992554) and I always have energy loss, because GEANE round it to 1099.9926. With magnetic field I have to rotate my planes, so z coordinate of hit on the first plane depends from x coordinate. For GEANE number 1099.99254 and 1099.99255 are not the same, because it is rounded in 1099.9925(outside Lumi) and 1099.9926(inside Lumi) respectively. What's why in half of events I have energy loss and in half of events I haven't. It doesn't depend from particle direction and other things it's only statistics.
This is log file:
StartPos:
TVector3 A 3D physics vector (x,y,z) = (3.455978,5.988487,1099.992554)
StartMom:
TVector3 A 3D physics vector (x,y,z) =(0.027962,0.048452,8.899824)
=====> starting GEANE tracking for ANTIPROTON NEPRED = 1 with options : BLE
X Y Z R NAME NUMBER SLENG STEP DESTEP GEKIN MECHANISMS
3.4560 5.9885 1099.9926 6.9142 LumA 0 0.0000 0.0000 0.0 eV 8.011 GeV NULL
3.4560 5.9885 1099.9871 6.9141 LumA 0 0.0056 0.0056 19.5 keV 8.011 GeV NEXT NEXT LOSS
3.4560 5.9885 1099.9871 6.9141 cave 1 0.0056 0.0000 0.0 eV 8.011 GeV NULL
2.3716 4.1094 754.8403 4.7447 cave 1 345.1591 345.1536 0.0 eV 8.011 GeV FIEL
1.2872 2.2304 409.6935 2.5752 cave 1 690.3127 345.1536 0.0 eV 8.011 GeV FIEL
0.2028 0.3514 64.5467 0.4057 cave 1 1035.4663 345.1536 0.0 eV 8.011 GeV FIEL
0.8816 1.5276 280.6001 1.7638 cave 1 1380.6199 345.1536 0.0 eV 8.011 GeV FIEL
1.9660 3.4066 625.7469 3.9332 cave 1 1725.7734 345.1536 0.0 eV 8.011 GeV FIEL
3.0504 5.2857 970.8937 6.1027 cave 1 2070.9270 345.1536 0.0 eV 8.011 GeV FIEL
3.4560 5.98851099.9927 6.9142 cave 1 2200.0286 129.1016 0.0 eV 8.011 GeV FIEL PRED
Is it possible to improve accuracy of input for GEANE? (and using for instance 1099.992554 instead of 1099.9926)
Cheers,
Anastasia.





Re: backpropagation with GEANE [message #10837 is a reply to message #10830] 
Mon, 28 June 2010 12:35 
Lia Lavezzi
Messages: 291 Registered: May 2007 Location: Torino

firstgrade participant 
From: *pv.infn.it


Hi Anastasia,
EPSIL is the boundary crossing precision in cm.
I simulated 100 events of 1 GeV/c muons at theta = [10, 10] deg, phi random, with magnetic field in the usual cave (air) on a silicon plane orthogonal to the z axis, placed at 300 cm and 0.02 cm thick > the surface should be at 300  0.02 = 299.98 cm.
In the plot I attach I draw the z coordinate registered on this plane in different cases:
1) with the epsil as it is on svn, 0.001 both for air and for silicon
2) with the epsil = 0.0001 for silicon and = 0.001 for air
3) with the epsil = 0.0001 both for air and for silicon
In the third case, where I ask for a precision of 1 mum, the registered z coordinate after simulation is closer to the real surface (by printing the values from root with the Scan function I get in the three cases: 1) 299.98025, 2) 299.98025, 3) 299.98004 cm).
Then the epsil value has an effect, but maybe it is not enough in your case, because we are in a very ideal case and we are talking of rounding errors that are below the limit set by epsil.
Anyway it should happen that in real life the rounding errors are covered by physical effect errors and finite resolutions and you can neglect them, I hope...
Cheers,
Lia.

Attachment: epsil.ps
(Size: 10.13KB, Downloaded 267 times)





Goto Forum:
Current Time: Sat Nov 09 21:42:06 CET 2024
Total time taken to generate the page: 0.00921 seconds
