@@ -411,6 +411,9 @@ class VarManager : public TObject
411411 kDCATrackVtxProd ,
412412 kU2Q2 ,
413413 kU3Q3 ,
414+ kPsi2A ,
415+ kPsi2B ,
416+ kPsi2C ,
414417 kCos2DeltaPhi ,
415418 kCos3DeltaPhi ,
416419 kNPairVariables ,
@@ -646,6 +649,8 @@ class VarManager : public TObject
646649 static void FillDileptonCharmHadron (DQ const & dilepton, HF const & charmHadron, H hfHelper, T& bdtScoreCharmHad, float * values = nullptr );
647650 template <typename C, typename A>
648651 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 );
652+ // static void FillEventPlaneABC(A const& EpA, A const& EpB, A const& EpC, float* values = nullptr);
653+
649654 template <int pairType, typename T1, typename T2>
650655 static void FillPairVn (T1 const & t1, T2 const & t2, float * values = nullptr );
651656
@@ -1051,6 +1056,11 @@ void VarManager::FillEvent(T const& event, float* values)
10511056 if (event.q3y0b () * event.q3y0c () != 0.0 ) {
10521057 values[kR3EP ] = TMath::Cos (3 * (getEventPlane (3 , event.q3x0b (), event.q3y0b ()) - getEventPlane (3 , event.q3x0c (), event.q3y0c ())));
10531058 }
1059+
1060+ values[kPsi2A ] = getEventPlane (2 , event.q2x0a (), event.q2y0a ());
1061+ values[kPsi2B ] = getEventPlane (2 , event.q2x0b (), event.q2y0b ());
1062+ values[kPsi2C ] = getEventPlane (2 , event.q2x0c (), event.q2y0c ());
1063+
10541064 }
10551065
10561066 if constexpr ((fillMap & CollisionMC) > 0 ) {
@@ -2414,10 +2424,12 @@ void VarManager::FillQVectorFromGFW(C const& collision, A const& compA2, A const
24142424
24152425 // TODO: provide different computations for R
24162426 // Compute the R factor using the 2 sub-events technique for second and third harmonic
2427+ // Compute event planes
24172428 auto Psi2B = getEventPlane (2 , values[kQ2X0B ], values[kQ2Y0B ]);
24182429 auto Psi3B = getEventPlane (3 , values[kQ3X0B ], values[kQ3Y0B ]);
24192430 auto Psi2C = getEventPlane (2 , values[kQ2X0C ], values[kQ2Y0C ]);
24202431 auto Psi3C = getEventPlane (3 , values[kQ3X0C ], values[kQ3Y0C ]);
2432+
24212433 values[kR2SP ] = (values[kQ2X0B ] * values[kQ2X0C ] + values[kQ2Y0B ] * values[kQ2Y0C ]);
24222434 values[kR3SP ] = (values[kQ3X0B ] * values[kQ3X0C ] + values[kQ3Y0B ] * values[kQ3Y0C ]);
24232435 if (values[kQ2Y0B ] * values[kQ2Y0C ] != 0.0 ) {
@@ -2426,6 +2438,10 @@ void VarManager::FillQVectorFromGFW(C const& collision, A const& compA2, A const
24262438 if (values[kQ3Y0B ] * values[kQ3Y0C ] != 0.0 ) {
24272439 values[kR3EP ] = TMath::Cos (3 * (Psi3B - Psi3C));
24282440 }
2441+
2442+ values[kPsi2A ] = getEventPlane (2 , values[kQ2X0A ], values[kQ2Y0A ]);
2443+ values[kPsi2B ] = getEventPlane (2 , values[kQ2X0B ], values[kQ2Y0B ]);
2444+ values[kPsi2C ] = getEventPlane (2 , values[kQ2X0C ], values[kQ2Y0C ]);
24292445}
24302446
24312447template <int pairType, typename T1, typename T2>
@@ -2464,11 +2480,15 @@ void VarManager::FillPairVn(T1 const& t1, T2 const& t2, float* values)
24642480 values[kU3Q3 ] = values[kQ3X0A ] * std::cos (3 * v12.Phi ()) + values[kQ3Y0A ] * std::sin (3 * v12.Phi ());
24652481 values[kCos2DeltaPhi ] = std::cos (2 * (v12.Phi () - getEventPlane (2 , values[kQ2X0A ], values[kQ2Y0A ])));
24662482 values[kCos3DeltaPhi ] = std::cos (3 * (v12.Phi () - getEventPlane (3 , values[kQ3X0A ], values[kQ3Y0A ])));
2483+
24672484 if (isnan (VarManager::fgValues[VarManager::kU2Q2 ]) == true ) {
24682485 values[kU2Q2 ] = -999 .;
24692486 values[kU3Q3 ] = -999 .;
24702487 values[kCos2DeltaPhi ] = -999 .;
24712488 values[kCos3DeltaPhi ] = -999 .;
2489+ values[kPsi2A ] = -999 .;
2490+ values[kPsi2B ] = -999 .;
2491+ values[kPsi2C ] = -999 .;
24722492 }
24732493}
24742494
0 commit comments