|
12 | 12 | // Build \Lambda-n-n candidates from V0s and tracks |
13 | 13 | // ============================================================================== |
14 | 14 | #include <array> |
| 15 | +#include <memory> |
| 16 | +#include <string> |
| 17 | +#include <vector> |
| 18 | +#include <algorithm> |
| 19 | + |
15 | 20 | #include <TLorentzVector.h> |
16 | 21 |
|
17 | 22 | #include "Framework/runDataProcessing.h" |
@@ -77,7 +82,6 @@ std::shared_ptr<TH1> hIsMatterGenTwoBody; |
77 | 82 | std::shared_ptr<TH2> hDCAxy3H; |
78 | 83 | std::shared_ptr<TH1> hLnnCandLoss; |
79 | 84 | std::shared_ptr<TH2> hNSigma3HTPC_preselection; |
80 | | -std::shared_ptr<TH2> hNSigma3HTOF_preselection; |
81 | 85 |
|
82 | 86 | float alphaAP(std::array<float, 3> const& momB, std::array<float, 3> const& momC) |
83 | 87 | { |
@@ -154,10 +158,10 @@ struct lnnRecoTask { |
154 | 158 | Configurable<float> TPCRigidityMin3H{"TPCRigidityMin3H", 0.2, "Minimum rigidity of the triton candidate"}; |
155 | 159 | Configurable<float> nSigmaCutMinTPC{"nSigmaCutMinTPC", -5, "triton dEdx cut (n sigma)"}; |
156 | 160 | Configurable<float> nSigmaCutMaxTPC{"nSigmaCutMaxTPC", 5, "triton dEdx cut (n sigma)"}; |
157 | | - Configurable<float> nSigmaCutTOF{"nSigmaCutMinTOF", 3, "triton TOF cut (n sigma)"}; |
158 | 161 | Configurable<float> nTPCClusMin3H{"nTPCClusMin3H", 80, "triton NTPC clusters cut"}; |
159 | 162 | Configurable<float> ptMinTOF{"ptMinTOF", 0.8, "minimum pt for TOF cut"}; |
160 | 163 | Configurable<float> TrTOFMass2Cut{"TrTOFMass2Cut", 5.5, "minimum Triton mass square to TOF"}; |
| 164 | + Configurable<float> BetaTrTOF{"BetaTrTOF", 0.4, "minimum beta TOF cut"}; |
161 | 165 | Configurable<bool> mcSignalOnly{"mcSignalOnly", true, "If true, save only signal in MC"}; |
162 | 166 |
|
163 | 167 | // Define o2 fitter, 2-prong, active memory (no need to redefine per event) |
@@ -257,7 +261,6 @@ struct lnnRecoTask { |
257 | 261 | hEvents = qaRegistry.add<TH1>("hEvents", ";Events; ", HistType::kTH1D, {{2, -0.5, 1.5}}); |
258 | 262 | hLnnCandLoss = qaRegistry.add<TH1>("hLnnCandLoss", ";CandLoss; ", HistType::kTH1D, {{7, -0.5, 6.5}}); |
259 | 263 | hNSigma3HTPC_preselection = qaRegistry.add<TH2>("hNSigma3HTPC_preselection", "#it{p}/z (GeV/#it{c}); n#sigma_{TPC}(^{3}H)", HistType::kTH2F, {rigidityAxis, nSigma3HAxis}); |
260 | | - hNSigma3HTOF_preselection = qaRegistry.add<TH2>("hNSigma3HTOF_preselection", "; Signed p({}^{3}H) (GeV/#it{c^2}); n#sigma_{TOF} ({}^{3}H)", HistType::kTH2F, {TritMomAxis, nSigma3HAxis}); |
261 | 264 |
|
262 | 265 | hEvents->GetXaxis()->SetBinLabel(1, "All"); |
263 | 266 | hEvents->GetXaxis()->SetBinLabel(2, "sel8"); |
@@ -422,13 +425,10 @@ struct lnnRecoTask { |
422 | 425 | if (!h3track.hasTOF()) { |
423 | 426 | continue; |
424 | 427 | } |
425 | | - hNSigma3HTOF_preselection->Fill(h3track.p(), h3track.tofNSigmaTr()); |
426 | | - if (std::abs(h3track.tofNSigmaTr()) > nSigmaCutTOF) { |
427 | | - continue; |
428 | | - } |
| 428 | + |
429 | 429 | beta = h3track.beta(); |
430 | 430 | lnnCand.mass2TrTOF = h3track.mass() * h3track.mass(); |
431 | | - if (lnnCand.mass2TrTOF < TrTOFMass2Cut) { |
| 431 | + if (lnnCand.mass2TrTOF < TrTOFMass2Cut || beta < BetaTrTOF) { |
432 | 432 | continue; |
433 | 433 | } |
434 | 434 | } |
|
0 commit comments