@@ -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