diff --git a/PWGCF/GenericFramework/Core/FlowPtContainer.cxx b/PWGCF/GenericFramework/Core/FlowPtContainer.cxx index eb554cfe468..d538d88affe 100644 --- a/PWGCF/GenericFramework/Core/FlowPtContainer.cxx +++ b/PWGCF/GenericFramework/Core/FlowPtContainer.cxx @@ -57,8 +57,8 @@ FlowPtContainer::FlowPtContainer(const char* name) : TNamed(name, name), corrDen(), cmVal(), cmDen(), - arr(), - warr() {} + arr(), + warr() {} FlowPtContainer::FlowPtContainer(const char* name, const char* title) : TNamed(name, title), fCMTermList(0), fCorrList(0), @@ -79,8 +79,8 @@ FlowPtContainer::FlowPtContainer(const char* name, const char* title) : TNamed(n warr() {} void FlowPtContainer::initialise(const o2::framework::AxisSpec axis, const int& m, const GFWCorrConfigs& configs, const int& nsub) { - arr.resize(3*3*3*3); - warr.resize(3*3*3*3); + arr.resize(3 * 3 * 3 * 3); + warr.resize(3 * 3 * 3 * 3); if (!mpar) mpar = m; std::vector multiBins = axis.binEdges; @@ -88,7 +88,7 @@ void FlowPtContainer::initialise(const o2::framework::AxisSpec axis, const int& if (nMultiBins <= 0) nMultiBins = multiBins.size() - 1; if (nMultiBins <= 0) { - LOGF(warning,"Multiplicity axis does not exist"); + LOGF(warning, "Multiplicity axis does not exist"); return; } if (fCMTermList) @@ -156,13 +156,13 @@ void FlowPtContainer::initialise(const o2::framework::AxisSpec axis, const int& for (int i = 0; i < fCovList->GetEntries(); ++i) dynamic_cast(fCovList->At(i))->InitializeSubsamples(nsub); } - LOGF(info,"Container %s initialized with m = %i\n and %i subsamples", this->GetName(), mpar, nsub); + LOGF(info, "Container %s initialized with m = %i\n and %i subsamples", this->GetName(), mpar, nsub); return; }; void FlowPtContainer::initialise(int nbinsx, double* xbins, const int& m, const GFWCorrConfigs& configs, const int& nsub) { - arr.resize(3*3*3*3); - warr.resize(3*3*3*3); + arr.resize(3 * 3 * 3 * 3); + warr.resize(3 * 3 * 3 * 3); if (!mpar) mpar = m; if (fCMTermList) @@ -229,12 +229,12 @@ void FlowPtContainer::initialise(int nbinsx, double* xbins, const int& m, const for (int i = 0; i < fCovList->GetEntries(); ++i) dynamic_cast(fCovList->At(i))->InitializeSubsamples(nsub); } - LOGF(info,"Container %s initialized with m = %i\n", this->GetName(), mpar); + LOGF(info, "Container %s initialized with m = %i\n", this->GetName(), mpar); }; void FlowPtContainer::initialise(int nbinsx, double xlow, double xhigh, const int& m, const GFWCorrConfigs& configs, const int& nsub) { - arr.resize(3*3*3*3); - warr.resize(3*3*3*3); + arr.resize(3 * 3 * 3 * 3); + warr.resize(3 * 3 * 3 * 3); if (!mpar) mpar = m; if (fCMTermList) @@ -301,7 +301,7 @@ void FlowPtContainer::initialise(int nbinsx, double xlow, double xhigh, const in for (int i = 0; i < fCovList->GetEntries(); ++i) dynamic_cast(fCovList->At(i))->InitializeSubsamples(nsub); } - LOGF(info,"Container %s initialized with m = %i\n", this->GetName(), mpar); + LOGF(info, "Container %s initialized with m = %i\n", this->GetName(), mpar); }; void FlowPtContainer::fill(const double& w, const double& pt) { @@ -476,17 +476,17 @@ void FlowPtContainer::fillCMProfiles(const double& centmult, const double& rn) } void FlowPtContainer::fillArray(FillType a, FillType b, double c, double d) { - for(int idx = 0; idx < 81; ++idx){ + for (int idx = 0; idx < 81; ++idx) { int i = idx % 3; - int j = ( ( idx - i ) / 3 ) % 3; - int k = ( ( idx - j * 3 - i ) / 9 ) % 3; - int l = ( ( idx - k * 9 - j * 3 - i ) / 27 ) % 3; + int j = ((idx - i) / 3) % 3; + int k = ((idx - j * 3 - i) / 9) % 3; + int l = ((idx - k * 9 - j * 3 - i) / 27) % 3; if (std::holds_alternative>(a) && std::holds_alternative>(b)) { arr[idx] += std::pow(std::get<0>(a), i) * std::pow(std::get<0>(b), j) * std::pow(c, k) * std::pow(d, l); } else if (std::holds_alternative(a) && std::holds_alternative(b)) { warr[idx] += std::pow(std::get<1>(a), i) * std::pow(std::get<1>(b), j) * std::pow(c, k) * std::pow(d, l); } else { - LOGF(error, "FillType variant should hold same type for a and b during single function c"); + LOGF(error, "FillType variant should hold same type for a and b during single function c"); } } return; @@ -494,32 +494,32 @@ void FlowPtContainer::fillArray(FillType a, FillType b, double c, double d) template double FlowPtContainer::getStdAABBCC(T& inarr) { - std::complex a = inarr[getVectorIndex(1,0,0,0)]; - std::complex b = inarr[getVectorIndex(0,1,0,0)]; - std::complex c = inarr[getVectorIndex(0,0,1,0)]; - std::complex aa = inarr[getVectorIndex(2,0,0,0)]; - std::complex bb = inarr[getVectorIndex(0,2,0,0)]; - std::complex cc = inarr[getVectorIndex(0,0,2,0)]; - std::complex ab = inarr[getVectorIndex(1,1,0,0)]; - std::complex ac = inarr[getVectorIndex(1,0,1,0)]; - std::complex bc = inarr[getVectorIndex(0,1,1,0)]; - std::complex aab = inarr[getVectorIndex(2,1,0,0)]; - std::complex aac = inarr[getVectorIndex(2,0,1,0)]; - std::complex abb = inarr[getVectorIndex(1,2,0,0)]; - std::complex acc = inarr[getVectorIndex(1,0,2,0)]; - std::complex abc = inarr[getVectorIndex(1,1,1,0)]; - std::complex bbc = inarr[getVectorIndex(0,2,1,0)]; - std::complex bcc = inarr[getVectorIndex(0,1,2,0)]; - std::complex aabb = inarr[getVectorIndex(2,2,0,0)]; - std::complex aacc = inarr[getVectorIndex(2,0,2,0)]; - std::complex aabc = inarr[getVectorIndex(2,1,1,0)]; - std::complex abbc = inarr[getVectorIndex(1,2,1,0)]; - std::complex abcc = inarr[getVectorIndex(1,1,2,0)]; - std::complex bbcc = inarr[getVectorIndex(0,2,2,0)]; - std::complex aabbc = inarr[getVectorIndex(2,2,1,0)]; - std::complex aabcc = inarr[getVectorIndex(2,1,2,0)]; - std::complex abbcc = inarr[getVectorIndex(0,0,0,0)]; - std::complex aabbcc = inarr[getVectorIndex(2,2,2,0)]; + std::complex a = inarr[getVectorIndex(1, 0, 0, 0)]; + std::complex b = inarr[getVectorIndex(0, 1, 0, 0)]; + std::complex c = inarr[getVectorIndex(0, 0, 1, 0)]; + std::complex aa = inarr[getVectorIndex(2, 0, 0, 0)]; + std::complex bb = inarr[getVectorIndex(0, 2, 0, 0)]; + std::complex cc = inarr[getVectorIndex(0, 0, 2, 0)]; + std::complex ab = inarr[getVectorIndex(1, 1, 0, 0)]; + std::complex ac = inarr[getVectorIndex(1, 0, 1, 0)]; + std::complex bc = inarr[getVectorIndex(0, 1, 1, 0)]; + std::complex aab = inarr[getVectorIndex(2, 1, 0, 0)]; + std::complex aac = inarr[getVectorIndex(2, 0, 1, 0)]; + std::complex abb = inarr[getVectorIndex(1, 2, 0, 0)]; + std::complex acc = inarr[getVectorIndex(1, 0, 2, 0)]; + std::complex abc = inarr[getVectorIndex(1, 1, 1, 0)]; + std::complex bbc = inarr[getVectorIndex(0, 2, 1, 0)]; + std::complex bcc = inarr[getVectorIndex(0, 1, 2, 0)]; + std::complex aabb = inarr[getVectorIndex(2, 2, 0, 0)]; + std::complex aacc = inarr[getVectorIndex(2, 0, 2, 0)]; + std::complex aabc = inarr[getVectorIndex(2, 1, 1, 0)]; + std::complex abbc = inarr[getVectorIndex(1, 2, 1, 0)]; + std::complex abcc = inarr[getVectorIndex(1, 1, 2, 0)]; + std::complex bbcc = inarr[getVectorIndex(0, 2, 2, 0)]; + std::complex aabbc = inarr[getVectorIndex(2, 2, 1, 0)]; + std::complex aabcc = inarr[getVectorIndex(2, 1, 2, 0)]; + std::complex abbcc = inarr[getVectorIndex(0, 0, 0, 0)]; + std::complex aabbcc = inarr[getVectorIndex(2, 2, 2, 0)]; return (a * a * b * b * c * c - aa * b * b * c * c - a * a * bb * c * c - a * a * b * b * cc - 4. * a * ab * b * c * c - 4. * a * ac * b * b * c - 4. * a * a * b * bc * c + 4. * aab * b * c * c + 4. * aac * b * b * c + 4. * a * abb * c * c + 4. * a * acc * b * b + 4. * a * a * bbc * c + 4. * a * a * b * bcc + @@ -539,41 +539,41 @@ double FlowPtContainer::getStdAABBCC(T& inarr) template double FlowPtContainer::getStdAABBCD(T& inarr) { - std::complex a = inarr[getVectorIndex(1,0,0,0)]; - std::complex b = inarr[getVectorIndex(0,1,0,0)]; - std::complex c = inarr[getVectorIndex(0,0,1,0)]; - std::complex d = inarr[getVectorIndex(0,0,0,1)]; - std::complex aa = inarr[getVectorIndex(2,0,0,0)]; - std::complex bb = inarr[getVectorIndex(0,2,0,0)]; - std::complex ab = inarr[getVectorIndex(1,1,0,0)]; - std::complex ac = inarr[getVectorIndex(1,0,1,0)]; - std::complex ad = inarr[getVectorIndex(1,0,0,1)]; - std::complex bc = inarr[getVectorIndex(0,1,1,0)]; - std::complex bd = inarr[getVectorIndex(0,1,0,1)]; - std::complex cd = inarr[getVectorIndex(0,0,1,1)]; - std::complex aab = inarr[getVectorIndex(2,1,0,0)]; - std::complex aac = inarr[getVectorIndex(2,0,1,0)]; - std::complex aad = inarr[getVectorIndex(2,0,0,1)]; - std::complex abb = inarr[getVectorIndex(1,2,0,0)]; - std::complex abc = inarr[getVectorIndex(1,1,1,0)]; - std::complex abd = inarr[getVectorIndex(1,1,0,1)]; - std::complex acd = inarr[getVectorIndex(1,0,1,1)]; - std::complex bbc = inarr[getVectorIndex(0,2,1,0)]; - std::complex bbd = inarr[getVectorIndex(0,2,0,1)]; - std::complex bcd = inarr[getVectorIndex(0,1,1,1)]; - std::complex aabb = inarr[getVectorIndex(2,2,0,0)]; - std::complex aabc = inarr[getVectorIndex(2,1,1,0)]; - std::complex aabd = inarr[getVectorIndex(2,1,0,1)]; - std::complex aacd = inarr[getVectorIndex(2,0,1,1)]; - std::complex abbc = inarr[getVectorIndex(1,2,1,0)]; - std::complex abbd = inarr[getVectorIndex(1,2,0,1)]; - std::complex abcd = inarr[getVectorIndex(0,1,1,1)]; - std::complex bbcd = inarr[getVectorIndex(0,2,1,1)]; - std::complex aabbc = inarr[getVectorIndex(2,2,1,0)]; - std::complex aabbd = inarr[getVectorIndex(2,2,0,1)]; - std::complex aabcd = inarr[getVectorIndex(2,1,1,1)]; - std::complex abbcd = inarr[getVectorIndex(1,2,1,1)]; - std::complex aabbcd = inarr[getVectorIndex(2,2,1,1)]; + std::complex a = inarr[getVectorIndex(1, 0, 0, 0)]; + std::complex b = inarr[getVectorIndex(0, 1, 0, 0)]; + std::complex c = inarr[getVectorIndex(0, 0, 1, 0)]; + std::complex d = inarr[getVectorIndex(0, 0, 0, 1)]; + std::complex aa = inarr[getVectorIndex(2, 0, 0, 0)]; + std::complex bb = inarr[getVectorIndex(0, 2, 0, 0)]; + std::complex ab = inarr[getVectorIndex(1, 1, 0, 0)]; + std::complex ac = inarr[getVectorIndex(1, 0, 1, 0)]; + std::complex ad = inarr[getVectorIndex(1, 0, 0, 1)]; + std::complex bc = inarr[getVectorIndex(0, 1, 1, 0)]; + std::complex bd = inarr[getVectorIndex(0, 1, 0, 1)]; + std::complex cd = inarr[getVectorIndex(0, 0, 1, 1)]; + std::complex aab = inarr[getVectorIndex(2, 1, 0, 0)]; + std::complex aac = inarr[getVectorIndex(2, 0, 1, 0)]; + std::complex aad = inarr[getVectorIndex(2, 0, 0, 1)]; + std::complex abb = inarr[getVectorIndex(1, 2, 0, 0)]; + std::complex abc = inarr[getVectorIndex(1, 1, 1, 0)]; + std::complex abd = inarr[getVectorIndex(1, 1, 0, 1)]; + std::complex acd = inarr[getVectorIndex(1, 0, 1, 1)]; + std::complex bbc = inarr[getVectorIndex(0, 2, 1, 0)]; + std::complex bbd = inarr[getVectorIndex(0, 2, 0, 1)]; + std::complex bcd = inarr[getVectorIndex(0, 1, 1, 1)]; + std::complex aabb = inarr[getVectorIndex(2, 2, 0, 0)]; + std::complex aabc = inarr[getVectorIndex(2, 1, 1, 0)]; + std::complex aabd = inarr[getVectorIndex(2, 1, 0, 1)]; + std::complex aacd = inarr[getVectorIndex(2, 0, 1, 1)]; + std::complex abbc = inarr[getVectorIndex(1, 2, 1, 0)]; + std::complex abbd = inarr[getVectorIndex(1, 2, 0, 1)]; + std::complex abcd = inarr[getVectorIndex(0, 1, 1, 1)]; + std::complex bbcd = inarr[getVectorIndex(0, 2, 1, 1)]; + std::complex aabbc = inarr[getVectorIndex(2, 2, 1, 0)]; + std::complex aabbd = inarr[getVectorIndex(2, 2, 0, 1)]; + std::complex aabcd = inarr[getVectorIndex(2, 1, 1, 1)]; + std::complex abbcd = inarr[getVectorIndex(1, 2, 1, 1)]; + std::complex aabbcd = inarr[getVectorIndex(2, 2, 1, 1)]; return (-120. * aabbcd + 48. * a * abbcd + 24. * ab * abcd + 16. * abc * abd + 12. * abbd * ac + 8. * abb * acd + 12. * abbc * ad + 48. * aabcd * b - 24. * a * abcd * b - 8. * abd * ac * b - 8. * ab * acd * b - 8. * abc * ad * b - 6. * aacd * b * b + 4. * a * acd * b * b + 2. * ac * ad * b * b + @@ -598,32 +598,32 @@ double FlowPtContainer::getStdAABBCD(T& inarr) template double FlowPtContainer::getStdAABBDD(T& inarr) { - std::complex a = inarr[getVectorIndex(1,0,0,0)]; - std::complex b = inarr[getVectorIndex(0,1,0,0)]; - std::complex d = inarr[getVectorIndex(0,0,1,1)]; - std::complex aa = inarr[getVectorIndex(2,0,0,0)]; - std::complex bb = inarr[getVectorIndex(0,2,0,0)]; - std::complex dd = inarr[getVectorIndex(0,0,0,2)]; - std::complex ab = inarr[getVectorIndex(1,1,0,0)]; - std::complex ad = inarr[getVectorIndex(1,0,0,1)]; - std::complex bd = inarr[getVectorIndex(0,1,0,1)]; - std::complex aab = inarr[getVectorIndex(2,1,0,0)]; - std::complex aad = inarr[getVectorIndex(2,0,0,1)]; - std::complex abb = inarr[getVectorIndex(1,2,0,0)]; - std::complex add = inarr[getVectorIndex(1,0,0,2)]; - std::complex abd = inarr[getVectorIndex(1,1,0,1)]; - std::complex bbd = inarr[getVectorIndex(0,2,0,1)]; - std::complex bdd = inarr[getVectorIndex(0,1,0,2)]; - std::complex aabb = inarr[getVectorIndex(2,2,0,0)]; - std::complex aadd = inarr[getVectorIndex(2,0,0,2)]; - std::complex aabd = inarr[getVectorIndex(2,1,0,1)]; - std::complex abbd = inarr[getVectorIndex(1,2,0,1)]; - std::complex abdd = inarr[getVectorIndex(1,1,0,2)]; - std::complex bbdd = inarr[getVectorIndex(0,2,0,2)]; - std::complex aabbd = inarr[getVectorIndex(2,2,0,1)]; - std::complex aabdd = inarr[getVectorIndex(2,1,0,2)]; - std::complex abbdd = inarr[getVectorIndex(0,0,0,2)]; - std::complex aabbdd = inarr[getVectorIndex(2,2,0,2)]; + std::complex a = inarr[getVectorIndex(1, 0, 0, 0)]; + std::complex b = inarr[getVectorIndex(0, 1, 0, 0)]; + std::complex d = inarr[getVectorIndex(0, 0, 1, 1)]; + std::complex aa = inarr[getVectorIndex(2, 0, 0, 0)]; + std::complex bb = inarr[getVectorIndex(0, 2, 0, 0)]; + std::complex dd = inarr[getVectorIndex(0, 0, 0, 2)]; + std::complex ab = inarr[getVectorIndex(1, 1, 0, 0)]; + std::complex ad = inarr[getVectorIndex(1, 0, 0, 1)]; + std::complex bd = inarr[getVectorIndex(0, 1, 0, 1)]; + std::complex aab = inarr[getVectorIndex(2, 1, 0, 0)]; + std::complex aad = inarr[getVectorIndex(2, 0, 0, 1)]; + std::complex abb = inarr[getVectorIndex(1, 2, 0, 0)]; + std::complex add = inarr[getVectorIndex(1, 0, 0, 2)]; + std::complex abd = inarr[getVectorIndex(1, 1, 0, 1)]; + std::complex bbd = inarr[getVectorIndex(0, 2, 0, 1)]; + std::complex bdd = inarr[getVectorIndex(0, 1, 0, 2)]; + std::complex aabb = inarr[getVectorIndex(2, 2, 0, 0)]; + std::complex aadd = inarr[getVectorIndex(2, 0, 0, 2)]; + std::complex aabd = inarr[getVectorIndex(2, 1, 0, 1)]; + std::complex abbd = inarr[getVectorIndex(1, 2, 0, 1)]; + std::complex abdd = inarr[getVectorIndex(1, 1, 0, 2)]; + std::complex bbdd = inarr[getVectorIndex(0, 2, 0, 2)]; + std::complex aabbd = inarr[getVectorIndex(2, 2, 0, 1)]; + std::complex aabdd = inarr[getVectorIndex(2, 1, 0, 2)]; + std::complex abbdd = inarr[getVectorIndex(0, 0, 0, 2)]; + std::complex aabbdd = inarr[getVectorIndex(2, 2, 0, 2)]; return (-120. * aabbdd + 48. * a * abbdd + 16. * abd * abd + 24. * ab * abdd + 24. * abbd * ad + 8. * abb * add + 48. * aabdd * b - 24. * a * abdd * b - 16. * abd * ad * b - 8. * ab * add * b - 6. * aadd * b * b + 2. * ad * ad * b * b + 4. * a * add * b * b + 6. * aadd * bb - 2. * ad * ad * bb - @@ -643,81 +643,81 @@ double FlowPtContainer::getStdAABBDD(T& inarr) template double FlowPtContainer::getStdAABBC(T& inarr) { - std::complex a = inarr[getVectorIndex(1,0,0,0)]; - std::complex b = inarr[getVectorIndex(0,1,0,0)]; - std::complex c = inarr[getVectorIndex(0,0,1,0)]; - std::complex aa = inarr[getVectorIndex(2,0,0,0)]; - std::complex ab = inarr[getVectorIndex(1,1,0,0)]; - std::complex ac = inarr[getVectorIndex(1,0,1,0)]; - std::complex bb = inarr[getVectorIndex(0,2,0,0)]; - std::complex bc = inarr[getVectorIndex(0,1,1,0)]; - std::complex aab = inarr[getVectorIndex(2,1,0,0)]; - std::complex aac = inarr[getVectorIndex(2,0,1,0)]; - std::complex abb = inarr[getVectorIndex(1,2,0,0)]; - std::complex abc = inarr[getVectorIndex(1,1,1,0)]; - std::complex bbc = inarr[getVectorIndex(0,2,1,0)]; - std::complex aabb = inarr[getVectorIndex(2,2,0,0)]; - std::complex aabc = inarr[getVectorIndex(2,1,1,0)]; - std::complex abbc = inarr[getVectorIndex(1,2,1,0)]; - std::complex aabbc = inarr[getVectorIndex(2,2,1,0)]; + std::complex a = inarr[getVectorIndex(1, 0, 0, 0)]; + std::complex b = inarr[getVectorIndex(0, 1, 0, 0)]; + std::complex c = inarr[getVectorIndex(0, 0, 1, 0)]; + std::complex aa = inarr[getVectorIndex(2, 0, 0, 0)]; + std::complex ab = inarr[getVectorIndex(1, 1, 0, 0)]; + std::complex ac = inarr[getVectorIndex(1, 0, 1, 0)]; + std::complex bb = inarr[getVectorIndex(0, 2, 0, 0)]; + std::complex bc = inarr[getVectorIndex(0, 1, 1, 0)]; + std::complex aab = inarr[getVectorIndex(2, 1, 0, 0)]; + std::complex aac = inarr[getVectorIndex(2, 0, 1, 0)]; + std::complex abb = inarr[getVectorIndex(1, 2, 0, 0)]; + std::complex abc = inarr[getVectorIndex(1, 1, 1, 0)]; + std::complex bbc = inarr[getVectorIndex(0, 2, 1, 0)]; + std::complex aabb = inarr[getVectorIndex(2, 2, 0, 0)]; + std::complex aabc = inarr[getVectorIndex(2, 1, 1, 0)]; + std::complex abbc = inarr[getVectorIndex(1, 2, 1, 0)]; + std::complex aabbc = inarr[getVectorIndex(2, 2, 1, 0)]; return (a * a * b * b * c - aa * b * b * c - a * a * bb * c - 4. * ab * a * b * c - 2. * a * ac * b * b - 2. * a * a * bc * b + 2. * ab * ab * c + 4. * ab * ac * b + 4. * ab * bc * a + 8. * abc * a * b + 4. * aab * b * c + 2. * aac * b * b + 4. * abb * a * c + 2. * bbc * a * a + aa * bb * c + 2. * aa * b * bc + 2. * bb * a * ac - 12. * aabc * b - 12. * abbc * a - 6. * aabb * c - 8. * abc * ab - 2. * bbc * aa - 2. * aac * bb - 4. * aab * bc - 4. * abb * ac + 24. * aabbc).real(); } template double FlowPtContainer::getStdAABBD(T& inarr) { - std::complex a = inarr[getVectorIndex(1,0,0,0)]; - std::complex b = inarr[getVectorIndex(0,1,0,0)]; - std::complex d = inarr[getVectorIndex(0,0,1,0)]; - std::complex aa = inarr[getVectorIndex(2,0,0,0)]; - std::complex ab = inarr[getVectorIndex(1,1,0,0)]; - std::complex ad = inarr[getVectorIndex(1,0,1,0)]; - std::complex bb = inarr[getVectorIndex(0,2,0,0)]; - std::complex bd = inarr[getVectorIndex(0,1,1,0)]; - std::complex aab = inarr[getVectorIndex(2,1,0,0)]; - std::complex aad = inarr[getVectorIndex(2,0,1,0)]; - std::complex abb = inarr[getVectorIndex(1,2,0,0)]; - std::complex abd = inarr[getVectorIndex(1,1,1,0)]; - std::complex bbd = inarr[getVectorIndex(0,2,1,0)]; - std::complex aabb = inarr[getVectorIndex(2,2,0,0)]; - std::complex aabd = inarr[getVectorIndex(2,1,1,0)]; - std::complex abbd = inarr[getVectorIndex(1,2,1,0)]; - std::complex aabbd = inarr[getVectorIndex(2,2,1,0)]; + std::complex a = inarr[getVectorIndex(1, 0, 0, 0)]; + std::complex b = inarr[getVectorIndex(0, 1, 0, 0)]; + std::complex d = inarr[getVectorIndex(0, 0, 1, 0)]; + std::complex aa = inarr[getVectorIndex(2, 0, 0, 0)]; + std::complex ab = inarr[getVectorIndex(1, 1, 0, 0)]; + std::complex ad = inarr[getVectorIndex(1, 0, 1, 0)]; + std::complex bb = inarr[getVectorIndex(0, 2, 0, 0)]; + std::complex bd = inarr[getVectorIndex(0, 1, 1, 0)]; + std::complex aab = inarr[getVectorIndex(2, 1, 0, 0)]; + std::complex aad = inarr[getVectorIndex(2, 0, 1, 0)]; + std::complex abb = inarr[getVectorIndex(1, 2, 0, 0)]; + std::complex abd = inarr[getVectorIndex(1, 1, 1, 0)]; + std::complex bbd = inarr[getVectorIndex(0, 2, 1, 0)]; + std::complex aabb = inarr[getVectorIndex(2, 2, 0, 0)]; + std::complex aabd = inarr[getVectorIndex(2, 1, 1, 0)]; + std::complex abbd = inarr[getVectorIndex(1, 2, 1, 0)]; + std::complex aabbd = inarr[getVectorIndex(2, 2, 1, 0)]; return (a * a * b * b * d - aa * b * b * d - a * a * bb * d - 4. * ab * a * b * d - 2. * a * ad * b * b - 2. * a * a * bd * b + 2. * ab * ab * d + 4. * ab * ad * b + 4. * ab * bd * a + 8. * abd * a * b + 4. * aab * b * d + 2. * aad * b * b + 4. * abb * a * d + 2. * bbd * a * a + aa * bb * d + 2. * aa * b * bd + 2. * bb * a * ad - 12. * aabd * b - 12. * abbd * a - 6. * aabb * d - 8. * abd * ab - 2. * bbd * aa - 2. * aad * bb - 4. * aab * bd - 4. * abb * ad + 24. * aabbd).real(); } template double FlowPtContainer::getStdABCC(T& inarr) { - std::complex a = inarr[getVectorIndex(1,0,0,0)]; - std::complex b = inarr[getVectorIndex(0,1,0,0)]; - std::complex c = inarr[getVectorIndex(0,0,1,0)]; - std::complex ab = inarr[getVectorIndex(1,1,0,0)]; - std::complex ac = inarr[getVectorIndex(1,0,1,0)]; - std::complex bc = inarr[getVectorIndex(0,1,1,0)]; - std::complex cc = inarr[getVectorIndex(0,0,2,0)]; - std::complex abc = inarr[getVectorIndex(1,1,1,0)]; - std::complex acc = inarr[getVectorIndex(1,0,2,0)]; - std::complex bcc = inarr[getVectorIndex(0,1,2,0)]; - std::complex abcc = inarr[getVectorIndex(1,1,2,0)]; + std::complex a = inarr[getVectorIndex(1, 0, 0, 0)]; + std::complex b = inarr[getVectorIndex(0, 1, 0, 0)]; + std::complex c = inarr[getVectorIndex(0, 0, 1, 0)]; + std::complex ab = inarr[getVectorIndex(1, 1, 0, 0)]; + std::complex ac = inarr[getVectorIndex(1, 0, 1, 0)]; + std::complex bc = inarr[getVectorIndex(0, 1, 1, 0)]; + std::complex cc = inarr[getVectorIndex(0, 0, 2, 0)]; + std::complex abc = inarr[getVectorIndex(1, 1, 1, 0)]; + std::complex acc = inarr[getVectorIndex(1, 0, 2, 0)]; + std::complex bcc = inarr[getVectorIndex(0, 1, 2, 0)]; + std::complex abcc = inarr[getVectorIndex(1, 1, 2, 0)]; return (a * b * c * c - a * b * cc - 2. * a * bc * c - 2. * ac * b * c - ab * c * c + 2. * acc * b + 2. * a * bcc + 4. * abc * c + ab * cc + 2. * ac * bc - 6. * abcc).real(); } template double FlowPtContainer::getStdABCD(T& inarr) { - std::complex a = inarr[getVectorIndex(1,0,0,0)]; - std::complex b = inarr[getVectorIndex(0,1,0,0)]; - std::complex c = inarr[getVectorIndex(0,0,1,0)]; - std::complex d = inarr[getVectorIndex(0,0,0,1)]; - std::complex ab = inarr[getVectorIndex(1,1,0,0)]; - std::complex ac = inarr[getVectorIndex(1,0,1,0)]; - std::complex ad = inarr[getVectorIndex(1,0,0,1)]; - std::complex bc = inarr[getVectorIndex(0,1,1,0)]; - std::complex bd = inarr[getVectorIndex(0,1,0,1)]; - std::complex cd = inarr[getVectorIndex(0,0,1,1)]; - std::complex abc = inarr[getVectorIndex(1,1,1,0)]; - std::complex abd = inarr[getVectorIndex(1,1,0,1)]; - std::complex acd = inarr[getVectorIndex(1,0,1,1)]; - std::complex bcd = inarr[getVectorIndex(0,1,1,1)]; - std::complex abcd = inarr[getVectorIndex(1,1,0,1)]; + std::complex a = inarr[getVectorIndex(1, 0, 0, 0)]; + std::complex b = inarr[getVectorIndex(0, 1, 0, 0)]; + std::complex c = inarr[getVectorIndex(0, 0, 1, 0)]; + std::complex d = inarr[getVectorIndex(0, 0, 0, 1)]; + std::complex ab = inarr[getVectorIndex(1, 1, 0, 0)]; + std::complex ac = inarr[getVectorIndex(1, 0, 1, 0)]; + std::complex ad = inarr[getVectorIndex(1, 0, 0, 1)]; + std::complex bc = inarr[getVectorIndex(0, 1, 1, 0)]; + std::complex bd = inarr[getVectorIndex(0, 1, 0, 1)]; + std::complex cd = inarr[getVectorIndex(0, 0, 1, 1)]; + std::complex abc = inarr[getVectorIndex(1, 1, 1, 0)]; + std::complex abd = inarr[getVectorIndex(1, 1, 0, 1)]; + std::complex acd = inarr[getVectorIndex(1, 0, 1, 1)]; + std::complex bcd = inarr[getVectorIndex(0, 1, 1, 1)]; + std::complex abcd = inarr[getVectorIndex(1, 1, 0, 1)]; return (-6. * abcd + 2. * acd * b + ad * bc + 2. * a * bcd + ac * bd + 2. * abd * c - ad * b * c - a * bd * c + ab * cd - a * b * cd + 2. * abc * d - ac * b * d - a * bc * d - ab * c * d + a * b * c * d) @@ -726,41 +726,41 @@ double FlowPtContainer::getStdABCD(T& inarr) template double FlowPtContainer::getStdABDD(T& inarr) { - std::complex a = inarr[getVectorIndex(1,0,0,0)]; - std::complex b = inarr[getVectorIndex(0,1,0,0)]; - std::complex d = inarr[getVectorIndex(0,0,0,1)]; - std::complex ab = inarr[getVectorIndex(1,1,0,0)]; - std::complex ad = inarr[getVectorIndex(1,0,0,1)]; - std::complex bd = inarr[getVectorIndex(0,1,0,1)]; - std::complex dd = inarr[getVectorIndex(0,0,0,2)]; - std::complex abd = inarr[getVectorIndex(1,1,0,1)]; - std::complex add = inarr[getVectorIndex(1,0,0,2)]; - std::complex bdd = inarr[getVectorIndex(0,1,0,2)]; - std::complex abdd = inarr[getVectorIndex(1,1,0,2)]; + std::complex a = inarr[getVectorIndex(1, 0, 0, 0)]; + std::complex b = inarr[getVectorIndex(0, 1, 0, 0)]; + std::complex d = inarr[getVectorIndex(0, 0, 0, 1)]; + std::complex ab = inarr[getVectorIndex(1, 1, 0, 0)]; + std::complex ad = inarr[getVectorIndex(1, 0, 0, 1)]; + std::complex bd = inarr[getVectorIndex(0, 1, 0, 1)]; + std::complex dd = inarr[getVectorIndex(0, 0, 0, 2)]; + std::complex abd = inarr[getVectorIndex(1, 1, 0, 1)]; + std::complex add = inarr[getVectorIndex(1, 0, 0, 2)]; + std::complex bdd = inarr[getVectorIndex(0, 1, 0, 2)]; + std::complex abdd = inarr[getVectorIndex(1, 1, 0, 2)]; return (a * b * d * d - a * b * dd - 2. * a * bd * d - 2. * ad * b * d - ab * d * d + 2. * add * b + 2. * a * bdd + 4. * abd * d + ab * dd + 2. * ad * bd - 6. * abdd).real(); } template double FlowPtContainer::getStdABC(T& inarr) { - std::complex a = inarr[getVectorIndex(1,0,0,0)]; - std::complex b = inarr[getVectorIndex(0,1,0,0)]; - std::complex c = inarr[getVectorIndex(0,0,1,0)]; - std::complex ab = inarr[getVectorIndex(1,1,0,0)]; - std::complex ac = inarr[getVectorIndex(1,0,1,0)]; - std::complex bc = inarr[getVectorIndex(0,1,1,0)]; - std::complex abc = inarr[getVectorIndex(1,1,1,0)]; + std::complex a = inarr[getVectorIndex(1, 0, 0, 0)]; + std::complex b = inarr[getVectorIndex(0, 1, 0, 0)]; + std::complex c = inarr[getVectorIndex(0, 0, 1, 0)]; + std::complex ab = inarr[getVectorIndex(1, 1, 0, 0)]; + std::complex ac = inarr[getVectorIndex(1, 0, 1, 0)]; + std::complex bc = inarr[getVectorIndex(0, 1, 1, 0)]; + std::complex abc = inarr[getVectorIndex(1, 1, 1, 0)]; return (a * b * c - ab * c - ac * b - a * bc + 2. * abc).real(); } template double FlowPtContainer::getStdABD(T& inarr) { - std::complex a = inarr[getVectorIndex(1,0,0,0)]; - std::complex b = inarr[getVectorIndex(0,1,0,0)]; - std::complex d = inarr[getVectorIndex(0,0,0,1)]; - std::complex ab = inarr[getVectorIndex(1,1,0,0)]; - std::complex ad = inarr[getVectorIndex(1,0,0,1)]; - std::complex bd = inarr[getVectorIndex(0,1,0,1)]; - std::complex abd = inarr[getVectorIndex(1,1,0,1)]; + std::complex a = inarr[getVectorIndex(1, 0, 0, 0)]; + std::complex b = inarr[getVectorIndex(0, 1, 0, 0)]; + std::complex d = inarr[getVectorIndex(0, 0, 0, 1)]; + std::complex ab = inarr[getVectorIndex(1, 1, 0, 0)]; + std::complex ad = inarr[getVectorIndex(1, 0, 0, 1)]; + std::complex bd = inarr[getVectorIndex(0, 1, 0, 1)]; + std::complex abd = inarr[getVectorIndex(1, 1, 0, 1)]; return (a * b * d - ab * d - ad * b - a * bd + 2. * abd).real(); } double FlowPtContainer::orderedAddition(std::vector vec) @@ -947,7 +947,7 @@ Long64_t FlowPtContainer::Merge(TCollection* collist) void FlowPtContainer::mergeBSLists(TList* source, TList* target) { if (source->GetEntries() != target->GetEntries()) { - LOGF(warning,"Number in lists to be merged are not the same, skipping...\n"); + LOGF(warning, "Number in lists to be merged are not the same, skipping...\n"); return; } for (int i = 0; i < source->GetEntries(); i++) { diff --git a/PWGCF/GenericFramework/Core/FlowPtContainer.h b/PWGCF/GenericFramework/Core/FlowPtContainer.h index c3a0d8e5a55..be68a564d84 100644 --- a/PWGCF/GenericFramework/Core/FlowPtContainer.h +++ b/PWGCF/GenericFramework/Core/FlowPtContainer.h @@ -52,8 +52,8 @@ class FlowPtContainer : public TNamed void initialise(int nbinsx, double xlow, double xhigh, const int& m, const GFWCorrConfigs& configs, const int& nsub = 10); void fill(const double& w, const double& pt); void fillArray(FillType a, FillType b, double c, double d); - int getVectorIndex(const int i, const int j) { return j * (mpar + 1) + i; } //index for 2d array for storing pt correlations - int getVectorIndex(const int i, const int j, const int k, const int l) { return i + j * 3 + k * 3 * 3 + l * 3 * 3 * 3; } //index for 4d array for std vnpt correlation - size 3x3x3x3 + int getVectorIndex(const int i, const int j) { return j * (mpar + 1) + i; } // index for 2d array for storing pt correlations + int getVectorIndex(const int i, const int j, const int k, const int l) { return i + j * 3 + k * 3 * 3 + l * 3 * 3 * 3; } // index for 4d array for std vnpt correlation - size 3x3x3x3 void calculateCorrelations(); void calculateCMTerms(); void fillPtProfiles(const double& lMult, const double& rn); @@ -104,9 +104,9 @@ class FlowPtContainer : public TNamed cmDen.clear(); fillCounter = 0; arr.clear(); - arr.resize(3*3*3*3,{0.0,0.0}); + arr.resize(3 * 3 * 3 * 3, {0.0, 0.0}); warr.clear(); - warr.resize(3*3*3*3,0.0); + warr.resize(3 * 3 * 3 * 3, 0.0); }; TList* fCMTermList; @@ -115,11 +115,11 @@ class FlowPtContainer : public TNamed TList* fCumulantList; TList* fCentralMomentList; - int mpar; //! - int fillCounter; //! - unsigned int fEventWeight; //! - bool fUseCentralMoments; //! - bool fUseGap; //! + int mpar; //! + int fillCounter; //! + unsigned int fEventWeight; //! + bool fUseCentralMoments; //! + bool fUseGap; //! void mergeBSLists(TList* source, TList* target); TH1* raiseHistToPower(TH1* inh, double p); std::vector sumP; //! @@ -149,7 +149,8 @@ class FlowPtContainer : public TNamed double getStdABC(T& inarr); template double getStdABD(T& inarr); -private: + + private: static constexpr float FactorialArray[9] = {1., 1., 2., 6., 24., 120., 720., 5040., 40320.}; static constexpr int SignArray[9] = {1, -1, 1, -1, 1, -1, 1, -1, 1}; ClassDef(FlowPtContainer, 2); diff --git a/PWGCF/GenericFramework/Tasks/flowGenericFramework.cxx b/PWGCF/GenericFramework/Tasks/flowGenericFramework.cxx index 872a4d194f3..712ab11b3da 100644 --- a/PWGCF/GenericFramework/Tasks/flowGenericFramework.cxx +++ b/PWGCF/GenericFramework/Tasks/flowGenericFramework.cxx @@ -830,7 +830,7 @@ struct GenericFramework { return; double waccRef = (dt == kGen) ? 1. : getAcceptance(track, vtxz, -1); double waccPOI = (dt == kGen) ? 1. : withinPtPOI ? getAcceptance(track, vtxz, pid_index) - : getAcceptance(track, vtxz, 0); // + : getAcceptance(track, vtxz, 0); // if (withinPtRef && withinPtPOI && pid_index) waccRef = waccPOI; // if particle is both (then it's overlap), override ref with POI if (withinPtRef)