class TMuiRoad

Describes a road found in the muon identifier

Public Methods

TMuiRoad(const short& arm = 0)
Constructor.
TMuiRoad(const short& arm, const Hep3Vector& vertex, const Hep3Vector& sig_vertex)
Constructor with vertex.
~TMuiRoad()
Destructor.
void AttachCluster(TMuiCluster* const& cluster)
Attach the given cluster to this road.
void GetClusters(TMuiClusterContainer* const& allclusters)
Attach clusters in the container that are consistent with this road.
short CalcReference()
Calculate reference position and direction; return success flag.
void SetSearchWindow(const short& plane, const float& xwin, const float& ywin)
Set search window parameters to determine if a hit should be attached.
bool IsClusterOK(TMuiCluster* const& cluster) const
Is the given cluster consistent with this road?
bool IsFitOK(const EOrient_t& orient) const
Was the fit to the positions successful?
Hep3Vector ClusterDistance(TMuiCluster* const& cluster) const
Calculate the residual vector of the cluster with this road.
Hep3Vector Project(const HepPlane3D& plane) const
Find the intersection of this road with the given plane.
short Arm() const
Return arm in which this road was found.
short LastPlane() const
Return plane number of last plane with clusters attached to this road.
short MaxHitsPerPlane() const
Return the number of hits in the plane with the most attached clusters.
short TotalHits() const
Return the total number of hits attached to this road.
bool IsPanelHit(const short& panel) const
Does this road contain a cluster in the given panel?
vector <long> ClusterIndices() const
Return a list of the dMuiClusters indices for the attached clusters.
Hep3Vector RefPosition() const
Return the position of the road trajectory at the reference plane.
Hep3Vector RefDirection() const
Return the direction vector of the road trajectory.
Hep3Vector Gap0Position() const
Return the position of the road trajectory at the first MuID gap.
Hep3Vector PositionAtGap(const short& gap) const
Return the position of the road trajectory at the given MuID gap.
short XDegreesOfFreedom() const
Degrees of freedom of the X trajectory fit.
short YDegreesOfFreedom() const
Degrees of freedom of the Y trajectory fit.
float ReducedXChi2() const
Chi-square parameter (per degree of freedom) of X trajectory fit.
float ReducedYChi2() const
Chi-square parameter (per degree of freedom) of Y trajectory fit.

Documentation

Describes a road found in the muon identifier.

A road is a set of clusters in muID tubes that we expect to be associated with a single particle traversing the muon arm. (Roads are found by the mMuiRoadFinder module.) Methods include adding clusters, calculating and retrieving the trajectory indicated by the hits, projecting along the trajectory to an arbitrary plane, etc.

HOW TO WRITE A ROAD FINDER

Create a road by constructing it with an arm and an optional vertex position:

    TMuiRoad* road = new TMuiRoad(0,0.0,0.0,-1.0);
    

Then find clusters in whatever way you choose; add a cluster to the road by passing a pointer to its TMuiCluster object to the AttachCluster() method:

    road->AttachCluster(cluster);
    

The AttachCluster() method does not check that the cluster is consistent with the road; it assumes that you have done this. One way of checking is to use the IsClusterOK() method, which checks that the cluster is in the correct arm, and that the cluster is within the search window set by the SetSearchWindow() method, and that the residual of the cluster with the road is smaller than the residual of any previous cluster that may have been attached in that plane. It looks something like this:

    road->SetSearchWindow(0,15.0,15.0); // Set windows to +/- 15 cm
    if (road->IsClusterOK(cluster)) road->AttachCluster(cluster);
    

In order to check residuals, the straight line representing the road reference trajectory needs to have been calculated; this in turn requires that two horizontal and two vertical clusters be attached:

    road->CalcReference();
    

Once the clusters have been attached to the road, the various accessor methods of this class provide information about the road.

For more information, see the description of the road finder at http://www.phenix.bnl.gov/WWW/publish/pope/MuID/muid-algorithms/.

TMuiRoad(const short& arm = 0)
Constructor.

TMuiRoad(const short& arm, const Hep3Vector& vertex, const Hep3Vector& sig_vertex)
Constructor with vertex.

~TMuiRoad()
Destructor.

void AttachCluster(TMuiCluster* const& cluster)
Attach the given cluster to this road.

void GetClusters(TMuiClusterContainer* const& allclusters)
Attach clusters in the container that are consistent with this road.

short CalcReference()
Calculate reference position and direction; return success flag.

void SetSearchWindow(const short& plane, const float& xwin, const float& ywin)
Set search window parameters to determine if a hit should be attached.

bool IsClusterOK(TMuiCluster* const& cluster) const
Is the given cluster consistent with this road?

bool IsFitOK(const EOrient_t& orient) const
Was the fit to the positions successful?

Hep3Vector ClusterDistance(TMuiCluster* const& cluster) const
Calculate the residual vector of the cluster with this road.

Hep3Vector Project(const HepPlane3D& plane) const
Find the intersection of this road with the given plane.

short Arm() const
Return arm in which this road was found.

short LastPlane() const
Return plane number of last plane with clusters attached to this road.

short MaxHitsPerPlane() const
Return the number of hits in the plane with the most attached clusters.

short TotalHits() const
Return the total number of hits attached to this road.

bool IsPanelHit(const short& panel) const
Does this road contain a cluster in the given panel?

vector <long> ClusterIndices() const
Return a list of the dMuiClusters indices for the attached clusters.

Hep3Vector RefPosition() const
Return the position of the road trajectory at the reference plane.

Hep3Vector RefDirection() const
Return the direction vector of the road trajectory.

Hep3Vector Gap0Position() const
Return the position of the road trajectory at the first MuID gap.

Hep3Vector PositionAtGap(const short& gap) const
Return the position of the road trajectory at the given MuID gap.

short XDegreesOfFreedom() const
Degrees of freedom of the X trajectory fit.

short YDegreesOfFreedom() const
Degrees of freedom of the Y trajectory fit.

float ReducedXChi2() const
Chi-square parameter (per degree of freedom) of X trajectory fit.

float ReducedYChi2() const
Chi-square parameter (per degree of freedom) of Y trajectory fit.


This class has no child classes.
Author:
Kyle Pope mailto:pope@phy.ornl.gov

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de