GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » PANDA » PandaRoot » Analysis » PndKinVtxFitter Resoultion
PndKinVtxFitter Resoultion [message #15030] Mon, 29 July 2013 14:57 Go to next message
Simone Esch is currently offline  Simone Esch
Messages: 37
Registered: August 2010
Location: Forschungszentrum Jülich...
continuous participant

From: *ext.kfa-juelich.de
Hello!

I tried to do a resolution plot for my PndKinVtxFitter Vertex Resolution.
If I understand correctly the distance is in cm. If this is true I have a vertex resolution in the order of mm Confused which is in my opinion really bad.
Maybe I compare the wrong values with eatch other. Can someone have a look at my code?

Best regards

Simone


What I did:

	lambda2.Cleanup();
	lambda2.Combine(protonplus, pionminus); // Daugther 0 proton, Daughter 1 pion
	lambda2.SetType(3122);

	// **********************
	// PndKinVtxFitter
	// **********************
	double smallestchi2 =100000000000;
	int indexofsmallestchi2 =-1;
	RhoCandidate* lambdaPndKinVtxFitterfit;

	for(int k=0;k < lambda2.GetLength();k++)
	{
		PndKinVtxFitter kinvtxfitter(lambda2[k]);
		kinvtxfitter.AddMassConstraint(1.115);
		kinvtxfitter.Fit();
		if(kinvtxfitter.GetChi2()< smallestchi2 && kinvtxfitter.GetChi2() > 0)
		{
			smallestchi2= kinvtxfitter.GetChi2();
			indexofsmallestchi2=k;
			lambdaPndKinVtxFitterfit=lambda2[k]->GetFit();
			std::cout << "smallest chi2 " << smallestchi2<< std::endl;
		}
	}

	if(indexofsmallestchi2!=-1)
	{
fLambdaMassPndKinVtxFitter->Fill((lambdaPndKinVtxFitterfit->Daughter(0)->P4()+lambdaPndKinVtxFitterfit->Daughter(1)->P4()).M());
		fLambdaMassPndKinVtxFitterChi2->Fill(smallestchi2);
	    fPndKinVtxFitter_VertexRes_X->Fill(lambdaPndKinVtxFitterfit->Daughter(0)->GetPosition().X()-lambda2[indexofsmallestchi2]->Daughter(0)->GetMcTruth()->GetPosition().X());
	    fPndKinVtxFitter_VertexRes_Y->Fill(lambdaPndKinVtxFitterfit->Daughter(0)->GetPosition().Y()-lambda2[indexofsmallestchi2]->Daughter(0)->GetMcTruth()->GetPosition().Y());
	    fPndKinVtxFitter_VertexRes_Z->Fill(lambdaPndKinVtxFitterfit->Daughter(0)->GetPosition().Z()-lambda2[indexofsmallestchi2]->Daughter(0)->GetMcTruth()->GetPosition().Z());
}


index.php?t=getfile&id=7469&private=0
index.php?t=getfile&id=7470&private=0
index.php?t=getfile&id=7471&private=0
  • Attachment: resx.png
    (Size: 8.76KB, Downloaded 600 times)
  • Attachment: resy.png
    (Size: 8.70KB, Downloaded 690 times)
  • Attachment: resz.png
    (Size: 8.31KB, Downloaded 705 times)
Re: PndKinVtxFitter Resoultion [message #15033 is a reply to message #15030] Mon, 29 July 2013 16:07 Go to previous messageGo to next message
Klaus Götzen is currently offline  Klaus Götzen
Messages: 293
Registered: June 2006
Location: GSI
first-grade participant
From: *gsi.de
Hi Simone,


your code looks ok for me.

Since you are considering Lambdas, which have a quite large lifetime a fly quite long, I wouldn't expect a vertex resolution as good as for short living particles like D's decaying within the MVD.

It would be helpful to take a look to the vertex distance from the IP and study the resolution depending on that. You could also fit the mean lifetime of your Lambda candidates and compare it to the PDG value.


Best regards,
Klaus
Re: PndKinVtxFitter Resoultion [message #15037 is a reply to message #15033] Mon, 29 July 2013 18:12 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 2.235.190*
I would suggest however to check this topic:

https://forum.gsi.de/index.php?t=tree&th=3901&start=0&rid=30 6&S=6c581bdc6201b7db71a4ed85c62e1a47#page_top

and to use PndChiVtxFitter, which seems to produce better results. Atleast we could have a term of comparison.
Re: PndKinVtxFitter Resoultion [message #15048 is a reply to message #15037] Tue, 30 July 2013 15:41 Go to previous messageGo to next message
Simone Esch is currently offline  Simone Esch
Messages: 37
Registered: August 2010
Location: Forschungszentrum Jülich...
continuous participant

From: *ext.kfa-juelich.de
Hello Stefano

I used the PndChiVtxFitter and got the following pictures:

index.php?t=getfile&id=7478&private=0
index.php?t=getfile&id=7480&private=0
index.php?t=getfile&id=7479&private=0

They look even worse.

The Chi2 distribution looks even more strange (this is the distribution of all chi2, not just the best chi2 per event. )


index.php?t=getfile&id=7481&private=0


Best regards
Simone
Re: PndKinVtxFitter Resoultion [message #15061 is a reply to message #15048] Wed, 31 July 2013 08:37 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 2.235.190*
Have you used the updated version? There was a small bug found by Layra that I fixed in svn a couple of days ago.
Re: PndKinVtxFitter Resoultion [message #15067 is a reply to message #15061] Wed, 31 July 2013 09:28 Go to previous messageGo to next message
Simone Esch is currently offline  Simone Esch
Messages: 37
Registered: August 2010
Location: Forschungszentrum Jülich...
continuous participant

From: *ext.kfa-juelich.de
I updated my PandaRoot this morning.
PndChiVtxFitter.cxx is now Rev. 20887. Due to the update I get slightly different numbers, but the same distributions Sad
Re: PndKinVtxFitter Resoultion [message #15113 is a reply to message #15067] Tue, 06 August 2013 16:06 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 2.235.190*
Is it possible that there are problems in retrieveing correctly the MC truth? Could you please check if the mc particles are really protons/pions and not something else?
Re: GetPosition() [message #15118 is a reply to message #15030] Wed, 07 August 2013 11:36 Go to previous messageGo to next message
Simon Reiter is currently offline  Simon Reiter
Messages: 44
Registered: May 2013
continuous participant
From: *zeu.uni-giessen.de
I have just a short question: Is GetPosition() returning the vertex of a particle? And if so, how is it calculated for each particle and do I have to use a fitter for better results?

Best regards
Simon
Re: GetPosition() [message #15120 is a reply to message #15118] Wed, 07 August 2013 11:50 Go to previous message
Ralf Kliemt is currently offline  Ralf Kliemt
Messages: 507
Registered: May 2007
Location: GSI, Darmstadt
first-grade participant

From: *gsi.de
Hallo Simon,

GetPosition() and Pos() return the position where the current four-momentum of the particle is defined. The momenum direction will change if you define it at another place of the measured trajectory.

After a vertex fit the daughter particles will have their four-momenta defined at the decay vertex (that's the goal).
You may also (since yesterday) use GetDecayVertex() at your composite. You'll be returned a RhoVector3Err, which is basically a TVector3 and a 3x3 TMatrixD for the covariance.

Cheers
Ralf

[Updated on: Wed, 07 August 2013 11:50]

Report message to a moderator

Previous Topic: [FIXED] why is total energyloss always too small?
Next Topic: Documentation for Rho classes
Goto Forum:
  


Current Time: Fri Nov 22 14:51:29 CET 2024

Total time taken to generate the page: 0.00834 seconds