@@ -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 ,
@@ -1372,7 +1375,7 @@ class VarManager : public TObject
13721375 template <typename T1, typename T2, typename T3>
13731376 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 );
13741377 template <int pairType, typename T1, typename T2, typename T3, typename T4, typename T5>
1375- static void FillEnergyCorrelatorsUnfoldingTriple (T1 const & lepton1, T2 const & lepton2, T3 const & hadron, T4 const & track, T5 const & t1, float * values = nullptr );
1378+ static void FillEnergyCorrelatorsUnfoldingTriple (T1 const & lepton1, T2 const & lepton2, T3 const & hadron, T4 const & track, T5 const & t1, float * values = nullptr , bool applyFitMass = false );
13761379 template <typename T1, typename T2>
13771380 static void FillDileptonPhoton (T1 const & dilepton, T2 const & photon, float * values = nullptr );
13781381 template <typename T>
@@ -5484,6 +5487,15 @@ void VarManager::FillQVectorFromCentralFW(C const& collision, float* values)
54845487 values[kR2EP_FT0MTPCNEG ] = TMath::Cos (2 * getDeltaPsiInRange (epFT0m, epBNegs, 2 ));
54855488 values[kR2EP_FV0ATPCPOS ] = TMath::Cos (2 * getDeltaPsiInRange (epFV0a, epBPoss, 2 ));
54865489 values[kR2EP_FV0ATPCNEG ] = TMath::Cos (2 * getDeltaPsiInRange (epFV0a, epBNegs, 2 ));
5490+
5491+ float S21C = values[kS11C ] * values[kS11C ];
5492+ // complex<double> Q21C(values[kQ2X0C] * values[kS11C], values[kQ2Y0C] * values[kS11C]);
5493+
5494+ // Fill necessary quantities for cumulant calculations with weighted Q-vectors
5495+ values[kM11REF ] = S21C - values[kS12C ];
5496+ // values[kCORR2REF] = (norm(Q21C) - values[kS12C]) / values[kM11REF];
5497+ // values[kCORR2REF] = std::isnan(values[kM11REF]) || std::isinf(values[kM11REF]) || std::isnan(values[kCORR2REF]) || std::isinf(values[kCORR2REF]) ? 0 : values[kCORR2REF];
5498+ values[kM11REF ] = std::isnan (values[kM11REF ]) || std::isinf (values[kM11REF ]) || std::isnan (values[kCORR2REF ]) || std::isinf (values[kCORR2REF ]) ? 0 : values[kM11REF ];
54875499}
54885500
54895501template <typename C>
@@ -5900,7 +5912,7 @@ void VarManager::FillEnergyCorrelatorTriple(T1 const& lepton1, T2 const& lepton2
59005912}
59015913
59025914template <int pairType, typename T1, typename T2, typename T3, typename T4, typename T5>
5903- void VarManager::FillEnergyCorrelatorsUnfoldingTriple (T1 const & lepton1, T2 const & lepton2, T3 const & hadron, T4 const & track, T5 const & t1, float * values)
5915+ void VarManager::FillEnergyCorrelatorsUnfoldingTriple (T1 const & lepton1, T2 const & lepton2, T3 const & hadron, T4 const & track, T5 const & t1, float * values, bool applyFitMass )
59045916{
59055917 if (fgUsedVars[kMCCosChi_gen ] || fgUsedVars[kMCWeight_gen ] || fgUsedVars[kMCdeltaeta_gen ] || fgUsedVars[kMCCosChi_rec ] || fgUsedVars[kMCWeight_rec ] || fgUsedVars[kMCdeltaeta_rec ]) {
59065918 // energy correlators
@@ -5912,6 +5924,11 @@ void VarManager::FillEnergyCorrelatorsUnfoldingTriple(T1 const& lepton1, T2 cons
59125924 ROOT::Math::PtEtaPhiMVector v_lepton2 (lepton2.pt (), lepton2.eta (), lepton2.phi (), m2);
59135925 ROOT::Math::PtEtaPhiMVector dilepton = v_lepton1 + v_lepton2;
59145926
5927+ float dileptonmass = o2::constants::physics::MassJPsi;
5928+ if (applyFitMass) {
5929+ dileptonmass = dilepton.mass ();
5930+ }
5931+
59155932 float MassHadron;
59165933 if constexpr (pairType == kJpsiHadronMass ) {
59175934 MassHadron = TMath::Sqrt (t1.e () * t1.e () - t1.p () * t1.p ());
@@ -5927,7 +5944,7 @@ void VarManager::FillEnergyCorrelatorsUnfoldingTriple(T1 const& lepton1, T2 cons
59275944 values[kMCWeight_gen ] = E_boost_gen / o2::constants::physics::MassJPsi;
59285945 values[kMCdeltaeta_gen ] = track.eta () - t1.eta ();
59295946
5930- ROOT::Math::PtEtaPhiMVector v1_rec (dilepton.pt (), dilepton.eta (), dilepton.phi (), dilepton. mass () );
5947+ ROOT::Math::PtEtaPhiMVector v1_rec (dilepton.pt (), dilepton.eta (), dilepton.phi (), dileptonmass );
59315948 ROOT::Math::PtEtaPhiMVector v2_rec (hadron.pt (), hadron.eta (), hadron.phi (), o2::constants::physics::MassPionCharged);
59325949 values[kMCCosChi_rec ] = LorentzTransformJpsihadroncosChi (" coschi" , v1_rec, v2_rec);
59335950 float E_boost_rec = LorentzTransformJpsihadroncosChi (" weight_boost" , v1_rec, v2_rec);
0 commit comments