]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HBTAN/AliHBTPair.cxx
new method Load added to AliPMDClusterFinder
[u/mrichter/AliRoot.git] / HBTAN / AliHBTPair.cxx
index 2beaead8d65fb3408bf9d672bdcc750fbd42a535..cda72337e4e971cd321d3feb341fd45b6f5a6ca5 100644 (file)
@@ -13,6 +13,7 @@
 
 #include "AliHBTParticle.h"
 #include "AliHBTWeights.h"
+#include "AliHBTTrackPoints.h"
 
 ClassImp(AliHBTPair)
 
@@ -47,6 +48,8 @@ AliHBTPair::AliHBTPair(Bool_t rev):
  fQInvLNotCalc(kTRUE),
  fWeight(0.0),
  fWeightNotCalc(kTRUE),
+ fAvarageDistance(0.0),
+ fAvarageDistanceNotCalc(kTRUE),
  fPxSum(0.0),
  fPySum(0.0),
  fPzSum(0.0),
@@ -100,6 +103,8 @@ AliHBTPair::AliHBTPair(AliHBTParticle* part1, AliHBTParticle* part2, Bool_t rev)
  fQInvLNotCalc(kTRUE),
  fWeight(0.0),
  fWeightNotCalc(kTRUE),
+ fAvarageDistance(0.0),
+ fAvarageDistanceNotCalc(kTRUE),
  fPxSum(0.0),
  fPySum(0.0),
  fPzSum(0.0),
@@ -153,6 +158,8 @@ AliHBTPair::AliHBTPair(const AliHBTPair& in):
  fQInvLNotCalc(kTRUE),
  fWeight(0.0),
  fWeightNotCalc(kTRUE),
+ fAvarageDistance(0.0),
+ fAvarageDistanceNotCalc(kTRUE),
  fPxSum(0.0),
  fPySum(0.0),
  fPzSum(0.0),
@@ -172,12 +179,13 @@ AliHBTPair::AliHBTPair(const AliHBTPair& in):
 }
 /************************************************************************/
 
-const AliHBTPair& AliHBTPair::operator=(const AliHBTPair& in)
+AliHBTPair& AliHBTPair::operator=(const AliHBTPair& in)
 {
  //Assigment operator
  in.Copy(*this);
  return *this;
 }
+/************************************************************************/
 
 Double_t AliHBTPair::GetInvMass()
 {
@@ -194,9 +202,10 @@ Double_t AliHBTPair::GetInvMass()
   return fInvMass;
 }
 /************************************************************************/
+
 Double_t AliHBTPair::GetQSideCMSLC()
 {
-  //return Q Side in Central Of Mass System in Longitudialy Comoving Frame
+//return Q Side in Central Of Mass System in Longitudialy Comoving Frame
  
   if (fQSideCMSLCNotCalc)
    {
@@ -206,6 +215,7 @@ Double_t AliHBTPair::GetQSideCMSLC()
   return fQSideCMSLC;
 }
 /************************************************************************/
+
 Double_t AliHBTPair::GetQOutCMSLC()
 {
  //caculates Qout in Center Of Mass Longitudionally Co-Moving
@@ -279,6 +289,7 @@ Double_t AliHBTPair::GetQOutCMSLC()
  return fQOutCMSLC;
 }
 /************************************************************************/
+
 Double_t AliHBTPair::GetQLongCMSLC()
 {
  //return Q Long in Central Of Mass System in Longitudialy Comoving Frame
@@ -293,6 +304,7 @@ Double_t AliHBTPair::GetQLongCMSLC()
  return fQLongCMSLC; 
 }
 /************************************************************************/
+
 Double_t AliHBTPair::GetKt()
 {
  //calculates the evarage momentum of the pair
@@ -389,3 +401,40 @@ Double_t AliHBTPair::GetWeight()
    }
   return fWeight; 
 }
+/************************************************************************/
+
+Double_t AliHBTPair::GetAvarageDistance()
+{
+//returns and buffers avarage distance between two tracks calculated 
+// out of track points (see AliHBTTrackPoints class)
+
+  if (fAvarageDistanceNotCalc)
+   {
+     fAvarageDistance = AvDistance();
+     fAvarageDistanceNotCalc = kFALSE;
+   }
+  return fAvarageDistance;
+}
+/************************************************************************/
+
+Double_t AliHBTPair::AvDistance()
+{
+  //returns avarage distance between two tracks in range 
+  //as defined in Track-Points of AliHBTParticle
+  //returns negative value if error uccured f.g. tracks do not have track-points
+  AliHBTTrackPoints* tpts1 = fPart1->GetTrackPoints();
+  if ( tpts1 == 0x0)
+   {//it could be simulated pair
+//     Warning("GetValue","Track 1 does not have Track Points. Pair NOT Passed.");
+     return -1.0;
+   }
+
+  AliHBTTrackPoints* tpts2 = fPart2->GetTrackPoints();
+  if ( tpts2 == 0x0)
+   {
+//     Warning("GetValue","Track 2 does not have Track Points. Pair NOT Passed.");
+     return -1.0;
+   }
+
+  return tpts1->AvarageDistance(*tpts2);
+}