public class GTPOnlineClusterDriver extends ClusterDriver
GTPOnlineClusterDriver
is an implementation of
the ClusterDriver
class that defines employs the readout
variant of the GTP hardware clustering algorithm. Specifics on the
behavior of this algorithm can be found in its documentation.GTPOnlineClusterDriver
allows for all of the variable
settings used by the GTP algorithm to be defined. It also can be
set to "verbose" mode, where it will output detailed information on
each event and the cluster forming process. This is disabled by
default, but can be enabled for debugging purposes.GTPOnlineClusterDriver
can be set to draw its
settings from the ConfigurationManager
static class,
which reads and stores settings extracted directly from EvIO data.
This option is disabled by default, and can be activated with the
method setUseDAQConfig
. When enabled, no clusters will
be generated until ConfigurationManager
reads a config
event. This requires that the driver DAQConfigDriver
be included in the driver chain.GTPOnlineClusterDriver
is designed for use on hardware
readout data or Monte Carlo formatted in this style. It can not be
used for 2-ns beam bunch formatted data. GTPClusterDriver
should be used for this data instead.GTPOnlineClusterer
,
ConfigurationManager
,
DAQConfigDriver
Modifier and Type | Field and Description |
---|---|
private GTPOnlineClusterer |
gtp
An instance of the clustering algorithm object for producing
cluster objects.
|
private boolean |
useDAQConfig
Indicates whether the
ConfigurationManager object
should be used for clustering settings or not. |
clusterer, createEmptyClusterCollection, cuts, ecal, ecalName, inputHitCollectionName, neighborMap, outputClusterCollectionName, raiseErrorNoHitCollection, skipNoClusterEvents, sortHits, storeHits, validateClusters, writeClusterCollection
Constructor and Description |
---|
GTPOnlineClusterDriver()
Initializes a clustering driver.
|
Modifier and Type | Method and Description |
---|---|
private void |
logSettings()
Outputs the current GTP settings to the terminal.
|
void |
process(org.lcsim.event.EventHeader event)
Processes an an
EventHeader object to generate
clusters. |
void |
setSeedEnergyThreshold(double seedEnergyThreshold)
Sets the minimum seed energy needed for a hit to be considered
for forming a cluster.
|
void |
setUseDAQConfig(boolean state)
Sets whether GTP settings should be drawn from the EvIO data
DAQ configuration or read from the steering file.
|
void |
setVerbose(boolean verbose)
Sets whether the clusterer should output diagnostic text or not.
|
void |
setWindowAfter(int cyclesAfter)
Sets the number of clock-cycles to include in the clustering
window after the seed hit.
|
void |
setWindowBefore(int cyclesBefore)
Sets the number of clock-cycles to include in the clustering
window before the seed hit.
|
void |
startOfData()
Outputs the clusterer settings at driver initialization, assuming
setVerbose is set to true . |
detectorChanged, getClusterer, printHitIDs, setClusterer, setClustererName, setCreateEmptyClusterCollection, setCuts, setEcalName, setInputHitCollectionName, setOutputClusterCollectionName, setRaiseErrorNoHitCollection, setSkipNoClusterEvents, setSortHits, setStoreHits, setValidateClusters, setWriteClusterCollection, validateClusters
private final GTPOnlineClusterer gtp
private boolean useDAQConfig
ConfigurationManager
object
should be used for clustering settings or not.public GTPOnlineClusterDriver()
GTPClusterer
.GTPOnlineClusterer
public void process(org.lcsim.event.EventHeader event)
EventHeader
object to generate
clusters. Events will not be processed if UseDAQConfig
is true
unless the ConfigurationManager
static class has received a DAQ configuration from the event
stream and is initialized. Driver DAQConfigDriver
must be in the driver chain for this to occur.process
in class ClusterDriver
DAQConfigDriver
public void startOfData()
setVerbose
is set to true
.startOfData
in class ClusterDriver
public void setSeedEnergyThreshold(double seedEnergyThreshold)
seedEnergyThreshold
- - The minimum cluster seed energy in
GeV.public void setWindowBefore(int cyclesBefore)
max(windowAfter, windowBefore) * 2) + 1
.cyclesBefore
- - The length of the clustering window before
the seed hit in clock cycles.public void setWindowAfter(int cyclesAfter)
max(windowAfter, windowBefore) * 2) + 1
.cyclesAfter
- - The length of the clustering window after
the seed hit in clock cycles.GTPOnlineClusterer
public void setVerbose(boolean verbose)
verbose
- - true
indicates that the clusterer
should output diagnostic text and false
that it
should not.public void setUseDAQConfig(boolean state)
true
, no clusters will be generated until
the static class ConfigurationManager
has received
a DAQ settings event and initialized. If this class is not part
of the driver chain, then no clusters will ever be created.state
- - true
means that DAQ configuration
will be used and false
that it will not.DAQConfigDriver
private void logSettings()
Copyright © 2019. All rights reserved.