@@ -661,6 +661,10 @@ class VarManager : public TObject
661661 kMCCosChi_rec ,
662662 kMCWeight_rec ,
663663 kMCdeltaeta_rec ,
664+ kMCCosChi_randomPhi_trans_rec ,
665+ kMCWeight_randomPhi_trans_rec ,
666+ kMCCosChi_randomPhi_trans_gen ,
667+ kMCWeight_randomPhi_trans_gen ,
664668
665669 // MC mother particle variables
666670 kMCMotherPdgCode ,
@@ -2998,15 +3002,15 @@ void VarManager::FillEnergyCorrelatorsMC(T const& track, T1 const& t1, float* va
29983002 randomPhi_toward = gRandom ->Uniform (-o2::constants::math::PIHalf, 3 . * o2::constants::math::PIHalf);
29993003 randomPhi_away = gRandom ->Uniform (-o2::constants::math::PIHalf, 3 . * o2::constants::math::PIHalf);
30003004
3001- ROOT::Math::PtEtaPhiMVector v2_randomPhi_trans (v2.pt (), v2.eta (), randomPhi_trans, o2::constants::physics::MassPionCharged );
3005+ ROOT::Math::PtEtaPhiMVector v2_randomPhi_trans (v2.pt (), v2.eta (), randomPhi_trans, MassHadron );
30023006 values[kMCCosChi_randomPhi_trans ] = LorentzTransformJpsihadroncosChi (" coschi" , v1, v2_randomPhi_trans);
30033007 values[kMCWeight_randomPhi_trans ] = LorentzTransformJpsihadroncosChi (" weight_boost" , v1, v2_randomPhi_trans) / v1.M ();
30043008
3005- ROOT::Math::PtEtaPhiMVector v2_randomPhi_toward (v2.pt (), v2.eta (), randomPhi_toward, o2::constants::physics::MassPionCharged );
3009+ ROOT::Math::PtEtaPhiMVector v2_randomPhi_toward (v2.pt (), v2.eta (), randomPhi_toward, MassHadron );
30063010 values[kMCCosChi_randomPhi_toward ] = LorentzTransformJpsihadroncosChi (" coschi" , v1, v2_randomPhi_toward);
30073011 values[kMCWeight_randomPhi_toward ] = LorentzTransformJpsihadroncosChi (" weight_boost" , v1, v2_randomPhi_toward) / v1.M ();
30083012
3009- ROOT::Math::PtEtaPhiMVector v2_randomPhi_away (v2.pt (), v2.eta (), randomPhi_away, o2::constants::physics::MassPionCharged );
3013+ ROOT::Math::PtEtaPhiMVector v2_randomPhi_away (v2.pt (), v2.eta (), randomPhi_away, MassHadron );
30103014 values[kMCCosChi_randomPhi_away ] = LorentzTransformJpsihadroncosChi (" coschi" , v1, v2_randomPhi_away);
30113015 values[kMCWeight_randomPhi_away ] = LorentzTransformJpsihadroncosChi (" weight_boost" , v1, v2_randomPhi_away) / v1.M ();
30123016
@@ -3019,7 +3023,7 @@ void VarManager::FillEnergyCorrelatorsMC(T const& track, T1 const& t1, float* va
30193023template <int pairType, typename T1, typename T2, typename T, typename T3>
30203024void VarManager::FillEnergyCorrelatorsMCUnfolding (T1 const & dilepton, T2 const & hadron, T const & track, T3 const & t1, float * values)
30213025{
3022- if (fgUsedVars[kMCCosChi_gen ] || fgUsedVars[kMCWeight_gen ] || fgUsedVars[kMCdeltaeta_gen ] || fgUsedVars[kMCCosChi_rec ] || fgUsedVars[kMCWeight_rec ] || fgUsedVars[kMCdeltaeta_rec ]) {
3026+ if (fgUsedVars[kMCCosChi_gen ] || fgUsedVars[kMCWeight_gen ] || fgUsedVars[kMCdeltaeta_gen ] || fgUsedVars[kMCCosChi_rec ] || fgUsedVars[kMCWeight_rec ] || fgUsedVars[kMCdeltaeta_rec ] || fgUsedVars[ kMCCosChi_randomPhi_trans_rec ] || fgUsedVars[ kMCWeight_randomPhi_trans_rec ] || fgUsedVars[ kMCCosChi_randomPhi_trans_gen ] || fgUsedVars[ kMCWeight_randomPhi_trans_gen ] ) {
30233027 // energy correlators
30243028 float MassHadron;
30253029 if constexpr (pairType == kJpsiHadronMass ) {
@@ -3042,6 +3046,31 @@ void VarManager::FillEnergyCorrelatorsMCUnfolding(T1 const& dilepton, T2 const&
30423046 float E_boost_rec = LorentzTransformJpsihadroncosChi (" weight_boost" , v1_rec, v2_rec);
30433047 values[kMCWeight_rec ] = E_boost_rec / v1_rec.M ();
30443048 values[kMCdeltaeta_rec ] = dilepton.eta () - hadron.eta ();
3049+
3050+ values[kMCCosChi_randomPhi_trans_rec ] = -999 .9f ;
3051+ values[kMCCosChi_randomPhi_trans_gen ] = -999 .9f ;
3052+
3053+ float randomPhi_trans_rec = -o2::constants::math::PIHalf;
3054+ float randomPhi_trans_gen = -o2::constants::math::PIHalf;
3055+
3056+ float deltaphi_rec = RecoDecay::constrainAngle (dilepton.phi () - hadron.phi (), -o2::constants::math::PIHalf);
3057+ float deltaphi_gen = RecoDecay::constrainAngle (track.phi () - t1.phi (), -o2::constants::math::PIHalf);
3058+
3059+ if ((deltaphi_rec > -0.5 * TMath::Pi () && deltaphi_rec < -1 . / 3 * TMath::Pi ()) || (deltaphi_rec > 4 . / 3 * TMath::Pi () && deltaphi_rec < 1.5 * TMath::Pi ()) || (deltaphi_rec > 1 . / 3 * TMath::Pi () && deltaphi_rec < 2 . / 3 * TMath::Pi ())) {
3060+ randomPhi_trans_rec = gRandom ->Uniform (-o2::constants::math::PIHalf, 3 . * o2::constants::math::PIHalf);
3061+
3062+ ROOT::Math::PtEtaPhiMVector v2_randomPhi_trans_rec (v2_rec.pt (), v2_rec.eta (), randomPhi_trans_rec, o2::constants::physics::MassPionCharged);
3063+ values[kMCCosChi_randomPhi_trans_rec ] = LorentzTransformJpsihadroncosChi (" coschi" , v1_rec, v2_randomPhi_trans_rec);
3064+ values[kMCWeight_randomPhi_trans_rec ] = LorentzTransformJpsihadroncosChi (" weight_boost" , v1_rec, v2_randomPhi_trans_rec) / v1_rec.M ();
3065+ }
3066+
3067+ if ((deltaphi_gen > -0.5 * TMath::Pi () && deltaphi_gen < -1 . / 3 * TMath::Pi ()) || (deltaphi_gen > 4 . / 3 * TMath::Pi () && deltaphi_gen < 1.5 * TMath::Pi ()) || (deltaphi_gen > 1 . / 3 * TMath::Pi () && deltaphi_gen < 2 . / 3 * TMath::Pi ())) {
3068+ randomPhi_trans_gen = gRandom ->Uniform (-o2::constants::math::PIHalf, 3 . * o2::constants::math::PIHalf);
3069+
3070+ ROOT::Math::PtEtaPhiMVector v2_randomPhi_trans_gen (v2_gen.pt (), v2_gen.eta (), randomPhi_trans_gen, MassHadron);
3071+ values[kMCCosChi_randomPhi_trans_gen ] = LorentzTransformJpsihadroncosChi (" coschi" , v1_gen, v2_randomPhi_trans_gen);
3072+ values[kMCWeight_randomPhi_trans_gen ] = LorentzTransformJpsihadroncosChi (" weight_boost" , v1_gen, v2_randomPhi_trans_gen) / v1_gen.M ();
3073+ }
30453074 }
30463075}
30473076
0 commit comments