1 ///////////////////////////////////////////////////////////////////////////
3 // AliFemtoCoulomb: This is a Coulomb correction class which //
4 // 1. Reads in the dat from a file //
5 // 2. Performs a linear interpolation in R and creates any array of //
7 // 3. Interpolates in eta and returns the Coulomb correction to user //
9 ///////////////////////////////////////////////////////////////////////////
11 #ifndef ALIFEMTOCOULOMB_H
12 #define ALIFEMTOCOULOMB_H
15 #include "AliFemtoTypes.h"
16 #include "AliFemtoPair.h"
17 #include "AliFemtoParticle.h"
21 class AliFemtoCoulomb {
25 AliFemtoCoulomb(const char *readFile, const double& radius, const double& charge);
26 AliFemtoCoulomb(const AliFemtoCoulomb& aCoul);
27 virtual ~AliFemtoCoulomb();
29 AliFemtoCoulomb& operator=(const AliFemtoCoulomb& aCoul);
31 void SetRadius(const double& radius);
32 double GetRadius() const;
33 void SetFile(const char *readFile);
34 void SetChargeProduct(const double& charge);
36 // These have different names so eta/Qinv don't confuse the compiler
37 double CoulombCorrect(const double& eta);
38 double CoulombCorrect(const double& eta, const double& radius);
39 double CoulombCorrect(const AliFemtoPair* pair);
40 double CoulombCorrect(const AliFemtoPair* pair, const double& radius);
41 double CoulombCorrect(const double& mass, const double& charge,
42 const double& radius, const double& qInv);
43 TH1D* CorrectionHistogram(const double& mass1, const double& mass2, const int& nBins,
44 const double& low, const double& high);
46 TH1D* CorrectionHistogram(const TH1D*, const double);
47 TH3D* CorrectionHistogram(const TH3D*, const double);
50 double Eta(const AliFemtoPair* pair); // Calculates eta
51 void CreateLookupTable(const double& radius); // Creates look-up table
52 const char* fFile; // File to interpolate corrections from
53 double fRadius; // Radius from previous iteration
54 double fZ1Z2; // Charge product of particles
55 double fEta[1000]; // interpolated Coulomb correction table
56 double fCoulomb[1000]; // interpolated Coulomb correction table
57 int fNLines; // Number of Eta's in lookup-table
60 ClassDef(AliFemtoCoulomb, 0)