]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG2/FEMTOSCOPY/AliFemtoUser/AliFemtoCorrFctnDEtaDPhi.cxx
Migration of PWG2/FEMTOSCOPY to PWGCF/FEMTOSCOPY
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemtoUser / AliFemtoCorrFctnDEtaDPhi.cxx
diff --git a/PWG2/FEMTOSCOPY/AliFemtoUser/AliFemtoCorrFctnDEtaDPhi.cxx b/PWG2/FEMTOSCOPY/AliFemtoUser/AliFemtoCorrFctnDEtaDPhi.cxx
deleted file mode 100644 (file)
index a452e85..0000000
+++ /dev/null
@@ -1,389 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//                                                                            //
-// AliFemtoCorrFctnDEtaDPhi - A correlation function that analyzes            //
-// two particle correlations with respect to the azimuthal angle (phi)        //
-// and pseudorapidity (eta) difference                                        //
-//                                                                            //
-// Authors: Adam Kisiel Adam.Kisiel@cern.ch                                   //
-//                                                                            //
-////////////////////////////////////////////////////////////////////////////////
-
-#include "AliFemtoCorrFctnDEtaDPhi.h"
-#include "AliFemtoModelHiddenInfo.h"
-//#include "AliFemtoHisto.hh"
-#include <cstdio>
-#include <TMath.h>
-
-#ifdef __ROOT__ 
-ClassImp(AliFemtoCorrFctnDEtaDPhi)
-#endif
-  
-#define PIH 1.57079632679489656
-#define PIT 6.28318530717958623
-#define PIQ 4.71238898038468967
-
-//____________________________
-AliFemtoCorrFctnDEtaDPhi::AliFemtoCorrFctnDEtaDPhi(char* title, const int& aPhiBins=20, const int& aEtaBins=20):
-  AliFemtoCorrFctn(),
-  fDPhiDEtaNumerator(0),
-  fDPhiDEtaDenominator(0),
-  fDPhiNumerator(0),
-  fDPhiDenominator(0),
-  fDCosNumerator(0),
-  fDCosDenominator(0),
-  fDoPtAnalysis(0),
-  fDPhiPtNumerator(0),
-  fDPhiPtDenominator(0),
-  fDCosPtNumerator(0),
-  fDCosPtDenominator(0)
-{
-  // set up numerator
-  char tTitNumD[101] = "NumDPhiDEta";
-  strncat(tTitNumD,title, 100);
-  fDPhiDEtaNumerator = new TH2D(tTitNumD,title,aPhiBins,-0.5*TMath::Pi(),1.5*TMath::Pi(),aEtaBins,-2.5,2.5);
-  // set up denominator
-  char tTitDenD[101] = "DenDPhiDEta";
-  strncat(tTitDenD,title, 100);
-  fDPhiDEtaDenominator = new TH2D(tTitDenD,title,aPhiBins,-0.5*TMath::Pi(),1.5*TMath::Pi(),aEtaBins,-2.5,2.5);
-
-  // set up numerator
-  char tTitNumDPhi[101] = "NumDPhi";
-  strncat(tTitNumDPhi,title, 100);
-  fDPhiNumerator = new TH1D(tTitNumDPhi,title,aPhiBins*2,-0.5*TMath::Pi(),1.5*TMath::Pi());
-  // set up denominator
-  char tTitDenDPhi[101] = "DenDPhi";
-  strncat(tTitDenDPhi,title, 100);
-  fDPhiDenominator = new TH1D(tTitDenDPhi,title,aPhiBins*2,-0.5*TMath::Pi(),1.5*TMath::Pi());
-
-  // set up numerator
-  char tTitNumDCos[101] = "NumDCos";
-  strncat(tTitNumDCos,title, 100);
-  fDCosNumerator = new TH1D(tTitNumDCos,title,aPhiBins*2,-1.0,1.0);
-  // set up denominator
-  char tTitDenDCos[101] = "DenDCos";
-  strncat(tTitDenDCos,title, 100);
-  fDCosDenominator = new TH1D(tTitDenDCos,title,aPhiBins*2,-1.0,1.0);
-
-  // to enable error bar calculation...
-  fDPhiDEtaNumerator->Sumw2();
-  fDPhiDEtaDenominator->Sumw2();
-  fDPhiNumerator->Sumw2();
-  fDPhiDenominator->Sumw2();
-  fDCosNumerator->Sumw2();
-  fDCosDenominator->Sumw2();
-}
-
-//____________________________
-AliFemtoCorrFctnDEtaDPhi::AliFemtoCorrFctnDEtaDPhi(const AliFemtoCorrFctnDEtaDPhi& aCorrFctn) :
-  AliFemtoCorrFctn(),
-  fDPhiDEtaNumerator(0),
-  fDPhiDEtaDenominator(0),
-  fDPhiNumerator(0),
-  fDPhiDenominator(0),
-  fDCosNumerator(0),
-  fDCosDenominator(0),
-  fDoPtAnalysis(0),
-  fDPhiPtNumerator(0),
-  fDPhiPtDenominator(0),
-  fDCosPtNumerator(0),
-  fDCosPtDenominator(0)
-{
-  // copy constructor
-  if (aCorrFctn.fDPhiDEtaNumerator)
-    fDPhiDEtaNumerator = new TH2D(*aCorrFctn.fDPhiDEtaNumerator);
-  else
-    fDPhiDEtaNumerator = 0;
-  if (aCorrFctn.fDPhiDEtaDenominator)
-    fDPhiDEtaDenominator = new TH2D(*aCorrFctn.fDPhiDEtaDenominator);
-  else
-    fDPhiDEtaDenominator = 0;
-
-  if (aCorrFctn.fDPhiNumerator)
-    fDPhiNumerator = new TH1D(*aCorrFctn.fDPhiNumerator);
-  else
-    fDPhiNumerator = 0;
-  if (aCorrFctn.fDPhiDenominator)
-    fDPhiDenominator = new TH1D(*aCorrFctn.fDPhiDenominator);
-  else
-    fDPhiDenominator = 0;
-
-  if (aCorrFctn.fDCosNumerator)
-    fDCosNumerator = new TH1D(*aCorrFctn.fDCosNumerator);
-  else
-    fDCosNumerator = 0;
-  if (aCorrFctn.fDCosDenominator)
-    fDCosDenominator = new TH1D(*aCorrFctn.fDCosDenominator);
-  else
-    fDCosDenominator = 0;
-
-  if (aCorrFctn.fDPhiPtNumerator)
-    fDPhiPtNumerator = new TH2D(*aCorrFctn.fDPhiPtNumerator);
-  else
-    fDPhiPtNumerator = 0;
-  if (aCorrFctn.fDPhiPtDenominator)
-    fDPhiPtDenominator = new TH2D(*aCorrFctn.fDPhiPtDenominator);
-  else
-    fDPhiPtDenominator = 0;
-
-  if (aCorrFctn.fDCosPtNumerator)
-    fDCosPtNumerator = new TH2D(*aCorrFctn.fDCosPtNumerator);
-  else
-    fDCosPtNumerator = 0;
-  if (aCorrFctn.fDCosPtDenominator)
-    fDCosPtDenominator = new TH2D(*aCorrFctn.fDCosPtDenominator);
-  else
-    fDCosPtDenominator = 0;
-
-}
-//____________________________
-AliFemtoCorrFctnDEtaDPhi::~AliFemtoCorrFctnDEtaDPhi(){
-  // destructor
-  delete fDPhiDEtaNumerator;
-  delete fDPhiDEtaDenominator;
-  delete fDPhiNumerator;
-  delete fDPhiDenominator;
-  delete fDCosNumerator;
-  delete fDCosDenominator;
-  if (fDoPtAnalysis) {
-    delete fDPhiPtNumerator;
-    delete fDPhiPtDenominator;
-    delete fDCosPtNumerator;
-    delete fDCosPtDenominator;
-  }
-}
-//_________________________
-AliFemtoCorrFctnDEtaDPhi& AliFemtoCorrFctnDEtaDPhi::operator=(const AliFemtoCorrFctnDEtaDPhi& aCorrFctn)
-{
-  // assignment operator
-  if (this == &aCorrFctn)
-    return *this;
-
-  if (aCorrFctn.fDPhiDEtaNumerator)
-    fDPhiDEtaNumerator = new TH2D(*aCorrFctn.fDPhiDEtaNumerator);
-  else
-    fDPhiDEtaNumerator = 0;
-  if (aCorrFctn.fDPhiDEtaDenominator)
-    fDPhiDEtaDenominator = new TH2D(*aCorrFctn.fDPhiDEtaDenominator);
-  else
-    fDPhiDEtaDenominator = 0;
-
-  if (aCorrFctn.fDPhiNumerator)
-    fDPhiNumerator = new TH1D(*aCorrFctn.fDPhiNumerator);
-  else
-    fDPhiNumerator = 0;
-  if (aCorrFctn.fDPhiDenominator)
-    fDPhiDenominator = new TH1D(*aCorrFctn.fDPhiDenominator);
-  else
-    fDPhiDenominator = 0;
-
-  if (aCorrFctn.fDCosNumerator)
-    fDCosNumerator = new TH1D(*aCorrFctn.fDCosNumerator);
-  else
-    fDCosNumerator = 0;
-  if (aCorrFctn.fDCosDenominator)
-    fDCosDenominator = new TH1D(*aCorrFctn.fDCosDenominator);
-  else
-    fDCosDenominator = 0;
-
-  if (aCorrFctn.fDPhiPtNumerator)
-    fDPhiPtNumerator = new TH2D(*aCorrFctn.fDPhiPtNumerator);
-  else
-    fDPhiPtNumerator = 0;
-  if (aCorrFctn.fDPhiPtDenominator)
-    fDPhiPtDenominator = new TH2D(*aCorrFctn.fDPhiPtDenominator);
-  else
-    fDPhiPtDenominator = 0;
-
-  if (aCorrFctn.fDCosPtNumerator)
-    fDCosPtNumerator = new TH2D(*aCorrFctn.fDCosPtNumerator);
-  else
-    fDCosPtNumerator = 0;
-  if (aCorrFctn.fDCosPtDenominator)
-    fDCosPtDenominator = new TH2D(*aCorrFctn.fDCosPtDenominator);
-  else
-    fDCosPtDenominator = 0;
-
-  return *this;
-}
-//_________________________
-void AliFemtoCorrFctnDEtaDPhi::Finish(){
-  // here is where we should normalize, fit, etc...
-  // we should NOT Draw() the histos (as I had done it below),
-  // since we want to insulate ourselves from root at this level
-  // of the code.  Do it instead at root command line with browser.
-  //  mShareNumerator->Draw();
-  //mShareDenominator->Draw();
-  //mRatio->Draw();
-
-}
-
-//____________________________
-AliFemtoString AliFemtoCorrFctnDEtaDPhi::Report(){
-  // create report
-  string stemp = "TPC Ncls Correlation Function Report:\n";
-  char ctemp[100];
-  snprintf(ctemp , 100, "Number of entries in numerator:\t%E\n",fDPhiDEtaNumerator->GetEntries());
-  stemp += ctemp;
-  snprintf(ctemp , 100, "Number of entries in denominator:\t%E\n",fDPhiDEtaDenominator->GetEntries());
-  stemp += ctemp;
-  //  stemp += mCoulombWeight->Report();
-  AliFemtoString returnThis = stemp;
-  return returnThis;
-}
-//____________________________
-void AliFemtoCorrFctnDEtaDPhi::AddRealPair( AliFemtoPair* pair){
-  // add real (effect) pair
-  if (fPairCut)
-    if (!fPairCut->Pass(pair)) return;
-
-  double phi1 = pair->Track1()->Track()->P().Phi();
-  double phi2 = pair->Track2()->Track()->P().Phi();
-  double eta1 = pair->Track1()->Track()->P().PseudoRapidity();
-  double eta2 = pair->Track2()->Track()->P().PseudoRapidity();
-
-  double dphi = phi1 - phi2;
-  while (dphi<-PIH) dphi+=PIT;
-  while (dphi>PIQ) dphi-=PIT;
-
-  double deta = eta1 - eta2;
-
-//   double px1 = pair->Track1()->Track()->P().x();
-//   double py1 = pair->Track1()->Track()->P().y();
-//   double pz1 = pair->Track1()->Track()->P().z();
-
-//   double px2 = pair->Track2()->Track()->P().x();
-//   double py2 = pair->Track2()->Track()->P().y();
-//   double pz2 = pair->Track2()->Track()->P().z();
-
-//   double pt1 = TMath::Hypot(px1, py1);
-//   double pt2 = TMath::Hypot(px2, py2);
-//   double ptmin = pt1>pt2 ? pt2 : pt1;
-
-//   double cosphi = (px1*px2 + py1*py2 + pz1*pz2)/
-//     sqrt((px1*px1 + py1*py1 + pz1*pz1)*(px2*px2 + py2*py2 + pz2*pz2));
-
-  fDPhiDEtaNumerator->Fill(dphi, deta);
-
-  fDPhiNumerator->Fill(dphi);
-//   fDCosNumerator->Fill(cosphi);
-
-  if (fDoPtAnalysis) {
-//     fDPhiPtNumerator->Fill(dphi, ptmin);
-//     fDCosPtNumerator->Fill(cosphi, ptmin);
-  }
-
-}
-//____________________________
-void AliFemtoCorrFctnDEtaDPhi::AddMixedPair( AliFemtoPair* pair){
-  // add mixed (background) pair
-  if (fPairCut)
-    if (!fPairCut->Pass(pair)) return;
-
-  double phi1 = pair->Track1()->Track()->P().Phi();
-  double phi2 = pair->Track2()->Track()->P().Phi();
-  double eta1 = pair->Track1()->Track()->P().PseudoRapidity();
-  double eta2 = pair->Track2()->Track()->P().PseudoRapidity();
-
-  double dphi = phi1 - phi2;
-  while (dphi<-PIH) dphi+=PIT;
-  while (dphi>PIQ) dphi-=PIT;
-
-  double deta = eta1 - eta2;
-
-//   double px1 = pair->Track1()->Track()->P().x();
-//   double py1 = pair->Track1()->Track()->P().y();
-//   double pz1 = pair->Track1()->Track()->P().z();
-
-//   double px2 = pair->Track2()->Track()->P().x();
-//   double py2 = pair->Track2()->Track()->P().y();
-//   double pz2 = pair->Track2()->Track()->P().z();
-
-//   double pt1 = TMath::Hypot(px1, py1);
-//   double pt2 = TMath::Hypot(px2, py2);
-//   double ptmin = pt1>pt2 ? pt2 : pt1;
-
-//   double cosphi = (px1*px2 + py1*py2 + pz1*pz2)/
-//     sqrt((px1*px1 + py1*py1 + pz1*pz1)*(px2*px2 + py2*py2 + pz2*pz2));
-
-  fDPhiDEtaDenominator->Fill(dphi, deta);
-
-  fDPhiDenominator->Fill(dphi);
-//   fDCosDenominator->Fill(cosphi);
-
-  if (fDoPtAnalysis) {
-    //   fDPhiPtDenominator->Fill(dphi, ptmin);
-    //   fDCosPtDenominator->Fill(cosphi, ptmin);
-  }
-}
-
-
-void AliFemtoCorrFctnDEtaDPhi::WriteHistos()
-{
-  // Write out result histograms
-  fDPhiDEtaNumerator->Write();
-  fDPhiDEtaDenominator->Write();
-  fDPhiNumerator->Write();
-  fDPhiDenominator->Write();
-  fDCosNumerator->Write();
-  fDCosDenominator->Write();
-  if (fDoPtAnalysis) {
-    fDPhiPtNumerator->Write();
-    fDPhiPtDenominator->Write();
-    fDCosPtNumerator->Write();
-    fDCosPtDenominator->Write();
-  }
-}
-
-TList* AliFemtoCorrFctnDEtaDPhi::GetOutputList()
-{
-  // Prepare the list of objects to be written to the output
-  TList *tOutputList = new TList();
-
-  tOutputList->Add(fDPhiDEtaNumerator);
-  tOutputList->Add(fDPhiDEtaDenominator);
-  tOutputList->Add(fDPhiNumerator);
-  tOutputList->Add(fDPhiDenominator);
-  tOutputList->Add(fDCosNumerator);
-  tOutputList->Add(fDCosDenominator);
-  if (fDoPtAnalysis) {
-    tOutputList->Add(fDPhiPtNumerator);
-    tOutputList->Add(fDPhiPtDenominator);
-    tOutputList->Add(fDCosPtNumerator);
-    tOutputList->Add(fDCosPtDenominator);
-  }
-
-  return tOutputList;
-
-}
-
-void AliFemtoCorrFctnDEtaDPhi::SetDoPtAnalysis(int do2d)
-{
-  fDoPtAnalysis = do2d;
-  
-  int aPhiBins = fDPhiDEtaNumerator->GetNbinsX();
-  const char *title = fDPhiDEtaNumerator->GetTitle();
-
-  // set up numerator
-  char tTitNumDPhiPt[101] = "NumDPhiPt";
-  strncat(tTitNumDPhiPt,title, 100);
-  fDPhiPtNumerator = new TH2D(tTitNumDPhiPt,title,aPhiBins*2,-0.5*TMath::Pi(),1.5*TMath::Pi(), 30, 0.0, 3.0);
-  // set up denominator
-  char tTitDenDPhiPt[101] = "DenDPhiPt";
-  strncat(tTitDenDPhiPt,title, 100);
-  fDPhiPtDenominator = new TH2D(tTitDenDPhiPt,title,aPhiBins*2,-0.5*TMath::Pi(),1.5*TMath::Pi(), 30, 0.0, 3.0);
-
-  // set up numerator
-  char tTitNumDCosPt[101] = "NumDCosPt";
-  strncat(tTitNumDCosPt,title, 100);
-  fDCosPtNumerator = new TH2D(tTitNumDCosPt,title,aPhiBins*2,-1.0,1.0, 30, 0.0, 3.0);
-  // set up denominator
-  char tTitDenDCosPt[101] = "DenDCosPt";
-  strncat(tTitDenDCosPt,title, 100);
-  fDCosPtDenominator = new TH2D(tTitDenDCosPt,title,aPhiBins*2,-1.0,1.0, 30, 0.0, 3.0);
-
-  fDPhiPtNumerator->Sumw2();
-  fDPhiPtDenominator->Sumw2();
-  fDCosPtNumerator->Sumw2();
-  fDCosPtDenominator->Sumw2();
-  
-}