MarlinTPC
1.2.0
|
The ElectronCloudFinderProcessor searches for hits and groups contiguous areas to track candidates. More...
#include <ElectronCloudFinderProcessor.h>
Public Member Functions | |
virtual Processor * | newProcessor () |
ElectronCloudFinderProcessor () | |
virtual void | init () |
Called at the begin of the job before anything is read. More... | |
virtual void | processRunHeader (EVENT::LCRunHeader *run) |
Called for every run. | |
virtual void | processEvent (EVENT::LCEvent *evt) |
Called for every event - the working horse. | |
virtual void | check (EVENT::LCEvent *evt) |
virtual void | end () |
Called after data processing for clean up. | |
Static Protected Member Functions | |
static bool | comparePulses (std::pair< lcio::TrackerPulse *, bool > firstSortingPair, std::pair< lcio::TrackerPulse *, bool > secondSortingPair) |
A special function for the STL list::sort algorithm comparing pairs of TDC TrackerPulses (and bools) | |
Protected Attributes | |
std::string | _inputTrackerPulsesCollectionName |
the name of the collection the input pulses will be stored under | |
std::string | _outputTrackerHitsCollectionName |
the name of the collection the output hits will be stored under | |
bool | _outputHitsTransient |
Give the status which is set to the transient flag of the output collection. More... | |
float | _vDrift |
float | _maxTimeSpread |
int | _minHitSize |
int | _maxHitSize |
bool | _negativeZDirection |
float | _maxDriftDistance |
NeighbouringPadHandler * | myNeighbouringPadHandler |
Create an object which holds the information about the neighbourship of all pads. | |
The ElectronCloudFinderProcessor searches for hits and groups contiguous areas to track candidates.
Using PadRowLayout2D from GEAR (RectangularPadRowLayout or FixedPadSizeDiskLayout) the agorithm searches for contiguous areas. Contiguous pulses in one pad row are grouped as hit candidates, then the hit coordinates are calculated using the centre of gravity method. The hits in one contiguous area are filled into a track candidate.
If MarlinTPC is compiled with the $MARLIN_DEBUG option there is a lot of debug output. Use the steering file to reduce it / switch it off.
Implement calculation of z-coordinate by drift velocity
Improve z cut. Currently it does not use topological information which can cause problems with curlers.
InputTrackerPulses | Name of input TrackerPulses collection (default: TPCPulses) |
OutputTrackerHits | Name of output TrackerHits collection (default: TPCHits) |
OutputTrackCandidates | Name of output Tracks collection (default: TPCTrackCandidates) |
InputTPCConditions | OPTIONAL: Name of the input collection containing the TPC conditions data (default: tpcconddata::TPCConditions::getDefaultColName() ) |
SetOutputHitsTransient | If not 0 the output collection is set transient (default: 0) |
SetOutputTrackCandidatesTransient | If not 0 the output collection is set transient (default: 0) |
MaxEmptyPads | Maximum number of consecuitve empty pads in cluster (default: 1) |
MinHitSize | Minimum size of hit / Minimum number of Pads (default: 1) |
MaxTimeSpread | Maximum time between pulses in a cluster [in ns] (default: 200) |
VDrift | OPTIONAL: Set drift velocity in case there is no conditions data [in mm/us] (default: 0) |
NegativeZDirection | Set to 1 for the second half TPC, which look into the negative z direction (default: 0) |
The drift velocity should normally come from the conditions data. This can be overwritten using this optional parameter. Do not set it in case you want to use vDrift from the CDDB!
marlintpc::ElectronCloudFinderProcessor::ElectronCloudFinderProcessor | ( | ) |
description of the processor which will be displayed in the steering file autometicly generated by marlin (use MarlinTPC -x (XML-format) or MarlinTPXC -l (text format))
References _inputTrackerPulsesCollectionName, _outputHitsTransient, and _outputTrackerHitsCollectionName.
|
virtual |
Called at the begin of the job before anything is read.
Use to initialize the processor, e.g. book histograms.
Create an object which holds the information about the neighbourship of all pads.
References myNeighbouringPadHandler.
|
protected |
Give the status which is set to the transient flag of the output collection.
If true the hits collection is set transient (default false).
Referenced by ElectronCloudFinderProcessor(), and processEvent().