@@ -1523,8 +1523,8 @@ class VarManager : public TObject
15231523 static void FillDileptonTrackVertexing (C const & collision, T1 const & lepton1, T1 const & lepton2, T1 const & track, float * values);
15241524 template <typename T1 , typename T2 >
15251525 static void FillDileptonHadron (T1 const & dilepton, T2 const & hadron, float * values = nullptr , float hadronMass = 0 .0f );
1526- template <typename T1 , typename T2 , typename T3 >
1527- 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 );
1526+ template <int pairType, uint32_t collFillMap, uint32_t fillMap, typename C, typename T1 , typename T2 , typename T3 >
1527+ static void FillEnergyCorrelatorTriple (C const & collision, 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 );
15281528 template <int pairType, typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
15291529 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 );
15301530 template <typename T1 , typename T2 >
@@ -6459,9 +6459,15 @@ void VarManager::FillDileptonHadron(T1 const& dilepton, T2 const& hadron, float*
64596459 }
64606460}
64616461
6462- template <typename T1 , typename T2 , typename T3 >
6463- void VarManager::FillEnergyCorrelatorTriple (T1 const & lepton1, T2 const & lepton2, T3 const & hadron, float * values, float Translow, float Transhigh, bool applyFitMass, float sidebandMass, float weight)
6462+ template <int pairType, uint32_t collFillMap, uint32_t fillMap, typename C, typename T1 , typename T2 , typename T3 >
6463+ void VarManager::FillEnergyCorrelatorTriple (C const & collision, T1 const & lepton1, T2 const & lepton2, T3 const & hadron, float * values, float Translow, float Transhigh, bool applyFitMass, float sidebandMass, float weight)
64646464{
6465+ if (!values) {
6466+ values = fgValues;
6467+ }
6468+ if (fgUsedVars[kVertexingTauxyProjectedPoleJPsiMass ] || fgUsedVars[kVertexingLxyProjected ]) {
6469+ FillPairVertexing<pairType, collFillMap, fillMap>(collision, lepton1, lepton2, false , values);
6470+ }
64656471 float m1 = o2::constants::physics::MassElectron;
64666472 float m2 = o2::constants::physics::MassElectron;
64676473
@@ -6477,7 +6483,8 @@ void VarManager::FillEnergyCorrelatorTriple(T1 const& lepton1, T2 const& lepton2
64776483 dileptonmass = sidebandMass;
64786484 }
64796485
6480- if (fgUsedVars[kCosChi ] || fgUsedVars[kECWeight ] || fgUsedVars[kCosTheta ] || fgUsedVars[kEWeight_before ] || fgUsedVars[kPtDau ] || fgUsedVars[kEtaDau ] || fgUsedVars[kPhiDau ] || fgUsedVars[kCosChi_randomPhi_trans ] || fgUsedVars[kCosChi_randomPhi_toward ] || fgUsedVars[kCosChi_randomPhi_away ]) {
6486+ if (fgUsedVars[kPairMassDau ] || fgUsedVars[kCosChi ] || fgUsedVars[kECWeight ] || fgUsedVars[kCosTheta ] || fgUsedVars[kEWeight_before ] || fgUsedVars[kPtDau ] || fgUsedVars[kEtaDau ] || fgUsedVars[kPhiDau ] || fgUsedVars[kCosChi_randomPhi_trans ] || fgUsedVars[kCosChi_randomPhi_toward ] || fgUsedVars[kCosChi_randomPhi_away ]) {
6487+ values[kPairMassDau ] = dilepton.mass ();
64816488 values[kdileptonmass] = dileptonmass;
64826489 ROOT ::Math::PtEtaPhiMVector v1 (dilepton.pt (), dilepton.eta (), dilepton.phi (), dileptonmass);
64836490 ROOT ::Math::PtEtaPhiMVector v2 (hadron.pt (), hadron.eta (), hadron.phi (), o2::constants::physics::MassPionCharged);
0 commit comments