Dear all,
I'm experiencing trouble with the MC propagation in the timebased simulation. Already at the digitisation stage, the link propagation appears to be broken. The digitisation macro returns
"-E- FairMultiLinkedData_Interface::AddInterfaceData EntryNr == (-1/-1/-1/-1/1)" for each hit.
SetUseFairLinks is set to true in all macros. As fas as I can grasp together from the code, this is the way the links are propagated:
PndEmcHitProducer: MCTrack->EmcHit:
PndEmcPoint* point = (PndEmcPoint*) fPointArray->At(iPoint);
DetId = point->GetDetectorID();
if (point->GetEntering()){
fTrackEntering[DetId].AddLinks(point->GetLinksWithType(FairRootManager::Instance()->GetBranchId("MCTrack")));
}
if (point->GetExiting()){
fTrackExiting[DetId].AddLinks(point->GetLinksWithType(FairRootManager::Instance()->GetBranchId("MCTrack")));
PndEmcFWEndcapTimebasedWaveforms: EmcHit->EmcWaveform:
FairLink linkToHit(-1, ioman->GetEntryNr(), "EmcHit", iHit, 1.0);
wfData.AddHit(linkToHit, ioman->GetEventTime() + theHit->GetTime()*1.0e9, theHit->GetEnergy());
PndEmcFWEndcapDigi: EmcWaveform->EmcDigi:
myDigi->AddLink(FairLink("EmcWaveform", iWaveform));
PndEmcMakeClusterOnline: EmcDigi->EmcCluster:
cluster->addDigi(fDigiArray,myDigi);
cluster->AddLink(FairLink("EmcDigi", myDigi));
Can anyone see where it goes wrong, and maybe even if there is a simple fix for this? It would be preferable to have the ability to use the MC information.