Skip to content
Open
Changes from all commits
Commits
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
142 changes: 142 additions & 0 deletions Common/Tasks/centralityStudy.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,9 @@ struct CentralityStudy {
Configurable<bool> doOccupancyStudyVsRawValues3d{"doOccupancyStudyVsRawValues3d", false, "0 - no, 1 - yes"};
Configurable<bool> doTimeStudies{"doTimeStudies", false, "0 - no, 1 - yes"};
Configurable<bool> doNGlobalTracksVsRawSignals{"doNGlobalTracksVsRawSignals", true, "0 - no, 1 - yes"};
Configurable<bool> doNTracksPVeta05VsRawSignals{"doNTracksPVeta05VsRawSignals", false, "0 - no, 1 - yes"};
Configurable<bool> doNTracksPVeta08VsRawSignals{"doNTracksPVeta08VsRawSignals", false, "0 - no, 1 - yes"};
Configurable<bool> doNTracksPVeta10VsRawSignals{"doNTracksPVeta10VsRawSignals", false, "0 - no, 1 - yes"};
} studies;

// _______________________________________
Expand Down Expand Up @@ -302,6 +305,39 @@ struct CentralityStudy {
histos.add("hFDDCVsFT0C", "hFDDCVsFT0C", kTH2F, {axisMultFT0C, axisMultFDDC});
}

if (studies.doNTracksPVeta05VsRawSignals) {
histos.add("hNTracksPVeta05VsFT0A", "hNTracksPVeta05VsFT0A", kTH2F, {axisMultFT0A, axisMultPVContributors});
histos.add("hNTracksPVeta05VsFT0C", "hNTracksPVeta05VsFT0C", kTH2F, {axisMultFT0C, axisMultPVContributors});
histos.add("hNTracksPVeta05VsFT0M", "hNTracksPVeta05VsFT0M", kTH2F, {axisMultFT0M, axisMultPVContributors});
histos.add("hNTracksPVeta05VsFV0A", "hNTracksPVeta05VsFV0A", kTH2F, {axisMultFV0A, axisMultPVContributors});
histos.add("hNTracksPVeta05VsFDDA", "hNTracksPVeta05VsFDDA", kTH2F, {axisMultFDDA, axisMultPVContributors});
histos.add("hNTracksPVeta05VsFDDC", "hNTracksPVeta05VsFDDC", kTH2F, {axisMultFDDC, axisMultPVContributors});
histos.add("hNTracksPVeta05VsNMFTTracks", "hNTracksPVeta05VsNMFTTracks", kTH2F, {axisMultMFTTracks, axisMultPVContributors});
histos.add("hNTracksPVeta05VsNTPV", "hNTracksPVeta05VsNTPV", kTH2F, {axisMultPVContributors, axisMultPVContributors});
}

if (studies.doNTracksPVeta08VsRawSignals) {
histos.add("hNTracksPVeta08VsFT0A", "hNTracksPVeta08VsFT0A", kTH2F, {axisMultFT0A, axisMultPVContributors});
histos.add("hNTracksPVeta08VsFT0C", "hNTracksPVeta08VsFT0C", kTH2F, {axisMultFT0C, axisMultPVContributors});
histos.add("hNTracksPVeta08VsFT0M", "hNTracksPVeta08VsFT0M", kTH2F, {axisMultFT0M, axisMultPVContributors});
histos.add("hNTracksPVeta08VsFV0A", "hNTracksPVeta08VsFV0A", kTH2F, {axisMultFV0A, axisMultPVContributors});
histos.add("hNTracksPVeta08VsFDDA", "hNTracksPVeta08VsFDDA", kTH2F, {axisMultFDDA, axisMultPVContributors});
histos.add("hNTracksPVeta08VsFDDC", "hNTracksPVeta08VsFDDC", kTH2F, {axisMultFDDC, axisMultPVContributors});
histos.add("hNTracksPVeta08VsNMFTTracks", "hNTracksPVeta08VsNMFTTracks", kTH2F, {axisMultMFTTracks, axisMultPVContributors});
histos.add("hNTracksPVeta08VsNTPV", "hNTracksPVeta08VsNTPV", kTH2F, {axisMultPVContributors, axisMultPVContributors});
}

if (studies.doNTracksPVeta10VsRawSignals) {
histos.add("hNTracksPVeta10VsFT0A", "hNTracksPVeta10VsFT0A", kTH2F, {axisMultFT0A, axisMultPVContributors});
histos.add("hNTracksPVeta10VsFT0C", "hNTracksPVeta10VsFT0C", kTH2F, {axisMultFT0C, axisMultPVContributors});
histos.add("hNTracksPVeta10VsFT0M", "hNTracksPVeta10VsFT0M", kTH2F, {axisMultFT0M, axisMultPVContributors});
histos.add("hNTracksPVeta10VsFV0A", "hNTracksPVeta10VsFV0A", kTH2F, {axisMultFV0A, axisMultPVContributors});
histos.add("hNTracksPVeta10VsFDDA", "hNTracksPVeta10VsFDDA", kTH2F, {axisMultFDDA, axisMultPVContributors});
histos.add("hNTracksPVeta10VsFDDC", "hNTracksPVeta10VsFDDC", kTH2F, {axisMultFDDC, axisMultPVContributors});
histos.add("hNTracksPVeta10VsNMFTTracks", "hNTracksPVeta10VsNMFTTracks", kTH2F, {axisMultMFTTracks, axisMultPVContributors});
histos.add("hNTracksPVeta10VsNTPV", "hNTracksPVeta10VsNTPV", kTH2F, {axisMultPVContributors, axisMultPVContributors});
}

if (studies.doNGlobalTracksVsRawSignals) {
histos.add("hNGlobalTracksVsFT0A", "hNGlobalTracksVsFT0A", kTH2F, {axisMultFT0A, axisMultGlobalTracks});
histos.add("hNGlobalTracksVsFT0C", "hNGlobalTracksVsFT0C", kTH2F, {axisMultFT0C, axisMultGlobalTracks});
Expand Down Expand Up @@ -564,6 +600,39 @@ struct CentralityStudy {
histPointers.insert({histPath + "hNGlobalTracksVsNTPV", histos.add((histPath + "hNGlobalTracksVsNTPV").c_str(), "hNGlobalTracksVsNTPV", {kTH2F, {{axisMultPVContributors, axisMultGlobalTracks}}})});
}

if (studies.doNTracksPVeta05VsRawSignals) {
histPointers.insert({histPath + "hNTracksPVeta05VsFT0A", histos.add((histPath + "hNTracksPVeta05VsFT0A").c_str(), "hNTracksPVeta05VsFT0A", {kTH2F, {{axisMultFT0A, axisMultPVContributors}}})});
histPointers.insert({histPath + "hNTracksPVeta05VsFT0C", histos.add((histPath + "hNTracksPVeta05VsFT0C").c_str(), "hNTracksPVeta05VsFT0C", {kTH2F, {{axisMultFT0C, axisMultPVContributors}}})});
histPointers.insert({histPath + "hNTracksPVeta05VsFT0M", histos.add((histPath + "hNTracksPVeta05VsFT0M").c_str(), "hNTracksPVeta05VsFT0M", {kTH2F, {{axisMultFT0M, axisMultPVContributors}}})});
histPointers.insert({histPath + "hNTracksPVeta05VsFV0A", histos.add((histPath + "hNTracksPVeta05VsFV0A").c_str(), "hNTracksPVeta05VsFV0A", {kTH2F, {{axisMultFV0A, axisMultPVContributors}}})});
histPointers.insert({histPath + "hNTracksPVeta05VsFDDA", histos.add((histPath + "hNTracksPVeta05VsFDDA").c_str(), "hNTracksPVeta05VsFDDA", {kTH2F, {{axisMultFDDA, axisMultPVContributors}}})});
histPointers.insert({histPath + "hNTracksPVeta05VsFDDC", histos.add((histPath + "hNTracksPVeta05VsFDDC").c_str(), "hNTracksPVeta05VsFDDC", {kTH2F, {{axisMultFDDC, axisMultPVContributors}}})});
histPointers.insert({histPath + "hNTracksPVeta05VsNMFTTracks", histos.add((histPath + "hNTracksPVeta05VsNMFTTracks").c_str(), "hNTracksPVeta05VsNMFTTracks", {kTH2F, {{axisMultMFTTracks, axisMultPVContributors}}})});
histPointers.insert({histPath + "hNTracksPVeta05VsNTPV", histos.add((histPath + "hNTracksPVeta05VsNTPV").c_str(), "hNTracksPVeta05VsNTPV", {kTH2F, {{axisMultPVContributors, axisMultPVContributors}}})});
}

if (studies.doNTracksPVeta08VsRawSignals) {
histPointers.insert({histPath + "hNTracksPVeta08VsFT0A", histos.add((histPath + "hNTracksPVeta08VsFT0A").c_str(), "hNTracksPVeta08VsFT0A", {kTH2F, {{axisMultFT0A, axisMultPVContributors}}})});
histPointers.insert({histPath + "hNTracksPVeta08VsFT0C", histos.add((histPath + "hNTracksPVeta08VsFT0C").c_str(), "hNTracksPVeta08VsFT0C", {kTH2F, {{axisMultFT0C, axisMultPVContributors}}})});
histPointers.insert({histPath + "hNTracksPVeta08VsFT0M", histos.add((histPath + "hNTracksPVeta08VsFT0M").c_str(), "hNTracksPVeta08VsFT0M", {kTH2F, {{axisMultFT0M, axisMultPVContributors}}})});
histPointers.insert({histPath + "hNTracksPVeta08VsFV0A", histos.add((histPath + "hNTracksPVeta08VsFV0A").c_str(), "hNTracksPVeta08VsFV0A", {kTH2F, {{axisMultFV0A, axisMultPVContributors}}})});
histPointers.insert({histPath + "hNTracksPVeta08VsFDDA", histos.add((histPath + "hNTracksPVeta08VsFDDA").c_str(), "hNTracksPVeta08VsFDDA", {kTH2F, {{axisMultFDDA, axisMultPVContributors}}})});
histPointers.insert({histPath + "hNTracksPVeta08VsFDDC", histos.add((histPath + "hNTracksPVeta08VsFDDC").c_str(), "hNTracksPVeta08VsFDDC", {kTH2F, {{axisMultFDDC, axisMultPVContributors}}})});
histPointers.insert({histPath + "hNTracksPVeta08VsNMFTTracks", histos.add((histPath + "hNTracksPVeta08VsNMFTTracks").c_str(), "hNTracksPVeta08VsNMFTTracks", {kTH2F, {{axisMultMFTTracks, axisMultPVContributors}}})});
histPointers.insert({histPath + "hNTracksPVeta08VsNTPV", histos.add((histPath + "hNTracksPVeta08VsNTPV").c_str(), "hNTracksPVeta08VsNTPV", {kTH2F, {{axisMultPVContributors, axisMultPVContributors}}})});
}

if (studies.doNTracksPVeta10VsRawSignals) {
histPointers.insert({histPath + "hNTracksPVeta10VsFT0A", histos.add((histPath + "hNTracksPVeta10VsFT0A").c_str(), "hNTracksPVeta10VsFT0A", {kTH2F, {{axisMultFT0A, axisMultPVContributors}}})});
histPointers.insert({histPath + "hNTracksPVeta10VsFT0C", histos.add((histPath + "hNTracksPVeta10VsFT0C").c_str(), "hNTracksPVeta10VsFT0C", {kTH2F, {{axisMultFT0C, axisMultPVContributors}}})});
histPointers.insert({histPath + "hNTracksPVeta10VsFT0M", histos.add((histPath + "hNTracksPVeta10VsFT0M").c_str(), "hNTracksPVeta10VsFT0M", {kTH2F, {{axisMultFT0M, axisMultPVContributors}}})});
histPointers.insert({histPath + "hNTracksPVeta10VsFV0A", histos.add((histPath + "hNTracksPVeta10VsFV0A").c_str(), "hNTracksPVeta10VsFV0A", {kTH2F, {{axisMultFV0A, axisMultPVContributors}}})});
histPointers.insert({histPath + "hNTracksPVeta10VsFDDA", histos.add((histPath + "hNTracksPVeta10VsFDDA").c_str(), "hNTracksPVeta10VsFDDA", {kTH2F, {{axisMultFDDA, axisMultPVContributors}}})});
histPointers.insert({histPath + "hNTracksPVeta10VsFDDC", histos.add((histPath + "hNTracksPVeta10VsFDDC").c_str(), "hNTracksPVeta10VsFDDC", {kTH2F, {{axisMultFDDC, axisMultPVContributors}}})});
histPointers.insert({histPath + "hNTracksPVeta10VsNMFTTracks", histos.add((histPath + "hNTracksPVeta10VsNMFTTracks").c_str(), "hNTracksPVeta10VsNMFTTracks", {kTH2F, {{axisMultMFTTracks, axisMultPVContributors}}})});
histPointers.insert({histPath + "hNTracksPVeta10VsNTPV", histos.add((histPath + "hNTracksPVeta10VsNTPV").c_str(), "hNTracksPVeta10VsNTPV", {kTH2F, {{axisMultPVContributors, axisMultPVContributors}}})});
}

if (studies.doTimeStudies) {
histPointers.insert({histPath + "hFT0AVsTime", histos.add((histPath + "hFT0AVsTime").c_str(), "hFT0AVsTime", {kTH2F, {{axisDeltaTimestamp, axisMultFT0A}}})});
histPointers.insert({histPath + "hFT0CVsTime", histos.add((histPath + "hFT0CVsTime").c_str(), "hFT0CVsTime", {kTH2F, {{axisDeltaTimestamp, axisMultFT0C}}})});
Expand Down Expand Up @@ -652,6 +721,10 @@ struct CentralityStudy {
float multNTracksGlobal = collision.multNTracksGlobal();
float mftNtracks = collision.mftNtracks();
float multNTracksPV = collision.multNTracksPV();
float multNTracksPV05 = collision.multNTracksPVetaHalf();
float multNTracksPV10 = collision.multNTracksPVeta1();
float multFDDA = collision.multFDDA();
float multFDDC = collision.multFDDC();
if (applyVertexZEqualization) {
float epsilon = 1e-2; // average value after which this collision will be disregarded
multFV0A = -1.0f;
Expand Down Expand Up @@ -964,6 +1037,75 @@ struct CentralityStudy {
}
}

if (studies.doNTracksPVeta05VsRawSignals) {
histos.fill(HIST("hNTracksPVeta05VsFT0A"), multFT0A, multNTracksPV05);
histos.fill(HIST("hNTracksPVeta05VsFT0C"), multFT0C, multNTracksPV05);
histos.fill(HIST("hNTracksPVeta05VsFT0M"), (multFT0A + multFT0C), multNTracksPV05);
histos.fill(HIST("hNTracksPVeta05VsFV0A"), multFV0A, multNTracksPV05);
histos.fill(HIST("hNTracksPVeta05VsFDDA"), multFDDA, multNTracksPV05);
histos.fill(HIST("hNTracksPVeta05VsFDDC"), multFDDC, multNTracksPV05);
histos.fill(HIST("hNTracksPVeta05VsNMFTTracks"), mftNtracks, multNTracksPV05);
histos.fill(HIST("hNTracksPVeta05VsNTPV"), multNTracksPV, multNTracksPV05);

// per run
if (studies.doRunByRunHistograms) {
getHist<TH2>(histPath + "hNTracksPVeta05VsFT0A")->Fill(multFT0A, multNTracksPV05);
getHist<TH2>(histPath + "hNTracksPVeta05VsFT0C")->Fill(multFT0C, multNTracksPV05);
getHist<TH2>(histPath + "hNTracksPVeta05VsFT0M")->Fill(multFT0A + multFT0C, multNTracksPV05);
getHist<TH2>(histPath + "hNTracksPVeta05VsFV0A")->Fill(multFV0A, multNTracksPV05);
getHist<TH2>(histPath + "hNTracksPVeta05VsFDDA")->Fill(multFDDA, multNTracksPV05);
getHist<TH2>(histPath + "hNTracksPVeta05VsFDDC")->Fill(multFDDC, multNTracksPV05);
getHist<TH2>(histPath + "hNTracksPVeta05VsNMFTTracks")->Fill(mftNtracks, multNTracksPV05);
getHist<TH2>(histPath + "hNTracksPVeta05VsNTPV")->Fill(multNTracksPV, multNTracksPV05);
}
}

if (studies.doNTracksPVeta08VsRawSignals) {
histos.fill(HIST("hNTracksPVeta08VsFT0A"), multFT0A, multNTracksPV);
histos.fill(HIST("hNTracksPVeta08VsFT0C"), multFT0C, multNTracksPV);
histos.fill(HIST("hNTracksPVeta08VsFT0M"), (multFT0A + multFT0C), multNTracksPV);
histos.fill(HIST("hNTracksPVeta08VsFV0A"), multFV0A, multNTracksPV);
histos.fill(HIST("hNTracksPVeta08VsFDDA"), multFDDA, multNTracksPV);
histos.fill(HIST("hNTracksPVeta08VsFDDC"), multFDDC, multNTracksPV);
histos.fill(HIST("hNTracksPVeta08VsNMFTTracks"), mftNtracks, multNTracksPV);
histos.fill(HIST("hNTracksPVeta08VsNTPV"), multNTracksPV, multNTracksPV);

// per run
if (studies.doRunByRunHistograms) {
getHist<TH2>(histPath + "hNTracksPVeta08VsFT0A")->Fill(multFT0A, multNTracksPV);
getHist<TH2>(histPath + "hNTracksPVeta08VsFT0C")->Fill(multFT0C, multNTracksPV);
getHist<TH2>(histPath + "hNTracksPVeta08VsFT0M")->Fill(multFT0A + multFT0C, multNTracksPV);
getHist<TH2>(histPath + "hNTracksPVeta08VsFV0A")->Fill(multFV0A, multNTracksPV);
getHist<TH2>(histPath + "hNTracksPVeta08VsFDDA")->Fill(multFDDA, multNTracksPV);
getHist<TH2>(histPath + "hNTracksPVeta08VsFDDC")->Fill(multFDDC, multNTracksPV);
getHist<TH2>(histPath + "hNTracksPVeta08VsNMFTTracks")->Fill(mftNtracks, multNTracksPV);
getHist<TH2>(histPath + "hNTracksPVeta08VsNTPV")->Fill(multNTracksPV, multNTracksPV);
}
}

if (studies.doNTracksPVeta10VsRawSignals) {
histos.fill(HIST("hNTracksPVeta10VsFT0A"), multFT0A, multNTracksPV10);
histos.fill(HIST("hNTracksPVeta10VsFT0C"), multFT0C, multNTracksPV10);
histos.fill(HIST("hNTracksPVeta10VsFT0M"), (multFT0A + multFT0C), multNTracksPV10);
histos.fill(HIST("hNTracksPVeta10VsFV0A"), multFV0A, multNTracksPV10);
histos.fill(HIST("hNTracksPVeta10VsFDDA"), multFDDA, multNTracksPV10);
histos.fill(HIST("hNTracksPVeta10VsFDDC"), multFDDC, multNTracksPV10);
histos.fill(HIST("hNTracksPVeta10VsNMFTTracks"), mftNtracks, multNTracksPV10);
histos.fill(HIST("hNTracksPVeta10VsNTPV"), multNTracksPV, multNTracksPV10);

// per run
if (studies.doRunByRunHistograms) {
getHist<TH2>(histPath + "hNTracksPVeta10VsFT0A")->Fill(multFT0A, multNTracksPV10);
getHist<TH2>(histPath + "hNTracksPVeta10VsFT0C")->Fill(multFT0C, multNTracksPV10);
getHist<TH2>(histPath + "hNTracksPVeta10VsFT0M")->Fill(multFT0A + multFT0C, multNTracksPV10);
getHist<TH2>(histPath + "hNTracksPVeta10VsFV0A")->Fill(multFV0A, multNTracksPV10);
getHist<TH2>(histPath + "hNTracksPVeta10VsFDDA")->Fill(multFDDA, multNTracksPV10);
getHist<TH2>(histPath + "hNTracksPVeta10VsFDDC")->Fill(multFDDC, multNTracksPV10);
getHist<TH2>(histPath + "hNTracksPVeta10VsNMFTTracks")->Fill(mftNtracks, multNTracksPV10);
getHist<TH2>(histPath + "hNTracksPVeta10VsNTPV")->Fill(multNTracksPV, multNTracksPV10);
}
}

if constexpr (requires { collision.multMCExtraId(); }) {
// requires monte carlo information
if (collision.multMCExtraId() > -1) {
Expand Down
Loading