#include <StEEmcGenericClusterMaker.h>

Classes | |
| struct | EEmatch |
Public Member Functions | |
| StEEmcGenericClusterMaker (const Char_t *name, const StEEmcA2EMaker *a2e=NULL) | |
| virtual Int_t | Init () |
| virtual Int_t | Make () |
| void | makeHistograms () |
| void | makeClusterMap () |
| void | makeStEvent () |
| void | makeTrackMap () |
| virtual void | Clear (Option_t *opts="") |
| User defined functions. | |
| void | add (const StEEmcCluster &cluster) |
| Add a tower (pre/postshower) cluster to the list of clusters. | |
| void | add (const StEEmcSmdCluster &cluster) |
| Add a smd cluster to the list of clusters. | |
| void | remove (const StEEmcCluster &cluster) |
| void | remove (const StEEmcSmdCluster &cluster) |
| Searches list of smd clusters and removes the matching cluster. | |
| StEEmcClusterVec_t & | clusters (Int_t sec, Int_t layer) |
| Return a vector of tower clusters. | |
| const StEEmcClusterVec_t & | clusters (Int_t sec, Int_t layer) const |
| StEEmcSmdClusterVec_t & | smdclusters (Int_t sec, Int_t plane) |
| Return a vector of smd clusters. | |
| const StEEmcSmdClusterVec_t & | smdclusters (Int_t sec, Int_t plane) const |
| StEEmcCluster & | cluster (Int_t sector, Int_t layer, Int_t index) |
| const StEEmcCluster & | cluster (Int_t sector, Int_t layer, Int_t index) const |
| StEEmcSmdCluster & | smdcluster (Int_t sector, Int_t plane, Int_t index) |
| const StEEmcSmdCluster & | smdcluster (Int_t sector, Int_t plane, Int_t index) const |
| Int_t | numberOfTracks (const StEEmcCluster &cluster) const |
| Int_t | numberOfBackgroundTracks (const StEEmcCluster &cluster) const |
| StMuTrack * | track (const StEEmcCluster &cluster, Int_t index) const |
| StMuTrack * | backgroundTrack (const StEEmcCluster &cluster, Int_t index) const |
| Int_t | numberOfClusters (Int_t sector, Int_t layer) const |
| Int_t | numberOfClusters (Int_t layer) const |
| returns the total number of clusters in a given layer | |
| Int_t | numberOfClusters () const |
| returns the total number of clusters summed over all layers | |
| EEmatch & | clusterMatch (const StEEmcCluster &c) |
| const EEmatch & | clusterMatch (const StEEmcCluster &c) const |
| Int_t | lastClusterId () const |
| Returns the current largest cluster ID. | |
| Int_t | numberOfMatchingSmdClusters (const StEEmcCluster &cluster, Int_t plane) const |
| StEEmcSmdCluster & | matchingSmdCluster (const StEEmcCluster &cluster, Int_t plane, Int_t index) |
| const StEEmcSmdCluster & | matchingSmdCluster (const StEEmcCluster &cluster, Int_t plane, Int_t index) const |
| void | setTrackMatching (Float_t distance, Int_t layer) |
| Bool_t | extrapolateToZ (const StPhysicalHelixD &helix, const double z, TVector3 &r) const |
| extrapolates helix to position z (borrowed from StEEmcPool/TTM) | |
| void | buildHistograms (const StEEmcCluster &cluster) |
| Int_t | nextClusterId () |
| Int_t | maxClusterId () const |
| virtual const char * | GetCVS () const |
Protected Member Functions | |
| virtual Int_t | buildTowerClusters () |
| builder for tower clusters | |
| virtual Int_t | buildPreshowerClusters () |
| builder for preshower clusters (both layers) | |
| virtual Int_t | buildPostshowerClusters () |
| builder for postshower clusters | |
| virtual Int_t | buildSmdClusters () |
| builder for smd clusters | |
| Bool_t | match (const StEEmcCluster &c1, const StEEmcCluster &c2) const |
| Bool_t | match (const StEEmcCluster &c1, const StEEmcSmdCluster &c2) const |
| Bool_t | match (const StEEmcSmdCluster &c1, const StEEmcSmdCluster &c2) const |
| Bool_t | match (const StEEmcCluster &c1, const StMuTrack *track) const |
| Bool_t | match (const StEEmcSmdCluster &c1, const StMuTrack *track) const |
| Bool_t | matchBackgroundTrack (const StEEmcCluster &c1, const StMuTrack *track) const |
| ClassDef (StEEmcGenericClusterMaker, 1) | |
Protected Attributes | |
| const StEEmcA2EMaker * | mEEanalysis |
| Int_t | mClusterId |
|
std::vector< std::vector < StEEmcClusterVec_t > > | mTowerClusters |
|
std::vector< std::vector < StEEmcSmdClusterVec_t > > | mSmdClusters |
| Int_t | mNumberOfClusters [6] |
| const EEmcGeomSimple * | mEEmcGeom |
| const EEmcSmdGeom * | mESmdGeom |
| const EEmcSmdMap * | mESmdMap |
| Int_t | mSmdMatchRange |
| std::map< Int_t, EEmatch > | mClusterMap |
|
std::map< Int_t, std::vector < StMuTrack * > > | mClusterTrackMap |
|
std::map< Int_t, std::vector < StMuTrack * > > | mBackgroundTrackMap |
| std::map< Int_t, EEmatch > | mTrackClusterMap |
| Float_t | mClusterTrackSeparation [6] |
Definition at line 92 of file StEEmcGenericClusterMaker.h.
| StEEmcGenericClusterMaker::StEEmcGenericClusterMaker | ( | const Char_t * | name, | |
| const StEEmcA2EMaker * | a2e = NULL | |||
| ) |
Initialize storage banks for tower and SMD clusters. Both will be stored sector-wise and layer-wise.
Tower clusters are stored according to the sector in which we find their seed tower.
Layers: T=0, P=1, Q=2, R=3 / Planes: U=0, V=1
mTowerClusters[sector][layer] returns vector of tower clusters mSmdClusters[sector][plane] returns vector of SMD clusters
Tracks will be matched to clusters if they fall within a user-specified distance between the track extrapolated to the layer containing the cluster. (Tracks are extrapolated to the smd layer when matching tower clusters).
< default parameter: tower, dr<0.05 where dr=sqrt(deta^2+dphi^2)
< default parameter: preshower 1 dr<0.075
< default parameter: preshower 2 dr<0.075
< default parameter: postshower dr<0.075
< default parameter: smd u 3.0 strips
< default parameter: smd v 3.0 strips
Definition at line 24 of file StEEmcGenericClusterMaker.cxx.
References Clear().
| void StEEmcGenericClusterMaker::buildHistograms | ( | const StEEmcCluster & | cluster | ) |
Builds histograms for SMD clusters matching the specified tower cluster. Histograms will be stored in the .hist branch of this maker. Histograms will follow a naming convention h[TUV]cluster[key]_[event] where [TUV] ...
| StEEmcCluster& StEEmcGenericClusterMaker::cluster | ( | Int_t | sector, | |
| Int_t | layer, | |||
| Int_t | index | |||
| ) | [inline] |
Return a specific cluster from a given sector, layer
| sector | specifies the sector id [0,11] | |
| layer | specifies which layer 0=T 1=P 2=Q 3=R | |
| index | specifies which cluster to return |
Definition at line 140 of file StEEmcGenericClusterMaker.h.
Referenced by makeTrackMap().
| EEmatch& StEEmcGenericClusterMaker::clusterMatch | ( | const StEEmcCluster & | c | ) | [inline] |
Returns the clusters which match (see match()) the specified cluster
Definition at line 194 of file StEEmcGenericClusterMaker.h.
Referenced by matchingSmdCluster(), and numberOfMatchingSmdClusters().
| Int_t StEEmcGenericClusterMaker::Make | ( | ) | [virtual] |
The Make() method is the one responsible for calling the maker's InitRun(). Note that that InitRun() is called for real data and if both of the following are true
This is the ONLY place calling the InitRun() routine.
check privilege to skip event
Reimplemented from StMaker.
Definition at line 93 of file StEEmcGenericClusterMaker.cxx.
References makeStEvent(), and makeTrackMap().
| void StEEmcGenericClusterMaker::makeStEvent | ( | ) |
First the eemc tower clusters
Next the pre and postshower clusters
Finally the U&V smd clusters
Definition at line 342 of file StEEmcGenericClusterMaker.cxx.
Referenced by Make().
| void StEEmcGenericClusterMaker::makeTrackMap | ( | ) |
loop over sectors
loop over layers
loop over sectors
loop over layers
Definition at line 243 of file StEEmcGenericClusterMaker.cxx.
References cluster(), StMuTrack::flag(), StMaker::GetName(), StMuDst::globalTracks(), match(), StMuDstMaker::muDst(), numberOfClusters(), StMuDst::primaryTracks(), and track().
Referenced by Make().
| Bool_t StEEmcGenericClusterMaker::match | ( | const StEEmcCluster & | c1, | |
| const StEEmcCluster & | c2 | |||
| ) | const [protected] |
Default methods to determine whether clusters in different layers match. Tower clusters match pre/postshower clusters if the seed towers are adjacent. Smd clusters match tower clusters if they fall within +/- mSmdMatchRange strips of the center of the seed tower.
Definition at line 452 of file StEEmcGenericClusterMaker.cxx.
References StEEmcTower::isNeighbor(), and StEEmcCluster::tower().
Referenced by add(), and makeTrackMap().
| StEEmcSmdCluster & StEEmcGenericClusterMaker::matchingSmdCluster | ( | const StEEmcCluster & | cluster, | |
| Int_t | plane, | |||
| Int_t | index | |||
| ) |
Returns a specific SMD cluster which matches the tower clster
| cluster | a tower cluster | |
| plane | 0=U 1=V | |
| index | index of the SMD cluster |
Definition at line 600 of file StEEmcGenericClusterMaker.cxx.
References clusterMatch().
| Int_t StEEmcGenericClusterMaker::nextClusterId | ( | ) | [inline] |
Utility method to provide the "next" cluster id. It's in public scope to allow later makers in the chain (i.e. the point maker) to form new clusters and assign a unique cluster id (key).
Definition at line 227 of file StEEmcGenericClusterMaker.h.
Referenced by add().
| Int_t StEEmcGenericClusterMaker::numberOfClusters | ( | Int_t | sector, | |
| Int_t | layer | |||
| ) | const [inline] |
returns the total number of clusters in a given sector, layer
| sector | specifies the sector id [0,11] | |
| layer | specifies which layer 0=T 1=P 2=Q 3=R 4=U 5=V |
Definition at line 165 of file StEEmcGenericClusterMaker.h.
| Int_t StEEmcGenericClusterMaker::numberOfMatchingSmdClusters | ( | const StEEmcCluster & | cluster, | |
| Int_t | plane | |||
| ) | const |
Returns the number of matching SMD clusters for the given tower cluster and plane
| cluster | a tower cluster | |
| plane | 0=U 1=V |
Definition at line 594 of file StEEmcGenericClusterMaker.cxx.
References clusterMatch().
| Int_t StEEmcGenericClusterMaker::numberOfTracks | ( | const StEEmcCluster & | cluster | ) | const [inline] |
returns the number of tracks pointing at the specified cluster
| cluster |
Definition at line 152 of file StEEmcGenericClusterMaker.h.
| void StEEmcGenericClusterMaker::remove | ( | const StEEmcCluster & | cluster | ) | [inline] |
Searches list of tower (pre/postshower) clusters and removes the matching cluster.
Definition at line 123 of file StEEmcGenericClusterMaker.h.
| void StEEmcGenericClusterMaker::setTrackMatching | ( | Float_t | distance, | |
| Int_t | layer | |||
| ) | [inline] |
Sets track-cluster matching parameters
| distance | maximum separation in cm from the cluster centroid to the track for a match to be made. |
Definition at line 214 of file StEEmcGenericClusterMaker.h.
| StEEmcSmdCluster& StEEmcGenericClusterMaker::smdcluster | ( | Int_t | sector, | |
| Int_t | plane, | |||
| Int_t | index | |||
| ) | [inline] |
return a specific cluster from a given sector, plane
| sector | specifies the sector id [0,11] | |
| plane | specifies which smd plane 0=U 1=V (note difference from "layer" definition) | |
| index | specifies which cluster to return |
Definition at line 147 of file StEEmcGenericClusterMaker.h.
| StMuTrack* StEEmcGenericClusterMaker::track | ( | const StEEmcCluster & | cluster, | |
| Int_t | index | |||
| ) | const [inline] |
return a pointer to a StMuTrack which points at the given cluster
| cluster | given a cluster, return a pointer to the track which matches it... yikes this shouldn't be unique... | |
| index | index of the track pointing to the cluster |
Definition at line 159 of file StEEmcGenericClusterMaker.h.
Referenced by makeTrackMap().
1.5.9