fType(kUndef),
fNprong(0),
fIprong(0),
+ fNContributors(0),
fCovMatrix(NULL),
fParent(),
fDaughters(),
fType(vtype),
fNprong(nprong),
fIprong(0),
+ fNContributors(0),
fCovMatrix(NULL),
fParent(parent),
fDaughters(),
fType(vtype),
fNprong(nprong),
fIprong(0),
+ fNContributors(0),
fCovMatrix(NULL),
fParent(parent),
fDaughters(),
fType(vtype),
fNprong(nprong),
fIprong(0),
+ fNContributors(0),
fCovMatrix(NULL),
fParent(),
fDaughters(),
fType(vtype),
fNprong(nprong),
fIprong(0),
+ fNContributors(0),
fCovMatrix(NULL),
fParent(),
fDaughters(),
fType(vtx.fType),
fNprong(vtx.fNprong),
fIprong(vtx.fIprong),
+ fNContributors(vtx.fNContributors),
fCovMatrix(NULL),
fParent(vtx.fParent),
fDaughters(vtx.fDaughters),
Int_t AliAODVertex::GetNContributors() const
{
// Returns the number of tracks used to fit this vertex.
- Int_t cont = 0;
+ Int_t cont = 0;
- if (!strcmp(GetTitle(), "vertexer: 3D")) {
- cont = fNprong;
+ TString vtitle = GetTitle();
+ if (!vtitle.Contains("VertexerTracks")) {
+ cont = fNContributors;
} else {
for (Int_t iDaug = 0; iDaug < GetNDaughters(); iDaug++) {
- if (((AliAODTrack*)fDaughters.At(iDaug))->GetUsedForVtxFit()) cont++;
- }
+ AliAODTrack* aodT = dynamic_cast<AliAODTrack*>(fDaughters.At(iDaug));
+ if (!aodT) continue;
+ if (aodT->GetUsedForPrimVtxFit()) cont++;
+ }
+ // the constraint adds another DOF
+ if(vtitle.Contains("VertexerTracksWithConstraint"))cont++;
}
return cont;
}