#include "AliMUONVDigit.h"
#include "AliMUONVDigitStore.h"
#include "AliMUONLocalTrigger.h"
+#include "AliMUONTriggerTrack.h"
#include "AliMUONVTriggerStore.h"
#include "AliMUON2DMapIterator.h"
#include "AliMUONTrackParam.h"
#include "AliMpExMapIterator.h"
#include "AliMpVSegmentation.h"
#include "AliMpSegmentation.h"
-#include "AliMpIntPair.h"
#include "AliMpPad.h"
#include "AliESDEvent.h"
/// Transfert data from ESDMuon pad to MUON digit
const AliMpVSegmentation* seg = AliMpSegmentation::Instance()->GetMpSegmentationByElectronics(esdPad.GetDetElemId(), esdPad.GetManuId());
- AliMpPad pad = seg->PadByLocation(AliMpIntPair(esdPad.GetManuId(), esdPad.GetManuChannel()), kFALSE);
+ AliMpPad pad = seg->PadByLocation(esdPad.GetManuId(), esdPad.GetManuChannel(), kFALSE);
digit.Saturated(esdPad.IsSaturated());
digit.Used(kFALSE);
digit.SetUniqueID(esdPad.GetUniqueID());
digit.SetCharge(esdPad.GetCharge());
digit.SetADC(esdPad.GetADC());
- digit.SetPadXY(pad.GetIndices().GetFirst(), pad.GetIndices().GetSecond());
+ digit.SetPadXY(pad.GetIx(), pad.GetIy());
}
// empty MUON track -> produce a ghost ESDMuon track if trigger info are available otherwise produce an empty track
if (track.GetNClusters() == 0) {
- if (locTrg) MUONToESD(*locTrg, esdTrack, track.GetUniqueID(), track.GetHitsPatternInTrigCh());
+ if (locTrg) MUONToESD(*locTrg, esdTrack, track.GetUniqueID());
else {
cout<<"W-AliMUONESDInterface::MUONToESD: will produce an empty ESDMuon track"<<endl;
esdTrack.Reset();
}
//_____________________________________________________________________________
-void AliMUONESDInterface::MUONToESD(const AliMUONLocalTrigger& locTrg, AliESDMuonTrack& esdTrack, UInt_t trackId, UShort_t hitPattern)
+void AliMUONESDInterface::MUONToESD(const AliMUONLocalTrigger& locTrg, AliESDMuonTrack& esdTrack,
+ UInt_t trackId, const AliMUONTriggerTrack* triggerTrack)
{
/// Build ghost ESDMuon track containing only informations about trigger track
locTrg.LoHpt());
esdTrack.SetLocalTrigger(muonTrack.GetLocalTrigger());
esdTrack.SetChi2MatchTrigger(0.);
- esdTrack.SetHitsPatternInTrigCh(hitPattern);
esdTrack.SetTriggerX1Pattern(locTrg.GetX1Pattern());
esdTrack.SetTriggerY1Pattern(locTrg.GetY1Pattern());
esdTrack.SetTriggerX2Pattern(locTrg.GetX2Pattern());
esdTrack.SetTriggerY3Pattern(locTrg.GetY3Pattern());
esdTrack.SetTriggerX4Pattern(locTrg.GetX4Pattern());
esdTrack.SetTriggerY4Pattern(locTrg.GetY4Pattern());
-
+ UShort_t hitPattern = 0;
+ if(triggerTrack){
+ hitPattern = triggerTrack->GetHitsPatternInTrigCh();
+ esdTrack.SetHitsPatternInTrigCh(hitPattern);
+ esdTrack.SetThetaXUncorrected(triggerTrack->GetThetax());
+ esdTrack.SetThetaYUncorrected(triggerTrack->GetThetay());
+ esdTrack.SetNonBendingCoorUncorrected(triggerTrack->GetX11());
+ esdTrack.SetBendingCoorUncorrected(triggerTrack->GetY11());
+ }
}
//_____________________________________________________________________________