@@ -154,6 +154,8 @@ struct JEPFlowAnalysis {
154154
155155 Configurable<bool > cfgSelEvtTwoHP{" cfgSelEvtTwoHP" , false , " event selection with two high pT" };
156156 Configurable<float > cfgHighPtSel{" cfgHighPtSel" , 5.0 , " pT threshold with cfgSelEvtTwoHP" };
157+ Configurable<float > cfgTwoLPAngle{" cfgTwoLPAngle" , 0.5 , " azimuthal difference between two LP" };
158+ Configurable<float > cfgEtaBalancing{" cfgEtaBalancing" , 0.5 , " pseudorapidity difference between two LP" };
157159
158160 Configurable<std::string> cfgDetName{" cfgDetName" , " FT0C" , " The name of detector to be analyzed" };
159161 Configurable<std::string> cfgRefAName{" cfgRefAName" , " TPCPos" , " The name of detector for reference A" };
@@ -193,8 +195,14 @@ struct JEPFlowAnalysis {
193195
194196 float activity = -1 .;
195197 float qOvecM = -1 .;
196- float highestPt = -1 .;
197- float hPtPhi = -999 .;
198+
199+ float leadingPt = -1 .;
200+ float leadingPhi = -999 .;
201+ float leadingEta = -999 .;
202+
203+ float subleadingPt = -1 .;
204+ float subleadingPhi = -999 .;
205+ float subleadingEta = -999 .;
198206
199207 std::vector<TProfile3D*> shiftprofile{};
200208 std::string fullCCDBShiftCorrPath;
@@ -424,11 +432,33 @@ struct JEPFlowAnalysis {
424432 }
425433
426434 if (cfgSelEvtTwoHP && i == 0 ) {
435+ leadingPt = 0.0 ;
436+ leadingPhi = 0.0 ;
437+ leadingEta = 0.0 ;
438+
439+ subleadingPt = 0.0 ;
440+ subleadingPhi = 0.0 ;
441+ subleadingEta = 0.0 ;
442+
427443 nHighPt = 0 ;
428444 for (const auto & track : tracks) {
429445 if (cfgTrkSelFlag && trackSel (track))
430446 continue ;
431447
448+ if (leadingPt < track.pt ()) {
449+ subleadingPt = leadingPt;
450+ subleadingPhi = leadingPhi;
451+ subleadingEta = leadingEta;
452+
453+ leadingPt = track.pt ();
454+ leadingPhi = track.phi ();
455+ leadingEta = track.eta ();
456+ } else if (track.pt () > subleadingPt) {
457+ subleadingPt = track.pt ();
458+ subleadingPhi = track.phi ();
459+ subleadingEta = track.eta ();
460+ }
461+
432462 if (track.pt () > cfgHighPtSel)
433463 nHighPt++;
434464 }
@@ -437,6 +467,12 @@ struct JEPFlowAnalysis {
437467 if (cfgSelEvtTwoHP && nHighPt < minnHighPt)
438468 continue ;
439469
470+ if (std::abs (RecoDecay::constrainAngle (leadingPhi - subleadingPhi, 0 ) - constants::math::PI ) > cfgTwoLPAngle)
471+ continue ;
472+
473+ if (std::abs (leadingEta + subleadingEta) > cfgEtaBalancing)
474+ continue ;
475+
440476 epFlowHistograms.fill (HIST (" EpDet" ), i + 2 , cent, eps[0 ]);
441477 epFlowHistograms.fill (HIST (" EpRefA" ), i + 2 , cent, eps[1 ]);
442478 epFlowHistograms.fill (HIST (" EpRefB" ), i + 2 , cent, eps[2 ]);
@@ -486,17 +522,13 @@ struct JEPFlowAnalysis {
486522 continue ;
487523 }
488524
489- highestPt = 0.0 ;
490- hPtPhi = 0.0 ;
525+ leadingPt = 0.0 ;
526+ leadingPhi = 0.0 ;
527+ leadingEta = 0.0 ;
491528 for (const auto & track : tracks) {
492529 if (cfgTrkSelFlag && trackSel (track))
493530 continue ;
494531
495- if (highestPt < track.pt ()) {
496- highestPt = track.pt ();
497- hPtPhi = track.phi ();
498- }
499-
500532 if (cfgEffCor) {
501533 weight = getEfficiencyCorrection (effMap, track.eta (), track.pt (), cent, coll.posZ ());
502534 }
@@ -525,14 +557,14 @@ struct JEPFlowAnalysis {
525557 }
526558 }
527559 if (i == 0 ) { // second harmonic only
528- epFlowHistograms.fill (HIST (" hQoverM" ), cent, highestPt , qOvecM);
529- epFlowHistograms.fill (HIST (" hActivity" ), cent, highestPt , activity);
560+ epFlowHistograms.fill (HIST (" hQoverM" ), cent, leadingPt , qOvecM);
561+ epFlowHistograms.fill (HIST (" hActivity" ), cent, leadingPt , activity);
530562
531563 epFlowHistograms.fill (HIST (" hQoverM2M" ), cent, coll.qvecAmp ()[detId], qOvecM);
532564 epFlowHistograms.fill (HIST (" hQoverM2Q2" ), cent, q2Mag, qOvecM);
533565
534- epFlowHistograms.fill (HIST (" hQoverMdphi" ), cent, RecoDecay::constrainAngle (hPtPhi - eps[0 ], -constants::math::PI ), qOvecM);
535- epFlowHistograms.fill (HIST (" hActivitydphi" ), cent, RecoDecay::constrainAngle (hPtPhi - eps[0 ], -constants::math::PI ), highestPt , activity);
566+ epFlowHistograms.fill (HIST (" hQoverMdphi" ), cent, RecoDecay::constrainAngle (leadingPhi - eps[0 ], -constants::math::PI ), qOvecM);
567+ epFlowHistograms.fill (HIST (" hActivitydphi" ), cent, RecoDecay::constrainAngle (leadingPhi - eps[0 ], -constants::math::PI ), leadingPt , activity);
536568 }
537569 }
538570 }
0 commit comments