@@ -486,10 +486,11 @@ class VarManager : public TObject
486486 kV2ME_EP ,
487487 kWV2ME_SP ,
488488 kWV2ME_EP ,
489- kTwoR2SP1 , // Scalar product resolution of event1 for ME technique
490- kTwoR2SP2 , // Scalar product resolution of event2 for ME technique
491- kTwoR2EP1 , // Event plane resolution of event2 for ME technique
492- kTwoR2EP2 , // Event plane resolution of event2 for ME technique
489+ kTwoR2SP1 , // Scalar product resolution of event1 for ME technique
490+ kTwoR2SP2 , // Scalar product resolution of event2 for ME technique
491+ kTwoR2EP1 , // Event plane resolution of event2 for ME technique
492+ kTwoR2EP2 , // Event plane resolution of event2 for ME technique
493+ kNPairsPerEvent , // number of pairs per event in same-event or mixed-event pairing
493494
494495 // Variables for event mixing with cumulant
495496 kV22m ,
@@ -805,6 +806,8 @@ class VarManager : public TObject
805806 kS12A ,
806807 kS13A ,
807808 kS31A ,
809+ kS11C ,
810+ kS12C ,
808811 kM11REF ,
809812 kM11REFetagap ,
810813 kM01POI ,
@@ -1370,7 +1373,7 @@ class VarManager : public TObject
13701373 template <typename T1, typename T2, typename T3>
13711374 static void FillEnergyCorrelatorTriple (T1 const & lepton1, T2 const & lepton2, T3 const & hadron, float * values = nullptr , float Translow = 1 . / 3 , float Transhigh = 2 . / 3 , bool applyFitMass = false , float sidebandMass = 0 .0f );
13721375 template <int pairType, typename T1, typename T2, typename T3, typename T4, typename T5>
1373- static void FillEnergyCorrelatorsUnfoldingTriple (T1 const & lepton1, T2 const & lepton2, T3 const & hadron, T4 const & track, T5 const & t1, float * values = nullptr );
1376+ static void FillEnergyCorrelatorsUnfoldingTriple (T1 const & lepton1, T2 const & lepton2, T3 const & hadron, T4 const & track, T5 const & t1, float * values = nullptr , bool applyFitMass = false );
13741377 template <typename T1, typename T2>
13751378 static void FillDileptonPhoton (T1 const & dilepton, T2 const & photon, float * values = nullptr );
13761379 template <typename T>
@@ -5451,6 +5454,15 @@ void VarManager::FillQVectorFromCentralFW(C const& collision, float* values)
54515454 values[kR2EP_FT0MTPCNEG ] = TMath::Cos (2 * getDeltaPsiInRange (epFT0m, epBNegs, 2 ));
54525455 values[kR2EP_FV0ATPCPOS ] = TMath::Cos (2 * getDeltaPsiInRange (epFV0a, epBPoss, 2 ));
54535456 values[kR2EP_FV0ATPCNEG ] = TMath::Cos (2 * getDeltaPsiInRange (epFV0a, epBNegs, 2 ));
5457+
5458+ float S21C = values[kS11C ] * values[kS11C ];
5459+ // complex<double> Q21C(values[kQ2X0C] * values[kS11C], values[kQ2Y0C] * values[kS11C]);
5460+
5461+ // Fill necessary quantities for cumulant calculations with weighted Q-vectors
5462+ values[kM11REF ] = S21C - values[kS12C ];
5463+ // values[kCORR2REF] = (norm(Q21C) - values[kS12C]) / values[kM11REF];
5464+ // values[kCORR2REF] = std::isnan(values[kM11REF]) || std::isinf(values[kM11REF]) || std::isnan(values[kCORR2REF]) || std::isinf(values[kCORR2REF]) ? 0 : values[kCORR2REF];
5465+ values[kM11REF ] = std::isnan (values[kM11REF ]) || std::isinf (values[kM11REF ]) || std::isnan (values[kCORR2REF ]) || std::isinf (values[kCORR2REF ]) ? 0 : values[kM11REF ];
54545466}
54555467
54565468template <typename C>
@@ -5867,7 +5879,7 @@ void VarManager::FillEnergyCorrelatorTriple(T1 const& lepton1, T2 const& lepton2
58675879}
58685880
58695881template <int pairType, typename T1, typename T2, typename T3, typename T4, typename T5>
5870- void VarManager::FillEnergyCorrelatorsUnfoldingTriple (T1 const & lepton1, T2 const & lepton2, T3 const & hadron, T4 const & track, T5 const & t1, float * values)
5882+ void VarManager::FillEnergyCorrelatorsUnfoldingTriple (T1 const & lepton1, T2 const & lepton2, T3 const & hadron, T4 const & track, T5 const & t1, float * values, bool applyFitMass )
58715883{
58725884 if (fgUsedVars[kMCCosChi_gen ] || fgUsedVars[kMCWeight_gen ] || fgUsedVars[kMCdeltaeta_gen ] || fgUsedVars[kMCCosChi_rec ] || fgUsedVars[kMCWeight_rec ] || fgUsedVars[kMCdeltaeta_rec ]) {
58735885 // energy correlators
@@ -5879,6 +5891,11 @@ void VarManager::FillEnergyCorrelatorsUnfoldingTriple(T1 const& lepton1, T2 cons
58795891 ROOT::Math::PtEtaPhiMVector v_lepton2 (lepton2.pt (), lepton2.eta (), lepton2.phi (), m2);
58805892 ROOT::Math::PtEtaPhiMVector dilepton = v_lepton1 + v_lepton2;
58815893
5894+ float dileptonmass = o2::constants::physics::MassJPsi;
5895+ if (applyFitMass) {
5896+ dileptonmass = dilepton.mass ();
5897+ }
5898+
58825899 float MassHadron;
58835900 if constexpr (pairType == kJpsiHadronMass ) {
58845901 MassHadron = TMath::Sqrt (t1.e () * t1.e () - t1.p () * t1.p ());
@@ -5894,7 +5911,7 @@ void VarManager::FillEnergyCorrelatorsUnfoldingTriple(T1 const& lepton1, T2 cons
58945911 values[kMCWeight_gen ] = E_boost_gen / o2::constants::physics::MassJPsi;
58955912 values[kMCdeltaeta_gen ] = track.eta () - t1.eta ();
58965913
5897- ROOT::Math::PtEtaPhiMVector v1_rec (dilepton.pt (), dilepton.eta (), dilepton.phi (), dilepton. mass () );
5914+ ROOT::Math::PtEtaPhiMVector v1_rec (dilepton.pt (), dilepton.eta (), dilepton.phi (), dileptonmass );
58985915 ROOT::Math::PtEtaPhiMVector v2_rec (hadron.pt (), hadron.eta (), hadron.phi (), o2::constants::physics::MassPionCharged);
58995916 values[kMCCosChi_rec ] = LorentzTransformJpsihadroncosChi (" coschi" , v1_rec, v2_rec);
59005917 float E_boost_rec = LorentzTransformJpsihadroncosChi (" weight_boost" , v1_rec, v2_rec);
0 commit comments