]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HBTAN/AliHBTCorrelFctn.cxx
Separated TOF libraries (base,rec,sim)
[u/mrichter/AliRoot.git] / HBTAN / AliHBTCorrelFctn.cxx
index 042cc6b515a7999e58a4142866f91a259bf948da..b244336823c00156697ca88842d073acdca67aab 100644 (file)
 #include "AliHBTCorrelFctn.h"
-//_____________________________________________________________
-///////////////////////////////////////////////////////////////
+//____________________________________________________________________________
+//////////////////////////////////////////////////////////////////////////////
 //
-//  Set of Correlation fuctions
-//  AliHBTQInvCorrelFctn - Q Invariant correlatyion function
+// class AliHBTQInvCorrelFctn
+// class AliHBTQOutLCMSCorrelFctn
+// class AliHBTQLongLCMSCorrelFctn
+// class AliHBTQSideLCMSCorrelFctn
+// class AliHBTInvMassCorrelFctn
+// class AliHBTTwoKStarCorrelFctn
 //
-//  Corroleation function is created from dividing two histograms of QInvariant:
-//    of particles from the same evnt
-//  by 
-//    of particles from different events
+// Set of functions:
+//   Q Invaraint Correlation Function
+//   Invariant Mass Function
 //
-///////////////////////////////////////////////////////////////
+// more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html
+// Piotr.Skowronski@cern.ch
+//
+//////////////////////////////////////////////////////////////////////////////
 
 ClassImp(AliHBTQInvCorrelFctn)
 
+//Corroleation function is created from dividing two histograms of QInvariant:
+//  of particles from the same evnt
+//by 
+//  of particles from different events
 
-AliHBTQInvCorrelFctn::
-AliHBTQInvCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
-                     AliHBTOnePairFctn1D(nbins,maxXval,minXval)
+AliHBTQInvCorrelFctn::AliHBTQInvCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
+ AliHBTOnePairFctn1D(nbins,maxXval,minXval)
 {
+ fWriteNumAndDen = kTRUE;//change default behaviour
  Rename("qinvcf","Q_{inv} Correlation Function");
 }
-
+/*************************************************************************************/ 
 
 TH1* AliHBTQInvCorrelFctn::GetResult()
-{  
- return GetRatio(Scale());
+{
+ //returns the scaled ratio
+ delete fRatio;
+ fRatio = GetRatio(Scale());
+ return fRatio;
 }
 /*************************************************************************************/ 
 /*************************************************************************************/ 
 /*************************************************************************************/ 
 
-ClassImp(AliHBTQOutCMSLCCorrelFctn)
-TH1* AliHBTQOutCMSLCCorrelFctn::GetResult()
+ClassImp(AliHBTOutSideLongFctn)
+
+AliHBTOutSideLongFctn::AliHBTOutSideLongFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
+                                                   Int_t nYbins, Double_t maxYval, Double_t minYval,
+                                                   Int_t nZbins, Double_t maxZval, Double_t minZval):
+ AliHBTOnePairFctn3D(nXbins,maxXval,minXval,nYbins,maxYval,minYval,nZbins,maxZval,minZval),
+ fAbs(kTRUE)
 {
- return GetRatio(Scale());
+//ctor
+  fWriteNumAndDen = kTRUE;//change default behaviour
+  Rename("qoslcf","Q_{out}-Q_{side}-Q_{long} Correlation Fctn");
+}
+/*************************************************************************************/ 
+
+TH1* AliHBTOutSideLongFctn::GetResult()
+{
+ //returns the scaled ratio
+ delete fRatio;
+ fRatio = GetRatio(Scale());
+ return fRatio;
+}
+
+void AliHBTOutSideLongFctn::GetValues(AliHBTPair* pair, Double_t& x, Double_t& y, Double_t& z) const
+{ 
+  //calculates values of that function
+  //qout qside and qlong
+  
+  x=pair->GetQOutLCMS(); 
+  y=pair->GetQSideLCMS(); 
+  z=pair->GetQLongLCMS();
+  if (fAbs)
+   {
+     x = TMath::Abs(x);
+     y = TMath::Abs(y);
+     z = TMath::Abs(z);
+   }
+} 
+
+/*************************************************************************************/ 
+
+ClassImp(AliHBTQOutLCMSCorrelFctn)
+    
+AliHBTQOutLCMSCorrelFctn::AliHBTQOutLCMSCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
+ AliHBTOnePairFctn1D(nbins,maxXval,minXval)
+{
+  //ctor
+ fWriteNumAndDen = kTRUE;//change default behaviour
+ Rename("qoutcf","Q_{out} Correlation Function");
+}
+/*************************************************************************************/ 
+    
+TH1* AliHBTQOutLCMSCorrelFctn::GetResult()
+{
+ //returns the scaled ratio
+ delete fRatio;
+ fRatio = GetRatio(Scale());
+ return fRatio;
 }
 /*************************************************************************************/ 
 /*************************************************************************************/ 
 /*************************************************************************************/ 
 
-ClassImp(AliHBTQLongCMSLCCorrelFctn)
-TH1* AliHBTQLongCMSLCCorrelFctn::GetResult()
+ClassImp(AliHBTQLongLCMSCorrelFctn)
+    
+AliHBTQLongLCMSCorrelFctn::AliHBTQLongLCMSCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
+ AliHBTOnePairFctn1D(nbins,maxXval,minXval)
 {
- return GetRatio(Scale());
+  //ctor
+ fWriteNumAndDen = kTRUE;//change default behaviour
+ Rename("qlongcf","Q_{long} Correlation Function");
+}
+/*************************************************************************************/ 
+    
+TH1* AliHBTQLongLCMSCorrelFctn::GetResult()
+{
+ //returns the scaled ratio
+ delete fRatio;
+ fRatio = GetRatio(Scale());
+ return fRatio;
 }
 /*************************************************************************************/ 
 /*************************************************************************************/ 
 /*************************************************************************************/ 
 
-ClassImp(AliHBTQSideCMSLCCorrelFctn)
-TH1* AliHBTQSideCMSLCCorrelFctn::GetResult()
+ClassImp(AliHBTQSideLCMSCorrelFctn)
+    
+AliHBTQSideLCMSCorrelFctn::AliHBTQSideLCMSCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
+ AliHBTOnePairFctn1D(nbins,maxXval,minXval)
+{
+ //ctor
+ fWriteNumAndDen = kTRUE;//change default behaviour
+ Rename("qsidecf","Q_{side} Correlation Function");
+}
+/*************************************************************************************/ 
+    
+TH1* AliHBTQSideLCMSCorrelFctn::GetResult()
 {
- return GetRatio(Scale());
+ //returns the scaled ratio
+ delete fRatio;
+ fRatio = GetRatio(Scale());
+ return fRatio;
 }
 
 
+/*************************************************************************************/ 
+/*************************************************************************************/ 
+/*************************************************************************************/ 
+ClassImp(AliHBTQtLCMSCorrelFctn)
+    
+AliHBTQtLCMSCorrelFctn::AliHBTQtLCMSCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
+ AliHBTOnePairFctn1D(nbins,maxXval,minXval)
+{
+  //ctor
+ fWriteNumAndDen = kTRUE;//change default behaviour
+ Rename("Qtcf","Q_{t}(LCMS) Correlation Function");
+}
+/*************************************************************************************/ 
+    
+TH1* AliHBTQtLCMSCorrelFctn::GetResult()
+{
+ //returns the scaled ratio
+ delete fRatio;
+ fRatio = GetRatio(Scale());
+ return fRatio;
+}
+/*************************************************************************************/ 
+/*************************************************************************************/ 
+/*************************************************************************************/ 
+ClassImp(AliHBTQtCorrelFctn)
+    
+AliHBTQtCorrelFctn::AliHBTQtCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
+ AliHBTOnePairFctn1D(nbins,maxXval,minXval)
+{
+  //ctor
+ fWriteNumAndDen = kTRUE;//change default behaviour
+ Rename("qtcf","Q_{t} Correlation Function");
+}
+/*************************************************************************************/ 
+    
+TH1* AliHBTQtCorrelFctn::GetResult()
+{
+ //returns the scaled ratio
+ delete fRatio;
+ fRatio = GetRatio(Scale());
+ return fRatio;
+}
 /*************************************************************************************/ 
 /*************************************************************************************/ 
 /*************************************************************************************/ 
 
 ClassImp(AliHBTInvMassCorrelFctn)
 
-AliHBTInvMassCorrelFctn::
-AliHBTInvMassCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
-                        AliHBTOnePairFctn1D(nbins,maxXval,minXval)
+AliHBTInvMassCorrelFctn::AliHBTInvMassCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
+ AliHBTOnePairFctn1D(nbins,maxXval,minXval)
 {
-  Rename("InvMass CF","Invariant Mass Correlation Function");
+ //ctor 
+ fWriteNumAndDen = kTRUE;//change default behaviour
+ Rename("InvMass CF","Invariant Mass Correlation Function");
 }
 
 TH1* AliHBTInvMassCorrelFctn::GetResult()
 {
- TString name = fName + " Result";
- return (TH1*)GetNumerator()->Clone(name.Data());
+ //returns result
+ return GetNumerator();
 }
 /*************************************************************************************/ 
 /*************************************************************************************/ 
@@ -80,10 +215,11 @@ TH1* AliHBTInvMassCorrelFctn::GetResult()
 
 ClassImp(AliHBTTwoKStarCorrelFctn)
 
-AliHBTTwoKStarCorrelFctn::
-AliHBTTwoKStarCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
-                     AliHBTOnePairFctn1D(nbins,maxXval,minXval)
+AliHBTTwoKStarCorrelFctn::AliHBTTwoKStarCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
+ AliHBTOnePairFctn1D(nbins,maxXval,minXval)
 {
+ //ctor 
+ fWriteNumAndDen = kTRUE;//change default behaviour
  Rename("twokstarcf","2K^{*} Correlation Function");
 }
 
@@ -91,7 +227,33 @@ AliHBTTwoKStarCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
 
 TH1* AliHBTTwoKStarCorrelFctn::GetResult()
 {  
- return GetRatio(Scale());
+ //returns the scaled ratio
+ delete fRatio;
+ fRatio = GetRatio(Scale());
+ return fRatio;
+}
+
+/*************************************************************************************/ 
+/*************************************************************************************/ 
+/*************************************************************************************/ 
+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;
 }
 
 /*************************************************************************************/