Skip to content

Commit a278bd2

Browse files
Add option to disable UPC histograms
Add option to disable UPC histograms, thus saving memory (if needed)
1 parent 7fd7969 commit a278bd2

File tree

1 file changed

+73
-52
lines changed

1 file changed

+73
-52
lines changed

PWGLF/Tasks/Strangeness/derivedlambdakzeroanalysis.cxx

Lines changed: 73 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ struct derivedlambdakzeroanalysis {
107107
Configurable<bool> doPPAnalysis{"doPPAnalysis", false, "if in pp, set to true"};
108108
Configurable<std::string> irSource{"irSource", "T0VTX", "Estimator of the interaction rate (Recommended: pp --> T0VTX, Pb-Pb --> ZNC hadronic)"};
109109
Configurable<int> centralityEstimator{"centralityEstimator", kCentFT0C, "Run 3 centrality estimator (0:CentFT0C, 1:CentFT0M, 2:CentFT0CVariant1, 3:CentMFT, 4:CentNGlobal, 5:CentFV0A)"};
110+
Configurable<bool> doUPCanalysis{"doUPCanalysis", true, "Study V0s in hadronic and UPC collisions"};
110111

111112
Configurable<bool> doEventQA{"doEventQA", false, "do event QA histograms"};
112113
Configurable<bool> doCompleteTopoQA{"doCompleteTopoQA", false, "do topological variable QA histograms"};
@@ -705,9 +706,11 @@ struct derivedlambdakzeroanalysis {
705706
histos.add("hEventOccupancy", "hEventOccupancy", kTH1D, {axisConfigurations.axisOccupancy});
706707
histos.add("hCentralityVsOccupancy", "hCentralityVsOccupancy", kTH2D, {{101, 0.0f, 101.0f}, axisConfigurations.axisOccupancy});
707708

708-
histos.add("hGapSide", "Gap side; Entries", kTH1D, {{5, -0.5, 4.5}});
709-
histos.add("hSelGapSide", "Selected gap side; Entries", kTH1D, {axisConfigurations.axisSelGap});
710-
histos.add("hEventCentralityVsSelGapSide", ";Centrality (%); Selected gap side", kTH2D, {{101, 0.0f, 101.0f}, axisConfigurations.axisSelGap});
709+
if (doUPCanalysis) {
710+
histos.add("hGapSide", "Gap side; Entries", kTH1D, {{5, -0.5, 4.5}});
711+
histos.add("hSelGapSide", "Selected gap side; Entries", kTH1D, {axisConfigurations.axisSelGap});
712+
histos.add("hEventCentralityVsSelGapSide", ";Centrality (%); Selected gap side", kTH2D, {{101, 0.0f, 101.0f}, axisConfigurations.axisSelGap});
713+
}
711714

712715
histos.add("hInteractionRate", "hInteractionRate", kTH1D, {axisConfigurations.axisIRBinning});
713716
histos.add("hCentralityVsInteractionRate", "hCentralityVsInteractionRate", kTH2D, {{101, 0.0f, 101.0f}, axisConfigurations.axisIRBinning});
@@ -773,12 +776,14 @@ struct derivedlambdakzeroanalysis {
773776
if (analyseK0Short) {
774777
histos.add("h2dNbrOfK0ShortVsCentrality", "h2dNbrOfK0ShortVsCentrality", kTH2D, {axisConfigurations.axisCentrality, {10, -0.5f, 9.5f}});
775778
histos.add("h3dMassK0Short", "h3dMassK0Short", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisK0Mass});
776-
// Non-UPC info
777-
histos.add("h3dMassK0ShortHadronic", "h3dMassK0ShortHadronic", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisK0Mass});
778-
// UPC info
779-
histos.add("h3dMassK0ShortSGA", "h3dMassK0ShortSGA", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisK0Mass});
780-
histos.add("h3dMassK0ShortSGC", "h3dMassK0ShortSGC", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisK0Mass});
781-
histos.add("h3dMassK0ShortDG", "h3dMassK0ShortDG", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisK0Mass});
779+
if (doUPCanalysis) {
780+
// Non-UPC info
781+
histos.add("h3dMassK0ShortHadronic", "h3dMassK0ShortHadronic", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisK0Mass});
782+
// UPC info
783+
histos.add("h3dMassK0ShortSGA", "h3dMassK0ShortSGA", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisK0Mass});
784+
histos.add("h3dMassK0ShortSGC", "h3dMassK0ShortSGC", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisK0Mass});
785+
histos.add("h3dMassK0ShortDG", "h3dMassK0ShortDG", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisK0Mass});
786+
}
782787
if (doTPCQA) {
783788
histos.add("K0Short/h3dPosNsigmaTPC", "h3dPosNsigmaTPC", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPtCoarse, axisConfigurations.axisNsigmaTPC});
784789
histos.add("K0Short/h3dNegNsigmaTPC", "h3dNegNsigmaTPC", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPtCoarse, axisConfigurations.axisNsigmaTPC});
@@ -845,12 +850,14 @@ struct derivedlambdakzeroanalysis {
845850
if (analyseLambda) {
846851
histos.add("h2dNbrOfLambdaVsCentrality", "h2dNbrOfLambdaVsCentrality", kTH2D, {axisConfigurations.axisCentrality, {10, -0.5f, 9.5f}});
847852
histos.add("h3dMassLambda", "h3dMassLambda", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisLambdaMass});
848-
// Non-UPC info
849-
histos.add("h3dMassLambdaHadronic", "h3dMassLambdaHadronic", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisLambdaMass});
850-
// UPC info
851-
histos.add("h3dMassLambdaSGA", "h3dMassLambdaSGA", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisLambdaMass});
852-
histos.add("h3dMassLambdaSGC", "h3dMassLambdaSGC", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisLambdaMass});
853-
histos.add("h3dMassLambdaDG", "h3dMassLambdaDG", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisLambdaMass});
853+
if (doUPCanalysis) {
854+
// Non-UPC info
855+
histos.add("h3dMassLambdaHadronic", "h3dMassLambdaHadronic", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisLambdaMass});
856+
// UPC info
857+
histos.add("h3dMassLambdaSGA", "h3dMassLambdaSGA", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisLambdaMass});
858+
histos.add("h3dMassLambdaSGC", "h3dMassLambdaSGC", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisLambdaMass});
859+
histos.add("h3dMassLambdaDG", "h3dMassLambdaDG", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisLambdaMass});
860+
}
854861
if (doTPCQA) {
855862
histos.add("Lambda/h3dPosNsigmaTPC", "h3dPosNsigmaTPC", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPtCoarse, axisConfigurations.axisNsigmaTPC});
856863
histos.add("Lambda/h3dNegNsigmaTPC", "h3dNegNsigmaTPC", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPtCoarse, axisConfigurations.axisNsigmaTPC});
@@ -917,12 +924,14 @@ struct derivedlambdakzeroanalysis {
917924
if (analyseAntiLambda) {
918925
histos.add("h2dNbrOfAntiLambdaVsCentrality", "h2dNbrOfAntiLambdaVsCentrality", kTH2D, {axisConfigurations.axisCentrality, {10, -0.5f, 9.5f}});
919926
histos.add("h3dMassAntiLambda", "h3dMassAntiLambda", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisLambdaMass});
920-
// Non-UPC info
921-
histos.add("h3dMassAntiLambdaHadronic", "h3dMassAntiLambdaHadronic", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisLambdaMass});
922-
// UPC info
923-
histos.add("h3dMassAntiLambdaSGA", "h3dMassAntiLambdaSGA", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisLambdaMass});
924-
histos.add("h3dMassAntiLambdaSGC", "h3dMassAntiLambdaSGC", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisLambdaMass});
925-
histos.add("h3dMassAntiLambdaDG", "h3dMassAntiLambdaDG", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisLambdaMass});
927+
if (doUPCanalysis) {
928+
// Non-UPC info
929+
histos.add("h3dMassAntiLambdaHadronic", "h3dMassAntiLambdaHadronic", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisLambdaMass});
930+
// UPC info
931+
histos.add("h3dMassAntiLambdaSGA", "h3dMassAntiLambdaSGA", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisLambdaMass});
932+
histos.add("h3dMassAntiLambdaSGC", "h3dMassAntiLambdaSGC", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisLambdaMass});
933+
histos.add("h3dMassAntiLambdaDG", "h3dMassAntiLambdaDG", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPt, axisConfigurations.axisLambdaMass});
934+
}
926935
if (doTPCQA) {
927936
histos.add("AntiLambda/h3dPosNsigmaTPC", "h3dPosNsigmaTPC", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPtCoarse, axisConfigurations.axisNsigmaTPC});
928937
histos.add("AntiLambda/h3dNegNsigmaTPC", "h3dNegNsigmaTPC", kTH3D, {axisConfigurations.axisCentrality, axisConfigurations.axisPtCoarse, axisConfigurations.axisNsigmaTPC});
@@ -1639,14 +1648,16 @@ struct derivedlambdakzeroanalysis {
16391648
histos.fill(HIST("GeneralQA/hSelectionV0s"), selPhysPrimAntiLambda + 2); //
16401649
histos.fill(HIST("GeneralQA/h2dArmenterosSelected"), v0.alpha(), v0.qtarm()); // cross-check
16411650
histos.fill(HIST("h3dMassK0Short"), centrality, pt, v0.mK0Short());
1642-
if (gapSide == 0)
1643-
histos.fill(HIST("h3dMassK0ShortSGA"), centrality, pt, v0.mK0Short());
1644-
else if (gapSide == 1)
1645-
histos.fill(HIST("h3dMassK0ShortSGC"), centrality, pt, v0.mK0Short());
1646-
else if (gapSide == 2)
1647-
histos.fill(HIST("h3dMassK0ShortDG"), centrality, pt, v0.mK0Short());
1648-
else
1649-
histos.fill(HIST("h3dMassK0ShortHadronic"), centrality, pt, v0.mK0Short());
1651+
if (doUPCanalysis) {
1652+
if (gapSide == 0)
1653+
histos.fill(HIST("h3dMassK0ShortSGA"), centrality, pt, v0.mK0Short());
1654+
else if (gapSide == 1)
1655+
histos.fill(HIST("h3dMassK0ShortSGC"), centrality, pt, v0.mK0Short());
1656+
else if (gapSide == 2)
1657+
histos.fill(HIST("h3dMassK0ShortDG"), centrality, pt, v0.mK0Short());
1658+
else
1659+
histos.fill(HIST("h3dMassK0ShortHadronic"), centrality, pt, v0.mK0Short());
1660+
}
16501661
histos.fill(HIST("hMassK0Short"), v0.mK0Short());
16511662
if (doPlainTopoQA) {
16521663
histos.fill(HIST("K0Short/hPosDCAToPV"), v0.dcapostopv());
@@ -1722,14 +1733,16 @@ struct derivedlambdakzeroanalysis {
17221733
if (passLambdaSelections && analyseLambda) {
17231734
histos.fill(HIST("GeneralQA/hSelectionV0s"), selPhysPrimAntiLambda + 2); //
17241735
histos.fill(HIST("h3dMassLambda"), centrality, pt, v0.mLambda());
1725-
if (gapSide == 0)
1726-
histos.fill(HIST("h3dMassLambdaSGA"), centrality, pt, v0.mLambda());
1727-
else if (gapSide == 1)
1728-
histos.fill(HIST("h3dMassLambdaSGC"), centrality, pt, v0.mLambda());
1729-
else if (gapSide == 2)
1730-
histos.fill(HIST("h3dMassLambdaDG"), centrality, pt, v0.mLambda());
1731-
else
1732-
histos.fill(HIST("h3dMassLambdaHadronic"), centrality, pt, v0.mLambda());
1736+
if (doUPCanalysis) {
1737+
if (gapSide == 0)
1738+
histos.fill(HIST("h3dMassLambdaSGA"), centrality, pt, v0.mLambda());
1739+
else if (gapSide == 1)
1740+
histos.fill(HIST("h3dMassLambdaSGC"), centrality, pt, v0.mLambda());
1741+
else if (gapSide == 2)
1742+
histos.fill(HIST("h3dMassLambdaDG"), centrality, pt, v0.mLambda());
1743+
else
1744+
histos.fill(HIST("h3dMassLambdaHadronic"), centrality, pt, v0.mLambda());
1745+
}
17331746
histos.fill(HIST("hMassLambda"), v0.mLambda());
17341747
if (doPlainTopoQA) {
17351748
histos.fill(HIST("Lambda/hPosDCAToPV"), v0.dcapostopv());
@@ -1805,14 +1818,16 @@ struct derivedlambdakzeroanalysis {
18051818
if (passAntiLambdaSelections && analyseAntiLambda) {
18061819
histos.fill(HIST("GeneralQA/hSelectionV0s"), selPhysPrimAntiLambda + 2); //
18071820
histos.fill(HIST("h3dMassAntiLambda"), centrality, pt, v0.mAntiLambda());
1808-
if (gapSide == 0)
1809-
histos.fill(HIST("h3dMassAntiLambdaSGA"), centrality, pt, v0.mAntiLambda());
1810-
else if (gapSide == 1)
1811-
histos.fill(HIST("h3dMassAntiLambdaSGC"), centrality, pt, v0.mAntiLambda());
1812-
else if (gapSide == 2)
1813-
histos.fill(HIST("h3dMassAntiLambdaDG"), centrality, pt, v0.mAntiLambda());
1814-
else
1815-
histos.fill(HIST("h3dMassAntiLambdaHadronic"), centrality, pt, v0.mAntiLambda());
1821+
if (doUPCanalysis) {
1822+
if (gapSide == 0)
1823+
histos.fill(HIST("h3dMassAntiLambdaSGA"), centrality, pt, v0.mAntiLambda());
1824+
else if (gapSide == 1)
1825+
histos.fill(HIST("h3dMassAntiLambdaSGC"), centrality, pt, v0.mAntiLambda());
1826+
else if (gapSide == 2)
1827+
histos.fill(HIST("h3dMassAntiLambdaDG"), centrality, pt, v0.mAntiLambda());
1828+
else
1829+
histos.fill(HIST("h3dMassAntiLambdaHadronic"), centrality, pt, v0.mAntiLambda());
1830+
}
18161831
histos.fill(HIST("hMassAntiLambda"), v0.mAntiLambda());
18171832
if (doPlainTopoQA) {
18181833
histos.fill(HIST("AntiLambda/hPosDCAToPV"), v0.dcapostopv());
@@ -2387,13 +2402,19 @@ struct derivedlambdakzeroanalysis {
23872402
centrality = hRawCentrality->GetBinContent(hRawCentrality->FindBin(doPPAnalysis ? collision.multFT0A() + collision.multFT0C() : collision.multFT0C()));
23882403
}
23892404

2390-
// gap side
2391-
gapSide = collision.gapSide();
2392-
// -1 --> Hadronic
2393-
// 0 --> Single Gap - A side
2394-
// 1 --> Single Gap - C side
2395-
// 2 --> Double Gap - both A & C sides
2396-
selGapSide = sgSelector.trueGap(collision, upcCuts.fv0Cut, upcCuts.ft0Acut, upcCuts.ft0Ccut, upcCuts.zdcCut);
2405+
if (doUPCanalysis) {
2406+
// gap side
2407+
gapSide = collision.gapSide();
2408+
// -1 --> Hadronic
2409+
// 0 --> Single Gap - A side
2410+
// 1 --> Single Gap - C side
2411+
// 2 --> Double Gap - both A & C sides
2412+
selGapSide = sgSelector.trueGap(collision, upcCuts.fv0Cut, upcCuts.ft0Acut, upcCuts.ft0Ccut, upcCuts.zdcCut);
2413+
2414+
histos.fill(HIST("hGapSide"), gapSide);
2415+
histos.fill(HIST("hSelGapSide"), selGapSide);
2416+
histos.fill(HIST("hEventCentralityVsSelGapSide"), centrality, selGapSide <= 2 ? selGapSide : -1);
2417+
}
23972418
} else { // no, we are in Run 2
23982419
centrality = eventSelections.useSPDTrackletsCent ? collision.centRun2SPDTracklets() : collision.centRun2V0M();
23992420
}

0 commit comments

Comments
 (0)