@@ -1535,9 +1535,8 @@ class VarManager : public TObject
15351535 auto obj = fgCalibs.find (calib);
15361536 if (obj == fgCalibs.end ()) {
15371537 return 0x0 ;
1538- } else {
1539- return obj->second ;
15401538 }
1539+ return obj->second ;
15411540 }
15421541 static void SetTPCInterSectorBoundary (float boundarySize)
15431542 {
@@ -6720,56 +6719,56 @@ void VarManager::FillDileptonTrackTrackVertexing(C const& collision, T1 const& l
67206719 values[kVertexingTauxyProjected ] = -999 .;
67216720 values[kVertexingTauxyzProjected ] = -999 .;
67226721 return ;
6723- } else {
6724- Vec3D secondaryVertex;
6725- std::array<float , 6 > covMatrixPCA{};
6726- secondaryVertex = fgFitterFourProngBarrel.getPCACandidate ();
6727- covMatrixPCA = fgFitterFourProngBarrel.calcPCACovMatrixFlat ();
6728-
6729- o2::math_utils::Point3D<float > vtxXYZ (collision.posX (), collision.posY (), collision.posZ ());
6730- std::array<float , 6 > vtxCov{collision.covXX (), collision.covXY (), collision.covYY (), collision.covXZ (), collision.covYZ (), collision.covZZ ()};
6731- o2::dataformats::VertexBase primaryVertex = {vtxXYZ, vtxCov};
6732- auto covMatrixPV = primaryVertex.getCov ();
6733-
6734- double phi = std::atan2 (secondaryVertex[1 ] - collision.posY (), secondaryVertex[0 ] - collision.posX ());
6735- double theta = std::atan2 (secondaryVertex[2 ] - collision.posZ (),
6736- std::sqrt ((secondaryVertex[0 ] - collision.posX ()) * (secondaryVertex[0 ] - collision.posX ()) +
6737- (secondaryVertex[1 ] - collision.posY ()) * (secondaryVertex[1 ] - collision.posY ())));
6738-
6739- values[kVertexingLxy ] = (collision.posX () - secondaryVertex[0 ]) * (collision.posX () - secondaryVertex[0 ]) +
6740- (collision.posY () - secondaryVertex[1 ]) * (collision.posY () - secondaryVertex[1 ]);
6741- values[kVertexingLz ] = (collision.posZ () - secondaryVertex[2 ]) * (collision.posZ () - secondaryVertex[2 ]);
6742- values[kVertexingLxyz ] = values[kVertexingLxy ] + values[kVertexingLz ];
6743- values[kVertexingLxy ] = std::sqrt (values[kVertexingLxy ]);
6744- values[kVertexingLz ] = std::sqrt (values[kVertexingLz ]);
6745- values[kVertexingLxyz ] = std::sqrt (values[kVertexingLxyz ]);
6746-
6747- values[kVertexingLxyzErr ] = std::sqrt (getRotatedCovMatrixXX (covMatrixPV, phi, theta) + getRotatedCovMatrixXX (covMatrixPCA, phi, theta));
6748- values[kVertexingLxyErr ] = std::sqrt (getRotatedCovMatrixXX (covMatrixPV, phi, 0 .) + getRotatedCovMatrixXX (covMatrixPCA, phi, 0 .));
6749- values[kVertexingLzErr ] = std::sqrt (getRotatedCovMatrixXX (covMatrixPV, 0 , theta) + getRotatedCovMatrixXX (covMatrixPCA, 0 , theta));
6750-
6751- values[kVertexingTauz ] = (collision.posZ () - secondaryVertex[2 ]) * v1234.M () / (TMath::Abs (v1234.Pz ()) * o2::constants::physics::LightSpeedCm2NS);
6752- values[kVertexingTauxy ] = values[kVertexingLxy ] * v1234.M () / (v1234.Pt () * o2::constants::physics::LightSpeedCm2NS);
6753-
6754- values[kVertexingTauzErr ] = values[kVertexingLzErr ] * v1234.M () / (TMath::Abs (v1234.Pz ()) * o2::constants::physics::LightSpeedCm2NS);
6755- values[kVertexingTauxyErr ] = values[kVertexingLxyErr ] * v1234.M () / (v1234.Pt () * o2::constants::physics::LightSpeedCm2NS);
6756-
6757- values[kCosPointingAngle ] = ((secondaryVertex[0 ] - collision.posX ()) * v1234.Px () +
6758- (secondaryVertex[1 ] - collision.posY ()) * v1234.Py () +
6759- (secondaryVertex[2 ] - collision.posZ ()) * v1234.Pz ()) /
6760- (v1234.P () * values[VarManager::kVertexingLxyz ]);
6761- // // run 2 definitions: Decay length projected onto the momentum vector of the candidate
6762- values[kVertexingLzProjected ] = (secondaryVertex[2 ] - collision.posZ ()) * v1234.Pz ();
6763- values[kVertexingLzProjected ] = values[kVertexingLzProjected ] / TMath::Sqrt (v1234.Pz () * v1234.Pz ());
6764- values[kVertexingLxyProjected ] = ((secondaryVertex[0 ] - collision.posX ()) * v1234.Px ()) + ((secondaryVertex[1 ] - collision.posY ()) * v1234.Py ());
6765- values[kVertexingLxyProjected ] = values[kVertexingLxyProjected ] / TMath::Sqrt ((v1234.Px () * v1234.Px ()) + (v1234.Py () * v1234.Py ()));
6766- values[kVertexingLxyzProjected ] = ((secondaryVertex[0 ] - collision.posX ()) * v1234.Px ()) + ((secondaryVertex[1 ] - collision.posY ()) * v1234.Py ()) + ((secondaryVertex[2 ] - collision.posZ ()) * v1234.Pz ());
6767- values[kVertexingLxyzProjected ] = values[kVertexingLxyzProjected ] / TMath::Sqrt ((v1234.Px () * v1234.Px ()) + (v1234.Py () * v1234.Py ()) + (v1234.Pz () * v1234.Pz ()));
6768-
6769- values[kVertexingTauzProjected ] = values[kVertexingLzProjected ] * v1234.M () / TMath::Abs (v1234.Pz ());
6770- values[kVertexingTauxyProjected ] = values[kVertexingLxyProjected ] * v1234.M () / (v1234.Pt ());
6771- values[kVertexingTauxyzProjected ] = values[kVertexingLxyzProjected ] * v1234.M () / (v1234.P ());
67726722 }
6723+
6724+ Vec3D secondaryVertex;
6725+ std::array<float , 6 > covMatrixPCA{};
6726+ secondaryVertex = fgFitterFourProngBarrel.getPCACandidate ();
6727+ covMatrixPCA = fgFitterFourProngBarrel.calcPCACovMatrixFlat ();
6728+
6729+ o2::math_utils::Point3D<float > vtxXYZ (collision.posX (), collision.posY (), collision.posZ ());
6730+ std::array<float , 6 > vtxCov{collision.covXX (), collision.covXY (), collision.covYY (), collision.covXZ (), collision.covYZ (), collision.covZZ ()};
6731+ o2::dataformats::VertexBase primaryVertex = {vtxXYZ, vtxCov};
6732+ auto covMatrixPV = primaryVertex.getCov ();
6733+
6734+ double phi = std::atan2 (secondaryVertex[1 ] - collision.posY (), secondaryVertex[0 ] - collision.posX ());
6735+ double theta = std::atan2 (secondaryVertex[2 ] - collision.posZ (),
6736+ std::sqrt ((secondaryVertex[0 ] - collision.posX ()) * (secondaryVertex[0 ] - collision.posX ()) +
6737+ (secondaryVertex[1 ] - collision.posY ()) * (secondaryVertex[1 ] - collision.posY ())));
6738+
6739+ values[kVertexingLxy ] = (collision.posX () - secondaryVertex[0 ]) * (collision.posX () - secondaryVertex[0 ]) +
6740+ (collision.posY () - secondaryVertex[1 ]) * (collision.posY () - secondaryVertex[1 ]);
6741+ values[kVertexingLz ] = (collision.posZ () - secondaryVertex[2 ]) * (collision.posZ () - secondaryVertex[2 ]);
6742+ values[kVertexingLxyz ] = values[kVertexingLxy ] + values[kVertexingLz ];
6743+ values[kVertexingLxy ] = std::sqrt (values[kVertexingLxy ]);
6744+ values[kVertexingLz ] = std::sqrt (values[kVertexingLz ]);
6745+ values[kVertexingLxyz ] = std::sqrt (values[kVertexingLxyz ]);
6746+
6747+ values[kVertexingLxyzErr ] = std::sqrt (getRotatedCovMatrixXX (covMatrixPV, phi, theta) + getRotatedCovMatrixXX (covMatrixPCA, phi, theta));
6748+ values[kVertexingLxyErr ] = std::sqrt (getRotatedCovMatrixXX (covMatrixPV, phi, 0 .) + getRotatedCovMatrixXX (covMatrixPCA, phi, 0 .));
6749+ values[kVertexingLzErr ] = std::sqrt (getRotatedCovMatrixXX (covMatrixPV, 0 , theta) + getRotatedCovMatrixXX (covMatrixPCA, 0 , theta));
6750+
6751+ values[kVertexingTauz ] = (collision.posZ () - secondaryVertex[2 ]) * v1234.M () / (TMath::Abs (v1234.Pz ()) * o2::constants::physics::LightSpeedCm2NS);
6752+ values[kVertexingTauxy ] = values[kVertexingLxy ] * v1234.M () / (v1234.Pt () * o2::constants::physics::LightSpeedCm2NS);
6753+
6754+ values[kVertexingTauzErr ] = values[kVertexingLzErr ] * v1234.M () / (TMath::Abs (v1234.Pz ()) * o2::constants::physics::LightSpeedCm2NS);
6755+ values[kVertexingTauxyErr ] = values[kVertexingLxyErr ] * v1234.M () / (v1234.Pt () * o2::constants::physics::LightSpeedCm2NS);
6756+
6757+ values[kCosPointingAngle ] = ((secondaryVertex[0 ] - collision.posX ()) * v1234.Px () +
6758+ (secondaryVertex[1 ] - collision.posY ()) * v1234.Py () +
6759+ (secondaryVertex[2 ] - collision.posZ ()) * v1234.Pz ()) /
6760+ (v1234.P () * values[VarManager::kVertexingLxyz ]);
6761+ // // run 2 definitions: Decay length projected onto the momentum vector of the candidate
6762+ values[kVertexingLzProjected ] = (secondaryVertex[2 ] - collision.posZ ()) * v1234.Pz ();
6763+ values[kVertexingLzProjected ] = values[kVertexingLzProjected ] / TMath::Sqrt (v1234.Pz () * v1234.Pz ());
6764+ values[kVertexingLxyProjected ] = ((secondaryVertex[0 ] - collision.posX ()) * v1234.Px ()) + ((secondaryVertex[1 ] - collision.posY ()) * v1234.Py ());
6765+ values[kVertexingLxyProjected ] = values[kVertexingLxyProjected ] / TMath::Sqrt ((v1234.Px () * v1234.Px ()) + (v1234.Py () * v1234.Py ()));
6766+ values[kVertexingLxyzProjected ] = ((secondaryVertex[0 ] - collision.posX ()) * v1234.Px ()) + ((secondaryVertex[1 ] - collision.posY ()) * v1234.Py ()) + ((secondaryVertex[2 ] - collision.posZ ()) * v1234.Pz ());
6767+ values[kVertexingLxyzProjected ] = values[kVertexingLxyzProjected ] / TMath::Sqrt ((v1234.Px () * v1234.Px ()) + (v1234.Py () * v1234.Py ()) + (v1234.Pz () * v1234.Pz ()));
6768+
6769+ values[kVertexingTauzProjected ] = values[kVertexingLzProjected ] * v1234.M () / TMath::Abs (v1234.Pz ());
6770+ values[kVertexingTauxyProjected ] = values[kVertexingLxyProjected ] * v1234.M () / (v1234.Pt ());
6771+ values[kVertexingTauxyzProjected ] = values[kVertexingLxyzProjected ] * v1234.M () / (v1234.P ());
67736772 } else if (fgUsedKF) {
67746773 KFParticle lepton1KF; // lepton1
67756774 KFParticle lepton2KF; // lepton2
0 commit comments