@@ -87,8 +87,9 @@ struct taggingHFE {
8787 using MyV0s = soa::Join<aod::V0Datas, aod::V0Covs>;
8888 using MyCascades = soa::Join<aod::CascDatas, aod::CascCovs>;
8989
90+ Produces<aod::EMMLEvents> eventTable;
9091 Produces<aod::EMMLLeptons> leptonTable;
91- Produces<aod::EMMLLHPairs> emmllhpair ;
92+ Produces<aod::EMMLLTPairs> emmlltpair ;
9293 Produces<aod::EMMLLV0Pairs> emmllv0pair;
9394 Produces<aod::EMMLLCascPairs> emmllcascpair;
9495
@@ -1621,6 +1622,7 @@ struct taggingHFE {
16211622 }
16221623 } // end of cascade loop
16231624
1625+ int npos = 0 ;
16241626 for (const auto & positronId : positronIds) {
16251627 auto pos = tracks.rawIteratorAt (positronId);
16261628 mDcaInfoCov .set (999 , 999 , 999 , 999 , 999 );
@@ -1648,8 +1650,9 @@ struct taggingHFE {
16481650 continue ;
16491651 }
16501652
1651- leptonTable (collision.numContrib (), collision.trackOccupancyInTimeRange (), collision.ft0cOccupancyInTimeRange (), mcCollision_mcpos.getSubGeneratorId (),
1652- leptonParCov.getQ2Pt (), leptonParCov.getEta (), dcaXY_lepton, dcaZ_lepton, leptonParCov.getSigmaY2 (), leptonParCov.getSigmaZY (), leptonParCov.getSigmaZ2 (),
1653+ npos++;
1654+ leptonTable (eventTable.lastIndex () + 1 , mcCollision_mcpos.getSubGeneratorId (),
1655+ leptonParCov.getQ2Pt (), leptonParCov.getEta (), RecoDecay::constrainAngle (leptonParCov.getPhi (), 0 , 1U ), dcaXY_lepton, dcaZ_lepton, leptonParCov.getSigmaY2 (), leptonParCov.getSigmaZY (), leptonParCov.getSigmaZ2 (),
16531656 isMotherFromB, mcMother.pdgCode (), isCorrectCollision);
16541657
16551658 // D0 -> e+ nu_e K-, br = 0.03538, ctau = 123.01 um, m = 1864 MeV/c2
@@ -1701,7 +1704,7 @@ struct taggingHFE {
17011704 float tofNSigmaKa = mapTOFNsigmaKaReassociated[std::make_pair (collision.globalIndex (), kaon.globalIndex ())];
17021705 float tofNSigmaPr = mapTOFNsigmaPrReassociated[std::make_pair (collision.globalIndex (), kaon.globalIndex ())];
17031706
1704- emmllhpair (leptonTable.lastIndex (),
1707+ emmlltpair (leptonTable.lastIndex (),
17051708 trackParCov.getQ2Pt (), trackParCov.getEta (), dcaXY_kaon, dcaZ_kaon, trackParCov.getSigmaY2 (), trackParCov.getSigmaZY (), trackParCov.getSigmaZ2 (),
17061709 kaon.tpcNSigmaPi (), tofNSigmaPi,
17071710 kaon.tpcNSigmaKa (), tofNSigmaKa,
@@ -1760,7 +1763,7 @@ struct taggingHFE {
17601763 float tofNSigmaKa = mapTOFNsigmaKaReassociated[std::make_pair (collision.globalIndex (), kaon.globalIndex ())];
17611764 float tofNSigmaPr = mapTOFNsigmaPrReassociated[std::make_pair (collision.globalIndex (), kaon.globalIndex ())];
17621765
1763- emmllhpair (leptonTable.lastIndex (),
1766+ emmlltpair (leptonTable.lastIndex (),
17641767 trackParCov.getQ2Pt (), trackParCov.getEta (), dcaXY_kaon, dcaZ_kaon, trackParCov.getSigmaY2 (), trackParCov.getSigmaZY (), trackParCov.getSigmaZ2 (),
17651768 kaon.tpcNSigmaPi (), tofNSigmaPi,
17661769 kaon.tpcNSigmaKa (), tofNSigmaKa,
@@ -2044,6 +2047,7 @@ struct taggingHFE {
20442047
20452048 } // end of main positron sample
20462049
2050+ int nele = 0 ;
20472051 for (const auto & electronId : electronIds) {
20482052 auto ele = tracks.rawIteratorAt (electronId);
20492053 mDcaInfoCov .set (999 , 999 , 999 , 999 , 999 );
@@ -2071,8 +2075,9 @@ struct taggingHFE {
20712075 continue ;
20722076 }
20732077
2074- leptonTable (collision.numContrib (), collision.trackOccupancyInTimeRange (), collision.ft0cOccupancyInTimeRange (), mcCollision_mcele.getSubGeneratorId (),
2075- leptonParCov.getQ2Pt (), leptonParCov.getEta (), dcaXY_lepton, dcaZ_lepton, leptonParCov.getSigmaY2 (), leptonParCov.getSigmaZY (), leptonParCov.getSigmaZ2 (),
2078+ nele++;
2079+ leptonTable (eventTable.lastIndex () + 1 , mcCollision_mcele.getSubGeneratorId (),
2080+ leptonParCov.getQ2Pt (), leptonParCov.getEta (), RecoDecay::constrainAngle (leptonParCov.getPhi (), 0 , 1U ), dcaXY_lepton, dcaZ_lepton, leptonParCov.getSigmaY2 (), leptonParCov.getSigmaZY (), leptonParCov.getSigmaZ2 (),
20762081 isMotherFromB, mcMother.pdgCode (), isCorrectCollision);
20772082
20782083 for (const auto & kaonId : kaonMinusIds) {
@@ -2123,7 +2128,7 @@ struct taggingHFE {
21232128 float tofNSigmaKa = mapTOFNsigmaKaReassociated[std::make_pair (collision.globalIndex (), kaon.globalIndex ())];
21242129 float tofNSigmaPr = mapTOFNsigmaPrReassociated[std::make_pair (collision.globalIndex (), kaon.globalIndex ())];
21252130
2126- emmllhpair (leptonTable.lastIndex (),
2131+ emmlltpair (leptonTable.lastIndex (),
21272132 trackParCov.getQ2Pt (), trackParCov.getEta (), dcaXY_kaon, dcaZ_kaon, trackParCov.getSigmaY2 (), trackParCov.getSigmaZY (), trackParCov.getSigmaZ2 (),
21282133 kaon.tpcNSigmaPi (), tofNSigmaPi,
21292134 kaon.tpcNSigmaKa (), tofNSigmaKa,
@@ -2183,7 +2188,7 @@ struct taggingHFE {
21832188 float tofNSigmaKa = mapTOFNsigmaKaReassociated[std::make_pair (collision.globalIndex (), kaon.globalIndex ())];
21842189 float tofNSigmaPr = mapTOFNsigmaPrReassociated[std::make_pair (collision.globalIndex (), kaon.globalIndex ())];
21852190
2186- emmllhpair (leptonTable.lastIndex (),
2191+ emmlltpair (leptonTable.lastIndex (),
21872192 trackParCov.getQ2Pt (), trackParCov.getEta (), dcaXY_kaon, dcaZ_kaon, trackParCov.getSigmaY2 (), trackParCov.getSigmaZY (), trackParCov.getSigmaZ2 (),
21882193 kaon.tpcNSigmaPi (), tofNSigmaPi,
21892194 kaon.tpcNSigmaKa (), tofNSigmaKa,
@@ -2466,6 +2471,10 @@ struct taggingHFE {
24662471
24672472 } // end of main electron sample
24682473
2474+ if (npos + nele > 0 ) { // fill eventTable only if at least 1 electron or positron exists.
2475+ eventTable (collision.numContrib (), collision.trackOccupancyInTimeRange (), collision.ft0cOccupancyInTimeRange ());
2476+ }
2477+
24692478 electronIds.clear ();
24702479 electronIds.shrink_to_fit ();
24712480 positronIds.clear ();
0 commit comments