From 087f87e767d99562a3dd77cf52e64b53edf515dd Mon Sep 17 00:00:00 2001 From: skowron Date: Fri, 19 Mar 2004 16:35:41 +0000 Subject: [PATCH] Avarage separation correlation function introduced --- HBTAN/AliHBTCorrelFctn.cxx | 23 +++++++++++++++++++++++ HBTAN/AliHBTCorrelFctn.h | 19 +++++++++++++++++-- HBTAN/AliHBTPair.cxx | 25 +++++++++++++++++++++++++ HBTAN/AliHBTPair.h | 2 ++ HBTAN/AliHBTPairCut.cxx | 19 ++----------------- HBTAN/HBTAnalysisLinkDef.h | 1 + 6 files changed, 70 insertions(+), 19 deletions(-) diff --git a/HBTAN/AliHBTCorrelFctn.cxx b/HBTAN/AliHBTCorrelFctn.cxx index c76752f65de..3992048730a 100644 --- a/HBTAN/AliHBTCorrelFctn.cxx +++ b/HBTAN/AliHBTCorrelFctn.cxx @@ -174,3 +174,26 @@ TH1* AliHBTTwoKStarCorrelFctn::GetResult() } /*************************************************************************************/ +/*************************************************************************************/ +/*************************************************************************************/ +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; +} + +/*************************************************************************************/ diff --git a/HBTAN/AliHBTCorrelFctn.h b/HBTAN/AliHBTCorrelFctn.h index 09159c91ed4..962e6e2aceb 100644 --- a/HBTAN/AliHBTCorrelFctn.h +++ b/HBTAN/AliHBTCorrelFctn.h @@ -44,8 +44,8 @@ class AliHBTOutSideLongFctn: public AliHBTOnePairFctn3D, public AliHBTCorrelFunc 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(); @@ -132,4 +132,19 @@ class AliHBTTwoKStarCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelF 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 diff --git a/HBTAN/AliHBTPair.cxx b/HBTAN/AliHBTPair.cxx index 31eaba93927..ed5b36e36a1 100644 --- a/HBTAN/AliHBTPair.cxx +++ b/HBTAN/AliHBTPair.cxx @@ -13,6 +13,7 @@ #include "AliHBTParticle.h" #include "AliHBTWeights.h" +#include "AliHBTTrackPoints.h" ClassImp(AliHBTPair) @@ -390,3 +391,27 @@ Double_t AliHBTPair::GetWeight() } 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); +} diff --git a/HBTAN/AliHBTPair.h b/HBTAN/AliHBTPair.h index f3e923ef794..acc28e3bef8 100644 --- a/HBTAN/AliHBTPair.h +++ b/HBTAN/AliHBTPair.h @@ -46,6 +46,8 @@ class AliHBTPair: public TObject 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(); diff --git a/HBTAN/AliHBTPairCut.cxx b/HBTAN/AliHBTPairCut.cxx index c0486a62858..0fed68de307 100644 --- a/HBTAN/AliHBTPairCut.cxx +++ b/HBTAN/AliHBTPairCut.cxx @@ -12,7 +12,6 @@ #include "AliHBTPairCut.h" #include "AliHBTPair.h" #include "AliHBTParticleCut.h" -#include "AliHBTTrackPoints.h" #include "AliHBTClusterMap.h" ClassImp(AliHBTPairCut) @@ -334,22 +333,8 @@ ClassImp(AliHBTAvSeparationCut) 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(); } /******************************************************************/ diff --git a/HBTAN/HBTAnalysisLinkDef.h b/HBTAN/HBTAnalysisLinkDef.h index 62074310a5d..665bad7561c 100644 --- a/HBTAN/HBTAnalysisLinkDef.h +++ b/HBTAN/HBTAnalysisLinkDef.h @@ -91,6 +91,7 @@ #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+; -- 2.39.3