Home » PANDA » PandaRoot » EMC » MC Truth propagation with FairLinks in timebased sim
Re: MC Truth propagation with FairLinks in timebased sim [message #19125 is a reply to message #19124] |
Tue, 08 March 2016 17:22 |
Marcel Tiemens
Messages: 47 Registered: January 2014
|
continuous participant |
From: *kvi-cart.rug.nl
|
|
But, what I want to test still doesn't work. If I compare with what's done in the default macros, which use PndEmcHitsToWaveform and PndEmcWaveformToDigi, these are the main differences:
1) PndEmcHitsToWaveform uses PndEmcWaveformWriteoutBuffer, and PndEmcFWEndcapTimebasedWaveforms uses PndEmcWaveformBuffer.
2) PndEmcWaveformToDigi uses a functor to get waveforms from a given timeslot in this way:
fDigiArray->Delete();
Double_t fevtTime = FairRootManager::Instance()->GetEventTime();
if(fTimeOrderedDigi){
if(FairRunAna::Instance()->IsTimeStamp()){
fWaveformArray->Delete();
Double_t time_length = 40.;//99.98%
if(fVerbose >0)
cout<<"--I-- time-based simulation, read data to later #"<<time_length<<" ns"<<endl;
fWaveformArray = FairRootManager::Instance()->GetData("EmcSortedWaveform"
, fFunctor
, fevtTime + time_length);
}
if(fVerbose>0)
std::cout<<"fDigiArrayTBD size #"<<PndEmcDigi::fDigiArrayTBD->GetEntriesFast()<<std::endl;
}
Int_t nWaveforms = fWaveformArray->GetEntriesFast();
...
while PndEmcFWEndcapDigi just asks for the length of the waveform array right away:
fDigiArray->Delete();
Int_t nWaveforms = fWaveformArray->GetEntriesFast();
...
That could be why it's not working. But the point is, it did work before! But with the new FairRoot and PandaRoot version not anymore...
|
|
|
Goto Forum:
Current Time: Sun Oct 06 05:54:54 CEST 2024
Total time taken to generate the page: 0.00986 seconds
|