#include "AliESDEvent.h"
#include "AliESDMuonTrack.h"
#include "AliMUONDigitStoreV2S.h"
-#include "AliMUONDigit.h"
+#include "AliMUONVDigit.h"
#include "AliMpVSegmentation.h"
#include "AliMpSegmentation.h"
#include "AliMpPad.h"
//_____________________________________________________________________________
Bool_t AliMUONRecoCheck::InitCircuit()
{
-
+
if ( fTriggerCircuit ) return kTRUE;
if ( ! InitGeometryTransformer() ) return kFALSE;
- fTriggerCircuit = new AliMUONTriggerCircuit(fGeometryTransformer);
-
// reset tracker for local trigger to trigger track conversion
- if ( ! AliMUONESDInterface::GetTracker() )
- AliMUONESDInterface::ResetTracker();
+ if ( ! AliMUONESDInterface::GetTracker() ) AliMUONESDInterface::ResetTracker();
+
+ fTriggerCircuit = new AliMUONTriggerCircuit(fGeometryTransformer);
return kTRUE;
}
if (fTrackRefStore != 0x0) return fTrackRefStore;
else {
- if (!fMCEventHandler->LoadEvent(event)) {
+ if (!fMCEventHandler->BeginEvent(event)) {
AliError(Form("fails to read MC objects for event %d", event));
return 0x0;
}
MakeTrackRefs();
+ fMCEventHandler->FinishEvent();
return fTrackRefStore;
}
}
if (fRecoTriggerRefStore != 0x0) return fRecoTriggerRefStore;
else {
- if (!fMCEventHandler->LoadEvent(event)) {
+ if (!fMCEventHandler->BeginEvent(event)) {
AliError(Form("fails to read MC objects for event %d", event));
return 0x0;
}
MakeTriggerableTracks();
+ fMCEventHandler->FinishEvent();
return fRecoTriggerRefStore;
}
}
}
//_____________________________________________________________________________
-void AliMUONRecoCheck::TriggerToTrack(const AliMUONLocalTrigger& locTrg, AliMUONTriggerTrack& triggerTrack)
+Bool_t AliMUONRecoCheck::TriggerToTrack(const AliMUONLocalTrigger& locTrg, AliMUONTriggerTrack& triggerTrack)
{
/// Make trigger track from local trigger info
- if ( ! InitCircuit() ) return;
+ if ( ! InitCircuit() ) return kFALSE;
AliMUONVTrackReconstructor* tracker = AliMUONESDInterface::GetTracker();
- tracker->TriggerToTrack(*fTriggerCircuit, locTrg, triggerTrack);
+ return tracker->TriggerToTrack(*fTriggerCircuit, locTrg, triggerTrack);
}
if ( cath == AliMp::kCath0 ) nboard = pad.GetLocalBoardId(0);
- AliMUONDigit* digit = new AliMUONDigit(detElemId,nboard,
- pad.GetLocalBoardChannel(0),cath);
- digit->SetPadXY(ix,iy);
- digit->SetCharge(1.);
- digitStore.Add(*digit,AliMUONVDigitStore::kDeny);
+ AliMUONVDigit* digit = digitStore.Add(detElemId, nboard, pad.GetLocalBoardChannel(0),
+ cath, AliMUONVDigitStore::kDeny);
+ if (digit) {
+ digit->SetPadXY(ix,iy);
+ digit->SetCharge(1.);
+ }
}
}
if ( ! InitGeometryTransformer() ) return kFALSE;
- if ( ! AliMpDDLStore::Instance(false) ) AliMpCDB::LoadDDLStore();
+ if ( ! AliMpDDLStore::Instance(false) && ! AliMpCDB::LoadDDLStore()) return kFALSE;
if ( ! InitCalibrationData() ) return kFALSE;