@@ -47,9 +47,21 @@ namespace tree
4747DECLARE_SOA_COLUMN (PtSideA, ptSideA, std::vector<float >);
4848DECLARE_SOA_COLUMN (RapSideA, rapSideA, std::vector<float >);
4949DECLARE_SOA_COLUMN (PhiSideA, phiSideA, std::vector<float >);
50+ DECLARE_SOA_COLUMN (TPCSignalSideA, tpcSignalSideA, std::vector<float >);
51+ DECLARE_SOA_COLUMN (TOFSignalSideA, tofSignalSideA, std::vector<float >);
52+ DECLARE_SOA_COLUMN (TPCNSigmaPiSideA, tpcNSigmaPiSideA, std::vector<float >);
53+ DECLARE_SOA_COLUMN (TOFNSigmaPiSideA, tofNSigmaPiSideA, std::vector<float >);
54+ DECLARE_SOA_COLUMN (TPCNSigmaKaSideA, tpcNSigmaKaSideA, std::vector<float >);
55+ DECLARE_SOA_COLUMN (TOFNSigmaKaSideA, tofNSigmaKaSideA, std::vector<float >);
5056DECLARE_SOA_COLUMN (PtSideC, ptSideC, std::vector<float >);
5157DECLARE_SOA_COLUMN (RapSideC, rapSideC, std::vector<float >);
5258DECLARE_SOA_COLUMN (PhiSideC, phiSideC, std::vector<float >);
59+ DECLARE_SOA_COLUMN (TPCSignalSideC, tpcSignalSideC, std::vector<float >);
60+ DECLARE_SOA_COLUMN (TOFSignalSideC, tofSignalSideC, std::vector<float >);
61+ DECLARE_SOA_COLUMN (TPCNSigmaPiSideC, tpcNSigmaPiSideC, std::vector<float >);
62+ DECLARE_SOA_COLUMN (TOFNSigmaPiSideC, tofNSigmaPiSideC, std::vector<float >);
63+ DECLARE_SOA_COLUMN (TPCNSigmaKaSideC, tpcNSigmaKaSideC, std::vector<float >);
64+ DECLARE_SOA_COLUMN (TOFNSigmaKaSideC, tofNSigmaKaSideC, std::vector<float >);
5365DECLARE_SOA_COLUMN (NchSideA, nchSideA, int );
5466DECLARE_SOA_COLUMN (MultiplicitySideA, multiplicitySideA, int );
5567DECLARE_SOA_COLUMN (NchSideC, nchSideC, int );
@@ -59,9 +71,21 @@ DECLARE_SOA_TABLE(TREE, "AOD", "Tree",
5971 tree::PtSideA,
6072 tree::RapSideA,
6173 tree::PhiSideA,
74+ tree::TPCSignalSideA,
75+ tree::TOFSignalSideA,
76+ tree::TPCNSigmaPiSideA,
77+ tree::TOFNSigmaPiSideA,
78+ tree::TPCNSigmaKaSideA,
79+ tree::TOFNSigmaKaSideA,
6280 tree::PtSideC,
6381 tree::RapSideC,
6482 tree::PhiSideC,
83+ tree::TPCSignalSideC,
84+ tree::TOFSignalSideC,
85+ tree::TPCNSigmaPiSideC,
86+ tree::TOFNSigmaPiSideC,
87+ tree::TPCNSigmaKaSideC,
88+ tree::TOFNSigmaKaSideC,
6589 tree::NchSideA,
6690 tree::MultiplicitySideA,
6791 tree::NchSideC,
@@ -76,6 +100,7 @@ struct upcPhotonuclearAnalysisJMG {
76100 HistogramRegistry histos{" histos" , {}, OutputObjHandlingPolicy::AnalysisObject};
77101
78102 // Declare configurables on events/collisions
103+ Configurable<int > nEvenstMixed{" nEvenstMixed" , 3 , {" Events to be Mixed" }};
79104 Configurable<float > myZVtxCut{" myZVtxCut" , 10 ., {" My collision cut" }};
80105 Configurable<float > myTimeZNACut{" myTimeZNACut" , 2 ., {" My collision cut" }};
81106 Configurable<float > myTimeZNCCut{" myTimeZNCCut" , 2 ., {" My collision cut" }};
@@ -127,11 +152,13 @@ struct upcPhotonuclearAnalysisJMG {
127152 Filter collisionZNTimeFilter = nabs(aod::udzdc::timeZNA) < myTimeZNACut && nabs(aod::udzdc::timeZNC) < myTimeZNCCut;
128153
129154 using FullSGUDCollision = soa::Filtered<soa::Join<aod::UDCollisions, aod::UDCollisionsSels, aod::SGCollisions, aod::UDZdcsReduced>>;
130- using FullUDTracks = soa::Join<aod::UDTracks, aod::UDTracksExtra, aod::UDTracksDCA, aod::UDTracksFlags>;
155+ using FullUDTracks = soa::Join<aod::UDTracks, aod::UDTracksExtra, aod::UDTracksPID, aod:: UDTracksDCA, aod::UDTracksFlags>;
131156
132157 // Output definitions
133- OutputObj<CorrelationContainer> same{" sameEvent" };
134- OutputObj<CorrelationContainer> mixed{" mixedEvent" };
158+ OutputObj<CorrelationContainer> sameGapSideA{" sameEventGapSideA" };
159+ OutputObj<CorrelationContainer> mixedGapSideA{" mixedEventGapSideA" };
160+ OutputObj<CorrelationContainer> sameGapSideC{" sameEventGapSideC" };
161+ OutputObj<CorrelationContainer> mixedGapSideC{" mixedEventGapSideC" };
135162
136163 UPCPairCuts mPairCuts ;
137164 bool doPairCuts = false ;
@@ -175,6 +202,7 @@ struct upcPhotonuclearAnalysisJMG {
175202 histos.add (" Tracks/SGsideA/hTrackPhi" , " #it{#phi} distribution; #it{#phi}; counts" , kTH1F , {axisPhi});
176203 histos.add (" Tracks/SGsideA/hTrackEta" , " #it{#eta} distribution; #it{#eta}; counts" , kTH1F , {axisEta});
177204 histos.add (" Tracks/SGsideA/hTrackTPCSignnalP" , " #it{TPC dE/dx vs p}; #it{p*charge}; #it{TPC dE/dx}" , kTH2F , {axisP, axisTPCSignal});
205+ histos.add (" Tracks/SGsideA/hTrackTOFSignnalP" , " #it{TOF signal vs p}; #it{p*charge}; #it{TOF signal}" , kTH2F , {axisP, axisTPCSignal});
178206 histos.add (" Tracks/SGsideA/hTrackITSNCls" , " #it{N Clusters ITS} distribution; #it{N Clusters ITS}; counts" , kTH1F , {axisNCls});
179207 histos.add (" Tracks/SGsideA/hTrackITSChi2NCls" , " #it{N Clusters Chi2 ITS} distribution; #it{N Clusters Chi2 ITS}; counts" , kTH1F , {axisChi2NCls});
180208 histos.add (" Tracks/SGsideA/hTrackNClsCrossedRowsOverNClsFindable" , " #it{NClsCrossedRows/FindableNCls} distribution in TPC; #it{NClsCrossedRows/FindableNCls}; counts" , kTH1F , {axisTPCNClsCrossedRowsMin});
@@ -205,6 +233,7 @@ struct upcPhotonuclearAnalysisJMG {
205233 histos.add (" Tracks/SGsideC/hTrackPhi" , " #it{#phi} distribution; #it{#phi}; counts" , kTH1F , {axisPhi});
206234 histos.add (" Tracks/SGsideC/hTrackEta" , " #it{#eta} distribution; #it{#eta}; counts" , kTH1F , {axisEta});
207235 histos.add (" Tracks/SGsideC/hTrackTPCSignnalP" , " #it{TPC dE/dx vs p}; #it{p*charge}; #it{TPC dE/dx}" , kTH2F , {axisP, axisTPCSignal});
236+ histos.add (" Tracks/SGsideC/hTrackTOFSignnalP" , " #it{TOF signal vs p}; #it{p*charge}; #it{TOF signal}" , kTH2F , {axisP, axisTPCSignal});
208237 histos.add (" Tracks/SGsideC/hTrackITSNCls" , " #it{N Clusters ITS} distribution; #it{N Clusters ITS}; counts" , kTH1F , {axisNCls});
209238 histos.add (" Tracks/SGsideC/hTrackITSChi2NCls" , " #it{N Clusters Chi2 ITS} distribution; #it{N Clusters Chi2 ITS}; counts" , kTH1F , {axisChi2NCls});
210239 histos.add (" Tracks/SGsideC/hTrackNClsCrossedRowsOverNClsFindable" , " #it{NClsCrossedRows/FindableNCls} distribution in TPC; #it{NClsCrossedRows/FindableNCls}; counts" , kTH1F , {axisTPCNClsCrossedRowsMin});
@@ -240,18 +269,22 @@ struct upcPhotonuclearAnalysisJMG {
240269 {axisEtaEfficiency, " #eta" },
241270 {axisPtEfficiency, " p_{T} (GeV/c)" },
242271 {axisVertexEfficiency, " z-vtx (cm)" }};
243- same.setObject (new CorrelationContainer (" sameEvent" , " sameEvent" , corrAxis, effAxis, {}));
244- mixed.setObject (new CorrelationContainer (" mixedEvent" , " mixedEvent" , corrAxis, effAxis, {}));
272+ sameGapSideA.setObject (new CorrelationContainer (" sameEventGapSideA" , " sameEventGapSideA" , corrAxis, effAxis, {}));
273+ mixedGapSideA.setObject (new CorrelationContainer (" mixedEventGapSideA" , " mixedEventGapSideA" , corrAxis, effAxis, {}));
274+ sameGapSideC.setObject (new CorrelationContainer (" sameEventGapSideC" , " sameEventGapSideC" , corrAxis, effAxis, {}));
275+ mixedGapSideC.setObject (new CorrelationContainer (" mixedEventGapSideC" , " mixedEventGapSideC" , corrAxis, effAxis, {}));
245276 }
246277
247- std::vector<double > vtxBinsEdges{VARIABLE_WIDTH, -10 .0f , -7 .0f , -5 .0f , -2 .0f , 0 .0f , 2 .0f , 5 .0f , 7 .0f , 10 .0f };
248- std::vector<double > multBinsEdges{VARIABLE_WIDTH, 0 .0f , 50 .0f , 400 .0f };
278+ std::vector<double > vtxBinsEdges{VARIABLE_WIDTH, -10 .0f , -5 .0f , 0 .0f , 5 .0f , 10 .0f };
279+ std::vector<double > gapSideBinsEdges{VARIABLE_WIDTH, -0.5 , 0.5 , 1.5 };
280+
249281 SliceCache cache;
250282
251283 // Binning only on PosZ without multiplicity
252- using BinningType = ColumnBinningPolicy<aod::collision::PosZ>;
253- BinningType bindingOnVtx{{vtxBinsEdges}, true };
254- SameKindPair<FullSGUDCollision, FullUDTracks, BinningType> pairs{bindingOnVtx, 5 , -1 , &cache};
284+ // using BinningType = ColumnBinningPolicy<aod::collision::PosZ>;
285+ using BinningType = ColumnBinningPolicy<aod::collision::PosZ, aod::udcollision::GapSide>;
286+ BinningType bindingOnVtx{{vtxBinsEdges, {gapSideBinsEdges}}, true };
287+ SameKindPair<FullSGUDCollision, FullUDTracks, BinningType> pairs{bindingOnVtx, nEvenstMixed, -1 , &cache};
255288
256289 // ColumnBinningPolicy<aod::collision::PosZ, aod::udcollision::TotalFT0AmplitudeC> bindingOnVtx{{vtxBinsEdges, multBinsEdges}, true};
257290
@@ -345,7 +378,7 @@ struct upcPhotonuclearAnalysisJMG {
345378 template <typename TTracks>
346379 void fillQAUD (const TTracks tracks)
347380 {
348- for (auto & track : tracks) {
381+ for (const auto & track : tracks) {
349382 histos.fill (HIST (" yields" ), tracks.size (), track.pt (), eta (track.px (), track.py (), track.pz ()));
350383 histos.fill (HIST (" etaphi" ), tracks.size (), eta (track.px (), track.py (), track.pz ()), phi (track.px (), track.py ()));
351384 }
@@ -363,12 +396,12 @@ struct upcPhotonuclearAnalysisJMG {
363396 void fillCorrelationsUD (TTarget target, const TTracks tracks1, const TTracks tracks2, float multiplicity, float posZ)
364397 {
365398 multiplicity = tracks1.size ();
366- for (auto & track1 : tracks1) {
399+ for (const auto & track1 : tracks1) {
367400 if (isTrackCut (track1) == false ) {
368401 continue ;
369402 }
370403 target->getTriggerHist ()->Fill (CorrelationContainer::kCFStepReconstructed , track1.pt (), multiplicity, posZ, 1.0 );
371- for (auto & track2 : tracks2) {
404+ for (const auto & track2 : tracks2) {
372405 if (track1 == track2) {
373406 continue ;
374407 }
@@ -396,8 +429,9 @@ struct upcPhotonuclearAnalysisJMG {
396429 int sgSide = reconstructedCollision.gapSide ();
397430 int nTracksCharged = 0 ;
398431 float sumPt = 0 ;
399- std::vector<float > vTrackPtSideA, vTrackEtaSideA, vTrackPhiSideA;
400- std::vector<float > vTrackPtSideC, vTrackEtaSideC, vTrackPhiSideC;
432+ std::vector<float > vTrackPtSideA, vTrackEtaSideA, vTrackPhiSideA, vTrackTPCSignalSideA, vTrackTOFSignalSideA, vTrackTPCNSigmaPiSideA, vTrackTOFNSigmaPiSideA, vTrackTPCNSigmaKaSideA, vTrackTOFNSigmaKaSideA;
433+ std::vector<float > vTrackPtSideC, vTrackEtaSideC, vTrackPhiSideC, vTrackTPCSignalSideC, vTrackTOFSignalSideC, vTrackTPCNSigmaPiSideC, vTrackTOFNSigmaPiSideC, vTrackTPCNSigmaKaSideC, vTrackTOFNSigmaKaSideC;
434+
401435 int nTracksChargedSideA (-222 ), nTracksChargedSideC (-222 );
402436 int multiplicitySideA (-222 ), multiplicitySideC (-222 );
403437
@@ -416,7 +450,7 @@ struct upcPhotonuclearAnalysisJMG {
416450 histos.fill (HIST (" Events/SGsideA/hZVtx" ), reconstructedCollision.posZ ());
417451 histos.fill (HIST (" Events/SGsideA/hAmplitudFT0A" ), reconstructedCollision.totalFT0AmplitudeA ());
418452 histos.fill (HIST (" Events/SGsideA/hAmplitudFT0C" ), reconstructedCollision.totalFT0AmplitudeC ());
419- for (auto & track : reconstructedTracks) {
453+ for (const auto & track : reconstructedTracks) {
420454 if (track.sign () == 1 || track.sign () == -1 ) {
421455 if (isTrackCut (track) == false ) {
422456 continue ;
@@ -427,9 +461,16 @@ struct upcPhotonuclearAnalysisJMG {
427461 histos.fill (HIST (" Tracks/SGsideA/hTrackPhi" ), phi (track.px (), track.py ()));
428462 histos.fill (HIST (" Tracks/SGsideA/hTrackEta" ), eta (track.px (), track.py (), track.pz ()));
429463 histos.fill (HIST (" Tracks/SGsideA/hTrackTPCSignnalP" ), momentum (track.px (), track.py (), track.pz ()) * track.sign (), track.tpcSignal ());
464+ histos.fill (HIST (" Tracks/SGsideA/hTrackTOFSignnalP" ), momentum (track.px (), track.py (), track.pz ()) * track.sign (), track.tofSignal ());
430465 vTrackPtSideA.push_back (track.pt ());
431466 vTrackEtaSideA.push_back (eta (track.px (), track.py (), track.pz ()));
432467 vTrackPhiSideA.push_back (phi (track.px (), track.py ()));
468+ vTrackTPCSignalSideA.push_back (track.tpcSignal ());
469+ vTrackTOFSignalSideA.push_back (track.tofSignal ());
470+ vTrackTPCNSigmaPiSideA.push_back (track.tpcNSigmaPi ());
471+ vTrackTOFNSigmaPiSideA.push_back (track.tofNSigmaPi ());
472+ vTrackTPCNSigmaKaSideA.push_back (track.tpcNSigmaKa ());
473+ vTrackTOFNSigmaKaSideA.push_back (track.tofNSigmaKa ());
433474
434475 histos.fill (HIST (" Tracks/SGsideA/hTrackITSNCls" ), track.itsNCls ());
435476 histos.fill (HIST (" Tracks/SGsideA/hTrackITSChi2NCls" ), track.itsChi2NCl ());
@@ -465,7 +506,7 @@ struct upcPhotonuclearAnalysisJMG {
465506 histos.fill (HIST (" Events/SGsideC/hZVtx" ), reconstructedCollision.posZ ());
466507 histos.fill (HIST (" Events/SGsideC/hAmplitudFT0A" ), reconstructedCollision.totalFT0AmplitudeA ());
467508 histos.fill (HIST (" Events/SGsideC/hAmplitudFT0C" ), reconstructedCollision.totalFT0AmplitudeC ());
468- for (auto & track : reconstructedTracks) {
509+ for (const auto & track : reconstructedTracks) {
469510 if (track.sign () == 1 || track.sign () == -1 ) {
470511 if (isTrackCut (track) == false ) {
471512 continue ;
@@ -476,9 +517,16 @@ struct upcPhotonuclearAnalysisJMG {
476517 histos.fill (HIST (" Tracks/SGsideC/hTrackPhi" ), phi (track.px (), track.py ()));
477518 histos.fill (HIST (" Tracks/SGsideC/hTrackEta" ), eta (track.px (), track.py (), track.pz ()));
478519 histos.fill (HIST (" Tracks/SGsideC/hTrackTPCSignnalP" ), momentum (track.px (), track.py (), track.pz ()) * track.sign (), track.tpcSignal ());
520+ histos.fill (HIST (" Tracks/SGsideC/hTrackTOFSignnalP" ), momentum (track.px (), track.py (), track.pz ()) * track.sign (), track.tofSignal ());
479521 vTrackPtSideC.push_back (track.pt ());
480522 vTrackEtaSideC.push_back (eta (track.px (), track.py (), track.pz ()));
481523 vTrackPhiSideC.push_back (phi (track.px (), track.py ()));
524+ vTrackTPCSignalSideC.push_back (track.tpcSignal ());
525+ vTrackTOFSignalSideC.push_back (track.tofSignal ());
526+ vTrackTPCNSigmaPiSideC.push_back (track.tpcNSigmaPi ());
527+ vTrackTOFNSigmaPiSideC.push_back (track.tofNSigmaPi ());
528+ vTrackTPCNSigmaKaSideC.push_back (track.tpcNSigmaKa ());
529+ vTrackTOFNSigmaKaSideC.push_back (track.tofNSigmaKa ());
482530
483531 histos.fill (HIST (" Tracks/SGsideC/hTrackITSNCls" ), track.itsNCls ());
484532 histos.fill (HIST (" Tracks/SGsideC/hTrackITSChi2NCls" ), track.itsChi2NCl ());
@@ -504,33 +552,40 @@ struct upcPhotonuclearAnalysisJMG {
504552 return ;
505553 break ;
506554 }
507- tree (vTrackPtSideA, vTrackEtaSideA, vTrackPhiSideA, vTrackPtSideC, vTrackEtaSideC, vTrackPhiSideC, nTracksChargedSideA, multiplicitySideA, nTracksChargedSideC, multiplicitySideC);
555+ tree (vTrackPtSideA, vTrackEtaSideA, vTrackPhiSideA, vTrackTPCSignalSideA, vTrackTOFSignalSideA, vTrackTPCNSigmaPiSideA, vTrackTOFNSigmaPiSideA, vTrackTPCNSigmaKaSideA, vTrackTOFNSigmaKaSideA, vTrackPtSideC, vTrackEtaSideC, vTrackPhiSideC, vTrackTPCSignalSideA, vTrackTOFSignalSideA, vTrackTPCNSigmaPiSideA, vTrackTOFNSigmaPiSideA, vTrackTPCNSigmaKaSideA, vTrackTOFNSigmaKaSideA , nTracksChargedSideA, multiplicitySideA, nTracksChargedSideC, multiplicitySideC);
508556 // nTracksChargedSideA = nTracksChargedSideC = multiplicitySideA = multiplicitySideC = 0;
509557 }
510558 PROCESS_SWITCH (upcPhotonuclearAnalysisJMG, processSG, " Process in UD tables" , true );
511559
512560 void processSame (FullSGUDCollision::iterator const & reconstructedCollision, FullUDTracks const & reconstructedTracks)
513561 {
514562 int sgSide = reconstructedCollision.gapSide ();
563+ float multiplicity = 0 ;
515564
516- float multiplicity = reconstructedTracks.size ();
517565 switch (sgSide) {
518566 case 0 : // gap for side A
519567 if (isCollisionCutSG (reconstructedCollision, 0 ) == false ) {
520568 return ;
521569 }
522- if (fillCollisionUD (same, multiplicity) == false ) {
570+ multiplicity = reconstructedTracks.size ();
571+ if (fillCollisionUD (sameGapSideA, multiplicity) == false ) {
523572 return ;
524573 }
525- LOGF (info , " Filling same events" );
574+ // LOGF(debug , "Filling sameGapSideA events");
526575 histos.fill (HIST (" eventcount" ), -2 );
527576 fillQAUD (reconstructedTracks);
528- fillCorrelationsUD (same , reconstructedTracks, reconstructedTracks, multiplicity, reconstructedCollision.posZ ());
577+ fillCorrelationsUD (sameGapSideA , reconstructedTracks, reconstructedTracks, multiplicity, reconstructedCollision.posZ ());
529578 break ;
530579 case 1 : // gap for side C
531- // if (isCollisionCutSG(reconstructedCollision, 1) == false) {
532- // return;
533- // }
580+ if (isCollisionCutSG (reconstructedCollision, 1 ) == false ) {
581+ return ;
582+ }
583+ multiplicity = reconstructedTracks.size ();
584+ if (fillCollisionUD (sameGapSideC, multiplicity) == false ) {
585+ return ;
586+ }
587+ // LOGF(debug, "Filling sameGapSideC events");
588+ fillCorrelationsUD (sameGapSideC, reconstructedTracks, reconstructedTracks, multiplicity, reconstructedCollision.posZ ());
534589 break ;
535590 default :
536591 return ;
@@ -542,37 +597,45 @@ struct upcPhotonuclearAnalysisJMG {
542597
543598 void processMixed (FullSGUDCollision::iterator const & reconstructedCollision)
544599 {
545- int sgSide = reconstructedCollision.gapSide ();
600+ (void )reconstructedCollision;
601+ // int sgSide = reconstructedCollision.gapSide();
546602 // int sgSide = 0;
547603
548- for (auto & [collision1, tracks1, collision2, tracks2] : pairs) {
604+ for (const auto & [collision1, tracks1, collision2, tracks2] : pairs) {
549605 if (collision1.size () == 0 || collision2.size () == 0 ) {
550- LOGF (info , " One or both collisions are empty." );
606+ // LOGF(debug , "One or both collisions are empty.");
551607 continue ;
552608 }
553- float multiplicity = tracks1.size ();
554- LOGF (info, " Filling mixed events" );
555- switch (sgSide) {
556- case 0 : // gap for side A
557- if (isCollisionCutSG (reconstructedCollision, 0 ) == false ) {
558- return ;
559- }
560- if (fillCollisionUD (mixed, multiplicity) == false ) {
561- return ;
562- }
563- // LOGF(info, ">>> Bin of collision: ", bindingOnVtx.getBin({collision1.posZ()}));
564- // histos.fill(HIST("eventcount"), bindingOnVtx.getBin({collision1.posZ(), collision1.totalFT0AmplitudeC()}));
565- histos.fill (HIST (" eventcount" ), bindingOnVtx.getBin ({collision1.posZ ()}));
566- fillCorrelationsUD (mixed, tracks1, tracks2, multiplicity, collision1.posZ ());
567- break ;
568- case 1 : // gap for side C
569- // if (isCollisionCutSG(reconstructedCollision, 1) == false) {
570- // return;
571- // }
572- break ;
573- default :
609+
610+ float multiplicity = 0 ;
611+ if (collision1.gapSide () == 0 && collision2.gapSide () == 0 ) { // gap on side A
612+ if (isCollisionCutSG (collision1, 0 ) == false && isCollisionCutSG (collision2, 0 ) == false ) {
613+ continue ;
614+ }
615+ // LOGF(debug, "In the pairs loop, gap side A");
616+ multiplicity = tracks1.size ();
617+ if (fillCollisionUD (mixedGapSideA, multiplicity) == false ) {
574618 return ;
575- break ;
619+ }
620+ // histos.fill(HIST("eventcount"), bindingOnVtx.getBin({collision1.posZ()}));
621+ histos.fill (HIST (" eventcount" ), bindingOnVtx.getBin ({collision1.posZ (), collision1.gapSide ()}));
622+ fillCorrelationsUD (mixedGapSideA, tracks1, tracks2, multiplicity, collision1.posZ ());
623+ // LOGF(debug, "Filling mixedGapSideA events, Gap for side A");
624+ }
625+
626+ if (collision1.gapSide () == 1 && collision2.gapSide () == 1 ) { // gap on side C
627+ if (isCollisionCutSG (collision1, 1 ) == false && isCollisionCutSG (collision2, 1 ) == false ) {
628+ continue ;
629+ }
630+ // LOGF(debug, "In the pairs loop, gap side C");
631+ multiplicity = tracks1.size ();
632+ if (fillCollisionUD (mixedGapSideC, multiplicity) == false ) {
633+ return ;
634+ }
635+ fillCorrelationsUD (mixedGapSideC, tracks1, tracks2, multiplicity, collision1.posZ ());
636+ // LOGF(debug, "Filling mixedGapSideC events, Gap for side C");
637+ } else {
638+ continue ;
576639 }
577640 }
578641 }
0 commit comments