Skip to content

Commit 50633b1

Browse files
committed
correlation without difference in gap sides and NUA correction
1 parent 2542aa0 commit 50633b1

1 file changed

Lines changed: 184 additions & 102 deletions

File tree

PWGUD/Tasks/upcPhotonuclearAnalysisJMG.cxx

Lines changed: 184 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,10 @@ struct upcPhotonuclearAnalysisJMG {
133133
Configurable<float> cutMyTPCNClsCrossedRowsOverNClsFindableMin{"cutMyTPCNClsCrossedRowsOverNClsFindableMin", 0.8f, {"My Track cut"}};
134134
Configurable<float> cutMyTPCNClsOverFindableNClsMin{"cutMyTPCNClsOverFindableNClsMin", 0.5f, {"My Track cut"}};
135135
Configurable<float> cutMyTPCChi2NclMax{"cutMyTPCChi2NclMax", 4.f, {"My Track cut"}};
136+
Configurable<float> myWeightMin{"MyWeightMin", 0.2f, {"My Track cut"}};
137+
Configurable<float> myWeightMax{"MyWeightMax", 5.f, {"My Track cut"}};
138+
Configurable<float> myEpsilonToWeight{"myEpsilonToWeight", 1e-6f, {"My Track cut"}};
139+
Configurable<bool> useEpsilon{"useEpsilon", false, {"My Track cut"}};
136140
Configurable<LabeledArray<float>> cfgPairCut{"cfgPairCut",
137141
{CFGPairCutDefaults[0],
138142
5,
@@ -144,13 +148,15 @@ struct upcPhotonuclearAnalysisJMG {
144148
ConfigurableAxis axisDeltaEta{"axisDeltaEta", {40, -2, 2}, "delta eta axis for histograms"};
145149
ConfigurableAxis axisPtTrigger{"axisPtTrigger", {VARIABLE_WIDTH, 0.5, 1.0, 1.5, 2.0, 3.0, 4.0, 6.0, 10.0}, "pt trigger axis for histograms"};
146150
ConfigurableAxis axisPtAssoc{"axisPtAssoc", {VARIABLE_WIDTH, 0.5, 1.0, 1.5, 2.0, 3.0, 4.0, 6.0}, "pt associated axis for histograms"};
147-
ConfigurableAxis axisMultiplicity{"axisMultiplicity", {VARIABLE_WIDTH, 0, 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110.1}, "multiplicity / multiplicity axis for histograms"};
151+
ConfigurableAxis axisMultiplicity{"axisMultiplicity", {VARIABLE_WIDTH, 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 60, 70, 80, 90, 100, 110.1}, "multiplicity / multiplicity axis for histograms"};
148152
ConfigurableAxis axisVertexEfficiency{"axisVertexEfficiency", {10, -10, 10}, "vertex axis for efficiency histograms"};
149153
ConfigurableAxis axisEtaEfficiency{"axisEtaEfficiency", {20, -1.0, 1.0}, "eta axis for efficiency histograms"};
150154
ConfigurableAxis axisPtEfficiency{"axisPtEfficiency", {VARIABLE_WIDTH, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.25, 1.5, 1.75, 2.0, 2.25, 2.5, 2.75, 3.0, 3.25, 3.5, 3.75, 4.0, 4.5, 5.0, 6.0, 7.0, 8.0}, "pt axis for efficiency histograms"};
151155

152156
Filter collisionZVtxFilter = nabs(aod::collision::posZ) < myZVtxCut;
153157
Filter collisionZNTimeFilter = nabs(aod::udzdc::timeZNA) < myTimeZNACut && nabs(aod::udzdc::timeZNC) < myTimeZNCCut;
158+
Filter collisionZNeEnergyFilter = (aod::udzdc::energyCommonZNA < cutGapAMyEnergyZNA && aod::udzdc::energyCommonZNC >= cutGapAMyEnergyZNC) || (aod::udzdc::energyCommonZNA >= cutGapCMyEnergyZNA && aod::udzdc::energyCommonZNC < cutGapCMyEnergyZNC) ;
159+
Filter collisioSGFilter = aod::udcollision::gapSide == uint8_t(0) || aod::udcollision::gapSide == uint8_t(1);
154160

155161
using FullSGUDCollision = soa::Filtered<soa::Join<aod::UDCollisions, aod::UDCollisionsSels, aod::SGCollisions, aod::UDZdcsReduced>>;
156162
using FullUDTracks = soa::Join<aod::UDTracks, aod::UDTracksExtra, aod::UDTracksPID, aod::UDTracksDCA, aod::UDTracksFlags>;
@@ -169,12 +175,12 @@ struct upcPhotonuclearAnalysisJMG {
169175
void init(InitContext const&)
170176
{
171177
const AxisSpec axisCollision{4, -0.5, 3.5};
172-
const AxisSpec axisZvtx{40, -20., 20.};
178+
const AxisSpec axisZvtx{20, -10., 10.};
173179
const AxisSpec axisPt{402, -0.05, 20.05};
174180
const AxisSpec axisP{402, -10.05, 10.05};
175181
const AxisSpec axisTPCSignal{802, -0.05, 400.05};
176182
const AxisSpec axisPhi{64, 0 * PI, 2 * PI};
177-
const AxisSpec axisEta{50, -1.2, 1.2};
183+
const AxisSpec axisEta{32, -0.8, 0.8};
178184
const AxisSpec axisNch{601, -0.5, 600.5};
179185
const AxisSpec axisZNEnergy{1002, -0.5, 500.5};
180186
const AxisSpec axisZNTime{21, -10.5, 10.5};
@@ -185,7 +191,9 @@ struct upcPhotonuclearAnalysisJMG {
185191
const AxisSpec axisCountTracks{17, -0.5, 16.5};
186192

187193
histos.add("yields", "multiplicity vs pT vs eta", {HistType::kTH3F, {{100, 0, 100, "multiplicity"}, {40, 0, 20, "p_{T}"}, {100, -2, 2, "#eta"}}});
188-
histos.add("etaphi", "multiplicity vs eta vs phi", {HistType::kTH3F, {{100, 0, 100, "multiplicity"}, {100, -2, 2, "#eta"}, {200, 0, 2 * PI, "#varphi"}}});
194+
histos.add("etaphi", "multiplicity vs eta vs phi", {HistType::kTH3F, {{100, 0, 100, "multiplicity"}, {100, -2, 2, "#eta"}, {64, 0 * PI, 2 * PI, "#varphi"}}});
195+
histos.add("etaphiVtx", "vertex Z vs eta vs phi", {HistType::kTH3F, {{20, -10., 10., "vertex Z"}, {32, -0.8, 0.8, "#eta"}, {64, 0 * PI, 2 * PI, "#varphi"}}});
196+
histos.add("weightNUA", "weight per bin", {HistType::kTH3F, {{20, -10., 10., "vertex Z"}, {32, -0.8, 0.8, "#eta"}, {64, 0 * PI, 2 * PI, "#varphi"}}});
189197

190198
const int maxMixBin = axisMultiplicity->size() * axisVertex->size();
191199
histos.add("eventcount", "bin", {HistType::kTH1F, {{maxMixBin + 2, -2.5, -0.5 + maxMixBin, "bin"}}});
@@ -200,7 +208,10 @@ struct upcPhotonuclearAnalysisJMG {
200208
doPairCuts = true;
201209
}
202210
histos.add("Events/hCountCollisions", "0 total - 1 side A - 2 side C - 3 both side; Number of analysed collision; counts", kTH1F, {axisCollision});
211+
histos.add("Events/hCountCollisionsMixed", "0 total - 1 side A - 2 side C - 3 both side; Number of analysed collision; counts", kTH1F, {axisCollision});
203212
histos.add("Tracks/hTracksAfterCuts", " ; ; counts", kTH1F, {axisCountTracks});
213+
histos.add("Tracks/hTrackPhiBeforeCorr", "#it{#phi} distribution before NUA correction; #it{#phi}; counts", kTH1F, {axisPhi});
214+
histos.add("Tracks/hTrackPhiAfterCorr", "#it{#phi} distribution after NUA correction; #it{#phi}; counts", kTH1F, {axisPhi});
204215

205216
// histos to selection gap in side A
206217
histos.add("Tracks/SGsideA/hTrackPt", "#it{p_{T}} distribution; #it{p_{T}}; counts", kTH1F, {axisPt});
@@ -285,19 +296,19 @@ struct upcPhotonuclearAnalysisJMG {
285296
}
286297

287298
std::vector<double> vtxBinsEdges{VARIABLE_WIDTH, -10.0f, -7.0f, -5.0f, -2.5f, 0.0f, 2.5f, 5.0f, 7.0f, 10.0f};
288-
//std::vector<double> gapSideBinsEdges{VARIABLE_WIDTH, -0.5, 0.5, 1.5};
299+
std::vector<double> gapSideBinsEdges{VARIABLE_WIDTH, -0.5, 0.5, 1.5};
289300

290301
SliceCache cache;
291302
//int countEvents = 0;
292303
/*int countGapA = 0;
293304
int countGapC = 0;*/
294305

295306
// Binning only on PosZ without multiplicity
296-
//using BinningType = ColumnBinningPolicy<aod::collision::PosZ, aod::udcollision::GapSide>;
307+
using BinningType = ColumnBinningPolicy<aod::collision::PosZ, aod::udcollision::GapSide>;
297308
//BinningType bindingOnVtx{{vtxBinsEdges, gapSideBinsEdges}, true};
298-
using BinningType = ColumnBinningPolicy<aod::collision::PosZ>;
299-
/*BinningType bindingOnVtx{{vtxBinsEdges}, true};
300-
SameKindPair<FullSGUDCollision, FullUDTracks, BinningType> pairs{bindingOnVtx, nEventsMixed, -1, &cache};*/
309+
//using BinningType = ColumnBinningPolicy<aod::collision::PosZ>;
310+
//BinningType bindingOnVtx{{vtxBinsEdges}, true};
311+
//SameKindPair<FullSGUDCollision, FullUDTracks, BinningType> pairs{bindingOnVtx, nEventsMixed, -1, &cache};
301312

302313
template <typename CSG>
303314
bool isCollisionCutSG(CSG const& collision, int SideGap)
@@ -398,6 +409,9 @@ struct upcPhotonuclearAnalysisJMG {
398409
void fillQAUD(const TTracks tracks, float multiplicity)
399410
{
400411
for (const auto& track : tracks) {
412+
if (isTrackCut(track) == false) {
413+
continue;
414+
}
401415
histos.fill(HIST("yields"), multiplicity, track.pt(), eta(track.px(), track.py(), track.pz()));
402416
histos.fill(HIST("etaphi"), multiplicity, eta(track.px(), track.py(), track.pz()), phi(track.px(), track.py()));
403417
}
@@ -442,6 +456,50 @@ struct upcPhotonuclearAnalysisJMG {
442456
}
443457
}
444458

459+
void MakeNUAWeights(std::shared_ptr<TH3> histoRaw3D)
460+
{
461+
const int nPhi = histoRaw3D->GetZaxis()->GetNbins();
462+
const int nEta = histoRaw3D->GetYaxis()->GetNbins();
463+
const int nVz = histoRaw3D->GetXaxis()->GetNbins();
464+
465+
for (int jEtha=1; jEtha<=nEta; ++jEtha) {
466+
for (int iVtxZ=1; iVtxZ<=nVz; ++iVtxZ) {
467+
// average on phi to (eta_jEtha, vz_iVtxZ)
468+
double sum=0, count=0;
469+
for (int kPhi=1; kPhi<=nPhi; ++kPhi) {
470+
sum += histoRaw3D->GetBinContent(iVtxZ,jEtha,kPhi);
471+
count += 1.0;
472+
}
473+
const double Nmean = (count>0) ? sum/count : 0.0;
474+
475+
for (int kPhi=1; kPhi<=nPhi; ++kPhi) {
476+
double N = histoRaw3D->GetBinContent(iVtxZ,jEtha,kPhi);
477+
double w;
478+
if (useEpsilon) {
479+
w = (Nmean>0) ? Nmean / std::max(N, (double)myEpsilonToWeight) : 1.0;
480+
} else {
481+
w = (Nmean>0) ? Nmean / N : 1.0;
482+
}
483+
if (w < myWeightMin) w = myWeightMin;
484+
if (w > myWeightMax) w = myWeightMax;
485+
if (auto histoWeightNUA = histos.get<TH3>(HIST("weightNUA"))){
486+
histoWeightNUA->SetBinContent(iVtxZ,jEtha,kPhi, w);
487+
}
488+
}
489+
}
490+
}
491+
}
492+
493+
float getNUAWeight(float vz, float eta, float phi)
494+
{
495+
auto hWeight = histos.get<TH3>(HIST("weightNUA"));
496+
if (phi < 0) phi += 2*PI;
497+
int iPhi = hWeight->GetZaxis()->FindBin(phi);
498+
int iEta = hWeight->GetYaxis()->FindBin(eta);
499+
int iVz = hWeight->GetXaxis()->FindBin(vz);
500+
return hWeight->GetBinContent(iVz, iEta, iPhi);
501+
}
502+
445503
void processSG(FullSGUDCollision::iterator const& reconstructedCollision, FullUDTracks const& reconstructedTracks)
446504
{
447505
histos.fill(HIST("Events/hCountCollisions"), 0);
@@ -456,6 +514,14 @@ struct upcPhotonuclearAnalysisJMG {
456514
int nTracksChargedSideA(-222), nTracksChargedSideC(-222);
457515
int multiplicitySideA(-222), multiplicitySideC(-222);
458516

517+
for (const auto& track : reconstructedTracks) {
518+
if (isTrackCut(track) == false) {
519+
continue;
520+
}
521+
histos.fill(HIST("etaphiVtx"), reconstructedCollision.posZ(), eta(track.px(), track.py(), track.pz()), phi(track.px(), track.py()));
522+
histos.fill(HIST("Tracks/hTrackPhiBeforeCorr"), phi(track.px(), track.py()));
523+
}
524+
459525
switch (sgSide) {
460526
case 0: // gap for side A
461527
if (isCollisionCutSG(reconstructedCollision, 0) == false) {
@@ -583,8 +649,111 @@ struct upcPhotonuclearAnalysisJMG {
583649
tree(vTrackPtSideA, vTrackEtaSideA, vTrackPhiSideA, vTrackTPCSignalSideA, vTrackTOFSignalSideA, vTrackTPCNSigmaPiSideA, vTrackTOFNSigmaPiSideA, vTrackTPCNSigmaKaSideA, vTrackTOFNSigmaKaSideA, vTrackPtSideC, vTrackEtaSideC, vTrackPhiSideC, vTrackTPCSignalSideA, vTrackTOFSignalSideA, vTrackTPCNSigmaPiSideA, vTrackTOFNSigmaPiSideA, vTrackTPCNSigmaKaSideA, vTrackTOFNSigmaKaSideA, nTracksChargedSideA, multiplicitySideA, nTracksChargedSideC, multiplicitySideC);
584650
// nTracksChargedSideA = nTracksChargedSideC = multiplicitySideA = multiplicitySideC = 0;
585651
}
652+
586653
PROCESS_SWITCH(upcPhotonuclearAnalysisJMG, processSG, "Process in UD tables", true);
587654

655+
void processMixed(FullSGUDCollision const& reconstructedCollision, FullUDTracks const& reconstructedTracks)
656+
{
657+
//(void)reconstructedCollision;
658+
// int sgSide = reconstructedCollision.gapSide();
659+
// int sgSide = 0;
660+
661+
//int maxCount = 0;
662+
/*int maxCountGapA = 0;
663+
int maxCountGapC = 0;*/
664+
665+
/*if (auto histEventCount = histos.get<TH1>(HIST("eventcount"))) {
666+
int binA = histEventCount->GetXaxis()->FindBin(-2); // Gap A
667+
int binC = histEventCount->GetXaxis()->FindBin(-1); Gap C
668+
669+
maxCount = histEventCount->GetBinContent(binA) * factorEventsMixed;
670+
maxCountGapA = histEventCount->GetBinContent(binA) * factorEventsMixed;
671+
maxCountGapC = histEventCount->GetBinContent(binC) * factorEventsMixed;
672+
}*/
673+
674+
auto histoEthaPhiVtxZ = histos.get<TH3>(HIST("etaphiVtx"));
675+
676+
MakeNUAWeights(histoEthaPhiVtxZ);
677+
678+
BinningType bindingOnVtx{{vtxBinsEdges, gapSideBinsEdges}, true};
679+
//BinningType bindingOnVtx{{vtxBinsEdges}, true};
680+
auto tracksTuple = std::make_tuple(reconstructedTracks);
681+
SameKindPair<FullSGUDCollision, FullUDTracks, BinningType> pairs{bindingOnVtx, nEventsMixed, -1, reconstructedCollision, tracksTuple, &cache};
682+
683+
for (const auto& [collision1, tracks1, collision2, tracks2] : pairs) {
684+
if (collision1.size() == 0 || collision2.size() == 0) {
685+
// LOGF(info, "One or both collisions are empty.");
686+
continue;
687+
}
688+
689+
/*if (countGapA >= maxCountGapA && countGapC >= maxCountGapC) {
690+
break;
691+
}*/
692+
693+
float multiplicity = 0;
694+
695+
histos.fill(HIST("Events/hCountCollisionsMixed"), 0);
696+
697+
if (isCollisionCutSG(collision1) == false || isCollisionCutSG(collision2) == false) {
698+
continue;
699+
}
700+
histos.fill(HIST("Events/hCountCollisionsMixed"), 1);
701+
//++countEvents;
702+
// LOGF(info, "In the pairs loop");
703+
for (const auto& track : tracks1) {
704+
if (isTrackCut(track) == false) {
705+
continue;
706+
}
707+
++multiplicity;
708+
}
709+
//multiplicity = tracks1.size();
710+
if (fillCollisionUD(mixed, multiplicity) == false) {
711+
return;
712+
}
713+
histos.fill(HIST("Events/hCountCollisionsMixed"), 2);
714+
//histos.fill(HIST("eventcount"), bindingOnVtx.getBin({collision1.posZ()}));
715+
histos.fill(HIST("eventcount"), bindingOnVtx.getBin({collision1.posZ(), collision1.gapSide()}));
716+
fillCorrelationsUD(mixed, tracks1, tracks2, multiplicity, collision1.posZ());
717+
// LOGF(info, "Filling mixed events");
718+
719+
/*if (collision1.gapSide() == 0 && collision2.gapSide() == 0) { // gap on side A
720+
if (isCollisionCutSG(collision1, 0) == false && isCollisionCutSG(collision2, 0) == false) {
721+
continue;
722+
}
723+
// std::cout << "Counts for Gap A: " << countGapA << " Maximum Count for Gap A " << maxCountGapA << std::endl;
724+
++countGapA;
725+
// LOGF(info, "In the pairs loop, gap side A");
726+
multiplicity = tracks1.size();
727+
if (fillCollisionUD(mixedGapSideA, multiplicity) == false) {
728+
return;
729+
}
730+
// histos.fill(HIST("eventcount"), bindingOnVtx.getBin({collision1.posZ()}));
731+
histos.fill(HIST("eventcount"), bindingOnVtx.getBin({collision1.posZ(), collision1.gapSide()}));
732+
fillCorrelationsUD(mixedGapSideA, tracks1, tracks2, multiplicity, collision1.posZ());
733+
// LOGF(info, "Filling mixedGapSideA events, Gap for side A");
734+
}*/
735+
736+
/*if (collision1.gapSide() == 1 && collision2.gapSide() == 1) { // gap on side C
737+
if (isCollisionCutSG(collision1, 1) == false && isCollisionCutSG(collision2, 1) == false) {
738+
continue;
739+
}
740+
// std::cout << "Counts for Gap C: " << countGapC << " Maximum Count for Gap C" << maxCountGapC << std::endl;
741+
++countGapC;
742+
// LOGF(info, "In the pairs loop, gap side C");
743+
multiplicity = tracks1.size();
744+
if (fillCollisionUD(mixedGapSideC, multiplicity) == false) {
745+
return;
746+
}
747+
fillCorrelationsUD(mixedGapSideC, tracks1, tracks2, multiplicity, collision1.posZ());
748+
// LOGF(info, "Filling mixedGapSideC events, Gap for side C");
749+
} else {
750+
continue;
751+
}*/
752+
}
753+
}
754+
755+
PROCESS_SWITCH(upcPhotonuclearAnalysisJMG, processMixed, "Process mixed events", true);
756+
588757
void processSame(FullSGUDCollision::iterator const& reconstructedCollision, FullUDTracks const& reconstructedTracks)
589758
{
590759
//int sgSide = reconstructedCollision.gapSide();
@@ -670,10 +839,14 @@ struct upcPhotonuclearAnalysisJMG {
670839
}
671840
histos.fill(HIST("Tracks/hTracksAfterCuts"), 16);
672841

673-
/*if (isTrackCut(track) == false) {
842+
if (isTrackCut(track) == false) {
674843
continue;
675-
}*/
844+
}
676845
++multiplicity;
846+
847+
float weightNUA = getNUAWeight(reconstructedCollision.posZ(), eta(track.px(), track.py(), track.pz()), phi(track.px(), track.py()));
848+
849+
histos.fill(HIST("Tracks/hTrackPhiAfterCorr"), phi(track.px(), track.py()), weightNUA);
677850
}
678851
//multiplicity = reconstructedTracks.size();
679852
if (fillCollisionUD(same, multiplicity) == false) {
@@ -718,98 +891,7 @@ struct upcPhotonuclearAnalysisJMG {
718891

719892
PROCESS_SWITCH(upcPhotonuclearAnalysisJMG, processSame, "Process same event", true);
720893

721-
void processMixed(FullSGUDCollision const& reconstructedCollision, FullUDTracks const& reconstructedTracks)
722-
{
723-
//(void)reconstructedCollision;
724-
// int sgSide = reconstructedCollision.gapSide();
725-
// int sgSide = 0;
726894

727-
//int maxCount = 0;
728-
/*int maxCountGapA = 0;
729-
int maxCountGapC = 0;*/
730-
731-
/*if (auto histEventCount = histos.get<TH1>(HIST("eventcount"))) {
732-
int binA = histEventCount->GetXaxis()->FindBin(-2); // Gap A
733-
int binC = histEventCount->GetXaxis()->FindBin(-1); Gap C
734-
735-
maxCount = histEventCount->GetBinContent(binA) * factorEventsMixed;
736-
maxCountGapA = histEventCount->GetBinContent(binA) * factorEventsMixed;
737-
maxCountGapC = histEventCount->GetBinContent(binC) * factorEventsMixed;
738-
}*/
739-
740-
BinningType bindingOnVtx{{vtxBinsEdges}, true};
741-
auto tracksTuple = std::make_tuple(reconstructedTracks);
742-
SameKindPair<FullSGUDCollision, FullUDTracks, BinningType> pairs{bindingOnVtx, nEventsMixed, -1, reconstructedCollision, tracksTuple, &cache};
743-
744-
for (const auto& [collision1, tracks1, collision2, tracks2] : pairs) {
745-
if (collision1.size() == 0 || collision2.size() == 0) {
746-
// LOGF(info, "One or both collisions are empty.");
747-
continue;
748-
}
749-
750-
/*if (countGapA >= maxCountGapA && countGapC >= maxCountGapC) {
751-
break;
752-
}*/
753-
754-
float multiplicity = 0;
755-
756-
if (isCollisionCutSG(collision1) == false || isCollisionCutSG(collision2) == false) {
757-
continue;
758-
}
759-
//++countEvents;
760-
// LOGF(info, "In the pairs loop");
761-
for (const auto& track : tracks1) {
762-
if (isTrackCut(track) == false) {
763-
continue;
764-
}
765-
++multiplicity;
766-
}
767-
//multiplicity = tracks1.size();
768-
if (fillCollisionUD(mixed, multiplicity) == false) {
769-
return;
770-
}
771-
histos.fill(HIST("eventcount"), bindingOnVtx.getBin({collision1.posZ()}));
772-
//histos.fill(HIST("eventcount"), bindingOnVtx.getBin({collision1.posZ(), collision1.gapSide()}));
773-
fillCorrelationsUD(mixed, tracks1, tracks2, multiplicity, collision1.posZ());
774-
//LOGF(info, "Filling mixed events");
775-
776-
/*if (collision1.gapSide() == 0 && collision2.gapSide() == 0) { // gap on side A
777-
if (isCollisionCutSG(collision1, 0) == false && isCollisionCutSG(collision2, 0) == false) {
778-
continue;
779-
}
780-
// std::cout << "Counts for Gap A: " << countGapA << " Maximum Count for Gap A " << maxCountGapA << std::endl;
781-
++countGapA;
782-
// LOGF(info, "In the pairs loop, gap side A");
783-
multiplicity = tracks1.size();
784-
if (fillCollisionUD(mixedGapSideA, multiplicity) == false) {
785-
return;
786-
}
787-
// histos.fill(HIST("eventcount"), bindingOnVtx.getBin({collision1.posZ()}));
788-
histos.fill(HIST("eventcount"), bindingOnVtx.getBin({collision1.posZ(), collision1.gapSide()}));
789-
fillCorrelationsUD(mixedGapSideA, tracks1, tracks2, multiplicity, collision1.posZ());
790-
// LOGF(info, "Filling mixedGapSideA events, Gap for side A");
791-
}*/
792-
793-
/*if (collision1.gapSide() == 1 && collision2.gapSide() == 1) { // gap on side C
794-
if (isCollisionCutSG(collision1, 1) == false && isCollisionCutSG(collision2, 1) == false) {
795-
continue;
796-
}
797-
// std::cout << "Counts for Gap C: " << countGapC << " Maximum Count for Gap C" << maxCountGapC << std::endl;
798-
++countGapC;
799-
// LOGF(info, "In the pairs loop, gap side C");
800-
multiplicity = tracks1.size();
801-
if (fillCollisionUD(mixedGapSideC, multiplicity) == false) {
802-
return;
803-
}
804-
fillCorrelationsUD(mixedGapSideC, tracks1, tracks2, multiplicity, collision1.posZ());
805-
// LOGF(info, "Filling mixedGapSideC events, Gap for side C");
806-
} else {
807-
continue;
808-
}*/
809-
}
810-
}
811-
812-
PROCESS_SWITCH(upcPhotonuclearAnalysisJMG, processMixed, "Process mixed events", true);
813895
};
814896

815897
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)

0 commit comments

Comments
 (0)