/* $Id$ */
-// ------------------------
+//-----------------------------------------------------------------------------
// Class AliMUONHitForRec
// ------------------------
// Hit for reconstruction in ALICE dimuon spectrometer
// Author: J. Gosset
+//-----------------------------------------------------------------------------
#include "AliTrackReference.h"
#include "AliMUONHitForRec.h"
#include "AliMUONRawCluster.h"
-#include "AliMUONHit.h"
#include "AliMUONConstants.h"
#include "AliLog.h"
#include "Riostream.h"
+/// \cond CLASSIMP
ClassImp(AliMUONHitForRec) // Class implementation in ROOT context
+/// \endcond
//__________________________________________________________________________
AliMUONHitForRec::AliMUONHitForRec()
fHitNumber(0),
fTTRTrack(0),
fTrackRefSignal(0),
- fIndexOfFirstSegment(0),
- fNSegments(0),
- fFirstTrackHitPtr(0x0),
- fLastTrackHitPtr(0x0),
fNTrackHits(0)
{
/// Default Constructor
fHitNumber(0),
fTTRTrack(0),
fTrackRefSignal(0),
- fIndexOfFirstSegment(-1),
- fNSegments(0),
- fFirstTrackHitPtr(0x0),
- fLastTrackHitPtr(0x0),
fNTrackHits(0)
{
/// Constructor for AliMUONHitForRec from a track ref. hit.
fHitNumber(0),
fTTRTrack(-1),
fTrackRefSignal(-1),
- fIndexOfFirstSegment(-1),
- fNSegments(0),
- fFirstTrackHitPtr(0x0),
- fLastTrackHitPtr(0x0),
fNTrackHits(0)
{
/// Constructor for AliMUONHitForRec from a raw cluster.
fHitNumber(theMUONHitForRec.fHitNumber),
fTTRTrack(theMUONHitForRec.fTTRTrack),
fTrackRefSignal(theMUONHitForRec.fTrackRefSignal),
- fIndexOfFirstSegment(theMUONHitForRec.fIndexOfFirstSegment),
- fNSegments(theMUONHitForRec.fNSegments),
- fFirstTrackHitPtr(theMUONHitForRec.fFirstTrackHitPtr),
- fLastTrackHitPtr(theMUONHitForRec.fLastTrackHitPtr),
fNTrackHits(theMUONHitForRec.fNTrackHits)
{
/// Copy constructor
+}
+
+ //__________________________________________________________________________
+AliMUONHitForRec::~AliMUONHitForRec()
+{
+/// Destructor
}
//__________________________________________________________________________
fHitNumber = theMUONHitForRec.fHitNumber;
fTTRTrack = theMUONHitForRec.fTTRTrack;
fTrackRefSignal = theMUONHitForRec.fTrackRefSignal;
- fIndexOfFirstSegment = theMUONHitForRec.fIndexOfFirstSegment;
- fNSegments = theMUONHitForRec.fNSegments;
- fFirstTrackHitPtr = theMUONHitForRec.fFirstTrackHitPtr;
- fLastTrackHitPtr = theMUONHitForRec.fLastTrackHitPtr;
fNTrackHits = theMUONHitForRec.fNTrackHits;
return *this;
}
//__________________________________________________________________________
Double_t AliMUONHitForRec::NormalizedChi2WithHitForRec(AliMUONHitForRec* hitForRec, Double_t Sigma2Cut) const
{
-/// Calculate the normalized Chi2 between the current hitForRec (this)
-/// and the hitForRec pointed to by "hitForRec",
-/// i.e. the square deviations between the coordinates,
-/// in both the bending and the non bending plane,
+/// Calculate the normalized Chi2 between the current hitForRec (this) and the hitForRec pointed to by "hitForRec",
+/// i.e. the square deviations between the coordinates, in both the bending and the non bending plane,
/// divided by the variance of the same quantities and by "Sigma2Cut".
-/// Returns 3 if none of the 2 quantities is OK,
-/// something smaller than or equal to 2 otherwise.
-/// Would it be more correct to use a real chi square
-/// including the non diagonal term ????
+/// Returns 3 if none of the 2 quantities is OK, something smaller than or equal to 2 otherwise.
+/// Would it be more correct to use a real chi square including the non diagonal term ????
Double_t chi2, chi2Max, diff, normDiff;
chi2 = 0.0;
chi2Max = 3.0;
// coordinate in bending plane
diff = fBendingCoor - hitForRec->fBendingCoor;
- normDiff = diff * diff /
- (fBendingReso2 + hitForRec->fBendingReso2) / Sigma2Cut;
+ normDiff = diff * diff / (fBendingReso2 + hitForRec->fBendingReso2) / Sigma2Cut;
if (normDiff > 1.0) return chi2Max;
chi2 = chi2 + normDiff;
// coordinate in non bending plane
diff = fNonBendingCoor - hitForRec->fNonBendingCoor;
- normDiff = diff * diff /
- (fNonBendingReso2 + hitForRec->fNonBendingReso2) / Sigma2Cut;
+ normDiff = diff * diff / (fNonBendingReso2 + hitForRec->fNonBendingReso2) / Sigma2Cut;
if (normDiff > 1.0) return chi2Max;
chi2 = chi2 + normDiff;
return chi2;
void
AliMUONHitForRec::Print(Option_t* /*opt*/) const
{
+/// Printing
+
cout << "<AliMUONHitForRec> Coordinates (B,NB,Z) = ("
<< setw(8) << setprecision(5) << fBendingCoor
<< "," << setw(8) << setprecision(5) << fNonBendingCoor << ","