StFms
0.0.0
FMS software in the STAR framework
|
#include <StFmsPointMaker.h>
Public Member Functions | |
StFmsPointMaker (const char *name="StFmsPointMaker") | |
~StFmsPointMaker () | |
Int_t | InitRun (Int_t runNumber) |
Int_t | Make () |
void | Clear (Option_t *option="") |
Private Types | |
typedef std::vector < FMSCluster::StFmsTower > | TowerList |
typedef std::map< int, TowerList > | TowerMap |
Private Member Functions | |
StFmsPointMaker (const StFmsPointMaker &) | |
StFmsPointMaker & | operator= (const StFmsPointMaker &) |
StFmsCollection * | getFmsCollection () |
int | clusterEvent () |
int | clusterDetector (TowerList *towers, int detectorId, StFmsCollection *fmsCollection) |
bool | validateTowerEnergySum (const TowerList &towers) const |
bool | processTowerCluster (FMSCluster::StFmsTowerCluster *towerCluster, int detectorId, StFmsCollection *fmsCollection) |
StFmsPoint * | makeFmsPoint (const FMSCluster::StFmsFittedPhoton &photon, int detectorId) |
bool | populateTowerLists () |
bool | isValidChannel (int detector, int row, int col) |
Private Attributes | |
StFmsDbMaker * | mFmsDbMaker |
Access to FMS database information. More... | |
FMSCluster::StFmsGeometry | mGeometry |
Access to current FMS geometry. More... | |
TowerMap | mTowers |
One for each sub-detector, keyed by detector ID. More... | |
int | mObjectCount |
Object count in event for use with TRef. More... | |
Finds FMS clusters and fits them with a photon hypothesis.
A cluster is a collection of adjacent FMS towers with energy depositions. "Point" is a generic term for the energy deposited by an individual particle. This will typically be a photon, but may be e.g. an electron, or energy left by a hadron.
A single cluster may be formed by more than one point, so clusters are fitted with a shower-shape function to disentangle depositions from different particles.
Definition at line 43 of file StFmsPointMaker.h.
|
private |
Definition of a collection of towers.
Definition at line 58 of file StFmsPointMaker.h.
|
private |
Definition of a TowerList per sub-detector, keyed by detector ID.
Definition at line 60 of file StFmsPointMaker.h.
|
explicit |
Constructor.
Definition at line 40 of file StFmsPointMaker.cxx.
StFmsPointMaker::~StFmsPointMaker | ( | ) |
Destructor.
Definition at line 43 of file StFmsPointMaker.cxx.
|
private |
Disallow copy construction.
void StFmsPointMaker::Clear | ( | Option_t * | option = "" | ) |
Called after each event to reset values.
Definition at line 77 of file StFmsPointMaker.cxx.
|
private |
Perform photon reconstruction on a single sub-detector.
Cluster all towers for a sub-detector. Update the cluster and photon lists in the provided StFmsCollection with the generated clusters and photons.
Returns standard STAR error codes (kStOk, kStWarn, kStErr).
Definition at line 113 of file StFmsPointMaker.cxx.
|
private |
Perform photon reconstruction in all sub-detectors for a single event.
Populate StFmsCollection with the generated clusters and photons.
Return kStOk upon success, kStErr in case of an error.
Definition at line 98 of file StFmsPointMaker.cxx.
|
private |
Get the StFmsCollection from the current StEvent.
Print messages to LOG_ERROR if StEvent/StFmsCollection cannot be found.
Definition at line 85 of file StFmsPointMaker.cxx.
Int_t StFmsPointMaker::InitRun | ( | Int_t | runNumber | ) |
Called by StMaker when switching to a new run number.
Definition at line 45 of file StFmsPointMaker.cxx.
|
private |
Tests channel validity.
Returns true if a detector/row/column combination physically exists. Detector values should be as defined as in the database, and row and column numbers are in the range [1, N].
Definition at line 240 of file StFmsPointMaker.cxx.
Int_t StFmsPointMaker::Make | ( | ) |
Called once per event to process the event.
Definition at line 59 of file StFmsPointMaker.cxx.
|
private |
Creates a new StFmsPoint from an StFmsFittedPhoton.
Definition at line 192 of file StFmsPointMaker.cxx.
|
private |
Disallow assignment.
|
private |
Reads hits from StEvent and prepare them for clustering.
Definition at line 207 of file StFmsPointMaker.cxx.
|
private |
Process an StFmsTowerCluster and store its StFmsCluster in a collection.
Pass ownership of the StFmsCluster held by the FMSCluster::StFmsTowerCluster to the StFmsCollection. Also update StFmsCollection with any photons in the cluster.
Returns true if the cluster is processed, or false if it is skipped due to bad values (e.g. unphysical coordinates). If the current run information cannot be accessed for some reason, assumes 500 GeV collisions.
Definition at line 147 of file StFmsPointMaker.cxx.
|
private |
Verify that the sum of tower energies is sensible.
Returns true if the sum is non-negative and does not exceed the center-of-mass energy. Returns false otherwise.
Definition at line 128 of file StFmsPointMaker.cxx.
|
private |
Access to FMS database information.
Definition at line 123 of file StFmsPointMaker.h.
|
private |
Access to current FMS geometry.
Definition at line 124 of file StFmsPointMaker.h.
|
private |
Object count in event for use with TRef.
Definition at line 126 of file StFmsPointMaker.h.
|
private |
One for each sub-detector, keyed by detector ID.
Definition at line 125 of file StFmsPointMaker.h.