@@ -410,6 +410,9 @@ class VarManager : public TObject
410410 kDCATrackVtxProd ,
411411 kU2Q2 ,
412412 kU3Q3 ,
413+ kPsi2A ,
414+ kPsi2B ,
415+ kPsi2C ,
413416 kCos2DeltaPhi ,
414417 kCos3DeltaPhi ,
415418 kNPairVariables ,
@@ -645,6 +648,8 @@ class VarManager : public TObject
645648 static void FillDileptonCharmHadron (DQ const & dilepton, HF const & charmHadron, H hfHelper, T& bdtScoreCharmHad, float * values = nullptr );
646649 template <typename C, typename A>
647650 static void FillQVectorFromGFW (C const & collision, A const & compA2, A const & compB2, A const & compC2, A const & compA3, A const & compB3, A const & compC3, float normA = 1.0 , float normB = 1.0 , float normC = 1.0 , float * values = nullptr );
651+ // static void FillEventPlaneABC(A const& EpA, A const& EpB, A const& EpC, float* values = nullptr);
652+
648653 template <int pairType, typename T1, typename T2>
649654 static void FillPairVn (T1 const & t1, T2 const & t2, float * values = nullptr );
650655
@@ -1050,6 +1055,11 @@ void VarManager::FillEvent(T const& event, float* values)
10501055 if (event.q3y0b () * event.q3y0c () != 0.0 ) {
10511056 values[kR3EP ] = TMath::Cos (3 * (getEventPlane (3 , event.q3x0b (), event.q3y0b ()) - getEventPlane (3 , event.q3x0c (), event.q3y0c ())));
10521057 }
1058+
1059+ values[kPsi2A ] = getEventPlane (2 , event.q2x0a (), event.q2y0a ());
1060+ values[kPsi2B ] = getEventPlane (2 , event.q2x0b (), event.q2y0b ());
1061+ values[kPsi2C ] = getEventPlane (2 , event.q2x0c (), event.q2y0c ());
1062+
10531063 }
10541064
10551065 if constexpr ((fillMap & CollisionMC) > 0 ) {
@@ -2393,10 +2403,12 @@ void VarManager::FillQVectorFromGFW(C const& collision, A const& compA2, A const
23932403
23942404 // TODO: provide different computations for R
23952405 // Compute the R factor using the 2 sub-events technique for second and third harmonic
2406+ // Compute event planes
23962407 auto Psi2B = getEventPlane (2 , values[kQ2X0B ], values[kQ2Y0B ]);
23972408 auto Psi3B = getEventPlane (3 , values[kQ3X0B ], values[kQ3Y0B ]);
23982409 auto Psi2C = getEventPlane (2 , values[kQ2X0C ], values[kQ2Y0C ]);
23992410 auto Psi3C = getEventPlane (3 , values[kQ3X0C ], values[kQ3Y0C ]);
2411+
24002412 values[kR2SP ] = (values[kQ2X0B ] * values[kQ2X0C ] + values[kQ2Y0B ] * values[kQ2Y0C ]);
24012413 values[kR3SP ] = (values[kQ3X0B ] * values[kQ3X0C ] + values[kQ3Y0B ] * values[kQ3Y0C ]);
24022414 if (values[kQ2Y0B ] * values[kQ2Y0C ] != 0.0 ) {
@@ -2405,6 +2417,10 @@ void VarManager::FillQVectorFromGFW(C const& collision, A const& compA2, A const
24052417 if (values[kQ3Y0B ] * values[kQ3Y0C ] != 0.0 ) {
24062418 values[kR3EP ] = TMath::Cos (3 * (Psi3B - Psi3C));
24072419 }
2420+
2421+ values[kPsi2A ] = getEventPlane (2 , values[kQ2X0A ], values[kQ2Y0A ]);
2422+ values[kPsi2B ] = getEventPlane (2 , values[kQ2X0B ], values[kQ2Y0B ]);
2423+ values[kPsi2C ] = getEventPlane (2 , values[kQ2X0C ], values[kQ2Y0C ]);
24082424}
24092425
24102426template <int pairType, typename T1, typename T2>
@@ -2443,11 +2459,15 @@ void VarManager::FillPairVn(T1 const& t1, T2 const& t2, float* values)
24432459 values[kU3Q3 ] = values[kQ3X0A ] * std::cos (3 * v12.Phi ()) + values[kQ3Y0A ] * std::sin (3 * v12.Phi ());
24442460 values[kCos2DeltaPhi ] = std::cos (2 * (v12.Phi () - getEventPlane (2 , values[kQ2X0A ], values[kQ2Y0A ])));
24452461 values[kCos3DeltaPhi ] = std::cos (3 * (v12.Phi () - getEventPlane (3 , values[kQ3X0A ], values[kQ3Y0A ])));
2462+
24462463 if (isnan (VarManager::fgValues[VarManager::kU2Q2 ]) == true ) {
24472464 values[kU2Q2 ] = -999 .;
24482465 values[kU3Q3 ] = -999 .;
24492466 values[kCos2DeltaPhi ] = -999 .;
24502467 values[kCos3DeltaPhi ] = -999 .;
2468+ values[kPsi2A ] = -999 .;
2469+ values[kPsi2B ] = -999 .;
2470+ values[kPsi2C ] = -999 .;
24512471 }
24522472}
24532473
0 commit comments