MarlinTPC  1.2.0
Public Member Functions | Protected Attributes | List of all members
marlintpc::RawDataCutterProcessor Class Reference

This processor is used to select in the raw data only a part of the time spectrum, in fact shortening the time window of the data acquired. More...

#include <RawDataCutterProcessor.h>

Inheritance diagram for marlintpc::RawDataCutterProcessor:

Public Member Functions

virtual Processor * newProcessor ()
 
virtual void init ()
 Called at the begin of the job before anything is read. More...
 
virtual void processRunHeader (lcio::LCRunHeader *run)
 Called for every run.
 
virtual void processEvent (lcio::LCEvent *evt)
 Called for every event - the working horse.
 
virtual void check (lcio::LCEvent *evt)
 
virtual void end ()
 Called after data processing for clean up.
 

Protected Attributes

std::string _inputcolName
 Input collection name.
 
std::string _outcolName
 Output collection name.
 
bool _outputIsPersistent
 Set the persistency flag of the output collection.
 
int _maxTimeBin
 Maximum time value allowed in the tracker raw data. More...
 
int _startOffset
 Number of time bins at the start of the collection window which would correspond to data collected at negative drift lengths. More...
 
float _driftVelocity
 Electron drift velocity (mm/us) used to compute the maximum time necessary to drift through the TPC.
 
float _driftLength
 Maximum TPC drift length (mm). More...
 
float _readoutFreq
 Readout frequency of the electronics (MHz)
 
int _endOffset
 Safety Offset to be added at the Maximum drift time calculated.
 
std::string _TPCConditionsCollName
 Name of the collection containing the TPC Conditions i.e. More...
 
std::string _ADCElectronicsCollName
 Name of the collection containing the GenericADCElectronicsParameters i.e. More...
 
bool _shortenPulse
 Boolean selector that specifies whether to shorten the pulses started before the filter time but continuing afterwards.
 

Detailed Description

This processor is used to select in the raw data only a part of the time spectrum, in fact shortening the time window of the data acquired.

This processor cuts all the data arriving later than the maximum drift time to clean up the raw data before the main processing phase.

The user can set the length of this time window manually specifying the maximum number of time bins allowed, or this value can be calculated from the condition data

Input - Prerequisites

Needs the collection of TrackerRawData

Output

Collection of TrackerRawData

Parameters
InputCollectionName:stringName of the input tracker raw data collection
OutputCollectionName:stringName of the collection where to store the corrected data
WriteOutputToStorage:boolIf true the output collection is written to file
MaxTimeBinOverride:intSet this parameter if you want to define manually the maximum time bin length. No calculation will be executed
StartOffset:intDefines the time bin of the anode position
DriftVelocityOverride:floatDefines the drift velocity in mm/us. If set the data in the condition database will not be considered
DriftLengthOverride:floatDefines the maximum drift length in mm of the TPC. If set the data in the GEAR file will not be considered
ReadoutFrequencyOverride:floatDefines the electronics readout frequency in MHz. If set the data in the condition database will not be considered
EndOffset:intDefines the time bin to add to the calculated maximum as a safety factor
TPCConditionsCollName:stringDefines the name of the condition collection containing the drift velocity
ADCElectronicsCollName:stringDefines the name of the condition collection containing the readout frequency
Author
S. Caiazza, DESY
Version
Id:
RawDataCutterProcessor.h,v 1.0 2011-10-13 12:57:39 caiazza Exp

Member Function Documentation

void marlintpc::RawDataCutterProcessor::init ( )
virtual

Called at the begin of the job before anything is read.

Use to initialize the processor, e.g. book histograms.

References _ADCElectronicsCollName, _driftLength, _driftVelocity, _endOffset, _maxTimeBin, _readoutFreq, _startOffset, _TPCConditionsCollName, and marlintpc::ADCElectronicsListener::useLastValidIfNoDataAvailable().

Member Data Documentation

std::string marlintpc::RawDataCutterProcessor::_ADCElectronicsCollName
protected

Name of the collection containing the GenericADCElectronicsParameters i.e.

readout frequency

Referenced by init().

float marlintpc::RawDataCutterProcessor::_driftLength
protected

Maximum TPC drift length (mm).

The length of the TPC used to calculate the maximum drift time

Referenced by init(), and processEvent().

int marlintpc::RawDataCutterProcessor::_maxTimeBin
protected

Maximum time value allowed in the tracker raw data.

The processor will cut all data after this value

Referenced by init(), and processEvent().

int marlintpc::RawDataCutterProcessor::_startOffset
protected

Number of time bins at the start of the collection window which would correspond to data collected at negative drift lengths.

I.e. The DAQ could store some time bin before the trigger comes or the delays of the DAQ could be set in such a way that the electrons produced at the anode of the TPC are not at time bin 0.

Referenced by init(), and processEvent().

std::string marlintpc::RawDataCutterProcessor::_TPCConditionsCollName
protected

Name of the collection containing the TPC Conditions i.e.

drift velocity

Referenced by init().


The documentation for this class was generated from the following files: