Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
ff1ba27
Add files via upload
wefeng1110 Jun 11, 2024
ae6d645
Add files via upload
wefeng1110 Jun 11, 2024
0f11e5e
Delete jetMCEfficiency.cxx
wefeng1110 Jun 11, 2024
36e35d7
Merge branch 'AliceO2Group:master' into master
wefeng1110 Nov 20, 2024
1664f96
Delete PWGJE/Tasks/jetMCEfficiency.cxx
wefeng1110 Nov 20, 2024
6d72562
Update CMakeLists.txt
wefeng1110 Nov 20, 2024
55f8d1b
Add jetSpectraCharged.cxx via upload
wefeng1110 Nov 20, 2024
29fba85
Update jetSpectraCharged.cxx
wefeng1110 Nov 20, 2024
8c33b20
Update jetSpectraCharged.cxx: Add process collisions
wefeng1110 Nov 20, 2024
7afd628
Update jetSpectraCharged.cxx: change histograms in Data_jet & Rhoarea…
wefeng1110 Nov 22, 2024
01494b2
Update for the time: process mcparticles
wefeng1110 Nov 22, 2024
147017e
Update jetSpectraCharged.cxx
wefeng1110 Nov 26, 2024
a236283
Update jetSpectraCharged.cxx
wefeng1110 Nov 27, 2024
6a1eb33
Merge branch 'AliceO2Group:master' into master
wefeng1110 Nov 27, 2024
b55c75c
Update jetSpectraCharged.cxx
wefeng1110 Nov 27, 2024
cf78cdd
Add files via upload
wefeng1110 Nov 27, 2024
94b37f0
Merge branch 'AliceO2Group:master' into master
wefeng1110 Nov 28, 2024
64182d9
Update jetSpectraCharged.cxx
wefeng1110 Nov 28, 2024
2ba745a
Update jetSpectraCharged.cxx
wefeng1110 Nov 28, 2024
aacf78b
Add THnsparseF for track and jet observables
wefeng1110 Dec 2, 2024
b14c57d
Update jetSpectraCharged.cxx
wefeng1110 Dec 3, 2024
0ed880e
Merge branch 'AliceO2Group:master' into master
wefeng1110 Dec 3, 2024
be496cd
Add files via upload
wefeng1110 Dec 3, 2024
c09a0d3
Add files via upload
wefeng1110 Dec 3, 2024
5383074
Merge branch 'AliceO2Group:master' into master
wefeng1110 Dec 3, 2024
29c7274
[PWGLF] occupancy checks for MC (#8787)
sarjeetagami Dec 3, 2024
3100ca1
[PWGCF] DptDpt - Efficiency and QC fixing linter errors on file name …
victor-gonzalez Dec 3, 2024
4f717b9
Merge branch 'AliceO2Group:master' into master
wefeng1110 Dec 4, 2024
5afd082
[Common] TrackQA: Add converter for _000 to _001 (#8404)
f3sch Dec 4, 2024
e266c90
[PWGDQ] Add calculation of muon pair production rate asymmetry (#8759)
kkimura0623 Dec 4, 2024
a05a3b4
[PWGCF] Update lambdaR2Correlation.cxx (#8779)
yashpatley Dec 4, 2024
6cd0907
[PWGCF] added SPM and corrected phi range (#8797)
cnkoster Dec 4, 2024
e4ab16c
[PWGEM,PWGEM-36] EMCal rotation background add SM edges (#8800)
mhemmer-cern Dec 4, 2024
97c1af2
[PWGUD] suppress SGProducers printouts to terminal (#8791)
rolavick Dec 4, 2024
af86e5c
[PWGUD] updates to upcRhoAnalysis.cxx (#8806)
jjuracka Dec 4, 2024
fdf97f7
[PWGLF] ebyeMult: get trigger efficiency + improve gen particle cuts …
maciacco Dec 4, 2024
1c9a314
[PWGLF] Fix unbound indices in KF hypernuclei code (#8803)
mhartung71 Dec 4, 2024
8d74e06
[PWGCF] DptDpt Efficiency an QC, configurable nsigma axes (#8808)
victor-gonzalez Dec 4, 2024
43834f1
[PWGLF] Adding cut for selecting antitriton for tree saving (#8678)
m-rasa Dec 4, 2024
f52c0a6
[Infrastructure] Don't try to lint when no files are found (#8772)
singiamtel Dec 4, 2024
5191c8b
Add files via upload
wefeng1110 Dec 4, 2024
3c76231
Merge branch 'AliceO2Group:master' into master
wefeng1110 Dec 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/o2-linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ jobs:
run: |
# Diff against the common ancestor of the source branch and the main branch.
readarray -t files < <(git diff --diff-filter d --name-only origin/${{ env.MAIN_BRANCH }}...)
if [ ${#files[@]} -eq 0 ]; then
echo "::notice::No files to lint."
exit 0
fi
[ ${{ github.event_name }} == 'pull_request' ] && options="-g"
# shellcheck disable=SC2086 # Ignore unquoted options.
python3 Scripts/o2_linter.py $options "${files[@]}"
Expand Down
5 changes: 5 additions & 0 deletions Common/TableProducer/Converters/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2019-2020 CERN and copyright holders of ALICE O2.

Check warning on line 1 in Common/TableProducer/Converters/CMakeLists.txt

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-workflow]

Use kebab-case for names of workflows and match the name of the workflow file.
# See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
# All rights not expressly granted are reserved.
#
Expand Down Expand Up @@ -44,7 +44,7 @@
PUBLIC_LINK_LIBRARIES
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(mccollision-converter

Check warning on line 47 in Common/TableProducer/Converters/CMakeLists.txt

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-workflow]

Workflow name mccollision-converter does not match its file name mcCollisionConverter.cxx. (Matches mccollisionConverter.cxx.)
SOURCES mcCollisionConverter.cxx
PUBLIC_LINK_LIBRARIES
COMPONENT_NAME Analysis)
Expand All @@ -69,17 +69,22 @@
PUBLIC_LINK_LIBRARIES
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(hmpid-converter

Check warning on line 72 in Common/TableProducer/Converters/CMakeLists.txt

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-workflow]

Workflow name hmpid-converter does not match its file name hmpConverter.cxx. (Matches hmpidConverter.cxx.)
SOURCES hmpConverter.cxx
PUBLIC_LINK_LIBRARIES
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(multsextra-converter

Check warning on line 77 in Common/TableProducer/Converters/CMakeLists.txt

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-workflow]

Workflow name multsextra-converter does not match its file name multsExtraConverter.cxx. (Matches multsextraConverter.cxx.)
SOURCES multsExtraConverter.cxx
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(multmcextras-converter

Check warning on line 82 in Common/TableProducer/Converters/CMakeLists.txt

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-workflow]

Workflow name multmcextras-converter does not match its file name multMCExtrasConverter.cxx. (Matches multmcextrasConverter.cxx.)
SOURCES multMCExtrasConverter.cxx
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(trackqa-converter

Check warning on line 87 in Common/TableProducer/Converters/CMakeLists.txt

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-workflow]

Workflow name trackqa-converter does not match its file name trackQAConverter.cxx. (Matches trackqaConverter.cxx.)
SOURCES trackQAConverter.cxx
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
COMPONENT_NAME Analysis)
60 changes: 60 additions & 0 deletions Common/TableProducer/Converters/trackQAConverter.cxx
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.

Check warning on line 1 in Common/TableProducer/Converters/trackQAConverter.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[doc/file]

Provide mandatory file documentation.
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
// All rights not expressly granted are reserved.
//
// This software is distributed under the terms of the GNU General Public
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
//
// In applying this license CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
#include <limits>

Check warning on line 11 in Common/TableProducer/Converters/trackQAConverter.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[doc/file]

Documentation for \file is missing, incorrect or misplaced.

Check warning on line 11 in Common/TableProducer/Converters/trackQAConverter.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[doc/file]

Documentation for \brief is missing, incorrect or misplaced.

Check warning on line 11 in Common/TableProducer/Converters/trackQAConverter.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[doc/file]

Documentation for \author is missing, incorrect or misplaced.

#include "Framework/runDataProcessing.h"
#include "Framework/AnalysisTask.h"
#include "Framework/AnalysisDataModel.h"

using namespace o2;
using namespace o2::framework;

struct trackQAConverter {
Produces<aod::TracksQA_001> tracksQA_001;

void process(aod::TracksQA_000 const& tracksQA_000)
{
for (const auto& trackQA : tracksQA_000) {
tracksQA_001(
trackQA.trackId(),
trackQA.tpcTime0(),
trackQA.tpcdcaR(),
trackQA.tpcdcaZ(),
trackQA.tpcClusterByteMask(),
trackQA.tpcdEdxMax0R(),
trackQA.tpcdEdxMax1R(),
trackQA.tpcdEdxMax2R(),
trackQA.tpcdEdxMax3R(),
trackQA.tpcdEdxTot0R(),
trackQA.tpcdEdxTot1R(),
trackQA.tpcdEdxTot2R(),
trackQA.tpcdEdxTot3R(),
// dummy values, not available in _000
std::numeric_limits<int8_t>::min(), // deltaRefContParamY
std::numeric_limits<int8_t>::min(), // deltaRefContParamZ
std::numeric_limits<int8_t>::min(), // deltaRefContParamSnp
std::numeric_limits<int8_t>::min(), // deltaRefContParamTgl
std::numeric_limits<int8_t>::min(), // deltaRefContParamQ2Pt
std::numeric_limits<int8_t>::min(), // deltaRefGloParamY
std::numeric_limits<int8_t>::min(), // deltaRefGloParamZ
std::numeric_limits<int8_t>::min(), // deltaRefGloParamSnp
std::numeric_limits<int8_t>::min(), // deltaRefGloParamTgl
std::numeric_limits<int8_t>::min()); // deltaRefGloParamQ2Pt
}
}
};

WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
{
return WorkflowSpec{
adaptAnalysisTask<trackQAConverter>(cfgc),
};
}
4 changes: 2 additions & 2 deletions PWGCF/Flow/TableProducer/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
# or submit itself to any jurisdiction.


o2physics_add_dpl_workflow(flow-zdc-qvectors
SOURCES ZDCQvectors.cxx
o2physics_add_dpl_workflow(zdc-q-vectors
SOURCES zdcQVectors.cxx
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::GFWCore
COMPONENT_NAME Analysis)

Large diffs are not rendered by default.

142 changes: 111 additions & 31 deletions PWGCF/Flow/Tasks/flowSP.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.

// author: Noor Koster noor.koster@cern.ch
/// \file flowSP.cxx
/// \author Noor Koster
/// \since 01/12/2024
/// \brief task to evaluate flow with respect to spectator plane.

#include <CCDB/BasicCCDBManager.h>
#include <DataFormatsParameters/GRPObject.h>
Expand All @@ -30,6 +33,7 @@
#include "Common/DataModel/Multiplicity.h"
#include "Common/DataModel/Centrality.h"
#include "Common/DataModel/Qvectors.h"
#include "Common/Core/RecoDecay.h"

#include "PWGCF/DataModel/SPTableZDC.h"
#include "TF1.h"
Expand All @@ -41,7 +45,7 @@ using namespace o2::framework::expressions;

#define O2_DEFINE_CONFIGURABLE(NAME, TYPE, DEFAULT, HELP) Configurable<TYPE> NAME{#NAME, DEFAULT, HELP};

struct flowAnalysisSP {
struct FlowSP {

O2_DEFINE_CONFIGURABLE(cfgDCAxy, float, 0.2, "Cut on DCA in the transverse direction (cm)");
O2_DEFINE_CONFIGURABLE(cfgDCAz, float, 2, "Cut on DCA in the longitudinal direction (cm)");
Expand All @@ -53,6 +57,8 @@ struct flowAnalysisSP {
O2_DEFINE_CONFIGURABLE(cfgMagField, float, 99999, "Configurable magnetic field; default CCDB will be queried");
O2_DEFINE_CONFIGURABLE(cfgUseAdditionalEventCut, bool, true, "Bool to enable Additional Event Cut");
O2_DEFINE_CONFIGURABLE(cfgUseAdditionalTrackCut, bool, true, "Bool to enable Additional Track Cut");
O2_DEFINE_CONFIGURABLE(cfgCentMax, float, 60, "Maximum cenrality for selected events");
O2_DEFINE_CONFIGURABLE(cfgCentMin, float, 10, "Minimum cenrality for selected events");

O2_DEFINE_CONFIGURABLE(cfgDoubleTrackFunction, bool, true, "Include track cut at low pt");
O2_DEFINE_CONFIGURABLE(cfgTrackCutSize, float, 0.06, "Spread of track cut");
Expand All @@ -67,8 +73,8 @@ struct flowAnalysisSP {

Filter collisionFilter = nabs(aod::collision::posZ) < cfgVtxZ;
Filter trackFilter = nabs(aod::track::eta) < cfgEta && aod::track::pt > cfgPtmin&& aod::track::pt < cfgPtmax && ((requireGlobalTrackInFilter()) || (aod::track::isGlobalTrackSDD == (uint8_t) true)) && nabs(aod::track::dcaXY) < cfgDCAxy&& nabs(aod::track::dcaZ) < cfgDCAz;
using myCollisions = soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::Mults, aod::CentFT0Cs, aod::SPTableZDC, aod::Qvectors>>;
using myTracks = soa::Filtered<soa::Join<aod::Tracks, aod::TracksExtra, aod::TrackSelection, aod::TracksDCA>>;
using UsedCollisions = soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::Mults, aod::CentFT0Cs, aod::SPTableZDC, aod::Qvectors>>;
using UsedTracks = soa::Filtered<soa::Join<aod::Tracks, aod::TracksExtra, aod::TrackSelection, aod::TracksDCA>>;

// Connect to ccdb
Service<ccdb::BasicCCDBManager> ccdb;
Expand Down Expand Up @@ -118,6 +124,22 @@ struct flowAnalysisSP {
registry.add<TProfile>("v1C_eta", "", kTProfile, {{10, -.8, .8}});
registry.add<TProfile>("v1AC_eta", "", kTProfile, {{10, -.8, .8}});

registry.add<TProfile>("v1_eta_odd", "", kTProfile, {{10, -.8, .8}});
registry.add<TProfile>("v1_eta_even", "", kTProfile, {{10, -.8, .8}});

registry.add<TProfile>("v1_eta_odd_dev", "", kTProfile, {{10, -.8, .8}});
registry.add<TProfile>("v1_eta_even_dev", "", kTProfile, {{10, -.8, .8}});

registry.add<TProfile>("v1_eta_odd_dev_pos", "", kTProfile, {{10, -.8, .8}});
registry.add<TProfile>("v1_eta_even_dev_pos", "", kTProfile, {{10, -.8, .8}});
registry.add<TProfile>("v1_eta_odd_pos", "", kTProfile, {{10, -.8, .8}});
registry.add<TProfile>("v1_eta_even_pos", "", kTProfile, {{10, -.8, .8}});

registry.add<TProfile>("v1_eta_odd_dev_neg", "", kTProfile, {{10, -.8, .8}});
registry.add<TProfile>("v1_eta_even_dev_neg", "", kTProfile, {{10, -.8, .8}});
registry.add<TProfile>("v1_eta_odd_neg", "", kTProfile, {{10, -.8, .8}});
registry.add<TProfile>("v1_eta_even_neg", "", kTProfile, {{10, -.8, .8}});

registry.add<TProfile>("v2_cent", "", kTProfile, {{80, 0, 80}});
registry.add<TProfile>("v2A_cent", "", kTProfile, {{80, 0, 80}});
registry.add<TProfile>("v2C_cent", "", kTProfile, {{80, 0, 80}});
Expand All @@ -133,7 +155,8 @@ struct flowAnalysisSP {
registry.get<TH1>(HIST("hEventCount"))->GetXaxis()->SetBinLabel(7, "kNoCollInTimeRangeStandard");
registry.get<TH1>(HIST("hEventCount"))->GetXaxis()->SetBinLabel(8, "kIsVertexITSTPC");
registry.get<TH1>(HIST("hEventCount"))->GetXaxis()->SetBinLabel(9, "after Mult cuts");
registry.get<TH1>(HIST("hEventCount"))->GetXaxis()->SetBinLabel(10, "isSelected");
registry.get<TH1>(HIST("hEventCount"))->GetXaxis()->SetBinLabel(10, "after Cent cuts");
registry.get<TH1>(HIST("hEventCount"))->GetXaxis()->SetBinLabel(11, "isSelected");

if (cfgUseAdditionalEventCut) {
fMultPVCutLow = new TF1("fMultPVCutLow", "[0]+[1]*x+[2]*x*x+[3]*x*x*x+[4]*x*x*x*x - 3.5*([5]+[6]*x+[7]*x*x+[8]*x*x*x+[9]*x*x*x*x)", 0, 100);
Expand Down Expand Up @@ -217,7 +240,7 @@ struct flowAnalysisSP {
float vtxz = -999;
if (collision.numContrib() > 1) {
vtxz = collision.posZ();
float zRes = TMath::Sqrt(collision.covZZ());
float zRes = std::sqrt(collision.covZZ());
if (zRes > 0.25 && collision.numContrib() < 20)
vtxz = -999;
}
Expand All @@ -239,6 +262,11 @@ struct flowAnalysisSP {

registry.fill(HIST("hEventCount"), 8.5);

if (centrality > cfgCentMax || centrality < cfgCentMin)
return 0;

registry.fill(HIST("hEventCount"), 9.5);

return 1;
}

Expand All @@ -247,22 +275,22 @@ struct flowAnalysisSP {
{
double phimodn = track.phi();
if (field < 0) // for negative polarity field
phimodn = TMath::TwoPi() - phimodn;
phimodn = o2::constants::math::TwoPI - phimodn;
if (track.sign() < 0) // for negative charge
phimodn = TMath::TwoPi() - phimodn;
phimodn = o2::constants::math::TwoPI - phimodn;
if (phimodn < 0)
LOGF(warning, "phi < 0: %g", phimodn);

phimodn += TMath::Pi() / 18.0; // to center gap in the middle
phimodn = fmod(phimodn, TMath::Pi() / 9.0);
phimodn += o2::constants::math::PI / 18.0; // to center gap in the middle
phimodn = fmod(phimodn, o2::constants::math::PI / 9.0);
registry.fill(HIST("pt_phi_bef"), track.pt(), phimodn);
if (phimodn < fPhiCutHigh->Eval(track.pt()) && phimodn > fPhiCutLow->Eval(track.pt()))
return false; // reject track
registry.fill(HIST("pt_phi_aft"), track.pt(), phimodn);
return true;
}

void process(myCollisions::iterator const& collision, aod::BCsWithTimestamps const&, myTracks const& tracks)
void process(UsedCollisions::iterator const& collision, aod::BCsWithTimestamps const&, UsedTracks const& tracks)
{
// Hier sum over collisions and get ZDC data.
registry.fill(HIST("hEventCount"), .5);
Expand All @@ -280,7 +308,7 @@ struct flowAnalysisSP {
return;

if (collision.isSelected()) {
registry.fill(HIST("hEventCount"), 9.5);
registry.fill(HIST("hEventCount"), 10.5);

registry.fill(HIST("hCent"), centrality);

Expand All @@ -289,38 +317,90 @@ struct flowAnalysisSP {
double qxC = collision.qxC();
double qyC = collision.qyC();

double Psi_A = 1.0 * TMath::ATan2(qyA, qxA);
registry.fill(HIST("hSPplaneA"), Psi_A, 1);
double psiA = 1.0 * std::atan2(qyA, qxA);
registry.fill(HIST("hSPplaneA"), psiA, 1);

double psiC = 1.0 * std::atan2(qyC, qxC);
registry.fill(HIST("hSPplaneC"), psiC, 1);

registry.fill(HIST("hSPplaneA-C"), psiA - psiC, 1);

double Psi_C = 1.0 * TMath::ATan2(qyC, qxC);
registry.fill(HIST("hSPplaneC"), Psi_C, 1);
registry.fill(HIST("hCosdPhi"), centrality, std::cos(psiA - psiC));
if (std::cos(psiA - psiC) < 0)
registry.fill(HIST("hSPlaneRes"), centrality, std::sqrt(-1. * std::cos(psiA - psiC)));

registry.fill(HIST("hSPplaneA-C"), Psi_A - Psi_C, 1);
registry.fill(HIST("hSindPhi"), centrality, std::sin(psiA - psiC));

registry.fill(HIST("hCosdPhi"), centrality, TMath::Cos(Psi_A - Psi_C));
if (TMath::Cos(Psi_A - Psi_C) < 0)
registry.fill(HIST("hSPlaneRes"), centrality, TMath::Sqrt(-1. * TMath::Cos(Psi_A - Psi_C)));
registry.fill(HIST("hSindPhi"), centrality, TMath::Sin(Psi_A - Psi_C));
auto qxAqxC = qxA * qxC;
auto qyAqyC = qyA * qyC;

for (auto& track : tracks) {
for (const auto& track : tracks) {
if (!trackSelected(track, field))
continue;

double v1A = TMath::Cos(track.phi() - Psi_A);
double v1C = TMath::Cos(track.phi() - Psi_C);
bool pos;
if (track.sign() == 0.0)
continue;
if (track.sign() > 0) {
pos = true;
} else {
pos = false;
}

// constrain angle to 0 -> [0,0+2pi]
auto phi = RecoDecay::constrainAngle(track.phi(), 0);

double v1AC = TMath::Cos(track.phi() - (Psi_A - Psi_C));
auto ux = std::cos(phi);
auto uy = std::sin(phi);

registry.fill(HIST("v1_eta"), track.eta(), (1. / TMath::Sqrt(2)) * (v1A - v1C));
auto uxQxA = ux * qxA;
auto uyQyA = uy * qyA;
auto uxyQxyA = uxQxA + uyQyA;
auto uxQxC = ux * qxC;
auto uyQyC = uy * qyC;
auto uxyQxyC = uxQxC + uyQyC;

auto oddv1 = ux * (qxA - qxC) + uy * (qyA - qyC);
auto evenv1 = ux * (qxA + qxC) + uy * (qyA + qyC);

auto oddv1Dev = ux * (qxA - qxC) / std::sqrt(std::abs(qxAqxC)) + uy * (qyA - qyC) / std::sqrt(std::abs(qyAqyC));
auto evenv1Dev = ux * (qxA + qxC) / std::sqrt(std::abs(qxAqxC)) + uy * (qyA + qyC) / std::sqrt(std::abs(qyAqyC));

double v1A = std::cos(phi - psiA);
double v1C = std::cos(phi - psiC);

double v1AC = std::cos(phi - (psiA - psiC));

registry.fill(HIST("v1_eta"), track.eta(), (1. / std::sqrt(2)) * (v1A - v1C));
registry.fill(HIST("v1A_eta"), track.eta(), (v1A));
registry.fill(HIST("v1C_eta"), track.eta(), (v1C));
registry.fill(HIST("v1AC_eta"), track.eta(), (v1AC));

double v2A = TMath::Cos(2 * (track.phi() - Psi_A));
double v2C = TMath::Cos(2 * (track.phi() - Psi_C));
double v2AC = TMath::Cos(2 * (track.phi() - (Psi_A - Psi_C)));
registry.fill(HIST("v1_eta_odd"), track.eta(), oddv1);
registry.fill(HIST("v1_eta_even"), track.eta(), evenv1);

registry.fill(HIST("v1_eta_odd_dev"), track.eta(), oddv1Dev);
registry.fill(HIST("v1_eta_even_dev"), track.eta(), evenv1Dev);

if (pos) {
registry.fill(HIST("v1_eta_odd_pos"), track.eta(), oddv1);
registry.fill(HIST("v1_eta_even_pos"), track.eta(), evenv1);

registry.fill(HIST("v1_eta_odd_dev_pos"), track.eta(), oddv1Dev);
registry.fill(HIST("v1_eta_even_dev_pos"), track.eta(), evenv1Dev);
} else {
registry.fill(HIST("v1_eta_odd_neg"), track.eta(), oddv1);
registry.fill(HIST("v1_eta_even_neg"), track.eta(), evenv1);

registry.fill(HIST("v1_eta_odd_dev_neg"), track.eta(), oddv1Dev);
registry.fill(HIST("v1_eta_even_dev_neg"), track.eta(), evenv1Dev);
}

double v2A = std::cos(2 * (phi - psiA));
double v2C = std::cos(2 * (phi - psiC));
double v2AC = std::cos(2 * (phi - (psiA - psiC)));

registry.fill(HIST("v2_cent"), centrality, (1. / TMath::Sqrt(2)) * (v2A - v2C));
registry.fill(HIST("v2_cent"), centrality, (1. / std::sqrt(2)) * (v2A - v2C));
registry.fill(HIST("v2A_cent"), centrality, (v2A));
registry.fill(HIST("v2C_cent"), centrality, (v2C));
registry.fill(HIST("v2AC_cent"), centrality, (v2AC));
Expand All @@ -338,6 +418,6 @@ struct flowAnalysisSP {
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
{
return WorkflowSpec{
adaptAnalysisTask<flowAnalysisSP>(cfgc),
adaptAnalysisTask<FlowSP>(cfgc),
};
}
4 changes: 2 additions & 2 deletions PWGCF/TwoParticleCorrelations/Tasks/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ o2physics_add_dpl_workflow(identifiedbf-filter-qa
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGCFCore
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(dptdpt-efficiency-and-qc
SOURCES dptdptEfficiencyAndQc.cxx
o2physics_add_dpl_workflow(dpt-dpt-efficiency-and-qc
SOURCES dptDptEfficiencyAndQc.cxx
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGCFCore
COMPONENT_NAME Analysis)

Expand Down
Loading
Loading