#include "AliFemtoModelCorrFctn3DLCMSSpherical.h"
#include "AliFemtoModelManager.h"
#include <TMath.h>
#include <cstdio>
#ifdef __ROOT__
ClassImp(AliFemtoModelCorrFctn3DLCMSSpherical)
#endif
AliFemtoModelCorrFctn3DLCMSSpherical::AliFemtoModelCorrFctn3DLCMSSpherical(char* title, const int& nqbins, const float& QLo, const float& QHi, const int& nphibins, const int& ncthetabins):
fTrueNumeratorSph(0),
fFakeNumeratorSph(0),
fDenominatorSph(0),
fPairCut(0x0)
{
char tTitNum[101] = "NumTrue";
strncat(tTitNum,title, 100);
fTrueNumeratorSph = new TH3D(tTitNum,title,nqbins,QLo,QHi,nphibins,-TMath::Pi(),TMath::Pi(),ncthetabins,-1.0,1.0);
char tTitNumF[101] = "NumFake";
strncat(tTitNumF,title, 100);
fFakeNumeratorSph = new TH3D(tTitNumF,title,nqbins,QLo,QHi,nphibins,-TMath::Pi(),TMath::Pi(),ncthetabins,-1.0,1.0);
char tTitDen[101] = "Den";
strncat(tTitDen,title, 100);
fDenominatorSph = new TH3D(tTitDen,title,nqbins,QLo,QHi,nphibins,-TMath::Pi(),TMath::Pi(),ncthetabins,-1.0,1.0);
fTrueNumeratorSph->Sumw2();
fFakeNumeratorSph->Sumw2();
fDenominatorSph->Sumw2();
}
AliFemtoModelCorrFctn3DLCMSSpherical::AliFemtoModelCorrFctn3DLCMSSpherical(const AliFemtoModelCorrFctn3DLCMSSpherical& aCorrFctn) :
AliFemtoModelCorrFctn(),
fTrueNumeratorSph(0),
fFakeNumeratorSph(0),
fDenominatorSph(0),
fPairCut(0x0)
{
fTrueNumeratorSph = new TH3D(*aCorrFctn.fTrueNumeratorSph);
fFakeNumeratorSph = new TH3D(*aCorrFctn.fFakeNumeratorSph);
fDenominatorSph = new TH3D(*aCorrFctn.fDenominatorSph);
fPairCut = aCorrFctn.fPairCut;
}
AliFemtoModelCorrFctn3DLCMSSpherical::~AliFemtoModelCorrFctn3DLCMSSpherical(){
delete fTrueNumeratorSph;
delete fFakeNumeratorSph;
delete fDenominatorSph;
}
AliFemtoModelCorrFctn3DLCMSSpherical& AliFemtoModelCorrFctn3DLCMSSpherical::operator=(const AliFemtoModelCorrFctn3DLCMSSpherical& aCorrFctn)
{
if (this == &aCorrFctn)
return *this;
if (fTrueNumeratorSph) delete fTrueNumeratorSph;
fTrueNumeratorSph = new TH3D(*aCorrFctn.fTrueNumeratorSph);
if (fFakeNumeratorSph) delete fFakeNumeratorSph;
fFakeNumeratorSph = new TH3D(*aCorrFctn.fFakeNumeratorSph);
if (fDenominatorSph) delete fDenominatorSph;
fDenominatorSph = new TH3D(*aCorrFctn.fDenominatorSph);
fPairCut = aCorrFctn.fPairCut;
return *this;
}
void AliFemtoModelCorrFctn3DLCMSSpherical::WriteOutHistos(){
fTrueNumeratorSph->Write();
fFakeNumeratorSph->Write();
fDenominatorSph->Write();
}
TList* AliFemtoModelCorrFctn3DLCMSSpherical::GetOutputList()
{
TList *tOutputList = new TList();
tOutputList->Add(fTrueNumeratorSph);
tOutputList->Add(fFakeNumeratorSph);
tOutputList->Add(fDenominatorSph);
return tOutputList;
}
void AliFemtoModelCorrFctn3DLCMSSpherical::Finish(){
}
AliFemtoString AliFemtoModelCorrFctn3DLCMSSpherical::Report(){
string stemp = "LCMS Frame Spherical 3D Model Correlation Function Report:\n";
char ctemp[100];
snprintf(ctemp , 100, "Number of entries in numerator:\t%E\n",fTrueNumeratorSph->GetEntries());
stemp += ctemp;
snprintf(ctemp , 100, "Number of entries in denominator:\t%E\n",fDenominatorSph->GetEntries());
stemp += ctemp;
if (fPairCut){
snprintf(ctemp , 100, "Here is the PairCut specific to this CorrFctn\n");
stemp += ctemp;
stemp += fPairCut->Report();
}
else{
snprintf(ctemp , 100, "No PairCut specific to this CorrFctn\n");
stemp += ctemp;
}
AliFemtoString returnThis = stemp;
return returnThis;
}
void AliFemtoModelCorrFctn3DLCMSSpherical::AddRealPair( AliFemtoPair* pair){
if (fPairCut){
if (!(fPairCut->Pass(pair))) return;
}
Double_t weight = fManager->GetWeight(pair);
double tKO = (pair->QOutCMS());
double tKS = (pair->QSideCMS());
double tKL = (pair->QLongCMS());
double tKR = sqrt(tKO*tKO + tKS*tKS + tKL*tKL);
double tKC;
if ( fabs(tKR) < 1e-10 ) tKC = 0.0;
else tKC=tKL/tKR;
double tKP=atan2(tKS,tKO);
fTrueNumeratorSph->Fill(tKR,tKP,tKC,weight);
}
void AliFemtoModelCorrFctn3DLCMSSpherical::AddMixedPair( AliFemtoPair* pair){
if (fPairCut){
if (!(fPairCut->Pass(pair))) return;
}
Double_t weight = fManager->GetWeight(pair);
double tKO = (pair->QOutCMS());
double tKS = (pair->QSideCMS());
double tKL = (pair->QLongCMS());
double tKR = sqrt(tKO*tKO + tKS*tKS + tKL*tKL);
double tKC;
if ( fabs(tKR) < 1e-10 ) tKC = 0.0;
else tKC=tKL/tKR;
double tKP=atan2(tKS,tKO);
fFakeNumeratorSph->Fill(tKR,tKP,tKC,weight);
fDenominatorSph->Fill(tKR,tKP,tKC);
}
AliFemtoModelCorrFctn3DLCMSSpherical.cxx:1 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:2 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:3 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:4 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:5 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:6 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:7 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:8 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:9 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:10 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:11 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:12 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:13 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:14 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:15 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:16 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:17 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:18 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:19 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:20 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:21 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:22 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:23 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:24 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:25 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:26 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:27 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:28 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:29 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:30 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:31 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:32 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:33 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:34 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:35 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:36 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:37 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:38 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:39 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:40 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:41 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:42 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:43 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:44 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:45 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:46 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:47 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:48 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:49 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:50 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:51 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:52 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:53 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:54 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:55 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:56 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:57 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:58 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:59 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:60 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:61 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:62 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:63 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:64 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:65 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:66 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:67 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:68 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:69 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:70 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:71 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:72 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:73 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:74 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:75 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:76 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:77 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:78 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:79 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:80 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:81 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:82 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:83 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:84 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:85 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:86 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:87 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:88 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:89 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:90 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:91 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:92 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:93 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:94 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:95 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:96 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:97 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:98 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:99 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:100 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:101 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:102 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:103 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:104 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:105 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:106 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:107 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:108 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:109 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:110 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:111 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:112 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:113 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:114 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:115 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:116 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:117 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:118 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:119 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:120 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:121 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:122 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:123 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:124 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:125 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:126 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:127 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:128 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:129 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:130 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:131 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:132 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:133 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:134 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:135 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:136 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:137 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:138 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:139 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:140 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:141 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:142 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:143 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:144 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:145 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:146 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:147 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:148 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:149 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:150 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:151 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:152 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:153 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:154 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:155 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:156 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:157 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:158 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:159 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:160 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:161 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:162 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:163 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:164 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:165 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:166 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:167 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:168 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:169 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:170 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:171 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:172 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:173 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:174 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:175 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:176 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:177 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:178 AliFemtoModelCorrFctn3DLCMSSpherical.cxx:179