#include "AliFemtoTPCInnerCorrFctn.h"
#include <cstdio>
#ifdef __ROOT__
ClassImp(AliFemtoTPCInnerCorrFctn)
#endif
AliFemtoTPCInnerCorrFctn::AliFemtoTPCInnerCorrFctn(char* title, const int& nbins, const float& QinvLo, const float& QinvHi):
fDTPCNumerator(0),
fDTPCDenominator(0),
fRadDNumerator(0),
fRadDDenominator(0),
fRadius(100)
{
char tTitNum[101] = "NumDTPC";
strncat(tTitNum,title, 100);
fDTPCNumerator = new TH2D(tTitNum,title,nbins,QinvLo,QinvHi,100,0.0,20.0);
char tTitDen[101] = "DenDTPC";
strncat(tTitDen,title, 100);
fDTPCDenominator = new TH2D(tTitDen,title,nbins,QinvLo,QinvHi,100,0.0,20.0);
char tTitNumR[101] = "NumRadD";
strncat(tTitNumR,title, 100);
fRadDNumerator = new TH2D(tTitNumR,title,50,-0.1,0.1,50,-0.1,0.1);
char tTitDenR[101] = "DenRadD";
strncat(tTitDenR,title, 100);
fRadDDenominator = new TH2D(tTitDenR,title,50,-0.1,0.1,50,-0.1,0.1);
fDTPCNumerator->Sumw2();
fDTPCDenominator->Sumw2();
fRadDNumerator->Sumw2();
fRadDDenominator->Sumw2();
}
AliFemtoTPCInnerCorrFctn::AliFemtoTPCInnerCorrFctn(const AliFemtoTPCInnerCorrFctn& aCorrFctn) :
AliFemtoCorrFctn(),
fDTPCNumerator(0),
fDTPCDenominator(0),
fRadDNumerator(0),
fRadDDenominator(0),
fRadius(100)
{
if (aCorrFctn.fDTPCNumerator)
fDTPCNumerator = new TH2D(*aCorrFctn.fDTPCNumerator);
if (aCorrFctn.fDTPCDenominator)
fDTPCDenominator = new TH2D(*aCorrFctn.fDTPCDenominator);
if (aCorrFctn.fRadDNumerator)
fRadDNumerator = new TH2D(*aCorrFctn.fRadDNumerator);
if (aCorrFctn.fRadDDenominator)
fRadDDenominator = new TH2D(*aCorrFctn.fRadDDenominator);
}
AliFemtoTPCInnerCorrFctn::~AliFemtoTPCInnerCorrFctn(){
delete fDTPCNumerator;
delete fDTPCDenominator;
delete fRadDNumerator;
delete fRadDDenominator;
}
AliFemtoTPCInnerCorrFctn& AliFemtoTPCInnerCorrFctn::operator=(const AliFemtoTPCInnerCorrFctn& aCorrFctn)
{
if (this == &aCorrFctn)
return *this;
if (aCorrFctn.fDTPCNumerator)
fDTPCNumerator = new TH2D(*aCorrFctn.fDTPCNumerator);
else
fDTPCNumerator = 0;
if (aCorrFctn.fDTPCDenominator)
fDTPCDenominator = new TH2D(*aCorrFctn.fDTPCDenominator);
else
fDTPCDenominator = 0;
if (aCorrFctn.fRadDNumerator)
fRadDNumerator = new TH2D(*aCorrFctn.fRadDNumerator);
else
fRadDNumerator = 0;
if (aCorrFctn.fRadDDenominator)
fRadDDenominator = new TH2D(*aCorrFctn.fRadDDenominator);
else
fRadDDenominator = 0;
fRadius = aCorrFctn.fRadius;
return *this;
}
void AliFemtoTPCInnerCorrFctn::Finish(){
}
AliFemtoString AliFemtoTPCInnerCorrFctn::Report(){
string stemp = "Entrace TPC distance Correlation Function Report:\n";
char ctemp[100];
snprintf(ctemp , 100, "Number of entries in numerator:\t%E\n",fDTPCNumerator->GetEntries());
stemp += ctemp;
snprintf(ctemp , 100, "Number of entries in denominator:\t%E\n",fDTPCDenominator->GetEntries());
stemp += ctemp;
AliFemtoString returnThis = stemp;
return returnThis;
}
void AliFemtoTPCInnerCorrFctn::AddRealPair( AliFemtoPair* pair){
if (fPairCut)
if (!fPairCut->Pass(pair)) return;
double pih = TMath::Pi();
double pit = TMath::Pi()*2;
double tQinv = fabs(pair->QInv());
double distx = pair->Track1()->Track()->NominalTpcEntrancePoint().x() - pair->Track2()->Track()->NominalTpcEntrancePoint().x();
double disty = pair->Track1()->Track()->NominalTpcEntrancePoint().y() - pair->Track2()->Track()->NominalTpcEntrancePoint().y();
double distz = pair->Track1()->Track()->NominalTpcEntrancePoint().z() - pair->Track2()->Track()->NominalTpcEntrancePoint().z();
double dist = sqrt(distx*distx + disty*disty + distz*distz);
fDTPCNumerator->Fill(tQinv, dist);
if (tQinv < 0.1) {
double phi1 = pair->Track1()->Track()->P().Phi();
double phi2 = pair->Track2()->Track()->P().Phi();
double chg1 = pair->Track1()->Track()->Charge();
double chg2 = pair->Track2()->Track()->Charge();
double ptv1 = pair->Track1()->Track()->Pt();
double ptv2 = pair->Track2()->Track()->Pt();
double eta1 = pair->Track1()->Track()->P().PseudoRapidity();
double eta2 = pair->Track2()->Track()->P().PseudoRapidity();
double arg1 = -0.3 * 0.5 * chg1 * fRadius/(2*ptv1);
double arg2 = -0.3 * 0.5 * chg2 * fRadius/(2*ptv2);
double phid = phi2 - phi1 + TMath::ASin(arg2) - TMath::ASin(arg1);
while (phid>pih) phid -= pit;
while (phid<-pih) phid += pit;
double etad = eta2 - eta1;
fRadDNumerator->Fill(phid, etad);
}
}
void AliFemtoTPCInnerCorrFctn::AddMixedPair( AliFemtoPair* pair){
if (fPairCut)
if (!fPairCut->Pass(pair)) return;
double pih = TMath::Pi();
double pit = TMath::Pi()*2;
double tQinv = fabs(pair->QInv());
double distx = pair->Track1()->Track()->NominalTpcEntrancePoint().x() - pair->Track2()->Track()->NominalTpcEntrancePoint().x();
double disty = pair->Track1()->Track()->NominalTpcEntrancePoint().y() - pair->Track2()->Track()->NominalTpcEntrancePoint().y();
double distz = pair->Track1()->Track()->NominalTpcEntrancePoint().z() - pair->Track2()->Track()->NominalTpcEntrancePoint().z();
double dist = sqrt(distx*distx + disty*disty + distz*distz);
fDTPCDenominator->Fill(tQinv,dist);
if (tQinv < 0.1) {
double phi1 = pair->Track1()->Track()->P().Phi();
double phi2 = pair->Track2()->Track()->P().Phi();
double chg1 = pair->Track1()->Track()->Charge();
double chg2 = pair->Track2()->Track()->Charge();
double ptv1 = pair->Track1()->Track()->Pt();
double ptv2 = pair->Track2()->Track()->Pt();
double eta1 = pair->Track1()->Track()->P().PseudoRapidity();
double eta2 = pair->Track2()->Track()->P().PseudoRapidity();
double arg1 = -0.3 * 0.5 * chg1 * fRadius/(2*ptv1);
double arg2 = -0.3 * 0.5 * chg2 * fRadius/(2*ptv2);
double phid = phi2 - phi1 + TMath::ASin(arg2) - TMath::ASin(arg1);
while (phid>pih) phid -= pit;
while (phid<-pih) phid += pit;
double etad = eta2 - eta1;
fRadDDenominator->Fill(phid, etad);
}
}
void AliFemtoTPCInnerCorrFctn::WriteHistos()
{
fDTPCNumerator->Write();
fDTPCDenominator->Write();
fRadDNumerator->Write();
fRadDDenominator->Write();
}
TList* AliFemtoTPCInnerCorrFctn::GetOutputList()
{
TList *tOutputList = new TList();
tOutputList->Add(fDTPCNumerator);
tOutputList->Add(fDTPCDenominator);
tOutputList->Add(fRadDNumerator);
tOutputList->Add(fRadDDenominator);
return tOutputList;
}
void AliFemtoTPCInnerCorrFctn::SetRadius(double rad)
{
fRadius = rad;
}
AliFemtoTPCInnerCorrFctn.cxx:1 AliFemtoTPCInnerCorrFctn.cxx:2 AliFemtoTPCInnerCorrFctn.cxx:3 AliFemtoTPCInnerCorrFctn.cxx:4 AliFemtoTPCInnerCorrFctn.cxx:5 AliFemtoTPCInnerCorrFctn.cxx:6 AliFemtoTPCInnerCorrFctn.cxx:7 AliFemtoTPCInnerCorrFctn.cxx:8 AliFemtoTPCInnerCorrFctn.cxx:9 AliFemtoTPCInnerCorrFctn.cxx:10 AliFemtoTPCInnerCorrFctn.cxx:11 AliFemtoTPCInnerCorrFctn.cxx:12 AliFemtoTPCInnerCorrFctn.cxx:13 AliFemtoTPCInnerCorrFctn.cxx:14 AliFemtoTPCInnerCorrFctn.cxx:15 AliFemtoTPCInnerCorrFctn.cxx:16 AliFemtoTPCInnerCorrFctn.cxx:17 AliFemtoTPCInnerCorrFctn.cxx:18 AliFemtoTPCInnerCorrFctn.cxx:19 AliFemtoTPCInnerCorrFctn.cxx:20 AliFemtoTPCInnerCorrFctn.cxx:21 AliFemtoTPCInnerCorrFctn.cxx:22 AliFemtoTPCInnerCorrFctn.cxx:23 AliFemtoTPCInnerCorrFctn.cxx:24 AliFemtoTPCInnerCorrFctn.cxx:25 AliFemtoTPCInnerCorrFctn.cxx:26 AliFemtoTPCInnerCorrFctn.cxx:27 AliFemtoTPCInnerCorrFctn.cxx:28 AliFemtoTPCInnerCorrFctn.cxx:29 AliFemtoTPCInnerCorrFctn.cxx:30 AliFemtoTPCInnerCorrFctn.cxx:31 AliFemtoTPCInnerCorrFctn.cxx:32 AliFemtoTPCInnerCorrFctn.cxx:33 AliFemtoTPCInnerCorrFctn.cxx:34 AliFemtoTPCInnerCorrFctn.cxx:35 AliFemtoTPCInnerCorrFctn.cxx:36 AliFemtoTPCInnerCorrFctn.cxx:37 AliFemtoTPCInnerCorrFctn.cxx:38 AliFemtoTPCInnerCorrFctn.cxx:39 AliFemtoTPCInnerCorrFctn.cxx:40 AliFemtoTPCInnerCorrFctn.cxx:41 AliFemtoTPCInnerCorrFctn.cxx:42 AliFemtoTPCInnerCorrFctn.cxx:43 AliFemtoTPCInnerCorrFctn.cxx:44 AliFemtoTPCInnerCorrFctn.cxx:45 AliFemtoTPCInnerCorrFctn.cxx:46 AliFemtoTPCInnerCorrFctn.cxx:47 AliFemtoTPCInnerCorrFctn.cxx:48 AliFemtoTPCInnerCorrFctn.cxx:49 AliFemtoTPCInnerCorrFctn.cxx:50 AliFemtoTPCInnerCorrFctn.cxx:51 AliFemtoTPCInnerCorrFctn.cxx:52 AliFemtoTPCInnerCorrFctn.cxx:53 AliFemtoTPCInnerCorrFctn.cxx:54 AliFemtoTPCInnerCorrFctn.cxx:55 AliFemtoTPCInnerCorrFctn.cxx:56 AliFemtoTPCInnerCorrFctn.cxx:57 AliFemtoTPCInnerCorrFctn.cxx:58 AliFemtoTPCInnerCorrFctn.cxx:59 AliFemtoTPCInnerCorrFctn.cxx:60 AliFemtoTPCInnerCorrFctn.cxx:61 AliFemtoTPCInnerCorrFctn.cxx:62 AliFemtoTPCInnerCorrFctn.cxx:63 AliFemtoTPCInnerCorrFctn.cxx:64 AliFemtoTPCInnerCorrFctn.cxx:65 AliFemtoTPCInnerCorrFctn.cxx:66 AliFemtoTPCInnerCorrFctn.cxx:67 AliFemtoTPCInnerCorrFctn.cxx:68 AliFemtoTPCInnerCorrFctn.cxx:69 AliFemtoTPCInnerCorrFctn.cxx:70 AliFemtoTPCInnerCorrFctn.cxx:71 AliFemtoTPCInnerCorrFctn.cxx:72 AliFemtoTPCInnerCorrFctn.cxx:73 AliFemtoTPCInnerCorrFctn.cxx:74 AliFemtoTPCInnerCorrFctn.cxx:75 AliFemtoTPCInnerCorrFctn.cxx:76 AliFemtoTPCInnerCorrFctn.cxx:77 AliFemtoTPCInnerCorrFctn.cxx:78 AliFemtoTPCInnerCorrFctn.cxx:79 AliFemtoTPCInnerCorrFctn.cxx:80 AliFemtoTPCInnerCorrFctn.cxx:81 AliFemtoTPCInnerCorrFctn.cxx:82 AliFemtoTPCInnerCorrFctn.cxx:83 AliFemtoTPCInnerCorrFctn.cxx:84 AliFemtoTPCInnerCorrFctn.cxx:85 AliFemtoTPCInnerCorrFctn.cxx:86 AliFemtoTPCInnerCorrFctn.cxx:87 AliFemtoTPCInnerCorrFctn.cxx:88 AliFemtoTPCInnerCorrFctn.cxx:89 AliFemtoTPCInnerCorrFctn.cxx:90 AliFemtoTPCInnerCorrFctn.cxx:91 AliFemtoTPCInnerCorrFctn.cxx:92 AliFemtoTPCInnerCorrFctn.cxx:93 AliFemtoTPCInnerCorrFctn.cxx:94 AliFemtoTPCInnerCorrFctn.cxx:95 AliFemtoTPCInnerCorrFctn.cxx:96 AliFemtoTPCInnerCorrFctn.cxx:97 AliFemtoTPCInnerCorrFctn.cxx:98 AliFemtoTPCInnerCorrFctn.cxx:99 AliFemtoTPCInnerCorrFctn.cxx:100 AliFemtoTPCInnerCorrFctn.cxx:101 AliFemtoTPCInnerCorrFctn.cxx:102 AliFemtoTPCInnerCorrFctn.cxx:103 AliFemtoTPCInnerCorrFctn.cxx:104 AliFemtoTPCInnerCorrFctn.cxx:105 AliFemtoTPCInnerCorrFctn.cxx:106 AliFemtoTPCInnerCorrFctn.cxx:107 AliFemtoTPCInnerCorrFctn.cxx:108 AliFemtoTPCInnerCorrFctn.cxx:109 AliFemtoTPCInnerCorrFctn.cxx:110 AliFemtoTPCInnerCorrFctn.cxx:111 AliFemtoTPCInnerCorrFctn.cxx:112 AliFemtoTPCInnerCorrFctn.cxx:113 AliFemtoTPCInnerCorrFctn.cxx:114 AliFemtoTPCInnerCorrFctn.cxx:115 AliFemtoTPCInnerCorrFctn.cxx:116 AliFemtoTPCInnerCorrFctn.cxx:117 AliFemtoTPCInnerCorrFctn.cxx:118 AliFemtoTPCInnerCorrFctn.cxx:119 AliFemtoTPCInnerCorrFctn.cxx:120 AliFemtoTPCInnerCorrFctn.cxx:121 AliFemtoTPCInnerCorrFctn.cxx:122 AliFemtoTPCInnerCorrFctn.cxx:123 AliFemtoTPCInnerCorrFctn.cxx:124 AliFemtoTPCInnerCorrFctn.cxx:125 AliFemtoTPCInnerCorrFctn.cxx:126 AliFemtoTPCInnerCorrFctn.cxx:127 AliFemtoTPCInnerCorrFctn.cxx:128 AliFemtoTPCInnerCorrFctn.cxx:129 AliFemtoTPCInnerCorrFctn.cxx:130 AliFemtoTPCInnerCorrFctn.cxx:131 AliFemtoTPCInnerCorrFctn.cxx:132 AliFemtoTPCInnerCorrFctn.cxx:133 AliFemtoTPCInnerCorrFctn.cxx:134 AliFemtoTPCInnerCorrFctn.cxx:135 AliFemtoTPCInnerCorrFctn.cxx:136 AliFemtoTPCInnerCorrFctn.cxx:137 AliFemtoTPCInnerCorrFctn.cxx:138 AliFemtoTPCInnerCorrFctn.cxx:139 AliFemtoTPCInnerCorrFctn.cxx:140 AliFemtoTPCInnerCorrFctn.cxx:141 AliFemtoTPCInnerCorrFctn.cxx:142 AliFemtoTPCInnerCorrFctn.cxx:143 AliFemtoTPCInnerCorrFctn.cxx:144 AliFemtoTPCInnerCorrFctn.cxx:145 AliFemtoTPCInnerCorrFctn.cxx:146 AliFemtoTPCInnerCorrFctn.cxx:147 AliFemtoTPCInnerCorrFctn.cxx:148 AliFemtoTPCInnerCorrFctn.cxx:149 AliFemtoTPCInnerCorrFctn.cxx:150 AliFemtoTPCInnerCorrFctn.cxx:151 AliFemtoTPCInnerCorrFctn.cxx:152 AliFemtoTPCInnerCorrFctn.cxx:153 AliFemtoTPCInnerCorrFctn.cxx:154 AliFemtoTPCInnerCorrFctn.cxx:155 AliFemtoTPCInnerCorrFctn.cxx:156 AliFemtoTPCInnerCorrFctn.cxx:157 AliFemtoTPCInnerCorrFctn.cxx:158 AliFemtoTPCInnerCorrFctn.cxx:159 AliFemtoTPCInnerCorrFctn.cxx:160 AliFemtoTPCInnerCorrFctn.cxx:161 AliFemtoTPCInnerCorrFctn.cxx:162 AliFemtoTPCInnerCorrFctn.cxx:163 AliFemtoTPCInnerCorrFctn.cxx:164 AliFemtoTPCInnerCorrFctn.cxx:165 AliFemtoTPCInnerCorrFctn.cxx:166 AliFemtoTPCInnerCorrFctn.cxx:167 AliFemtoTPCInnerCorrFctn.cxx:168 AliFemtoTPCInnerCorrFctn.cxx:169 AliFemtoTPCInnerCorrFctn.cxx:170 AliFemtoTPCInnerCorrFctn.cxx:171 AliFemtoTPCInnerCorrFctn.cxx:172 AliFemtoTPCInnerCorrFctn.cxx:173 AliFemtoTPCInnerCorrFctn.cxx:174 AliFemtoTPCInnerCorrFctn.cxx:175 AliFemtoTPCInnerCorrFctn.cxx:176 AliFemtoTPCInnerCorrFctn.cxx:177 AliFemtoTPCInnerCorrFctn.cxx:178 AliFemtoTPCInnerCorrFctn.cxx:179 AliFemtoTPCInnerCorrFctn.cxx:180 AliFemtoTPCInnerCorrFctn.cxx:181 AliFemtoTPCInnerCorrFctn.cxx:182 AliFemtoTPCInnerCorrFctn.cxx:183 AliFemtoTPCInnerCorrFctn.cxx:184 AliFemtoTPCInnerCorrFctn.cxx:185 AliFemtoTPCInnerCorrFctn.cxx:186 AliFemtoTPCInnerCorrFctn.cxx:187 AliFemtoTPCInnerCorrFctn.cxx:188 AliFemtoTPCInnerCorrFctn.cxx:189 AliFemtoTPCInnerCorrFctn.cxx:190 AliFemtoTPCInnerCorrFctn.cxx:191 AliFemtoTPCInnerCorrFctn.cxx:192 AliFemtoTPCInnerCorrFctn.cxx:193 AliFemtoTPCInnerCorrFctn.cxx:194 AliFemtoTPCInnerCorrFctn.cxx:195 AliFemtoTPCInnerCorrFctn.cxx:196 AliFemtoTPCInnerCorrFctn.cxx:197 AliFemtoTPCInnerCorrFctn.cxx:198 AliFemtoTPCInnerCorrFctn.cxx:199 AliFemtoTPCInnerCorrFctn.cxx:200 AliFemtoTPCInnerCorrFctn.cxx:201 AliFemtoTPCInnerCorrFctn.cxx:202 AliFemtoTPCInnerCorrFctn.cxx:203 AliFemtoTPCInnerCorrFctn.cxx:204 AliFemtoTPCInnerCorrFctn.cxx:205 AliFemtoTPCInnerCorrFctn.cxx:206 AliFemtoTPCInnerCorrFctn.cxx:207 AliFemtoTPCInnerCorrFctn.cxx:208 AliFemtoTPCInnerCorrFctn.cxx:209 AliFemtoTPCInnerCorrFctn.cxx:210 AliFemtoTPCInnerCorrFctn.cxx:211 AliFemtoTPCInnerCorrFctn.cxx:212 AliFemtoTPCInnerCorrFctn.cxx:213 AliFemtoTPCInnerCorrFctn.cxx:214 AliFemtoTPCInnerCorrFctn.cxx:215 AliFemtoTPCInnerCorrFctn.cxx:216 AliFemtoTPCInnerCorrFctn.cxx:217 AliFemtoTPCInnerCorrFctn.cxx:218 AliFemtoTPCInnerCorrFctn.cxx:219 AliFemtoTPCInnerCorrFctn.cxx:220 AliFemtoTPCInnerCorrFctn.cxx:221 AliFemtoTPCInnerCorrFctn.cxx:222 AliFemtoTPCInnerCorrFctn.cxx:223 AliFemtoTPCInnerCorrFctn.cxx:224 AliFemtoTPCInnerCorrFctn.cxx:225 AliFemtoTPCInnerCorrFctn.cxx:226 AliFemtoTPCInnerCorrFctn.cxx:227 AliFemtoTPCInnerCorrFctn.cxx:228 AliFemtoTPCInnerCorrFctn.cxx:229 AliFemtoTPCInnerCorrFctn.cxx:230 AliFemtoTPCInnerCorrFctn.cxx:231 AliFemtoTPCInnerCorrFctn.cxx:232 AliFemtoTPCInnerCorrFctn.cxx:233 AliFemtoTPCInnerCorrFctn.cxx:234 AliFemtoTPCInnerCorrFctn.cxx:235