| Recent updates about EMC packages (B) [message #15796] | 
			Fri, 17 January 2014 17:23  | 
		 
		
			
				
				
				
					
						  
						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  
 |  
	| 
		
	 | 
 
 
 |