Skip to content

Commit 967b22d

Browse files
authored
[PWGEM/Dilepton] add eventTable for taggingHFE (#16359)
1 parent 644245d commit 967b22d

2 files changed

Lines changed: 31 additions & 15 deletions

File tree

PWGEM/Dilepton/DataModel/lmeeMLTables.h

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -199,8 +199,15 @@ namespace emmlevent
199199
{
200200
DECLARE_SOA_COLUMN(SubGeneratorId, subGeneratorId, int); //! sub generator Id of mc collision
201201
} // namespace emmlevent
202+
203+
DECLARE_SOA_TABLE(EMMLEvents, "AOD", "EMMLEVENT", //!
204+
o2::soa::Index<>, collision::NumContrib, evsel::NumTracksInTimeRange, evsel::SumAmpFT0CInTimeRange);
205+
// iterators
206+
using EMMLEvent = EMMLEvents::iterator;
207+
202208
namespace emmltrack
203209
{
210+
DECLARE_SOA_INDEX_COLUMN(EMMLEvent, emmlevent); //! index to event table
204211
DECLARE_SOA_COLUMN(IsMotherFromBeauty, isMotherFromBeauty, bool); //! is b quark included in decay history
205212
DECLARE_SOA_COLUMN(Signed1PtL, signedPtL, float); //! sign/pT of lepton
206213
DECLARE_SOA_COLUMN(EtaL, etaL, float); //! eta of lepton
@@ -215,16 +222,16 @@ DECLARE_SOA_COLUMN(IsCorrectCollision, isCorrectCollision, bool); //! LH pair is
215222
} // namespace emmltrack
216223

217224
DECLARE_SOA_TABLE(EMMLLeptons, "AOD", "EMMLLEPTON", //!
218-
o2::soa::Index<>, collision::NumContrib, evsel::NumTracksInTimeRange, evsel::SumAmpFT0CInTimeRange, emmlevent::SubGeneratorId,
219-
emmltrack::Signed1PtL, emmltrack::EtaL,
225+
o2::soa::Index<>, emmltrack::EMMLEventId, emmlevent::SubGeneratorId,
226+
emmltrack::Signed1PtL, emmltrack::EtaL, emmltrack::PhiL,
220227
emmltrack::ImpParXYL, emmltrack::ImpParZL, emmltrack::ImpParCYYL, emmltrack::ImpParCZYL, emmltrack::ImpParCZZL,
221228
emmltrack::IsMotherFromBeauty, emmltrack::PdgCodeMother, emmltrack::IsCorrectCollision);
222229
// iterators
223230
using EMMLLepton = EMMLLeptons::iterator;
224231

225232
namespace emmllhpair
226233
{
227-
DECLARE_SOA_INDEX_COLUMN(EMMLLepton, emmllepton); //! most propable emeventId
234+
DECLARE_SOA_INDEX_COLUMN(EMMLLepton, emmllepton); //! index to lepton table
228235

229236
DECLARE_SOA_COLUMN(Signed1PtH, signedPtH, float); //! sign/pT of associated hadron
230237
DECLARE_SOA_COLUMN(PtH, ptH, float); //! pT of associated hadron
@@ -276,7 +283,7 @@ DECLARE_SOA_COLUMN(PdgCodeIM, pdgCodeIM, int); //! pdg code of
276283
DECLARE_SOA_COLUMN(FoundCommonMother, foundCommonMother, bool); //! decay length resolution of LH pair
277284
} // namespace emmllhpair
278285

279-
DECLARE_SOA_TABLE(EMMLLHPairs, "AOD", "EMMLLHPAIR", //!
286+
DECLARE_SOA_TABLE(EMMLLTPairs, "AOD", "EMMLLTPAIR", //!
280287
emmllhpair::EMMLLeptonId,
281288
emmllhpair::Signed1PtH, emmllhpair::EtaH,
282289
emmllhpair::ImpParXYH, emmllhpair::ImpParZH, emmllhpair::ImpParCYYH, emmllhpair::ImpParCZYH, emmllhpair::ImpParCZZH,
@@ -288,7 +295,7 @@ DECLARE_SOA_TABLE(EMMLLHPairs, "AOD", "EMMLLHPAIR", //!
288295
emmllhpair::ImpParXY, emmllhpair::ImpParZ, emmllhpair::ImpParCYY, emmllhpair::ImpParCZY, emmllhpair::ImpParCZZ,
289296
emmllhpair::PdgCodeH, emmllhpair::PdgCodeIM, emmllhpair::FoundCommonMother);
290297
// iterators
291-
using EMMLLHPair = EMMLLHPairs::iterator;
298+
using EMMLLTPair = EMMLLTPairs::iterator;
292299

293300
DECLARE_SOA_TABLE(EMMLLV0Pairs, "AOD", "EMMLLV0PAIR", //!
294301
emmllhpair::EMMLLeptonId, emmllhpair::V0Type,
@@ -302,7 +309,7 @@ DECLARE_SOA_TABLE(EMMLLV0Pairs, "AOD", "EMMLLV0PAIR", //!
302309
// iterators
303310
using EMMLLV0Pair = EMMLLV0Pairs::iterator;
304311

305-
DECLARE_SOA_TABLE(EMMLLCascPairs, "AOD", "EMMLLCAPAIR", //!
312+
DECLARE_SOA_TABLE(EMMLLCascPairs, "AOD", "EMMLLCPAIR", //!
306313
emmllhpair::EMMLLeptonId, emmllhpair::CascadeType,
307314
emmllhpair::Signed1PtH, emmllhpair::RapidityC,
308315
emmllhpair::CascCPA, emmllhpair::CascCPAXY, emmllhpair::CascCPARZ,

PWGEM/Dilepton/Tasks/taggingHFE.cxx

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)