if (!TGeoGlobalMagField::Instance()->GetField() && !AliMUONCDB::LoadField())
AliFatalClass("Magnetic field has not been set!");
- fgTracker = AliMUONTracker::CreateTrackReconstructor(fgRecoParam,0x0);
+ fgTracker = AliMUONTracker::CreateTrackReconstructor(fgRecoParam,0x0,0x0);
}
{
/// Transfert trigger data from ESDMuon track to the MUONLocalTtrigger object
- // if the ESDMuon track is a ghost then return an empty MUON track
- if (!esdTrack.ContainTriggerData()) {
- AliMUONLocalTrigger emptyLocTrg;
- locTrg = emptyLocTrg;
- return;
- }
+ // reset the local trigger content
+ AliMUONLocalTrigger emptyLocTrg;
+ locTrg = emptyLocTrg;
+
+ // if the ESDMuon track is a ghost then return an empty local trigger
+ if (!esdTrack.ContainTriggerData()) return;
locTrg.SetUniqueID(esdTrack.GetUniqueID());
locTrg.SetLoCircuit(esdTrack.LoCircuit());
locTrg.SetDeviation(esdTrack.LoDev());
locTrg.SetLoLpt(esdTrack.LoLpt());
locTrg.SetLoHpt(esdTrack.LoHpt());
- locTrg.SetTriggerWithoutChamber(esdTrack.GetTriggerWithoutChamber());
- locTrg.SetLoTrigY(1);
+ for (Int_t ich = 0; ich < 4; ich++)
+ if (esdTrack.TriggerFiredWithoutChamber(ich))
+ locTrg.SetTriggerWithoutChamber(ich);
+ locTrg.SetLoTrigY(0);
locTrg.SetX1Pattern(esdTrack.GetTriggerX1Pattern());
locTrg.SetX2Pattern(esdTrack.GetTriggerX2Pattern());
locTrg.SetX3Pattern(esdTrack.GetTriggerX3Pattern());