PndVtxPRG vs PndKinVtxFitter [message #17422] |
Fri, 24 October 2014 11:44 |
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 #17424 is a reply to message #17423] |
Fri, 24 October 2014 14:53 |
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 |
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:44for (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
|
|
|
|