GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » PANDA » PandaRoot » Analysis » PndVtxPRG vs PndKinVtxFitter
PndVtxPRG vs PndKinVtxFitter [message #17422] Fri, 24 October 2014 11:44 Go to next message
Karin Schönning
Messages: 65
Registered: August 2012
Location: Uppsala University
continuous participant
From: *physics.uu.se
Hi, after advice from Ralph and Stefano I ran some simulations of the pbar p -> Lambdabar Lambda at 4 GeV with ideal tracking (no Kalman filter) and compared the results for two different vertex fitters, PndVtxPRG and PndKinVtxFitter.

This part of my analysis macro look like:

for (j=0;j<lamb.GetLength();++j)
{

PndVtxPRG vtxfitterlb(lamb[j]);

vtxfitterlb.Fit();
double chi2_vtx = vtxfitterlb.GetChi2(); // access chi2 of fit
double prob_vtx = vtxfitterlb.GetProb(); // access probability of fit
h0b_chi2_vf->Fill(chi2_vtx);
hlamb_prob_vf->Fill(prob_vtx);
bool checkb=vtxfitterlb.Fit();
if(checkb)
// when good enough, fill some histos
{

RhoCandidate *lambv = lamb[j]->GetFit(); // access the fitted cand

.
.
.
.
and so on.

The PndKinVtxFitter gives slightly higher Lambda efficiency than PndVtxPRG.
Here are the results:

PndKinVtxFitter:

Lambda eff, no vertex fit: 15.2%
Lambda eff, vertex fit: 14.9%
Lambdabar eff, no vertex fit: 61.5%
Lambdabar eff, vertex fit: 59.2%
LLbar eff, vertex fit: 6.8%

PndVtxPRG:

Lambda eff, no vertex fit: 15.2%
Lambda eff, vertex fit: 11.0%
Lambdabar eff, no vertex fit: 61.5%
Lambdabar eff, vertex fit: 52.9%
LLbar eff, vertex fit: 5.5%

Unfortunatly, the results do not improve so much when running with half solenoid field. The lambda yield before vertex fit is larger but the lambdabar yield, and the yield after vertex fit, is worse than with the full field. I should mention that here, I don't cut on the mass at all.

PndKinVtxFitter, half solenoid field:

Lambda eff, no vertex fit: 18.4%
Lambda eff, vertex fit: 10.3%
Lambdabar eff, no vertex fit: 54.9%
Lambdabar eff, vertex fit: 39.2%
LLbar eff, vertex fit: 5.6%

PndVtxPRG, half solenoid field:

Lambda eff, no vertex fit: 18.4%
Lambda eff, vertex fit: 10.0%
Lambdabar eff, no vertex fit: 54.9%
Lambdabar eff, vertex fit: 36.8%
LLbar eff, vertex fit: 5.2%

I would still expect a larger improvement when running with half field so I don't understand this.

/Karin
Re: PndVtxPRG vs PndKinVtxFitter [message #17423 is a reply to message #17422] Fri, 24 October 2014 12:56 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 137.204.203*
Did I understood correctly that the loss in efficiency for the vertex fitter for the full field does not happen? I had understood from your last talk that you were seeing the same drop also at the correct field.
Re: PndVtxPRG vs PndKinVtxFitter [message #17424 is a reply to message #17423] Fri, 24 October 2014 14:53 Go to previous messageGo to next message
Karin Schönning
Messages: 65
Registered: August 2012
Location: Uppsala University
continuous participant
From: *physics.uu.se
For the full field, with ideal tracking, the efficiency goes down only a little (for lambdas from 15.2% to 14.9%) with PndKinVtxFitter, after changing the criterion from

if (prob_vtx>0.0002) // as in the talk

to

bool checkb=vtxfitterlb.Fit();
if(checkb) //current cut

With the PndVtxPRG and with if (prob_vtx>0.0002) for PndKinVtxFitter it goes down more (with the same amount, is that a coincidence?)

Re: PndVtxPRG vs PndKinVtxFitter [message #17426 is a reply to message #17422] Fri, 24 October 2014 16:31 Go to previous messageGo to next message
Ralf Kliemt is currently offline  Ralf Kliemt
Messages: 507
Registered: May 2007
Location: GSI, Darmstadt
first-grade participant

From: *gsi.de
Hi Karin,

There is a potential bug (marked in red). Simply use bool checkb=vtxfitterlb.Fit(); as the fit statement in the beginning of the block.
Karin Schönning wrote on Fri, 24 October 2014 11:44
for (j=0;j<lamb.GetLength();++j)
{

PndVtxPRG vtxfitterlb(lamb[j]);

vtxfitterlb.Fit();
double chi2_vtx = vtxfitterlb.GetChi2(); // access chi2 of fit
double prob_vtx = vtxfitterlb.GetProb(); // access probability of fit
h0b_chi2_vf->Fill(chi2_vtx);
hlamb_prob_vf->Fill(prob_vtx);
bool checkb=vtxfitterlb.Fit();
if(checkb)
// when good enough, fill some histos
{

RhoCandidate *lambv = lamb[j]->GetFit(); // access the fitted cand




Do you apply other selections, such as a distance cut to the interaction point? The PndVtxPrg should be just a touch less accurate then the PndKinVtxFitter. I expect no different efficiency drops by fitting.

Cheers
Ralf

[Updated on: Fri, 24 October 2014 16:32]

Report message to a moderator

Re: PndVtxPRG vs PndKinVtxFitter [message #17434 is a reply to message #17422] Tue, 28 October 2014 10:32 Go to previous message
Karin Schönning
Messages: 65
Registered: August 2012
Location: Uppsala University
continuous participant
From: *physics.uu.se
Indeed, this helps and now the fitter efficiency of the PndVtxFiter is almost 100%. I haven't checked the PndVtxPRG yet though.
Previous Topic: energy loss correction for electron
Next Topic: vertex reconstruction without fitting?
Goto Forum:
  


Current Time: Sat Nov 30 20:53:07 CET 2024

Total time taken to generate the page: 0.00573 seconds