#include <StEEmcCluster.h>

Public Member Functions | |
| StEEmcCluster (const StEEmcCluster &other) | |
| virtual | ~StEEmcCluster () |
| void | add (const StEEmcTower &t, Float_t weight=1.0) |
| Float_t | energy () const |
| Get energy of this cluster. | |
| Float_t | seedEnergy () const |
| Get the energy of the seed tower. | |
| TVector3 | momentum () const |
| TVector3 | position () const |
| Int_t | numberOfTowers () const |
| Get the number of towers in cluster. | |
| StEEmcTower & | tower (Int_t t) |
| Get the specified tower within the cluster. | |
| const StEEmcTower & | tower (Int_t t) const |
| Float_t | sigmaE () const |
| Float_t | weight (Int_t t) const |
| Get the weight associated with tower. | |
| StEEmcTowerVec_t & | towers () |
| Get the vector of towers in this cluster. | |
| const StEEmcTowerVec_t & | towers () const |
| void | momentum (const TVector3 &p) |
| StEmcCluster * | stemc () |
| void | stemc (StEmcCluster *c) |
| Pointer to StEmcCluster for embedding. | |
| Bool_t | operator== (const StEEmcCluster &other) const |
| void | print () const |
| Prints cluster data. | |
| void | printLine (Bool_t Endl=false) const |
| Bool_t | isNeighbor (const StEEmcTower &tower) const |
| Returns true if tower is adjacent to any tower in the cluster. | |
| Float_t | fracEtabin () const |
| Returns the fractional mean etabin. | |
| Float_t | fracPhibin () const |
| Returns the fractional mean phibin. | |
| Float_t | sigmaEtabin () const |
| Returns the sigma (sqrt variance) in units of etabins. | |
| Float_t | sigmaPhibin () const |
| Bool_t | hasTower (const StEEmcTower &tower) const |
| Returns true if the specified tower is in the cluster. | |
| Bool_t | operator< (const StEEmcCluster &other) const |
| Bool_t | operator> (const StEEmcCluster &other) const |
| Int_t | numberOfEtabins () const |
| Int_t | numberOfPhibins () const |
| void | add (StEEmcTower, Float_t weight=1.0) |
| Float_t | energy () |
| Get energy of this cluster. | |
| Float_t | seedEnergy () |
| Get the energy of the seed tower. | |
| TVector3 | momentum () |
| Get the momentum of this cluster. | |
| Int_t | numberOfTowers () |
| Get the number of towers in cluster. | |
| StEEmcTower | tower (Int_t t) |
| Get the specified tower. | |
| StEEmcTower | tower (Int_t t) const |
| Float_t | weight (Int_t t) |
| Get the weight associated with tower. | |
| StEEmcTowerVec_t | towers () |
| Get the vector of towers in this cluster. | |
| void | momentum (TVector3 p) |
| Set the momentum of this cluster. | |
| StEmcCluster * | stemc () |
| void | stemc (StEmcCluster *c) |
| Int_t | key () |
| void | key (Int_t k) |
| Bool_t | operator== (const StEEmcCluster &other) const |
| void | print () |
Protected Member Functions | |
| ClassDef (StEEmcCluster, 1) | |
| ClassDef (StEEmcCluster, 1) | |
Protected Attributes | |
| StEEmcTowerVec_t | mTowers |
| Vector of towers. | |
| std::vector< Float_t > | mWeights |
| Vector of tower weights. | |
| TVector3 | mMomentum |
| Momentum. | |
| TVector3 | mPosition |
| StEmcCluster * | mEmcCluster |
| Pointer to EMC cluster. | |
| Float_t | mfEtabin |
| Float_t | mfPhibin |
| Float_t | mSumEta2W |
| Float_t | mSumEtaW |
| Float_t | mSumPhi2W |
| Float_t | mSumPhiW |
| Int_t | mKey |
| Float_t | mEnergy |
| Energy. | |
This class is designed to represent EEMC tower clusters. By "tower cluster" I mean a cluster of StEEmcTower objects, which can in principle be clusters of tower, preshower or postshower elements.
Each cluster should be assigned its own unique "key" by the maker which produces it.
This class makes no assumtion about the size and/or shape of the cluster.
Class which represents a tower, preshower or postshwoer cluster. This class derives from StEEmcBaseCluster, which allows matching of clusters between layers by storing a unique cluster ID.
To build a cluster, one uses something like the following recipe
StEEmcClusterVec_t list_of_clusters; StEEmcCluster cluster; // Get the seed tower from StEEmcA2EMaker 0=tower 1=pre1 2=pre2 3=post Int_t layer = 0; StEEmcTower tower = mEEanalysis -> tower( index_of_seed_tower, layer ); // Loop over neighboring towers and add them to the cluster if they exceed // a specified threshold for ( Int_t i=0;i<tower.numberOfNeighbors();i++ ) { StEEmcTower neighbor=tower.neighbor(i); if ( tower.energy() > threshold_to_add_tower ) { cluster.add(neighbor); } } // Add our cluster to the list of clusters list_of_clusters.push_back( cluster );
Definition at line 49 of file StEEmcCluster.h.
| StEEmcCluster::~StEEmcCluster | ( | ) | [virtual] |
| void StEEmcCluster::add | ( | StEEmcTower | tower, | |
| Float_t | weight = 1.0 | |||
| ) |
add a tower to this cluster. The code assumes that the first tower added is the seed tower, and hence is the most energetic.
Definition at line 19 of file StEEmcCluster.cxx.
References energy(), StEEmcElement::energy(), mEnergy, mTowers, and mWeights.
| void StEEmcCluster::add | ( | const StEEmcTower & | t, | |
| Float_t | weight = 1.0 | |||
| ) |
add a tower to this cluster. The code assumes that the first tower added is the seed tower, and hence is the most energetic.
Definition at line 87 of file StEEmcCluster.cxx.
References energy(), StEEmcElement::energy(), StEEmcTower::etabin(), EEmcGeomSimple::getTowerCenter(), mEnergy, mfEtabin, mfPhibin, mMomentum, mTowers, mWeights, StEEmcTower::phibin(), print(), StEEmcTower::sector(), and StEEmcTower::subsector().
Referenced by StEEmcClusterMaker::buildTowerClusters(), and StEEmcPi0Analysis::Make().
| void StEEmcCluster::momentum | ( | const TVector3 & | p | ) | [inline] |
Set the momentum of this cluster. This overrides the momentum computed internally as towers are added to the cluster. If the momentum is changed before all towers are added, the position() of the cluster will become unreliable.
Definition at line 95 of file StEEmcCluster.h.
References mMomentum.
| TVector3 StEEmcCluster::momentum | ( | ) | const [inline] |
Get the momentum of this cluster. The internally calculated momentum assumes z=0.
Definition at line 68 of file StEEmcCluster.h.
References mMomentum.
Referenced by StEEmcClusterMaker::buildTowerClusters(), StEEmcClusterMaker::fillStEvent(), and stemc().
| Bool_t StEEmcCluster::operator== | ( | const StEEmcCluster & | other | ) | const [inline] |
Tests whether the cluster has the same seed tower as another cluster. If so, these clusters are considered equal
Definition at line 107 of file StEEmcCluster.h.
References StEEmcTower::index(), and tower().
| TVector3 StEEmcCluster::position | ( | ) | const [inline] |
Get the position of this cluster on the endcap. But see note for StEEmcCluster::momentum( TVector3 p ).
Definition at line 72 of file StEEmcCluster.h.
| Float_t StEEmcCluster::sigmaE | ( | ) | const |
Returns the std. deviation in the energy of the towers which make up the cluster.
Definition at line 213 of file StEEmcCluster.cxx.
References StEEmcElement::energy(), mTowers, and mWeights.
| StEmcCluster* StEEmcCluster::stemc | ( | ) |
Create and return an StEmcCluster using this cluster's hits, energy, etc... The StEmcCluster will be deleted when this cluster's destructor is called.
| StEmcCluster * StEEmcCluster::stemc | ( | ) |
Create and return an StEmcCluster using this cluster's hits, energy, etc... The StEmcCluster will be deleted when this cluster's destructor is called.
Definition at line 138 of file StEEmcCluster.cxx.
References energy(), mEmcCluster, momentum(), mTowers, and numberOfTowers().
Referenced by StEEmcClusterMaker::fillStEvent().
Float_t StEEmcCluster::mfEtabin [protected] |
Fractional mean etabin * energy
Definition at line 148 of file StEEmcCluster.h.
Referenced by add(), and fracEtabin().
Float_t StEEmcCluster::mfPhibin [protected] |
Fractional mean phibin * energy
Definition at line 149 of file StEEmcCluster.h.
Referenced by add(), and fracPhibin().
1.5.9