#include "AliFemtoCutMonitorParticleEtCorr.h"
#include "AliFemtoModelHiddenInfo.h"
#include <TH1D.h>
#include <TH2D.h>
#include <TList.h>
#include <TMath.h>
AliFemtoCutMonitorParticleEtCorr::AliFemtoCutMonitorParticleEtCorr():
AliFemtoCutMonitor(),
fPhiBins(60),
fPtPerPhi(0),
fPtCovPerPhi(0),
fPtMultPerPhi(0),
fNEventsProcessed(0)
{
for (int ib=0; ib<200; ib++) {
fPtSumEvent[ib] = 0;
fMultSumEvent[ib] = 0;
}
}
AliFemtoCutMonitorParticleEtCorr::AliFemtoCutMonitorParticleEtCorr(const char *aName, int aPhiBins):
AliFemtoCutMonitor(),
fPhiBins(aPhiBins),
fPtPerPhi(0),
fPtCovPerPhi(0),
fPtMultPerPhi(0),
fNEventsProcessed(0)
{
char name[200];
snprintf(name, 200, "EtCorrAvgPt%s", aName);
fPtPerPhi = new TH1D(name, "Average Pt Per Phi", aPhiBins, -0.5, aPhiBins-0.5);
snprintf(name, 200, "EtCorrMult%s", aName);
fPtMultPerPhi = new TH2D(name, "Multiplicity Per Phi", aPhiBins, -0.5, aPhiBins-0.5, aPhiBins, -0.5, aPhiBins-0.5);
snprintf(name, 200, "EtCorrAvgPtCov%s", aName);
fPtCovPerPhi = new TH2D(name, "Covariance of Average Pt Per Phi", aPhiBins, -0.5, aPhiBins-0.5, aPhiBins, -0.5, aPhiBins-0.5);
fPtPerPhi->Sumw2();
fPtCovPerPhi->Sumw2();
fPtMultPerPhi->Sumw2();
fPhiBins = aPhiBins;
for (int ib=0; ib<200; ib++) {
fPtSumEvent[ib] = 0;
fMultSumEvent[ib] = 0;
}
}
AliFemtoCutMonitorParticleEtCorr::AliFemtoCutMonitorParticleEtCorr(const AliFemtoCutMonitorParticleEtCorr &aCut):
AliFemtoCutMonitor(),
fPhiBins(0),
fPtPerPhi(0),
fPtCovPerPhi(0),
fPtMultPerPhi(0),
fNEventsProcessed(0)
{
if (fPtCovPerPhi) delete fPtCovPerPhi;
fPtCovPerPhi = new TH2D(*aCut.fPtCovPerPhi);
if (fPtPerPhi) delete fPtPerPhi;
fPtPerPhi = new TH1D(*aCut.fPtPerPhi);
if (fPtMultPerPhi) delete fPtMultPerPhi;
fPtMultPerPhi = new TH2D(*aCut.fPtMultPerPhi);
fPhiBins = aCut.fPhiBins;
fNEventsProcessed = aCut.fNEventsProcessed;
for (int ib=0; ib<200; ib++) {
fPtSumEvent[ib] = 0;
fMultSumEvent[ib] = 0;
}
}
AliFemtoCutMonitorParticleEtCorr::~AliFemtoCutMonitorParticleEtCorr()
{
delete fPtPerPhi;
delete fPtMultPerPhi;
delete fPtCovPerPhi;
}
AliFemtoCutMonitorParticleEtCorr& AliFemtoCutMonitorParticleEtCorr::operator=(const AliFemtoCutMonitorParticleEtCorr& aCut)
{
if (this == &aCut)
return *this;
if (fPtCovPerPhi) delete fPtCovPerPhi;
fPtCovPerPhi = new TH2D(*aCut.fPtCovPerPhi);
if (fPtPerPhi) delete fPtPerPhi;
fPtPerPhi = new TH1D(*aCut.fPtPerPhi);
if (fPtMultPerPhi) delete fPtMultPerPhi;
fPtMultPerPhi = new TH2D(*aCut.fPtMultPerPhi);
fPhiBins = aCut.fPhiBins;
fNEventsProcessed = aCut.fNEventsProcessed;
return *this;
}
AliFemtoString AliFemtoCutMonitorParticleEtCorr::Report(){
string stemp = "*** AliFemtoCutMonitorParticleEtCorr report";
AliFemtoString returnThis = stemp;
return returnThis;
}
void AliFemtoCutMonitorParticleEtCorr::Fill(const AliFemtoTrack* aTrack)
{
float tPt = ::sqrt((aTrack->P().x())*(aTrack->P().x())+(aTrack->P().y())*(aTrack->P().y()));
float tPhi = aTrack->P().Phi();
Double_t tPiTwo = TMath::Pi()*2;
while (tPhi > tPiTwo) tPhi -= tPiTwo;
while (tPhi < 0) tPhi += tPiTwo;
int nbin = (int) floor(tPhi * fPhiBins / tPiTwo);
fPtSumEvent[nbin] += tPt;
fMultSumEvent[nbin] += 1;
}
void AliFemtoCutMonitorParticleEtCorr::Write()
{
fPtPerPhi->Write();
fPtCovPerPhi->Write();
fPtMultPerPhi->Write();
}
TList *AliFemtoCutMonitorParticleEtCorr::GetOutputList()
{
TList *tOutputList = new TList();
tOutputList->Add(fPtPerPhi);
tOutputList->Add(fPtCovPerPhi);
tOutputList->Add(fPtMultPerPhi);
return tOutputList;
}
void AliFemtoCutMonitorParticleEtCorr::EventBegin(const AliFemtoEvent* aEvent)
{
if (aEvent)
for (int iter=0; iter<fPhiBins; iter++) {
fPtSumEvent[iter] = 0;
fMultSumEvent[iter] = 0;
}
}
void AliFemtoCutMonitorParticleEtCorr::EventEnd(const AliFemtoEvent* aEvent)
{
if (aEvent) {
for (int ispt=0; ispt<fPhiBins; ispt++) {
fPtPerPhi->Fill(ispt, fPtSumEvent[ispt]);
for (int ispt2=0; ispt2<fPhiBins; ispt2++) {
fPtCovPerPhi->Fill(ispt, ispt2, fPtSumEvent[ispt]*fPtSumEvent[ispt2]);
fPtMultPerPhi->Fill(ispt, ispt2, fMultSumEvent[ispt]*fMultSumEvent[ispt2]);
}
}
fNEventsProcessed++;
}
}
AliFemtoCutMonitorParticleEtCorr.cxx:1 AliFemtoCutMonitorParticleEtCorr.cxx:2 AliFemtoCutMonitorParticleEtCorr.cxx:3 AliFemtoCutMonitorParticleEtCorr.cxx:4 AliFemtoCutMonitorParticleEtCorr.cxx:5 AliFemtoCutMonitorParticleEtCorr.cxx:6 AliFemtoCutMonitorParticleEtCorr.cxx:7 AliFemtoCutMonitorParticleEtCorr.cxx:8 AliFemtoCutMonitorParticleEtCorr.cxx:9 AliFemtoCutMonitorParticleEtCorr.cxx:10 AliFemtoCutMonitorParticleEtCorr.cxx:11 AliFemtoCutMonitorParticleEtCorr.cxx:12 AliFemtoCutMonitorParticleEtCorr.cxx:13 AliFemtoCutMonitorParticleEtCorr.cxx:14 AliFemtoCutMonitorParticleEtCorr.cxx:15 AliFemtoCutMonitorParticleEtCorr.cxx:16 AliFemtoCutMonitorParticleEtCorr.cxx:17 AliFemtoCutMonitorParticleEtCorr.cxx:18 AliFemtoCutMonitorParticleEtCorr.cxx:19 AliFemtoCutMonitorParticleEtCorr.cxx:20 AliFemtoCutMonitorParticleEtCorr.cxx:21 AliFemtoCutMonitorParticleEtCorr.cxx:22 AliFemtoCutMonitorParticleEtCorr.cxx:23 AliFemtoCutMonitorParticleEtCorr.cxx:24 AliFemtoCutMonitorParticleEtCorr.cxx:25 AliFemtoCutMonitorParticleEtCorr.cxx:26 AliFemtoCutMonitorParticleEtCorr.cxx:27 AliFemtoCutMonitorParticleEtCorr.cxx:28 AliFemtoCutMonitorParticleEtCorr.cxx:29 AliFemtoCutMonitorParticleEtCorr.cxx:30 AliFemtoCutMonitorParticleEtCorr.cxx:31 AliFemtoCutMonitorParticleEtCorr.cxx:32 AliFemtoCutMonitorParticleEtCorr.cxx:33 AliFemtoCutMonitorParticleEtCorr.cxx:34 AliFemtoCutMonitorParticleEtCorr.cxx:35 AliFemtoCutMonitorParticleEtCorr.cxx:36 AliFemtoCutMonitorParticleEtCorr.cxx:37 AliFemtoCutMonitorParticleEtCorr.cxx:38 AliFemtoCutMonitorParticleEtCorr.cxx:39 AliFemtoCutMonitorParticleEtCorr.cxx:40 AliFemtoCutMonitorParticleEtCorr.cxx:41 AliFemtoCutMonitorParticleEtCorr.cxx:42 AliFemtoCutMonitorParticleEtCorr.cxx:43 AliFemtoCutMonitorParticleEtCorr.cxx:44 AliFemtoCutMonitorParticleEtCorr.cxx:45 AliFemtoCutMonitorParticleEtCorr.cxx:46 AliFemtoCutMonitorParticleEtCorr.cxx:47 AliFemtoCutMonitorParticleEtCorr.cxx:48 AliFemtoCutMonitorParticleEtCorr.cxx:49 AliFemtoCutMonitorParticleEtCorr.cxx:50 AliFemtoCutMonitorParticleEtCorr.cxx:51 AliFemtoCutMonitorParticleEtCorr.cxx:52 AliFemtoCutMonitorParticleEtCorr.cxx:53 AliFemtoCutMonitorParticleEtCorr.cxx:54 AliFemtoCutMonitorParticleEtCorr.cxx:55 AliFemtoCutMonitorParticleEtCorr.cxx:56 AliFemtoCutMonitorParticleEtCorr.cxx:57 AliFemtoCutMonitorParticleEtCorr.cxx:58 AliFemtoCutMonitorParticleEtCorr.cxx:59 AliFemtoCutMonitorParticleEtCorr.cxx:60 AliFemtoCutMonitorParticleEtCorr.cxx:61 AliFemtoCutMonitorParticleEtCorr.cxx:62 AliFemtoCutMonitorParticleEtCorr.cxx:63 AliFemtoCutMonitorParticleEtCorr.cxx:64 AliFemtoCutMonitorParticleEtCorr.cxx:65 AliFemtoCutMonitorParticleEtCorr.cxx:66 AliFemtoCutMonitorParticleEtCorr.cxx:67 AliFemtoCutMonitorParticleEtCorr.cxx:68 AliFemtoCutMonitorParticleEtCorr.cxx:69 AliFemtoCutMonitorParticleEtCorr.cxx:70 AliFemtoCutMonitorParticleEtCorr.cxx:71 AliFemtoCutMonitorParticleEtCorr.cxx:72 AliFemtoCutMonitorParticleEtCorr.cxx:73 AliFemtoCutMonitorParticleEtCorr.cxx:74 AliFemtoCutMonitorParticleEtCorr.cxx:75 AliFemtoCutMonitorParticleEtCorr.cxx:76 AliFemtoCutMonitorParticleEtCorr.cxx:77 AliFemtoCutMonitorParticleEtCorr.cxx:78 AliFemtoCutMonitorParticleEtCorr.cxx:79 AliFemtoCutMonitorParticleEtCorr.cxx:80 AliFemtoCutMonitorParticleEtCorr.cxx:81 AliFemtoCutMonitorParticleEtCorr.cxx:82 AliFemtoCutMonitorParticleEtCorr.cxx:83 AliFemtoCutMonitorParticleEtCorr.cxx:84 AliFemtoCutMonitorParticleEtCorr.cxx:85 AliFemtoCutMonitorParticleEtCorr.cxx:86 AliFemtoCutMonitorParticleEtCorr.cxx:87 AliFemtoCutMonitorParticleEtCorr.cxx:88 AliFemtoCutMonitorParticleEtCorr.cxx:89 AliFemtoCutMonitorParticleEtCorr.cxx:90 AliFemtoCutMonitorParticleEtCorr.cxx:91 AliFemtoCutMonitorParticleEtCorr.cxx:92 AliFemtoCutMonitorParticleEtCorr.cxx:93 AliFemtoCutMonitorParticleEtCorr.cxx:94 AliFemtoCutMonitorParticleEtCorr.cxx:95 AliFemtoCutMonitorParticleEtCorr.cxx:96 AliFemtoCutMonitorParticleEtCorr.cxx:97 AliFemtoCutMonitorParticleEtCorr.cxx:98 AliFemtoCutMonitorParticleEtCorr.cxx:99 AliFemtoCutMonitorParticleEtCorr.cxx:100 AliFemtoCutMonitorParticleEtCorr.cxx:101 AliFemtoCutMonitorParticleEtCorr.cxx:102 AliFemtoCutMonitorParticleEtCorr.cxx:103 AliFemtoCutMonitorParticleEtCorr.cxx:104 AliFemtoCutMonitorParticleEtCorr.cxx:105 AliFemtoCutMonitorParticleEtCorr.cxx:106 AliFemtoCutMonitorParticleEtCorr.cxx:107 AliFemtoCutMonitorParticleEtCorr.cxx:108 AliFemtoCutMonitorParticleEtCorr.cxx:109 AliFemtoCutMonitorParticleEtCorr.cxx:110 AliFemtoCutMonitorParticleEtCorr.cxx:111 AliFemtoCutMonitorParticleEtCorr.cxx:112 AliFemtoCutMonitorParticleEtCorr.cxx:113 AliFemtoCutMonitorParticleEtCorr.cxx:114 AliFemtoCutMonitorParticleEtCorr.cxx:115 AliFemtoCutMonitorParticleEtCorr.cxx:116 AliFemtoCutMonitorParticleEtCorr.cxx:117 AliFemtoCutMonitorParticleEtCorr.cxx:118 AliFemtoCutMonitorParticleEtCorr.cxx:119 AliFemtoCutMonitorParticleEtCorr.cxx:120 AliFemtoCutMonitorParticleEtCorr.cxx:121 AliFemtoCutMonitorParticleEtCorr.cxx:122 AliFemtoCutMonitorParticleEtCorr.cxx:123 AliFemtoCutMonitorParticleEtCorr.cxx:124 AliFemtoCutMonitorParticleEtCorr.cxx:125 AliFemtoCutMonitorParticleEtCorr.cxx:126 AliFemtoCutMonitorParticleEtCorr.cxx:127 AliFemtoCutMonitorParticleEtCorr.cxx:128 AliFemtoCutMonitorParticleEtCorr.cxx:129 AliFemtoCutMonitorParticleEtCorr.cxx:130 AliFemtoCutMonitorParticleEtCorr.cxx:131 AliFemtoCutMonitorParticleEtCorr.cxx:132 AliFemtoCutMonitorParticleEtCorr.cxx:133 AliFemtoCutMonitorParticleEtCorr.cxx:134 AliFemtoCutMonitorParticleEtCorr.cxx:135 AliFemtoCutMonitorParticleEtCorr.cxx:136 AliFemtoCutMonitorParticleEtCorr.cxx:137 AliFemtoCutMonitorParticleEtCorr.cxx:138 AliFemtoCutMonitorParticleEtCorr.cxx:139 AliFemtoCutMonitorParticleEtCorr.cxx:140 AliFemtoCutMonitorParticleEtCorr.cxx:141 AliFemtoCutMonitorParticleEtCorr.cxx:142 AliFemtoCutMonitorParticleEtCorr.cxx:143 AliFemtoCutMonitorParticleEtCorr.cxx:144 AliFemtoCutMonitorParticleEtCorr.cxx:145 AliFemtoCutMonitorParticleEtCorr.cxx:146 AliFemtoCutMonitorParticleEtCorr.cxx:147 AliFemtoCutMonitorParticleEtCorr.cxx:148 AliFemtoCutMonitorParticleEtCorr.cxx:149 AliFemtoCutMonitorParticleEtCorr.cxx:150 AliFemtoCutMonitorParticleEtCorr.cxx:151 AliFemtoCutMonitorParticleEtCorr.cxx:152 AliFemtoCutMonitorParticleEtCorr.cxx:153 AliFemtoCutMonitorParticleEtCorr.cxx:154 AliFemtoCutMonitorParticleEtCorr.cxx:155 AliFemtoCutMonitorParticleEtCorr.cxx:156 AliFemtoCutMonitorParticleEtCorr.cxx:157 AliFemtoCutMonitorParticleEtCorr.cxx:158 AliFemtoCutMonitorParticleEtCorr.cxx:159 AliFemtoCutMonitorParticleEtCorr.cxx:160 AliFemtoCutMonitorParticleEtCorr.cxx:161 AliFemtoCutMonitorParticleEtCorr.cxx:162 AliFemtoCutMonitorParticleEtCorr.cxx:163 AliFemtoCutMonitorParticleEtCorr.cxx:164 AliFemtoCutMonitorParticleEtCorr.cxx:165 AliFemtoCutMonitorParticleEtCorr.cxx:166 AliFemtoCutMonitorParticleEtCorr.cxx:167 AliFemtoCutMonitorParticleEtCorr.cxx:168 AliFemtoCutMonitorParticleEtCorr.cxx:169 AliFemtoCutMonitorParticleEtCorr.cxx:170 AliFemtoCutMonitorParticleEtCorr.cxx:171 AliFemtoCutMonitorParticleEtCorr.cxx:172 AliFemtoCutMonitorParticleEtCorr.cxx:173 AliFemtoCutMonitorParticleEtCorr.cxx:174 AliFemtoCutMonitorParticleEtCorr.cxx:175