GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » PANDA » PandaRoot » EMC » Recent updates about EMC packages (B)
Recent updates about EMC packages (B) [message #15796] Fri, 17 January 2014 17:23
Jifeng Hu is currently offline  Jifeng Hu
Messages: 31
Registered: October 2012
continuous participant
From: *physik.uni-giessen.de
Updates in waveform simulation and digitization.
======================================================================== ======================================================================== ================
Class(source) : PndEmcHitsToWaveform (EmcDigi/PndEmcHitsToWaveform.cxx), producing analogy waveform for each fired crystal. The waveform are modeled with empirical formulas which come form measurement data.
------------------------------------------------------------------------ ------------------------------------------------------------------------ -
Line : 186 PndEmcHitsToWaveform.cxx
Changes : [OLD] pulseshape3 =new PndEmcAsicPulseshape(fFWD_Shaping_int_time, fFWD_time_constant);
[NEW] pulseshape3 =new PndEmcFwdPulseshape(fFWD_Shaping_int_time, fFWD_time_constant);

Line : 267, 268 macro/params/all.par (36,37 emc.par);
Changes : [OLD] FWD_Shaping_int_time:Double_t 8e-9
[OLD] FWD_time_constant:Double_t 25e-6
[NEW] FWD_Shaping_int_time:Double_t 50.95e-9
[NEW] FWD_time_constant:Double_t 4.000
Purpose : Use a new pulse shape to model Forward EMC readout. This formula comes from the fitting of measurements in KVI.
------------------------------------------------------------------------ ------------------------------------------------------------------------ -
line : 330 macro/params/all.par (99 emc.par)
Changes : [OLD] ForwardMWDFilterUsed:Int_t 1
[NEW] ForwardMWDFilterUsed:Int_t 0
Purpose : With the new pulse shape, the step of moving window deconvolution in FPGA extraction simulation is redundant and closed.
------------------------------------------------------------------------ ------------------------------------------------------------------------ --
Comments : This class has two run modes, when invoking
PndEmcHitsToWaveform->RunTimeBased();
all waveforms produced will be stored in the data buffer of PndEmcWaveformWriteoutBuffer, pileup effect thus is simulated.
======================================================================== ======================================================================== ============
Class(source) : PndEmcWaveformToDigi (EmcDigi/PndEmcWaveformToDigi.cxx),
Line : 131 PndEmcWaveformToDigi.cxx
Changes : [OLD] fPulseshape_fwd =new PndEmcAsicPulseshape(fFWD_Shaping_int_time, fFWD_time_constant)
[NEW] fPulseshape_fwd =new PndEmcFwdPulseshape(fFWD_Shaping_int_time, fFWD_time_constant)
Purpose : see above description in PndEmcHitsToWaveform.
------------------------------------------------------------------------ ------------------------------------------------------------------------ -
Line : 404 PndEmcWaveformToDigi.cxx
Changes : [Add] myDigi->SetTimeStampError(digiCalib.GetTimeResolutionOfDigi(myDigi));
Purpose : assign an error of time-stamp to a digi (need discussion).
------------------------------------------------------------------------ ------------------------------------------------------------------------ -
Line : 467-473 PndEmcWaveformToDigi::FinishTask() (PndEmcWaveformToDigi.cxx)
[Add] if(fTimeOrderedDigi){
Int_t nWaveforms = fWaveformArray->GetEntriesFast();
if(fVerbose>0){
std::cout<<"PndEmcWaveformToDigi::FinishTask, fWaveformArray size #"<<nWaveforms<<std::endl;
}
Exec("");
}
Purpose : In mode of time-based simulation, some waveforms in PndEmcWaveformWriteoutBuffer are left without digitization in event loop. so call Exec("") once more.
------------------------------------------------------------------------ ------------------------------------------------------------------------ -
Line : 297-309 PndEmcWaveformToDigi.cxx
Changes : comment off
Purpose : In time-based simulation mode, streaming out time-ordered PndEmcWaveform to ROOT file was canceled, and streaming out time-ordered PndEmcDigi now is used.
------------------------------------------------------------------------ ------------------------------------------------------------------------ -
Line : 400 PndEmcWaveformToDigi.cxx
Changes : [Add] fdigiTime -= digiCalib.GetTimeShiftOfDigi(fMod);
Purpose : New time-stamp of digis are used. In origin, the time-stamp of digis includes the following part:
T_digi = T_evt + T_waveform + T_fpga,
where T_evt is the event start time; T_waveform is the start time of a signal pulse, which also equals to the flying time of particle going through a crystal and leavig hits; T_fpga is the time between the waveform starts and a digi is triggered. Now, the last time iterm T_fpga was subtracted after digitization.
======================================================================== ======================================================================== ============
Class(source) : [Add] PndEmcRingSorter (EmcTimebased/PndEmcRingSorter.cxx), PndEmcSorterTask(EmcTimebased/PndEmcSorterTask.cxx)
Purpose : They are used for streaming out time-ordered PndEmcDigi.
Class(source) : [Remove] PndEmcWaveformRingSorter (EmcTimebased/PndEmcWaveformRingSorter.cxx), PndEmcWaveformSorterTask(EmcTimebased/PndEmcWaveformSorterTask.cxx)
======================================================================== ======================================================================== ============

[Updated on: Fri, 17 January 2014 17:24]

Report message to a moderator

 
Read Message
Previous Topic: Recent updates about EMC packages (A)
Next Topic: [FIXED] About negative track id -2
Goto Forum:
  


Current Time: Tue Oct 22 16:07:33 CEST 2019

Total time taken to generate the page: 0.04070 seconds