5757#include < Math/GenVector/Boost.h>
5858#include < Math/GenVector/LorentzVector.h>
5959#include < Math/GenVector/PxPyPzM4D.h>
60- #include < Math/Vector4Dfwd.h>
6160#include < TH1.h>
6261#include < TPDGCode.h>
6362#include < TString.h>
@@ -94,6 +93,7 @@ constexpr int He3TPCNClsFoundMin = 110;
9493constexpr float He3TPCChi2NClMin = 0 .5f ;
9594constexpr float He3TPCNSigmaMax = 3 .0f ;
9695constexpr float He3ITSNSigmaMin = -1 .5f ;
96+ using PairLorentzVector = ROOT ::Math::LorentzVector<ROOT ::Math::PxPyPzM4D<double >>;
9797
9898enum Selections {
9999 kNoCuts = 0 ,
@@ -1096,31 +1096,31 @@ struct HadNucleiFemto {
10961096
10971097 float computePairKstar (const std::array<float , 3 >& momHad, const float massHad, const std::array<float , 3 >& momNu, const float massNu) const
10981098 {
1099- const ROOT ::Math::PxPyPzMVector vecHad (momHad[0 ], momHad[1 ], momHad[2 ], massHad);
1100- const ROOT ::Math::PxPyPzMVector vecNu (momNu[0 ], momNu[1 ], momNu[2 ], massNu);
1101- const ROOT ::Math::PxPyPzMVector trackSum = vecHad + vecNu;
1099+ const PairLorentzVector vecHad (momHad[0 ], momHad[1 ], momHad[2 ], massHad);
1100+ const PairLorentzVector vecNu (momNu[0 ], momNu[1 ], momNu[2 ], massNu);
1101+ const PairLorentzVector trackSum = vecHad + vecNu;
11021102
11031103 const float beta = trackSum.Beta ();
11041104 const float betax = beta * std::cos (trackSum.Phi ()) * std::sin (trackSum.Theta ());
11051105 const float betay = beta * std::sin (trackSum.Phi ()) * std::sin (trackSum.Theta ());
11061106 const float betaz = beta * std::cos (trackSum.Theta ());
11071107
1108- ROOT ::Math::PxPyPzMVector partHadCMS (vecHad);
1109- ROOT ::Math::PxPyPzMVector partNuCMS (vecNu);
1108+ PairLorentzVector partHadCMS (vecHad);
1109+ PairLorentzVector partNuCMS (vecNu);
11101110
11111111 const ROOT ::Math::Boost boostPRF = ROOT::Math::Boost (-betax, -betay, -betaz);
11121112 partHadCMS = boostPRF (partHadCMS);
11131113 partNuCMS = boostPRF (partNuCMS);
11141114
1115- const ROOT ::Math::PxPyPzMVector trackRelK = partHadCMS - partNuCMS;
1115+ const PairLorentzVector trackRelK = partHadCMS - partNuCMS;
11161116 return 0 .5f * trackRelK.P ();
11171117 }
11181118
11191119 float computePairMT (const std::array<float , 3 >& momHad, const float massHad, const std::array<float , 3 >& momNu, const float massNu) const
11201120 {
1121- const ROOT ::Math::PxPyPzMVector vecHad (momHad[0 ], momHad[1 ], momHad[2 ], massHad);
1122- const ROOT ::Math::PxPyPzMVector vecNu (momNu[0 ], momNu[1 ], momNu[2 ], massNu);
1123- const ROOT ::Math::PxPyPzMVector trackSum = vecHad + vecNu;
1121+ const PairLorentzVector vecHad (momHad[0 ], momHad[1 ], momHad[2 ], massHad);
1122+ const PairLorentzVector vecNu (momNu[0 ], momNu[1 ], momNu[2 ], massNu);
1123+ const PairLorentzVector trackSum = vecHad + vecNu;
11241124 const float kT = 0 .5f * trackSum.Pt ();
11251125 return std::sqrt (kT * kT + std::pow (0 .5f * (massHad + massNu), 2 .f ));
11261126 }
@@ -1769,9 +1769,9 @@ struct HadNucleiFemto {
17691769
17701770 if (passTrackNu && useDeuteronNucleus ()) {
17711771 const float tpcNSigmaDe = settingUseBBcomputeDeNsigma ? computeNSigmaDe (track) : track.tpcNSigmaDe ();
1772- mQaRegistry .fill (HIST (" purity/h2NsigmaNuTPC_preselection" ), track.sign () * track.pt (), tpcNSigmaDe);
1773- mQaRegistry .fill (HIST (" purity/h2NsigmaNuTPC_preselecComp" ), track.sign () * track.pt (), track.tpcNSigmaDe ());
17741772 if (track.hasTOF () && track.tpcInnerParam () > settingCutPinMinTOFITSDe) {
1773+ mQaRegistry .fill (HIST (" purity/h2NsigmaNuTPC_preselection" ), track.sign () * track.pt (), tpcNSigmaDe);
1774+ mQaRegistry .fill (HIST (" purity/h2NsigmaNuTPC_preselecComp" ), track.sign () * track.pt (), track.tpcNSigmaDe ());
17751775 const float tofNSigmaDe = track.tofNSigmaDe ();
17761776 const float combNsigmaDe = std::sqrt (tofNSigmaDe * tofNSigmaDe + tpcNSigmaDe * tpcNSigmaDe);
17771777 mQaRegistry .fill (HIST (" purity/h2NsigmaNuTOF_preselection" ), track.sign () * track.pt (), tofNSigmaDe);
@@ -1780,6 +1780,10 @@ struct HadNucleiFemto {
17801780 o2::aod::ITSResponse itsResponse;
17811781 const float itsNSigmaDe = itsResponse.nSigmaITS <o2::track::PID ::Deuteron>(track.itsClusterSizes (), track.p (), track.eta ());
17821782 mQaRegistry .fill (HIST (" purity/h2NSigmaNuITS_preselection" ), track.sign () * track.pt (), itsNSigmaDe);
1783+ if (std::abs (itsNSigmaDe) <= settingCutNsigmaITSDe) {
1784+ mQaRegistry .fill (HIST (" purity/h2NsigmaNuTPC_preselection" ), track.sign () * track.pt (), tpcNSigmaDe);
1785+ mQaRegistry .fill (HIST (" purity/h2NsigmaNuTPC_preselecComp" ), track.sign () * track.pt (), track.tpcNSigmaDe ());
1786+ }
17831787 }
17841788 } else if (passTrackNu && useHelium3Nucleus ()) {
17851789 const float tpcNSigmaHe3 = computeNSigmaHe3 (track);
0 commit comments