]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONTracker.cxx
o Updates by Remi
[u/mrichter/AliRoot.git] / MUON / AliMUONTracker.cxx
index 462d4e3c46e0fd6364ec5021921fe629725e326c..eccf3727953412cb90ddc6630c2190acb4ce3620 100644 (file)
@@ -216,7 +216,7 @@ Int_t AliMUONTracker::Clusters2Tracks(AliESDEvent* esd)
   
   if (!fTrackReco) 
   {
-    fTrackReco = CreateTrackReconstructor(GetRecoParam(),fClusterServer);
+    fTrackReco = CreateTrackReconstructor(GetRecoParam(),fClusterServer,fkTransformer);
     fInternalTrackStore = new AliMUONTrackStoreV1;
   }
   
@@ -288,7 +288,6 @@ void AliMUONTracker::FillESD(const AliMUONVTrackStore& trackStore, AliESDEvent*
   // 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()) {
@@ -297,10 +296,9 @@ void AliMUONTracker::FillESD(const AliMUONVTrackStore& trackStore, AliESDEvent*
       
       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 {
@@ -309,10 +307,9 @@ void AliMUONTracker::FillESD(const AliMUONVTrackStore& trackStore, AliESDEvent*
       
       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);
     }
     
   }
@@ -334,16 +331,17 @@ void AliMUONTracker::FillESD(const AliMUONVTrackStore& trackStore, AliESDEvent*
     }
     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
   
@@ -354,11 +352,11 @@ AliMUONVTrackReconstructor* AliMUONTracker::CreateTrackReconstructor(const AliMU
   
   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
   {