@@ -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
815897WorkflowSpec defineDataProcessing (ConfigContext const & cfgc)
0 commit comments