fVertexer(NULL),
fDiamondProfile(NULL),
+ fDiamondProfileTPC(NULL),
fMeanVertexConstraint(kTRUE),
fGRPList(NULL),
fVertexer(NULL),
fDiamondProfile(NULL),
+ fDiamondProfileTPC(NULL),
fMeanVertexConstraint(rec.fMeanVertexConstraint),
fGRPList(NULL),
AliError("No diamond profile found in OCDB!");
}
+ entry = 0;
+ entry = AliCDBManager::Instance()
+ ->Get("GRP/Calib/MeanVertexTPC");
+
+ if(entry) {
+ fDiamondProfileTPC = dynamic_cast<AliESDVertex*> (entry->GetObject());
+ } else {
+ AliError("No diamond profile found in OCDB!");
+ }
+
AliVertexerTracks tVertexer(AliTracker::GetBz());
if(fDiamondProfile && fMeanVertexConstraint) tVertexer.SetVtxStart(fDiamondProfile);
if (tpcTrack)
ok = AliTracker::
PropagateTrackTo(tpcTrack,kRadius,track->GetMass(),kMaxStep,kTRUE);
+
+
+
if (ok) {
Int_t n=trkArray.GetEntriesFast();
selectedIdx[n]=track->GetID();
}
if (fRunVertexFinderTracks) {
// TPC + ITS primary vertex
+ tVertexer.SetITSrefitRequired();
+ if(fDiamondProfile && fMeanVertexConstraint) {
+ tVertexer.SetVtxStart(fDiamondProfile);
+ } else {
+ tVertexer.SetConstraintOff();
+ }
AliESDVertex *pvtx=tVertexer.FindPrimaryVertex(esd);
if (pvtx) {
if (pvtx->GetStatus()) {
}
// TPC-only primary vertex
+ tVertexer.SetITSrefitNotRequired();
+ if(fDiamondProfileTPC && fMeanVertexConstraint) {
+ tVertexer.SetVtxStart(fDiamondProfileTPC);
+ } else {
+ tVertexer.SetConstraintOff();
+ }
pvtx=tVertexer.FindPrimaryVertex(&trkArray,selectedIdx);
if (pvtx) {
if (pvtx->GetStatus()) {
if(!(AliCDBManager::Instance()->GetCacheFlag())) {
delete fDiamondProfile;
fDiamondProfile = NULL;
+ delete fDiamondProfileTPC;
+ fDiamondProfileTPC = NULL;
delete fGRPList;
fGRPList = NULL;
}