26 SplitedTrackToStatusTask::SplitedTrackToStatusTask(
const SplitedTrackToStatusTask& other) : EventAna(other) {
31 Task::EInitFlag SplitedTrackToStatusTask::Init() {
32 Task::EInitFlag stat = EventAna::Init();
33 if (stat == Task::EInitFlag::kFATAL)
return stat;
34 const Event* ev = DataFormatManager::Instance()->GetFormat(GetTaskID(), EFormatDepth::kNonBuffered);
35 if (ev->InheritsFrom(
"Hal::ComplexEvent")) {
36 fCurrentEvent = fMemoryMap->GetTemporaryEvent();
38 ioManager->
Register(Form(
"%s.", fCurrentEvent->ClassName()),
"HalEvents", fCurrentEvent, kFALSE);
39 return Task::EInitFlag::kSUCCESS;
41 Cout::PrintInfo(Form(
"Wrong format in %s", this->ClassName()), EInfo::kError);
42 return Task::EInitFlag::kFATAL;
45 void SplitedTrackToStatusTask::ProcessEvent() {
47 Event* event_re = complex->GetRealEvent();
48 Event* event_im = complex->GetImgEvent();
51 fArrayReco.Resize(nTracksRe);
52 fArraySim.Resize(nTracksIm);
53 for (
int i = 0; i < nTracksRe; i++) {
56 for (
int i = 0; i < nTracksIm; i++) {
60 for (
int i = 0; i < nTracksRe; i++) {
62 Track* mc_track = complex_track->GetImgTrack();
63 if (mc_track !=
nullptr) {
65 if (fArraySim[mc_id] == -1) {
73 for (
int i = 0; i < nTracksIm; i++) {
78 for (
int i = 0; i < nTracksRe; i++) {
80 Track* mc_track = complex_track->GetImgTrack();
81 Track* reco_track = complex_track->GetRealTrack();
82 if (mc_track !=
nullptr) {
85 if (fArraySim[mc_id] == 0) {