}
/*************************************************************************************/
+/*************************************************************************************/
+/*************************************************************************************/
+ClassImp(AliHBTAvSeparCorrelFctn)
+
+AliHBTAvSeparCorrelFctn::AliHBTAvSeparCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
+ AliHBTOnePairFctn1D(nbins,maxXval,minXval)
+{
+ //ctor
+ fWriteNumAndDen = kTRUE;//change default behaviour
+ Rename("avsepcf","Avarage separation Correlation Function");
+}
+
+/*************************************************************************************/
+
+TH1* AliHBTAvSeparCorrelFctn::GetResult()
+{
+ //returns the scaled ratio
+ delete fRatio;
+ fRatio = GetRatio(Scale());
+ return fRatio;
+}
+
+/*************************************************************************************/
public:
AliHBTOutSideLongFctn(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
- Int_t nYbins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0,
- Int_t nZbins = 100, Double_t maxZval = 0.15, Double_t minZval = 0.0);
+ Int_t nYbins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0,
+ Int_t nZbins = 100, Double_t maxZval = 0.15, Double_t minZval = 0.0);
virtual ~AliHBTOutSideLongFctn(){}
TH1* GetResult();
ClassDef(AliHBTTwoKStarCorrelFctn,2)
};
+/*************************************************************************************/
+
+class AliHBTAvSeparCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
+{
+// Correlation Function of 2*KStar
+ public:
+ AliHBTAvSeparCorrelFctn(Int_t nbins = 200, Double_t maxXval = 30, Double_t minXval = 0.0);
+ virtual ~AliHBTAvSeparCorrelFctn(){};
+ TH1* GetResult();
+ protected:
+ Double_t GetValue(AliHBTPair * pair) { return pair->GetAvarageDistance();}
+ private:
+ ClassDef(AliHBTAvSeparCorrelFctn,2)
+};
+
#endif
#include "AliHBTParticle.h"
#include "AliHBTWeights.h"
+#include "AliHBTTrackPoints.h"
ClassImp(AliHBTPair)
}
return fWeight;
}
+
+/************************************************************************/
+
+Double_t AliHBTPair::GetAvarageDistance()
+{
+ //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);
+}
virtual Double_t GetKt(); //returns K transverse
virtual Double_t GetKStar();
+ virtual Double_t GetAvarageDistance();//returns avarage distnace between two tracks
+
virtual Double_t GetDeltaP(); //return difference of momenta
virtual Double_t GetDeltaPt();
virtual Double_t GetDeltaPx();
#include "AliHBTPairCut.h"
#include "AliHBTPair.h"
#include "AliHBTParticleCut.h"
-#include "AliHBTTrackPoints.h"
#include "AliHBTClusterMap.h"
ClassImp(AliHBTPairCut)
Double_t AliHBTAvSeparationCut::GetValue(AliHBTPair* pair) const
{
- //chacks if avarage distance of two tracks is in given range
- AliHBTTrackPoints* tpts1 = pair->Particle1()->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 = pair->Particle2()->GetTrackPoints();
- if ( tpts2 == 0x0)
- {
-// Warning("GetValue","Track 2 does not have Track Points. Pair NOT Passed.");
- return -1.0;
- }
-
- return tpts1->AvarageDistance(*tpts2);
+ //checks if avarage distance of two tracks is in given range
+ return pair->GetAvarageDistance();
}
/******************************************************************/
#pragma link C++ class AliHBTQOutCMSLCCorrelFctn+;
#pragma link C++ class AliHBTQLongCMSLCCorrelFctn+;
#pragma link C++ class AliHBTQSideCMSLCCorrelFctn+;
+#pragma link C++ class AliHBTAvSeparCorrelFctn+;
#pragma link C++ class AliHBTInvMassCorrelFctn+;
#pragma link C++ class AliHBTCorrFitFctn+;