|
|
|
|
|
|
|
Re: Chi2 of kinematic and vertex fitters [message #18351 is a reply to message #15750] |
Mon, 06 July 2015 14:56 |
Jennifer Pütz
Messages: 47 Registered: April 2015 Location: FZ Juelich
|
continuous participant |
From: *ikp.kfa-juelich.de
|
|
Ok, here is an example with negative Chi2 for the 4C-Fit (pbar p -> Lambda0 + AntiLambda0)
------
double pbarmom = 1.712;
double p_m0 = TDatabasePDG::Instance()->GetParticle("proton")->Mass();
TLorentzVector ini (0,0, pbarmom, sqrt(p_m0*p_m0+ pbarmom*pbarmom)+p_m0);
RhoCandList piplus, piminus, lambda0, antiLambda0, proton, antiProton, pbarpsystem, Lambda0Fit, AntiLambda0Fit;
TString PidSelection = "PidAlgoIdealCharged";
theAnalysis->FillList(piminus, "PionAllMinus", PidSelection);
theAnalysis->FillList(piplus, "PionAllPlus", PidSelection);
theAnalysis->FillList(proton, "ProtonAllPlus", PidSelection);
theAnalysis->FillList(antiProton, "ProtonAllMinus", PidSelection);
int evt=0;
while (theAnalysis->GetEvent() && ++evt<nevts){
//***Lambda0 -> PiMinus + Proton
lambda0.Combine(piminus,proton);
lambda0.Select(lambdaMassSelector);
lambda0.SetType(3122);
for (int j=0; j<lambda0.GetLength(); ++j){
PndKinVtxFitter vertexfitterLambda0 (lambda0[j]);
vertexfitterLambda0.Fit();
RhoCandidate * lambda0Fit = lambda0[j]->GetFit();
Lambda0Fit.Append(lambda0Fit);
}
//***AntiLambda0 -> PiMinus + Proton
antiLambda0.Combine(piplus,antiProton);
antiLambda0.Select(lambdaMassSelector);
antiLambda0.SetType(-3122);
for (int j=0; j<antiLambda0.GetLength(); ++j){
PndKinVtxFitter vertexfitterAntiLambda0 (antiLambda0[j]);
vertexfitterAntiLambda0.Fit();
RhoCandidate * antiLambda0Fit = antiLambda0[j]->GetFit();
AntiLambda0Fit.Append(antiLambda0Fit);
}
pbarpsystem.Combine(Lambda0Fit, AntiLambda0Fit);
pbarpsystem.SetType(88888);
for (int j=0; j<pbarpsystem.GetLength(); ++j){
PndKinFitter Fitter4c (pbarpsystem[j]);
Fitter4c.Add4MomConstraint(ini);
Fitter4c.Fit();
}
Lambda0Fit.Cleanup();
AntiLambda0Fit.Cleanup();
}
-------
|
|
|
|
|
|
|
|