|
64 | 64 | #include <cstdlib> |
65 | 65 | #include <iterator> // std::prev |
66 | 66 | #include <string> |
| 67 | +#include <unordered_set> |
67 | 68 | #include <vector> |
68 | 69 |
|
69 | 70 | using namespace o2; |
@@ -609,21 +610,23 @@ struct he3HadronFemto { |
609 | 610 |
|
610 | 611 | he3Hadcand.signHe3 = trackHe3.sign(); |
611 | 612 | he3Hadcand.signHad = trackHad.sign(); |
612 | | - |
613 | | - // he3Hadcand.dcaxyHe3 = trackHe3.dcaXY(); |
614 | | - // he3Hadcand.dcaxyHad = trackHad.dcaXY(); |
615 | | - // he3Hadcand.dcazHe3 = trackHe3.dcaZ(); |
616 | | - // he3Hadcand.dcazHad = trackHad.dcaZ(); |
617 | | - auto trackCovHe3 = getTrackParCov(trackHe3); |
618 | | - auto trackCovHad = getTrackParCov(trackHad); |
619 | | - std::array<float, 2> dcaInfo; |
620 | | - o2::base::Propagator::Instance()->propagateToDCABxByBz({collisionVertex[0], collisionVertex[1], collisionVertex[2]}, trackCovHe3, 2.f, mFitter.getMatCorrType(), &dcaInfo); |
621 | | - he3Hadcand.dcaxyHe3 = dcaInfo[0]; |
622 | | - he3Hadcand.dcazHe3 = dcaInfo[1]; |
623 | | - o2::base::Propagator::Instance()->propagateToDCABxByBz({collisionVertex[0], collisionVertex[1], collisionVertex[2]}, trackCovHad, 2.f, mFitter.getMatCorrType(), &dcaInfo); |
624 | | - he3Hadcand.dcaxyHad = dcaInfo[0]; |
625 | | - he3Hadcand.dcazHad = dcaInfo[1]; |
626 | | - he3Hadcand.dcaPair = std::sqrt(std::abs(mFitter.getChi2AtPCACandidate())); |
| 613 | + if (!settingEnableDCAfitter) { |
| 614 | + he3Hadcand.dcaxyHe3 = trackHe3.dcaXY(); |
| 615 | + he3Hadcand.dcaxyHad = trackHad.dcaXY(); |
| 616 | + he3Hadcand.dcazHe3 = trackHe3.dcaZ(); |
| 617 | + he3Hadcand.dcazHad = trackHad.dcaZ(); |
| 618 | + } else { |
| 619 | + auto trackCovHe3 = getTrackParCov(trackHe3); |
| 620 | + auto trackCovHad = getTrackParCov(trackHad); |
| 621 | + std::array<float, 2> dcaInfo; |
| 622 | + o2::base::Propagator::Instance()->propagateToDCABxByBz({collisionVertex[0], collisionVertex[1], collisionVertex[2]}, trackCovHe3, 2.f, mFitter.getMatCorrType(), &dcaInfo); |
| 623 | + he3Hadcand.dcaxyHe3 = dcaInfo[0]; |
| 624 | + he3Hadcand.dcazHe3 = dcaInfo[1]; |
| 625 | + o2::base::Propagator::Instance()->propagateToDCABxByBz({collisionVertex[0], collisionVertex[1], collisionVertex[2]}, trackCovHad, 2.f, mFitter.getMatCorrType(), &dcaInfo); |
| 626 | + he3Hadcand.dcaxyHad = dcaInfo[0]; |
| 627 | + he3Hadcand.dcazHad = dcaInfo[1]; |
| 628 | + he3Hadcand.dcaPair = std::sqrt(std::abs(mFitter.getChi2AtPCACandidate())); |
| 629 | + } |
627 | 630 |
|
628 | 631 | he3Hadcand.tpcSignalHe3 = trackHe3.tpcSignal(); |
629 | 632 | bool heliumPID = trackHe3.pidForTracking() == o2::track::PID::Helium3 || trackHe3.pidForTracking() == o2::track::PID::Alpha; |
|
0 commit comments