|
20 | 20 | #include "PWGLF/DataModel/LFHypernucleiKfTables.h" |
21 | 21 | #include "PWGLF/DataModel/LFPIDTOFGenericTables.h" |
22 | 22 |
|
| 23 | +#include "Common/CCDB/EventSelectionParams.h" |
23 | 24 | #include "Common/Core/MetadataHelper.h" |
24 | 25 | #include "Common/Core/RecoDecay.h" |
25 | 26 | #include "Common/Core/trackUtilities.h" |
@@ -262,10 +263,10 @@ struct DaughterKf { |
262 | 263 | int64_t daughterTrackId; |
263 | 264 | int id, species, sign, hypNucId; |
264 | 265 | KFParticle daughterKfp; |
265 | | - float dcaToPv, dcaToPvXY, dcaToPvZ, tpcNsigma, tpcNsigmaNLP, tpcNsigmaNHP; |
| 266 | + float dcaToPv, dcaToPvXY, dcaToPvZ, tpcNsigma, itsNsigma; |
266 | 267 | bool active; |
267 | 268 | std::vector<float> vtx; |
268 | | - DaughterKf(int species_, int64_t daughterTrackId_, int sign_, std::vector<float> vtx_, float tpcNsigma_, float tpcNsigmaNLP_, float tpcNsigmaNHP_) : daughterTrackId(daughterTrackId_), id(uniqueId++), species(species_), sign(sign_), hypNucId(-1), tpcNsigma(tpcNsigma_), tpcNsigmaNLP(tpcNsigmaNLP_), tpcNsigmaNHP(tpcNsigmaNHP_), vtx(std::move(vtx_)) {} |
| 269 | + DaughterKf(int species_, int64_t daughterTrackId_, int sign_, std::vector<float> vtx_, float tpcNsigma_, float itsNsigma_) : daughterTrackId(daughterTrackId_), id(uniqueId++), species(species_), sign(sign_), hypNucId(-1), tpcNsigma(tpcNsigma_), itsNsigma(itsNsigma_), vtx(std::move(vtx_)) {} |
269 | 270 | void addKfp(const KFParticle& daughterKfp_) |
270 | 271 | { |
271 | 272 | daughterKfp = daughterKfp_; |
@@ -593,7 +594,7 @@ struct HypKfRecoTask { |
593 | 594 |
|
594 | 595 | // define histogram axes |
595 | 596 | const AxisSpec axisMagField{10, -10., 10., "magnetic field"}; |
596 | | - const AxisSpec axisNev{3, 0., 3., "Number of events"}; |
| 597 | + const AxisSpec axisNev{5, 0., 5., "Number of events"}; |
597 | 598 | const AxisSpec axisRigidity{4000, -10., 10., "#it{p}^{TPC}/#it{z}"}; |
598 | 599 | const AxisSpec axisdEdx{2000, 0, 2000, "d#it{E}/d#it{x}"}; |
599 | 600 | const AxisSpec axisInvMass{1000, 1, 6, "inv mass"}; |
@@ -644,12 +645,8 @@ struct HypKfRecoTask { |
644 | 645 | const float itsNsigma = getITSnSigma(track, daughterParticles.at(i)); |
645 | 646 | if (daughterParticles.at(i).trkSettings[kMaxITSnSigma] >= 0 && std::abs(itsNsigma) > daughterParticles.at(i).trkSettings[kMaxITSnSigma]) |
646 | 647 | continue; |
647 | | - float tpcNsigmaNlp = NoVal; |
648 | | - if (daughterParticles.at(i).name == "alpha") { |
649 | | - tpcNsigmaNlp = getTPCnSigma(track, daughterParticles.at(i - 1)); |
650 | | - } |
651 | 648 | filldedx(track, i); |
652 | | - foundDaughterKfs.at(i).push_back(DaughterKf(i, track.globalIndex(), track.sign(), primVtx, tpcNsigma, tpcNsigmaNlp, itsNsigma)); |
| 649 | + foundDaughterKfs.at(i).push_back(DaughterKf(i, track.globalIndex(), track.sign(), primVtx, tpcNsigma, itsNsigma)); |
653 | 650 | } |
654 | 651 | } // track loop |
655 | 652 | } |
@@ -906,9 +903,9 @@ struct HypKfRecoTask { |
906 | 903 | if (!trackIndices.getIndex(daughter->species, daughterTrackId, trackTableId)) { |
907 | 904 | const auto& track = tracks.rawIteratorAt(daughterTrackId); |
908 | 905 | outputTrackTable( |
909 | | - daughter->species * track.sign(), track.pt(), track.eta(), track.phi(), daughter->dcaToPvXY, daughter->dcaToPvZ, track.tpcNClsFound(), track.tpcChi2NCl(), |
910 | | - track.itsClusterSizes(), track.itsChi2NCl(), getRigidity(track), track.tpcSignal(), daughter->tpcNsigma, daughter->tpcNsigmaNHP, daughter->tpcNsigmaNLP, |
911 | | - getMass2(track), track.isPVContributor()); |
| 906 | + daughter->species * track.sign(), track.pt(), track.eta(), track.phi(), daughter->dcaToPvXY, daughter->dcaToPvZ, track.tpcChi2NCl(), |
| 907 | + track.itsClusterSizes(), track.itsChi2NCl(), getRigidity(track), track.tpcSignal(), track.tpcNClsFound(), track.tpcNClsPID(), |
| 908 | + track.tpcNClsCrossedRows(), daughter->tpcNsigma, daughter->itsNsigma, track.pidForTracking(), getMass2(track), track.isPVContributor()); |
912 | 909 | trackTableId = outputTrackTable.lastIndex(); |
913 | 910 | trackIndices.add(daughter->species, daughterTrackId, trackTableId); |
914 | 911 | } |
@@ -1006,7 +1003,8 @@ struct HypKfRecoTask { |
1006 | 1003 | initCollision(collision); |
1007 | 1004 | if (!collision.has_mcCollision() || !mcCollInfos.at(collision.mcCollisionId()).passedEvSel) |
1008 | 1005 | continue; |
1009 | | - |
| 1006 | + if (!collPassedEvSel) |
| 1007 | + continue; |
1010 | 1008 | const uint64_t collIdx = collision.globalIndex(); |
1011 | 1009 | auto tracksByColl = tracksColl.sliceBy(perCollision, collIdx); |
1012 | 1010 | auto v0TableThisCollision = V0s.sliceBy(perCollisionV0, collIdx); |
@@ -1107,12 +1105,34 @@ struct HypKfRecoTask { |
1107 | 1105 | trackIndices.clear(); |
1108 | 1106 | collHasCandidate = false; |
1109 | 1107 | collHasMcTrueCandidate = false; |
| 1108 | + collPassedEvSel = true; |
1110 | 1109 | histos.fill(HIST("histMagField"), dBz); |
1111 | 1110 | histos.fill(HIST("histNev"), 0.5); |
1112 | | - collPassedEvSel = collision.sel8() && std::abs(collision.posZ()) < cfgVtxCutZ; |
1113 | | - occupancy = collision.trackOccupancyInTimeRange(); |
| 1111 | + if (!collision.sel8()) { |
| 1112 | + collPassedEvSel = false; |
| 1113 | + } |
1114 | 1114 | if (collPassedEvSel) { |
1115 | 1115 | histos.fill(HIST("histNev"), 1.5); |
| 1116 | + } |
| 1117 | + if (std::abs(collision.posZ()) > cfgVtxCutZ) { |
| 1118 | + collPassedEvSel = false; |
| 1119 | + } |
| 1120 | + if (collPassedEvSel) { |
| 1121 | + histos.fill(HIST("histNev"), 2.5); |
| 1122 | + } |
| 1123 | + if (!collision.selection_bit(aod::evsel::kNoSameBunchPileup)) { |
| 1124 | + collPassedEvSel = false; |
| 1125 | + } |
| 1126 | + if (collPassedEvSel) { |
| 1127 | + histos.fill(HIST("histNev"), 3.5); |
| 1128 | + } |
| 1129 | + if (!collision.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV)) { |
| 1130 | + collPassedEvSel = false; |
| 1131 | + } |
| 1132 | + |
| 1133 | + occupancy = collision.trackOccupancyInTimeRange(); |
| 1134 | + if (collPassedEvSel) { |
| 1135 | + histos.fill(HIST("histNev"), 4.5); |
1116 | 1136 | histos.fill(HIST("histVtxZ"), collision.posZ()); |
1117 | 1137 | histos.fill(HIST("histCentFT0A"), collision.centFT0A()); |
1118 | 1138 | histos.fill(HIST("histCentFT0C"), collision.centFT0C()); |
|
0 commit comments