hep.lcd.recon.cluster.radial
Class RadialClusterBuilder

java.lang.Object
  |
  +--hep.lcd.util.driver.AbstractProcessor
        |
        +--hep.lcd.recon.cluster.radial.RadialClusterBuilder

public final class RadialClusterBuilder
extends AbstractProcessor

RadialClusterBuilder first assigns all hits with energy above a settable "ignore" threshold to a cell (size of cells is configurable, but default is four layers deep and two detector elements wide in phi and theta). Then clusters of cells are built radially outward by looking for touching cells - in preceding radial slice - in same slice as current cell It is possible to discard clusters none of whose hits are above another settable threshold ("nucleus" threshold energy). All energy thresholds default to 0.0.

Source Code:
RadialClusterBuilder.java

Fields inherited from class hep.lcd.util.driver.AbstractProcessor
context
 
Constructor Summary
RadialClusterBuilder()
          Default (and only) constructor for class RadialClusterBuilder.
 
Method Summary
 int checkMC(Enumeration eClus, String label, boolean dbg)
          Make some statistics on how many MC particles are included in a single cluster.
 ClusterList getEMClusterRejects()
          Return list of EM cluster rejects which did not make the EMNucleusEnergy cut.
 ClusterList getEMClusterRejects(double hitEnergyCut)
          Return list of EM cluster rejects as the parameter cut value.
 ClusterList getEMClusters()
          Returns the list of EM clusters satisfying the nucleus energy cut as configured.
 ClusterList getEMClusters(double hitEnergyCut)
          Returns the list of EM clusters satisfying the specified nucleus energy cut.
 double getEMIgnoreEnergy()
           
 ClusterList getHADClusterRejects()
          Return list of HAD cluster rejects which did not make the HADNucleusEnergy cut.
 ClusterList getHADClusterRejects(double hitEnergyCut)
          Return list of HAD cluster rejects as the parameter cut value.
 ClusterList getHADClusters()
          Returns the list of HAD clusters satisfying the nucleus energy cut as configured.
 ClusterList getHADClusters(double hitEnergyCut)
          Returns the list of HAD clusters satisfying the specified nucleus energy cut.
 double getHADIgnoreEnergy()
           
 void process(LCDEvent header)
          Build clusters from calorimeter hits in event header.
 void Reinit()
          Get detector parameters.
 void setEMBinning(int phi, int theta, int layer)
          Set cell size for EM clustering.
 void setEMIgnoreEnergy(double energy)
          Set EM threshold that hits below this energy will be ignored by clustering process.
 void setEMNucleusEnergy(double energy)
          Set EM threshold such that clusters with no hit above the threshold are not included in the list of good EM clusters.
 void setFileOutput(PrintWriter prWr)
          Write diagnostic output
 void setHADBinning(int phi, int theta, int layer)
          Set cell size for HAD clustering.
 void setHADIgnoreEnergy(double energy)
          Set HAD threshold that hits below this energy will be ignored by clustering process.
 void setHADNucleusEnergy(double energy)
          Set HAD threshold such that clusters with no hit above the threshold are not included in the list of good HAD clusters.
 void setPutToEvent(boolean put)
          Set whether or not clusters should be added to event.
 
Methods inherited from class hep.lcd.util.driver.AbstractProcessor
clearContext, getDebugLevel, getDebugStream, getHistogramLevel, getName, getParameterFile, getParameters, getParameters, getRandom, histogram, init, setContext, setDetector, start, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RadialClusterBuilder

public RadialClusterBuilder()
Default (and only) constructor for class RadialClusterBuilder. See "set" methods for ways to configure a RadialClusterBuilder.
Method Detail

Reinit

public void Reinit()
Get detector parameters. Will be invoked when first event is processed automatically. Should be re-invoked whenever detector parameters change.

process

public void process(LCDEvent header)
Build clusters from calorimeter hits in event header. Unless configured not to, also add found clusters to the event.
Parameters:
header - event header for current event

checkMC

public int checkMC(Enumeration eClus,
                   String label,
                   boolean dbg)
Make some statistics on how many MC particles are included in a single cluster.
Parameters:
eClus - An enumeration of clusters
label - Used in title string for histograms
dbg - If true additional output is written

getEMIgnoreEnergy

public double getEMIgnoreEnergy()

getHADIgnoreEnergy

public double getHADIgnoreEnergy()

setFileOutput

public void setFileOutput(PrintWriter prWr)
Write diagnostic output
Parameters:
prWr - PrintWriter to which output will be written

setEMBinning

public void setEMBinning(int phi,
                         int theta,
                         int layer)
Set cell size for EM clustering. Default is four layers deep and two towers wide in each of phi and theta.

setHADBinning

public void setHADBinning(int phi,
                          int theta,
                          int layer)
Set cell size for HAD clustering. Default is four layers deep and two towers wide in each of phi and theta.

setEMIgnoreEnergy

public void setEMIgnoreEnergy(double energy)
Set EM threshold that hits below this energy will be ignored by clustering process. If not explicitly set, this value is 0.0.

setHADIgnoreEnergy

public void setHADIgnoreEnergy(double energy)
Set HAD threshold that hits below this energy will be ignored by clustering process. If not explicitly set, this value is 0.0.

setEMNucleusEnergy

public void setEMNucleusEnergy(double energy)
Set EM threshold such that clusters with no hit above the threshold are not included in the list of good EM clusters.

setHADNucleusEnergy

public void setHADNucleusEnergy(double energy)
Set HAD threshold such that clusters with no hit above the threshold are not included in the list of good HAD clusters.

setPutToEvent

public void setPutToEvent(boolean put)
Set whether or not clusters should be added to event. By default clusters ARE added to the event. However there are circumstances (comparing two or more cluster algorithms, or running RadialClusterBuilder with the intention of further refinement of the clusters) in which it can be preferable NOT to add the clusters to the event. In any case clusters formed by RadialCluster are accessible via "get" methods.
Parameters:
put - If true clusters are added to event.

getEMClusters

public ClusterList getEMClusters()
Returns the list of EM clusters satisfying the nucleus energy cut as configured.

getEMClusters

public ClusterList getEMClusters(double hitEnergyCut)
Returns the list of EM clusters satisfying the specified nucleus energy cut.

getHADClusters

public ClusterList getHADClusters()
Returns the list of HAD clusters satisfying the nucleus energy cut as configured.

getHADClusters

public ClusterList getHADClusters(double hitEnergyCut)
Returns the list of HAD clusters satisfying the specified nucleus energy cut.

getEMClusterRejects

public ClusterList getEMClusterRejects()
Return list of EM cluster rejects which did not make the EMNucleusEnergy cut.

getEMClusterRejects

public ClusterList getEMClusterRejects(double hitEnergyCut)
Return list of EM cluster rejects as the parameter cut value.
Parameters:
hitEnergyCut - Only candidate clusters with no hits above this value are returned.

getHADClusterRejects

public ClusterList getHADClusterRejects()
Return list of HAD cluster rejects which did not make the HADNucleusEnergy cut.

getHADClusterRejects

public ClusterList getHADClusterRejects(double hitEnergyCut)
Return list of HAD cluster rejects as the parameter cut value.
Parameters:
hitEnergyCut - Only candidate clusters with no hits above this value are returned.


The LCD Group