if (!fTrackReco)
{
- fTrackReco = CreateTrackReconstructor(GetRecoParam(),fClusterServer);
+ fTrackReco = CreateTrackReconstructor(GetRecoParam(),fClusterServer,fkTransformer);
fInternalTrackStore = new AliMUONTrackStoreV1;
}
// fill ESD event including all info in ESD cluster if required and only for the given fraction of events
AliMUONTrack* track;
AliMUONLocalTrigger* locTrg;
- AliESDMuonTrack esdTrack;
TIter next(trackStore.CreateIterator());
if (GetRecoParam()->SaveFullClusterInESD() &&
gRandom->Uniform(100.) <= GetRecoParam()->GetPercentOfFullClusterInESD()) {
if (track->GetMatchTrigger() > 0) {
locTrg = static_cast<AliMUONLocalTrigger*>(fTriggerStore->FindLocal(track->LoCircuit()));
- AliMUONESDInterface::MUONToESD(*track, esdTrack, vertex, &fkDigitStore, locTrg);
- } else AliMUONESDInterface::MUONToESD(*track, esdTrack, vertex, &fkDigitStore);
+ AliMUONESDInterface::MUONToESD(*track, *esd, vertex, &fkDigitStore, locTrg);
+ } else AliMUONESDInterface::MUONToESD(*track, *esd, vertex, &fkDigitStore);
- esd->AddMuonTrack(&esdTrack);
}
} else {
if (track->GetMatchTrigger() > 0) {
locTrg = static_cast<AliMUONLocalTrigger*>(fTriggerStore->FindLocal(track->LoCircuit()));
- AliMUONESDInterface::MUONToESD(*track, esdTrack, vertex, 0x0, locTrg);
- } else AliMUONESDInterface::MUONToESD(*track, esdTrack, vertex);
+ AliMUONESDInterface::MUONToESD(*track, *esd, vertex, 0x0, locTrg);
+ } else AliMUONESDInterface::MUONToESD(*track, *esd, vertex);
- esd->AddMuonTrack(&esdTrack);
}
}
}
if (matched) continue;
- AliMUONESDInterface::MUONToESD(*locTrg, esdTrack, ghostId, triggerTrack);
+ AliMUONESDInterface::MUONToESD(*locTrg, *esd, ghostId, triggerTrack);
- esd->AddMuonTrack(&esdTrack);
ghostId -= 1;
}
}
//_____________________________________________________________________________
-AliMUONVTrackReconstructor* AliMUONTracker::CreateTrackReconstructor(const AliMUONRecoParam* recoParam, AliMUONVClusterServer* clusterServer)
+AliMUONVTrackReconstructor* AliMUONTracker::CreateTrackReconstructor(const AliMUONRecoParam* recoParam,
+ AliMUONVClusterServer* clusterServer,
+ const AliMUONGeometryTransformer* transformer)
{
/// Create track reconstructor, depending on tracking mode set in RecoParam
if (strstr(opt,"ORIGINAL"))
{
- trackReco = new AliMUONTrackReconstructor(recoParam,clusterServer);
+ trackReco = new AliMUONTrackReconstructor(recoParam,clusterServer,transformer);
}
else if (strstr(opt,"KALMAN"))
{
- trackReco = new AliMUONTrackReconstructorK(recoParam,clusterServer);
+ trackReco = new AliMUONTrackReconstructorK(recoParam,clusterServer,transformer);
}
else
{