@@ -699,6 +699,10 @@ class VarManager : public TObject
699699 kMCCosChi_rec ,
700700 kMCWeight_rec ,
701701 kMCdeltaeta_rec ,
702+ kMCCosChi_randomPhi_trans_rec ,
703+ kMCWeight_randomPhi_trans_rec ,
704+ kMCCosChi_randomPhi_trans_gen ,
705+ kMCWeight_randomPhi_trans_gen ,
702706
703707 // MC mother particle variables
704708 kMCMotherPdgCode ,
@@ -1380,7 +1384,7 @@ class VarManager : public TObject
13801384 template <typename T1, typename T2, typename T3>
13811385 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 , float weight = 1 .0f );
13821386 template <int pairType, typename T1, typename T2, typename T3, typename T4, typename T5>
1383- static void FillEnergyCorrelatorsUnfoldingTriple (T1 const & lepton1, T2 const & lepton2, T3 const & hadron, T4 const & track, T5 const & t1, float * values = nullptr , bool applyFitMass = false , float Effweight_rec = 1 .f, float Accweight_gen = 1 .f);
1387+ static void FillEnergyCorrelatorsUnfoldingTriple (T1 const & lepton1, T2 const & lepton2, T3 const & hadron, T4 const & track, T5 const & t1, float * values = nullptr , bool applyFitMass = false , float Effweight_rec = 1 .f, float Accweight_gen = 1 .f, float Translow = 1 . / 3 , float Transhigh = 2 . / 3 );
13841388 template <typename T1, typename T2>
13851389 static void FillDileptonPhoton (T1 const & dilepton, T2 const & photon, float * values = nullptr );
13861390 template <typename T>
@@ -3373,7 +3377,7 @@ void VarManager::FillEnergyCorrelatorsMC(T const& track, T1 const& t1, float* va
33733377 values[kMCHadronEta ] = t1.eta ();
33743378 values[kMCHadronPhi ] = RecoDecay::constrainAngle (t1.phi (), -o2::constants::math::PIHalf);
33753379 values[kMCHadronPdgCode ] = t1.pdgCode ();
3376- values[kMCWeight ] = E_boost / o2::constants::physics::MassJPsi;
3380+ values[kMCWeight ] = E_boost / o2::constants::physics::MassJPsi * Accweight ;
33773381
33783382 values[kMCCosChi_randomPhi_trans ] = -999 .9f ;
33793383 values[kMCCosChi_randomPhi_toward ] = -999 .9f ;
@@ -5917,7 +5921,7 @@ void VarManager::FillEnergyCorrelatorTriple(T1 const& lepton1, T2 const& lepton2
59175921}
59185922
59195923template <int pairType, typename T1, typename T2, typename T3, typename T4, typename T5>
5920- void VarManager::FillEnergyCorrelatorsUnfoldingTriple (T1 const & lepton1, T2 const & lepton2, T3 const & hadron, T4 const & track, T5 const & t1, float * values, bool applyFitMass, float Effweight_rec, float Accweight_gen)
5924+ void VarManager::FillEnergyCorrelatorsUnfoldingTriple (T1 const & lepton1, T2 const & lepton2, T3 const & hadron, T4 const & track, T5 const & t1, float * values, bool applyFitMass, float Effweight_rec, float Accweight_gen, float Translow, float Transhigh )
59215925{
59225926 if (fgUsedVars[kMCCosChi_gen ] || fgUsedVars[kMCWeight_gen ] || fgUsedVars[kMCdeltaeta_gen ] || fgUsedVars[kMCCosChi_rec ] || fgUsedVars[kMCWeight_rec ] || fgUsedVars[kMCdeltaeta_rec ]) {
59235927 // energy correlators
@@ -5955,6 +5959,21 @@ void VarManager::FillEnergyCorrelatorsUnfoldingTriple(T1 const& lepton1, T2 cons
59555959 float E_boost_rec = LorentzTransformJpsihadroncosChi (" weight_boost" , v1_rec, v2_rec);
59565960 values[kMCWeight_rec ] = E_boost_rec / v1_rec.M () * Effweight_rec;
59575961 values[kMCdeltaeta_rec ] = dilepton.eta () - hadron.eta ();
5962+
5963+ values[kMCCosChi_randomPhi_trans_rec ] = -999 .9f ;
5964+ values[kMCCosChi_randomPhi_trans_gen ] = -999 .9f ;
5965+ float deltaphi_rec = RecoDecay::constrainAngle (dilepton.phi () - hadron.phi (), -o2::constants::math::PIHalf);
5966+
5967+ if ((deltaphi_rec > -Transhigh * TMath::Pi () && deltaphi_rec < -Translow * TMath::Pi ()) || (deltaphi_rec > Translow * TMath::Pi () && deltaphi_rec < Transhigh * TMath::Pi ())) {
5968+ float randomPhi_trans_rec = gRandom ->Uniform (-o2::constants::math::PIHalf, 3 . * o2::constants::math::PIHalf);
5969+ ROOT::Math::PtEtaPhiMVector v2_randomPhi_trans_rec (v2_rec.pt (), v2_rec.eta (), randomPhi_trans_rec, o2::constants::physics::MassPionCharged);
5970+ values[kMCCosChi_randomPhi_trans_rec ] = LorentzTransformJpsihadroncosChi (" coschi" , v1_rec, v2_randomPhi_trans_rec);
5971+ values[kMCWeight_randomPhi_trans_rec ] = LorentzTransformJpsihadroncosChi (" weight_boost" , v1_rec, v2_randomPhi_trans_rec) / v1_rec.M () * Effweight_rec;
5972+ float randomPhi_trans_gen = gRandom ->Uniform (-o2::constants::math::PIHalf, 3 . * o2::constants::math::PIHalf);
5973+ ROOT::Math::PtEtaPhiMVector v2_randomPhi_trans_gen (v2_gen.pt (), v2_gen.eta (), randomPhi_trans_gen, MassHadron);
5974+ values[kMCCosChi_randomPhi_trans_gen ] = LorentzTransformJpsihadroncosChi (" coschi" , v1_gen, v2_randomPhi_trans_gen);
5975+ values[kMCWeight_randomPhi_trans_gen ] = LorentzTransformJpsihadroncosChi (" weight_boost" , v1_gen, v2_randomPhi_trans_gen) / v1_gen.M () * Accweight_gen;
5976+ }
59585977 }
59595978}
59605979
0 commit comments