GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » PANDA » PandaRoot » Tracking » GEANE extrpolate to point of closest approach
Re: GEANE extrpolate to point of closest approach [message #6362 is a reply to message #6355] Fri, 11 April 2008 10:55 Go to previous messageGo to previous message
Lia Lavezzi
Messages: 291
Registered: May 2007
Location: Torino
first-grade participant

From: *PV.INFN.IT
Hi Christian,
I tried to set up an example to better explain the propagation to the point of closest approach.
I attach to this message the tar file geanepca.tar.gz which contains the directory geanepca.
This directory contains the task CbmGeaneTrC which performs an example of propagation to point of closest approach to a point, the macro to run the simulation runMC.C and to run GEANE rungeane.C.
This example uses the same planes as in tutorial/ex1 (an array of planes perpendicular to the x axis), so you must set up the same environment, i.e.:
1) copy the geometry file plane3.geo to the geometry directory
2) add the plane directory (in which the plane is defined as a detector) to general CMakeLists.txt
3) add the geanepca to the list too.
This should allow you to run this example.

To do this you simply can run the runMC.C macro, which simulates 1000 muons from vertex (0,0,0) with momentum (1,0.01,0.01) (this is only to simplify things, but can be generalized). Then you can directly run the rungeane.C macro, which performs the propagation to the point of closest approach to a chosen point on the plane.

The plane is set at 135 cm from the origin in the x direction, perpendicular to it. The point is chosen after having a look to the montecarlo points: if you open the output file of runMC.C you will see that the fX coordinate is 135, wile the fY and fZ are smeared (due to the magnetic field) around 72 and 2 cm (this is why I chose these values to set the space point with respect to which calculate the closest approach). You can try with other values and modify the task in order to have a more realistic case.

The key part of the task is in these lines:

// ----- propagation: I use propagate to closest ------
TVector3 v0 = TVector3(135, 72, 2);
fPro->SetPoint(v0);
TVector3 wire1 = TVector3(0, 0, 0);
TVector3 wire2 = TVector3(0, 0, 0);
fPro->SetWire(wire1, wire2);
fPro->PropagateToPCA(1); // 1 if point; 2 if wire
Bool_t rc = fPro->Propagate(fStart, fRes, PDGCode);


- v0 is the space point with respect to which you want to calculate the point of closest approach and then extrapolate the track
- fPro->SetPoint(v0); tells this to GEANE
- TVector3 wire1 = TVector3(0, 0, 0);
TVector3 wire2 = TVector3(0, 0, 0);
fPro->SetWire(wire1, wire2);

these lines can also be avoided since you want the point of closest approach to a point and not to a wire.
- fPro->PropagateToPCA(1); // 1 if point; 2 if wire
tells GEANE you want to propagate to the PCA to a point and not to a wire
- Bool_t rc = fPro->Propagate(fStart, fRes, PDGCode);
performs the actual propagation: it extrapolates the track to a very high track length and stops when the point of closest approach to your defined space point has been found.

I hope this can be useful, if something does not work, please tell me, also because I set up this example in a short time, so maybe I lost something (let' s hope I did not Wink)

Pay attention to one point:
two propagation to the point of closest approach are set up in GEANE: PCA to a space point and to a wire: the first one uses the CbmTrackParH representation and works in the SC frame; the second one uses the CbmTrackParP representation and works in the SD one.

Ciao,
Lia.
 
Read Message icon5.gif
Read Message
Read Message
Read Message
Read Message
Previous Topic: GENFIT - next steps
Next Topic: Tracklength from GEANE
Goto Forum:
  


Current Time: Sat Apr 20 13:59:16 CEST 2024

Total time taken to generate the page: 0.01128 seconds