#include "AliFemtoModelBPLCMSCorrFctn.h"
#include "AliFemtoPair.h"
#include "AliFemtoModelManager.h"
#include "AliFemtoKTPairCut.h"
#include "AliFemtoAnalysisReactionPlane.h"
#include <cstdio>
#ifdef __ROOT__
ClassImp(AliFemtoModelBPLCMSCorrFctn)
#endif
AliFemtoModelBPLCMSCorrFctn::AliFemtoModelBPLCMSCorrFctn(char* title, const int& nbins, const float& QLo, const float& QHi)
:
AliFemtoModelCorrFctn(title, nbins, QLo, QHi),
fNumerator3DTrue(0),
fNumerator3DFake(0),
fDenominator3D(0),
fQinvHisto(0),
fPairCut(0),
fUseRPSelection(0)
{
char tTitNumT[101] = "Num3DTrue";
strncat(tTitNumT,title, 100);
fNumerator3DTrue = new TH3D(tTitNumT,title,nbins,QLo,QHi,nbins,QLo,QHi,nbins,QLo,QHi);
char tTitNumF[101] = "Num3DFake";
strncat(tTitNumF,title, 100);
fNumerator3DFake = new TH3D(tTitNumF,title,nbins,QLo,QHi,nbins,QLo,QHi,nbins,QLo,QHi);
char tTitDen[101] = "Den3D";
strncat(tTitDen,title, 100);
fDenominator3D = new TH3D(tTitDen,title,nbins,QLo,QHi,nbins,QLo,QHi,nbins,QLo,QHi);
char tTitQinv[101] = "Qinv";
strncat(tTitQinv,title, 100);
fQinvHisto = new TH3D(tTitQinv,title,nbins,QLo,QHi,nbins,QLo,QHi,nbins,QLo,QHi);
fNumerator3DTrue->Sumw2();
fNumerator3DFake->Sumw2();
fDenominator3D->Sumw2();
}
AliFemtoModelBPLCMSCorrFctn::AliFemtoModelBPLCMSCorrFctn(const AliFemtoModelBPLCMSCorrFctn& aCorrFctn) :
AliFemtoModelCorrFctn(aCorrFctn),
fNumerator3DTrue(0),
fNumerator3DFake(0),
fDenominator3D(0),
fQinvHisto(0),
fPairCut(0),
fUseRPSelection(0)
{
fNumerator3DTrue = new TH3D(*aCorrFctn.fNumerator3DTrue);
fNumerator3DFake = new TH3D(*aCorrFctn.fNumerator3DFake);
fDenominator3D = new TH3D(*aCorrFctn.fDenominator3D);
fQinvHisto = new TH3D(*aCorrFctn.fQinvHisto);
fPairCut = aCorrFctn.fPairCut->Clone();
}
AliFemtoModelBPLCMSCorrFctn::~AliFemtoModelBPLCMSCorrFctn()
{
if (fNumeratorTrue) delete fNumeratorTrue;
if (fNumeratorFake) delete fNumeratorFake;
if (fDenominator) delete fDenominator;
delete fNumerator3DTrue;
delete fNumerator3DFake;
delete fDenominator3D;
delete fQinvHisto;
if (fPairCut) delete fPairCut;
}
AliFemtoModelBPLCMSCorrFctn& AliFemtoModelBPLCMSCorrFctn::operator=(const AliFemtoModelBPLCMSCorrFctn& aCorrFctn)
{
if (this == &aCorrFctn)
return *this;
if (fNumerator3DTrue) delete fNumerator3DTrue;
fNumerator3DTrue = new TH3D(*aCorrFctn.fNumerator3DTrue);
if (fNumerator3DFake) delete fNumerator3DFake;
fNumerator3DFake = new TH3D(*aCorrFctn.fNumerator3DFake);
if (fDenominator3D) delete fDenominator3D;
fDenominator3D = new TH3D(*aCorrFctn.fDenominator3D);
if (fQinvHisto) delete fQinvHisto;
fQinvHisto = new TH3D(*aCorrFctn.fQinvHisto);
fPairCut = aCorrFctn.fPairCut->Clone();
return *this;
}
void AliFemtoModelBPLCMSCorrFctn::Write(){
AliFemtoModelCorrFctn::Write();
fNumerator3DTrue->Write();
fNumerator3DFake->Write();
fDenominator3D->Write();
fQinvHisto->Write();
}
TList* AliFemtoModelBPLCMSCorrFctn::GetOutputList()
{
TList *tOutputList = AliFemtoModelCorrFctn::GetOutputList();
tOutputList->Add(fNumerator3DTrue);
tOutputList->Add(fNumerator3DFake);
tOutputList->Add(fDenominator3D);
tOutputList->Add(fQinvHisto);
return tOutputList;
}
void AliFemtoModelBPLCMSCorrFctn::Finish(){
}
AliFemtoString AliFemtoModelBPLCMSCorrFctn::Report(){
string stemp = "LCMS Frame Bertsch-Pratt 3D Model Correlation Function Report:\n";
char ctemp[100];
snprintf(ctemp , 100, "Number of entries in numerator:\t%E\n",fNumeratorTrue->GetEntries());
stemp += ctemp;
snprintf(ctemp , 100, "Number of entries in denominator:\t%E\n",fDenominator->GetEntries());
stemp += ctemp;
AliFemtoString returnThis = stemp;
return returnThis;
}
void AliFemtoModelBPLCMSCorrFctn::AddRealPair( AliFemtoPair* pair)
{
if (fPairCut){
if (fUseRPSelection) {
AliFemtoKTPairCut *ktc = dynamic_cast<AliFemtoKTPairCut *>(fPairCut);
if (!ktc) {
cout << "RP aware cut requested, but not connected to the CF" << endl;
if (!(fPairCut->Pass(pair))) return;
}
else {
AliFemtoAnalysisReactionPlane *arp = dynamic_cast<AliFemtoAnalysisReactionPlane *> (HbtAnalysis());
if (!arp) {
cout << "RP aware cut requested, but not connected to the CF" << endl;
if (!(fPairCut->Pass(pair))) return;
}
else if (!(ktc->Pass(pair, arp->GetCurrentReactionPlane()))) return;
}
}
else
if (!(fPairCut->Pass(pair))) return;
}
Double_t weight = fManager->GetWeight(pair);
double qOut = (pair->QOutCMS());
double qSide = (pair->QSideCMS());
double qLong = (pair->QLongCMS());
fNumerator3DTrue->Fill(qOut, qSide, qLong, weight);
fNumeratorTrue->Fill(pair->QInv(), weight);
}
void AliFemtoModelBPLCMSCorrFctn::AddMixedPair( AliFemtoPair* pair){
if (fPairCut){
if (fUseRPSelection) {
AliFemtoKTPairCut *ktc = dynamic_cast<AliFemtoKTPairCut *>(fPairCut);
if (!ktc) {
cout << "RP aware cut requested, but not connected to the CF" << endl;
if (!(fPairCut->Pass(pair))) return;
}
else {
AliFemtoAnalysisReactionPlane *arp = dynamic_cast<AliFemtoAnalysisReactionPlane *> (HbtAnalysis());
if (!arp) {
cout << "RP aware cut requested, but not connected to the CF" << endl;
if (!(fPairCut->Pass(pair))) return;
}
else if (!(ktc->Pass(pair, arp->GetCurrentReactionPlane()))) return;
}
}
else
if (!(fPairCut->Pass(pair))) return;
}
Double_t weight = fManager->GetWeight(pair);
double qOut = (pair->QOutCMS());
double qSide = (pair->QSideCMS());
double qLong = (pair->QLongCMS());
fNumerator3DFake->Fill(qOut, qSide, qLong, weight);
fDenominator3D->Fill(qOut, qSide, qLong, 1.0);
fNumeratorFake->Fill(pair->QInv(), weight);
fDenominator->Fill(pair->QInv(), 1.0);
fQinvHisto->Fill(qOut, qSide, qLong, pair->QInv() );
}
AliFemtoModelCorrFctn* AliFemtoModelBPLCMSCorrFctn::Clone()
{
AliFemtoModelBPLCMSCorrFctn *tCopy = new AliFemtoModelBPLCMSCorrFctn(*this);
return tCopy;
}
void AliFemtoModelBPLCMSCorrFctn::SetSpecificPairCut(AliFemtoPairCut* aCut)
{
fPairCut = aCut;
}
void AliFemtoModelBPLCMSCorrFctn::SetUseRPSelection(unsigned short aRPSel)
{
fUseRPSelection = aRPSel;
}
AliFemtoModelBPLCMSCorrFctn.cxx:1 AliFemtoModelBPLCMSCorrFctn.cxx:2 AliFemtoModelBPLCMSCorrFctn.cxx:3 AliFemtoModelBPLCMSCorrFctn.cxx:4 AliFemtoModelBPLCMSCorrFctn.cxx:5 AliFemtoModelBPLCMSCorrFctn.cxx:6 AliFemtoModelBPLCMSCorrFctn.cxx:7 AliFemtoModelBPLCMSCorrFctn.cxx:8 AliFemtoModelBPLCMSCorrFctn.cxx:9 AliFemtoModelBPLCMSCorrFctn.cxx:10 AliFemtoModelBPLCMSCorrFctn.cxx:11 AliFemtoModelBPLCMSCorrFctn.cxx:12 AliFemtoModelBPLCMSCorrFctn.cxx:13 AliFemtoModelBPLCMSCorrFctn.cxx:14 AliFemtoModelBPLCMSCorrFctn.cxx:15 AliFemtoModelBPLCMSCorrFctn.cxx:16 AliFemtoModelBPLCMSCorrFctn.cxx:17 AliFemtoModelBPLCMSCorrFctn.cxx:18 AliFemtoModelBPLCMSCorrFctn.cxx:19 AliFemtoModelBPLCMSCorrFctn.cxx:20 AliFemtoModelBPLCMSCorrFctn.cxx:21 AliFemtoModelBPLCMSCorrFctn.cxx:22 AliFemtoModelBPLCMSCorrFctn.cxx:23 AliFemtoModelBPLCMSCorrFctn.cxx:24 AliFemtoModelBPLCMSCorrFctn.cxx:25 AliFemtoModelBPLCMSCorrFctn.cxx:26 AliFemtoModelBPLCMSCorrFctn.cxx:27 AliFemtoModelBPLCMSCorrFctn.cxx:28 AliFemtoModelBPLCMSCorrFctn.cxx:29 AliFemtoModelBPLCMSCorrFctn.cxx:30 AliFemtoModelBPLCMSCorrFctn.cxx:31 AliFemtoModelBPLCMSCorrFctn.cxx:32 AliFemtoModelBPLCMSCorrFctn.cxx:33 AliFemtoModelBPLCMSCorrFctn.cxx:34 AliFemtoModelBPLCMSCorrFctn.cxx:35 AliFemtoModelBPLCMSCorrFctn.cxx:36 AliFemtoModelBPLCMSCorrFctn.cxx:37 AliFemtoModelBPLCMSCorrFctn.cxx:38 AliFemtoModelBPLCMSCorrFctn.cxx:39 AliFemtoModelBPLCMSCorrFctn.cxx:40 AliFemtoModelBPLCMSCorrFctn.cxx:41 AliFemtoModelBPLCMSCorrFctn.cxx:42 AliFemtoModelBPLCMSCorrFctn.cxx:43 AliFemtoModelBPLCMSCorrFctn.cxx:44 AliFemtoModelBPLCMSCorrFctn.cxx:45 AliFemtoModelBPLCMSCorrFctn.cxx:46 AliFemtoModelBPLCMSCorrFctn.cxx:47 AliFemtoModelBPLCMSCorrFctn.cxx:48 AliFemtoModelBPLCMSCorrFctn.cxx:49 AliFemtoModelBPLCMSCorrFctn.cxx:50 AliFemtoModelBPLCMSCorrFctn.cxx:51 AliFemtoModelBPLCMSCorrFctn.cxx:52 AliFemtoModelBPLCMSCorrFctn.cxx:53 AliFemtoModelBPLCMSCorrFctn.cxx:54 AliFemtoModelBPLCMSCorrFctn.cxx:55 AliFemtoModelBPLCMSCorrFctn.cxx:56 AliFemtoModelBPLCMSCorrFctn.cxx:57 AliFemtoModelBPLCMSCorrFctn.cxx:58 AliFemtoModelBPLCMSCorrFctn.cxx:59 AliFemtoModelBPLCMSCorrFctn.cxx:60 AliFemtoModelBPLCMSCorrFctn.cxx:61 AliFemtoModelBPLCMSCorrFctn.cxx:62 AliFemtoModelBPLCMSCorrFctn.cxx:63 AliFemtoModelBPLCMSCorrFctn.cxx:64 AliFemtoModelBPLCMSCorrFctn.cxx:65 AliFemtoModelBPLCMSCorrFctn.cxx:66 AliFemtoModelBPLCMSCorrFctn.cxx:67 AliFemtoModelBPLCMSCorrFctn.cxx:68 AliFemtoModelBPLCMSCorrFctn.cxx:69 AliFemtoModelBPLCMSCorrFctn.cxx:70 AliFemtoModelBPLCMSCorrFctn.cxx:71 AliFemtoModelBPLCMSCorrFctn.cxx:72 AliFemtoModelBPLCMSCorrFctn.cxx:73 AliFemtoModelBPLCMSCorrFctn.cxx:74 AliFemtoModelBPLCMSCorrFctn.cxx:75 AliFemtoModelBPLCMSCorrFctn.cxx:76 AliFemtoModelBPLCMSCorrFctn.cxx:77 AliFemtoModelBPLCMSCorrFctn.cxx:78 AliFemtoModelBPLCMSCorrFctn.cxx:79 AliFemtoModelBPLCMSCorrFctn.cxx:80 AliFemtoModelBPLCMSCorrFctn.cxx:81 AliFemtoModelBPLCMSCorrFctn.cxx:82 AliFemtoModelBPLCMSCorrFctn.cxx:83 AliFemtoModelBPLCMSCorrFctn.cxx:84 AliFemtoModelBPLCMSCorrFctn.cxx:85 AliFemtoModelBPLCMSCorrFctn.cxx:86 AliFemtoModelBPLCMSCorrFctn.cxx:87 AliFemtoModelBPLCMSCorrFctn.cxx:88 AliFemtoModelBPLCMSCorrFctn.cxx:89 AliFemtoModelBPLCMSCorrFctn.cxx:90 AliFemtoModelBPLCMSCorrFctn.cxx:91 AliFemtoModelBPLCMSCorrFctn.cxx:92 AliFemtoModelBPLCMSCorrFctn.cxx:93 AliFemtoModelBPLCMSCorrFctn.cxx:94 AliFemtoModelBPLCMSCorrFctn.cxx:95 AliFemtoModelBPLCMSCorrFctn.cxx:96 AliFemtoModelBPLCMSCorrFctn.cxx:97 AliFemtoModelBPLCMSCorrFctn.cxx:98 AliFemtoModelBPLCMSCorrFctn.cxx:99 AliFemtoModelBPLCMSCorrFctn.cxx:100 AliFemtoModelBPLCMSCorrFctn.cxx:101 AliFemtoModelBPLCMSCorrFctn.cxx:102 AliFemtoModelBPLCMSCorrFctn.cxx:103 AliFemtoModelBPLCMSCorrFctn.cxx:104 AliFemtoModelBPLCMSCorrFctn.cxx:105 AliFemtoModelBPLCMSCorrFctn.cxx:106 AliFemtoModelBPLCMSCorrFctn.cxx:107 AliFemtoModelBPLCMSCorrFctn.cxx:108 AliFemtoModelBPLCMSCorrFctn.cxx:109 AliFemtoModelBPLCMSCorrFctn.cxx:110 AliFemtoModelBPLCMSCorrFctn.cxx:111 AliFemtoModelBPLCMSCorrFctn.cxx:112 AliFemtoModelBPLCMSCorrFctn.cxx:113 AliFemtoModelBPLCMSCorrFctn.cxx:114 AliFemtoModelBPLCMSCorrFctn.cxx:115 AliFemtoModelBPLCMSCorrFctn.cxx:116 AliFemtoModelBPLCMSCorrFctn.cxx:117 AliFemtoModelBPLCMSCorrFctn.cxx:118 AliFemtoModelBPLCMSCorrFctn.cxx:119 AliFemtoModelBPLCMSCorrFctn.cxx:120 AliFemtoModelBPLCMSCorrFctn.cxx:121 AliFemtoModelBPLCMSCorrFctn.cxx:122 AliFemtoModelBPLCMSCorrFctn.cxx:123 AliFemtoModelBPLCMSCorrFctn.cxx:124 AliFemtoModelBPLCMSCorrFctn.cxx:125 AliFemtoModelBPLCMSCorrFctn.cxx:126 AliFemtoModelBPLCMSCorrFctn.cxx:127 AliFemtoModelBPLCMSCorrFctn.cxx:128 AliFemtoModelBPLCMSCorrFctn.cxx:129 AliFemtoModelBPLCMSCorrFctn.cxx:130 AliFemtoModelBPLCMSCorrFctn.cxx:131 AliFemtoModelBPLCMSCorrFctn.cxx:132 AliFemtoModelBPLCMSCorrFctn.cxx:133 AliFemtoModelBPLCMSCorrFctn.cxx:134 AliFemtoModelBPLCMSCorrFctn.cxx:135 AliFemtoModelBPLCMSCorrFctn.cxx:136 AliFemtoModelBPLCMSCorrFctn.cxx:137 AliFemtoModelBPLCMSCorrFctn.cxx:138 AliFemtoModelBPLCMSCorrFctn.cxx:139 AliFemtoModelBPLCMSCorrFctn.cxx:140 AliFemtoModelBPLCMSCorrFctn.cxx:141 AliFemtoModelBPLCMSCorrFctn.cxx:142 AliFemtoModelBPLCMSCorrFctn.cxx:143 AliFemtoModelBPLCMSCorrFctn.cxx:144 AliFemtoModelBPLCMSCorrFctn.cxx:145 AliFemtoModelBPLCMSCorrFctn.cxx:146 AliFemtoModelBPLCMSCorrFctn.cxx:147 AliFemtoModelBPLCMSCorrFctn.cxx:148 AliFemtoModelBPLCMSCorrFctn.cxx:149 AliFemtoModelBPLCMSCorrFctn.cxx:150 AliFemtoModelBPLCMSCorrFctn.cxx:151 AliFemtoModelBPLCMSCorrFctn.cxx:152 AliFemtoModelBPLCMSCorrFctn.cxx:153 AliFemtoModelBPLCMSCorrFctn.cxx:154 AliFemtoModelBPLCMSCorrFctn.cxx:155 AliFemtoModelBPLCMSCorrFctn.cxx:156 AliFemtoModelBPLCMSCorrFctn.cxx:157 AliFemtoModelBPLCMSCorrFctn.cxx:158 AliFemtoModelBPLCMSCorrFctn.cxx:159 AliFemtoModelBPLCMSCorrFctn.cxx:160 AliFemtoModelBPLCMSCorrFctn.cxx:161 AliFemtoModelBPLCMSCorrFctn.cxx:162 AliFemtoModelBPLCMSCorrFctn.cxx:163 AliFemtoModelBPLCMSCorrFctn.cxx:164 AliFemtoModelBPLCMSCorrFctn.cxx:165 AliFemtoModelBPLCMSCorrFctn.cxx:166 AliFemtoModelBPLCMSCorrFctn.cxx:167 AliFemtoModelBPLCMSCorrFctn.cxx:168 AliFemtoModelBPLCMSCorrFctn.cxx:169 AliFemtoModelBPLCMSCorrFctn.cxx:170 AliFemtoModelBPLCMSCorrFctn.cxx:171 AliFemtoModelBPLCMSCorrFctn.cxx:172 AliFemtoModelBPLCMSCorrFctn.cxx:173 AliFemtoModelBPLCMSCorrFctn.cxx:174 AliFemtoModelBPLCMSCorrFctn.cxx:175 AliFemtoModelBPLCMSCorrFctn.cxx:176 AliFemtoModelBPLCMSCorrFctn.cxx:177 AliFemtoModelBPLCMSCorrFctn.cxx:178 AliFemtoModelBPLCMSCorrFctn.cxx:179 AliFemtoModelBPLCMSCorrFctn.cxx:180 AliFemtoModelBPLCMSCorrFctn.cxx:181 AliFemtoModelBPLCMSCorrFctn.cxx:182 AliFemtoModelBPLCMSCorrFctn.cxx:183 AliFemtoModelBPLCMSCorrFctn.cxx:184 AliFemtoModelBPLCMSCorrFctn.cxx:185 AliFemtoModelBPLCMSCorrFctn.cxx:186 AliFemtoModelBPLCMSCorrFctn.cxx:187 AliFemtoModelBPLCMSCorrFctn.cxx:188 AliFemtoModelBPLCMSCorrFctn.cxx:189 AliFemtoModelBPLCMSCorrFctn.cxx:190 AliFemtoModelBPLCMSCorrFctn.cxx:191 AliFemtoModelBPLCMSCorrFctn.cxx:192 AliFemtoModelBPLCMSCorrFctn.cxx:193 AliFemtoModelBPLCMSCorrFctn.cxx:194 AliFemtoModelBPLCMSCorrFctn.cxx:195 AliFemtoModelBPLCMSCorrFctn.cxx:196 AliFemtoModelBPLCMSCorrFctn.cxx:197 AliFemtoModelBPLCMSCorrFctn.cxx:198 AliFemtoModelBPLCMSCorrFctn.cxx:199 AliFemtoModelBPLCMSCorrFctn.cxx:200 AliFemtoModelBPLCMSCorrFctn.cxx:201 AliFemtoModelBPLCMSCorrFctn.cxx:202 AliFemtoModelBPLCMSCorrFctn.cxx:203 AliFemtoModelBPLCMSCorrFctn.cxx:204 AliFemtoModelBPLCMSCorrFctn.cxx:205 AliFemtoModelBPLCMSCorrFctn.cxx:206 AliFemtoModelBPLCMSCorrFctn.cxx:207 AliFemtoModelBPLCMSCorrFctn.cxx:208 AliFemtoModelBPLCMSCorrFctn.cxx:209 AliFemtoModelBPLCMSCorrFctn.cxx:210 AliFemtoModelBPLCMSCorrFctn.cxx:211 AliFemtoModelBPLCMSCorrFctn.cxx:212 AliFemtoModelBPLCMSCorrFctn.cxx:213 AliFemtoModelBPLCMSCorrFctn.cxx:214 AliFemtoModelBPLCMSCorrFctn.cxx:215 AliFemtoModelBPLCMSCorrFctn.cxx:216 AliFemtoModelBPLCMSCorrFctn.cxx:217 AliFemtoModelBPLCMSCorrFctn.cxx:218 AliFemtoModelBPLCMSCorrFctn.cxx:219 AliFemtoModelBPLCMSCorrFctn.cxx:220 AliFemtoModelBPLCMSCorrFctn.cxx:221 AliFemtoModelBPLCMSCorrFctn.cxx:222 AliFemtoModelBPLCMSCorrFctn.cxx:223 AliFemtoModelBPLCMSCorrFctn.cxx:224 AliFemtoModelBPLCMSCorrFctn.cxx:225 AliFemtoModelBPLCMSCorrFctn.cxx:226 AliFemtoModelBPLCMSCorrFctn.cxx:227 AliFemtoModelBPLCMSCorrFctn.cxx:228 AliFemtoModelBPLCMSCorrFctn.cxx:229 AliFemtoModelBPLCMSCorrFctn.cxx:230 AliFemtoModelBPLCMSCorrFctn.cxx:231 AliFemtoModelBPLCMSCorrFctn.cxx:232 AliFemtoModelBPLCMSCorrFctn.cxx:233 AliFemtoModelBPLCMSCorrFctn.cxx:234 AliFemtoModelBPLCMSCorrFctn.cxx:235 AliFemtoModelBPLCMSCorrFctn.cxx:236 AliFemtoModelBPLCMSCorrFctn.cxx:237 AliFemtoModelBPLCMSCorrFctn.cxx:238 AliFemtoModelBPLCMSCorrFctn.cxx:239 AliFemtoModelBPLCMSCorrFctn.cxx:240 AliFemtoModelBPLCMSCorrFctn.cxx:241 AliFemtoModelBPLCMSCorrFctn.cxx:242 AliFemtoModelBPLCMSCorrFctn.cxx:243 AliFemtoModelBPLCMSCorrFctn.cxx:244 AliFemtoModelBPLCMSCorrFctn.cxx:245 AliFemtoModelBPLCMSCorrFctn.cxx:246