Hi,
thanks a lot for the replies.
I was implicit fitting before showing the massing, the problem is only appearing when applying the PndKinVtxFitter.
Actually i was doing the following:
for (int j=0;j<aD.GetLength();j++)
{
counter++;
cout<<"--------------"<<endl;
PndKinVtxFitter FitteraD(aD[j]);
FitteraD.Fit();
double mass_aD=aD[j].GetFit()->M();
cout<<"Mass: "<<mass_aD<<endl;
TLorentzVector d1_p4=aD[j].GetFit()->Daughter(0)->P4();
TLorentzVector d2_p4=aD[j].GetFit()->Daughter(1)->P4();
TLorentzVector moth_p4=d1_p4+d2_p4;
double mass_moth=moth_p4.Mag();
cout<<"Mass by daughters P4: "<<mass_moth<<endl;
}
But perhaps Ralf thats interresting for you:
Here is a list what happens with the different fitters:
PndKinVtx
- Fails, something is wrong with the fitted fourvectors.
PndVtxPRG with fast fitting:
- Works properly.
PndKinVtx
- Works (anything else would be bad for a pure kinematic fitter...)
PndChiVtxFitter, Pnd4CFitter and
PndVtxPRG with full fitting:
- Errors with:
Error in <TVectorT<double>::operator()>: Request index(23) outside vector range of 0 - 20
PndVtxFitter:
- Errors with:
PndVtxFitter::DoVertexFitWOCorr: 0 tracks
Error in <TMatrixTRow_const(const TMatrixT<Element> &,Int_t)>: row index out of bounds
Thanks again and sorry if i caused confusion
Andreas