Skip to content

Commit e2f52b8

Browse files
committed
premitive changes for embedding
1 parent 89b15c7 commit e2f52b8

File tree

9 files changed

+82
-48
lines changed

9 files changed

+82
-48
lines changed

PWGJE/DataModel/JetReducedData.h

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ DECLARE_SOA_INDEX_COLUMN(BC, bc);
3636
DECLARE_SOA_COLUMN(RunNumber, runNumber, int);
3737
DECLARE_SOA_COLUMN(GlobalBC, globalBC, uint64_t);
3838
DECLARE_SOA_COLUMN(Timestamp, timestamp, uint64_t);
39+
DECLARE_SOA_COLUMN(TriggerMask, triggerMask, uint64_t);
3940
DECLARE_SOA_BITMAP_COLUMN(Alias, alias, 32);
4041
DECLARE_SOA_BITMAP_COLUMN(Selection, selection, 64);
4142
DECLARE_SOA_BITMAP_COLUMN(Rct, rct, 32);
@@ -49,6 +50,7 @@ DECLARE_SOA_TABLE_STAGED(JBCs, "JBC",
4950
o2::soa::Index<>,
5051
jbc::RunNumber,
5152
jbc::GlobalBC,
53+
jbc::TriggerMask,
5254
jbc::Timestamp,
5355
jbc::Alias,
5456
jbc::Selection,
@@ -73,6 +75,7 @@ DECLARE_SOA_INDEX_COLUMN(JBC, bc);
7375
DECLARE_SOA_COLUMN(PosX, posX, float);
7476
DECLARE_SOA_COLUMN(PosY, posY, float);
7577
DECLARE_SOA_COLUMN(PosZ, posZ, float);
78+
DECLARE_SOA_COLUMN(CollisionTime, collisionTime, float);
7679
DECLARE_SOA_COLUMN(MultFV0A, multFV0A, float);
7780
DECLARE_SOA_COLUMN(MultFV0C, multFV0C, float);
7881
DECLARE_SOA_DYNAMIC_COLUMN(MultFV0M, multFV0M,
@@ -124,9 +127,11 @@ DECLARE_SOA_COLUMN(IsOutlier, isOutlier, bool);
124127

125128
DECLARE_SOA_TABLE_STAGED(JCollisions, "JCOLLISION",
126129
o2::soa::Index<>,
130+
jcollision::JBCId,
127131
jcollision::PosX,
128132
jcollision::PosY,
129133
jcollision::PosZ,
134+
jcollision::CollisionTime,
130135
jcollision::MultFV0A,
131136
jcollision::MultFV0C,
132137
jcollision::MultFV0M<jcollision::MultFV0A, jcollision::MultFV0C>,
@@ -172,9 +177,6 @@ using StoredJEMCCollisionLb = StoredJEMCCollisionLbs::iterator;
172177
DECLARE_SOA_TABLE_STAGED(JCollisionPIs, "JCOLLISIONPI",
173178
jcollision::CollisionId);
174179

175-
DECLARE_SOA_TABLE_STAGED(JCollisionBCs, "JCOLLISIONBC",
176-
jcollision::JBCId);
177-
178180
DECLARE_SOA_TABLE(JChTrigSels, "AOD", "JCHTRIGSEL",
179181
jcollision::ChargedTriggerSel);
180182

@@ -202,6 +204,7 @@ DECLARE_SOA_TABLE_STAGED(CollisionCounts, "COLLCOUNT",
202204
namespace jmccollision
203205
{
204206
DECLARE_SOA_INDEX_COLUMN(McCollision, mcCollision);
207+
DECLARE_SOA_INDEX_COLUMN(JBC, bc);
205208
DECLARE_SOA_COLUMN(PosX, posX, float);
206209
DECLARE_SOA_COLUMN(PosY, posY, float);
207210
DECLARE_SOA_COLUMN(PosZ, posZ, float);
@@ -226,6 +229,7 @@ DECLARE_SOA_COLUMN(EventPlaneAngle, eventPlaneAngle, float);
226229
} // namespace jmccollision
227230
DECLARE_SOA_TABLE_STAGED(JMcCollisions, "JMCCOLLISION",
228231
o2::soa::Index<>,
232+
jmccollision::JBCId,
229233
jmccollision::PosX,
230234
jmccollision::PosY,
231235
jmccollision::PosZ,

PWGJE/TableProducer/derivedDataProducer.cxx

Lines changed: 34 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@ struct JetDerivedDataProducerTask {
8181
Produces<aod::JCollisionUPCs> jCollisionUPCsTable;
8282
Produces<aod::JCollisionMcInfos> jCollisionMcInfosTable;
8383
Produces<aod::JCollisionPIs> jCollisionsParentIndexTable;
84-
Produces<aod::JCollisionBCs> jCollisionsBunchCrossingIndexTable;
8584
Produces<aod::JEMCCollisionLbs> jCollisionsEMCalLabelTable;
8685
Produces<aod::JMcCollisionLbs> jMcCollisionsLabelTable;
8786
Produces<aod::JMcCollisions> jMcCollisionsTable;
@@ -271,7 +270,7 @@ struct JetDerivedDataProducerTask {
271270
bcRctMapping.clear();
272271
bcRctMapping.resize(bcs.size(), ~uint32_t{0});
273272
for (const auto& bc : bcs) {
274-
products.jBCsTable(bc.runNumber(), bc.globalBC(), bc.timestamp(), bc.alias_raw(), bc.selection_raw(), bc.rct_raw());
273+
products.jBCsTable(bc.runNumber(), bc.globalBC(), bc.triggerMask(), bc.timestamp(), bc.alias_raw(), bc.selection_raw(), bc.rct_raw());
275274
products.jBCParentIndexTable(bc.globalIndex());
276275
bcRctMapping[bc.globalIndex()] = bc.rct_raw();
277276
}
@@ -283,7 +282,7 @@ struct JetDerivedDataProducerTask {
283282
bcRctMapping.clear();
284283
bcRctMapping.resize(bcs.size(), ~uint32_t{0});
285284
for (const auto& bc : bcs) {
286-
products.jBCsTable(bc.runNumber(), bc.globalBC(), bc.timestamp(), ~uint32_t{0}, ~uint64_t{0}, ~uint32_t{0});
285+
products.jBCsTable(bc.runNumber(), bc.globalBC(), bc.triggerMask(), bc.timestamp(), ~uint32_t{0}, ~uint64_t{0}, ~uint32_t{0});
287286
products.jBCParentIndexTable(bc.globalIndex());
288287
}
289288
}
@@ -327,9 +326,8 @@ struct JetDerivedDataProducerTask {
327326
products.jCollisionUPCsTable(amplitudesFV0, amplitudesFT0A, amplitudesFT0C, amplitudesFDDA, amplitudesFDDC);
328327
}
329328

330-
products.jCollisionsTable(collision.posX(), collision.posY(), collision.posZ(), collision.multFV0A(), collision.multFV0C(), collision.multFT0A(), collision.multFT0C(), collision.centFV0A(), -1.0, collision.centFT0A(), collision.centFT0C(), collision.centFT0M(), collision.centFT0CVariant1(), hadronicRate, collision.trackOccupancyInTimeRange(), collision.alias_raw(), jetderiveddatautilities::setEventSelectionBit(collision, upcGapResult), collision.rct_raw(), triggerBit); // note change multFT0C to multFT0M when problems with multFT0A are fixed
329+
products.jCollisionsTable(collision.bcId(), collision.posX(), collision.posY(), collision.posZ(), collision.collisionTime(), collision.multFV0A(), collision.multFV0C(), collision.multFT0A(), collision.multFT0C(), collision.centFV0A(), -1.0, collision.centFT0A(), collision.centFT0C(), collision.centFT0M(), collision.centFT0CVariant1(), hadronicRate, collision.trackOccupancyInTimeRange(), collision.alias_raw(), jetderiveddatautilities::setEventSelectionBit(collision, upcGapResult), collision.rct_raw(), triggerBit); // note change multFT0C to multFT0M when problems with multFT0A are fixed
331330
products.jCollisionsParentIndexTable(collision.globalIndex());
332-
products.jCollisionsBunchCrossingIndexTable(collision.bcId());
333331
}
334332
PROCESS_SWITCH(JetDerivedDataProducerTask, processCollisions, "produces derived collision tables", true);
335333

@@ -341,25 +339,22 @@ struct JetDerivedDataProducerTask {
341339
triggerDecider.initCCDB(ccdb.service, bc.runNumber(), bc.timestamp(), jetderiveddatautilities::JTriggerMasks);
342340
triggerBit = jetderiveddatautilities::setTriggerSelectionBit(triggerDecider.getTriggerOfInterestResults(bc.globalBC()));
343341
}
344-
products.jCollisionsTable(collision.posX(), collision.posY(), collision.posZ(), -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1, collision.alias_raw(), jetderiveddatautilities::setEventSelectionBit(collision), collision.rct_raw(), triggerBit);
342+
products.jCollisionsTable(collision.bcId(), collision.posX(), collision.posY(), collision.posZ(), collision.collisionTime(), -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1, collision.alias_raw(), jetderiveddatautilities::setEventSelectionBit(collision), collision.rct_raw(), triggerBit);
345343
products.jCollisionsParentIndexTable(collision.globalIndex());
346-
products.jCollisionsBunchCrossingIndexTable(collision.bcId());
347344
}
348345
PROCESS_SWITCH(JetDerivedDataProducerTask, processCollisionsWithoutCentralityAndMultiplicity, "produces derived collision tables without centrality or multiplicity", false);
349346

350347
void processCollisionsRun2(soa::Join<aod::Collisions, aod::EvSels, aod::FT0Mults, aod::CentRun2V0As, aod::CentRun2V0Ms>::iterator const& collision)
351348
{
352-
products.jCollisionsTable(collision.posX(), collision.posY(), collision.posZ(), -1.0, -1.0, -1.0, -1.0, collision.centRun2V0A(), collision.centRun2V0M(), -1.0, -1.0, -1.0, -1.0, -1.0, -1, collision.alias_raw(), jetderiveddatautilities::setEventSelectionBit(collision), collision.rct_raw(), 0); // note change multFT0C to multFT0M when problems with multFT0A are fixed
349+
products.jCollisionsTable(collision.bcId(), collision.posX(), collision.posY(), collision.posZ(), -1.0, -1.0, -1.0, -1.0, -1.0, collision.centRun2V0A(), collision.centRun2V0M(), -1.0, -1.0, -1.0, -1.0, -1.0, -1, collision.alias_raw(), jetderiveddatautilities::setEventSelectionBit(collision), collision.rct_raw(), 0); // note change multFT0C to multFT0M when problems with multFT0A are fixed
353350
products.jCollisionsParentIndexTable(collision.globalIndex());
354-
products.jCollisionsBunchCrossingIndexTable(collision.bcId());
355351
}
356352
PROCESS_SWITCH(JetDerivedDataProducerTask, processCollisionsRun2, "produces derived collision tables for Run 2 data", false);
357353

358354
void processCollisionsALICE3(aod::Collision const& collision)
359355
{
360-
products.jCollisionsTable(collision.posX(), collision.posY(), collision.posZ(), -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1, -1.0, 0, 0, 0);
356+
products.jCollisionsTable(collision.bcId(), collision.posX(), collision.posY(), collision.posZ(), -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1, -1.0, 0, 0, 0);
361357
products.jCollisionsParentIndexTable(collision.globalIndex());
362-
products.jCollisionsBunchCrossingIndexTable(-1);
363358
}
364359
PROCESS_SWITCH(JetDerivedDataProducerTask, processCollisionsALICE3, "produces derived collision tables for ALICE 3 simulations", false);
365360

@@ -383,43 +378,63 @@ struct JetDerivedDataProducerTask {
383378
void processMcCollisions(soa::Join<aod::McCollisions, aod::HepMCXSections, aod::MultsExtraMC, aod::McCentFT0Ms>::iterator const& mcCollision)
384379
{
385380
uint32_t rctDecision = ~uint32_t{0};
381+
int32_t bcId = -1;
386382
if (!config.isMCGenOnly) {
387-
rctDecision = bcRctMapping[mcCollision.bcId()];
383+
bcId = mcCollision.bcId();
384+
rctDecision = bcRctMapping[bcId];
385+
} else {
386+
products.jBCsTable(-1, -1, -1, -1, ~uint32_t{0}, ~uint32_t{0}, ~uint32_t{0});
387+
bcId = products.jBCsTable.lastIndex();
388388
}
389-
products.jMcCollisionsTable(mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), mcCollision.multMCFV0A(), mcCollision.multMCFT0A(), mcCollision.multMCFT0C(), mcCollision.centFT0M(), mcCollision.weight(), mcCollision.accepted(), mcCollision.attempted(), mcCollision.xsectGen(), mcCollision.xsectErr(), mcCollision.ptHard(), rctDecision, mcCollision.getGeneratorId(), mcCollision.getSubGeneratorId(), mcCollision.getSourceId(), mcCollision.impactParameter(), mcCollision.eventPlaneAngle());
389+
products.jMcCollisionsTable(bcId, mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), mcCollision.multMCFV0A(), mcCollision.multMCFT0A(), mcCollision.multMCFT0C(), mcCollision.centFT0M(), mcCollision.weight(), mcCollision.accepted(), mcCollision.attempted(), mcCollision.xsectGen(), mcCollision.xsectErr(), mcCollision.ptHard(), rctDecision, mcCollision.getGeneratorId(), mcCollision.getSubGeneratorId(), mcCollision.getSourceId(), mcCollision.impactParameter(), mcCollision.eventPlaneAngle());
390390
products.jMcCollisionsParentIndexTable(mcCollision.globalIndex());
391391
}
392392
PROCESS_SWITCH(JetDerivedDataProducerTask, processMcCollisions, "produces derived MC collision table", false);
393393

394394
void processMcCollisionsWithoutCentralityAndMultiplicity(soa::Join<aod::McCollisions, aod::HepMCXSections>::iterator const& mcCollision)
395395
{
396396
uint32_t rctDecision = ~uint32_t{0};
397+
int32_t bcId = -1;
397398
if (!config.isMCGenOnly) {
398-
rctDecision = bcRctMapping[mcCollision.bcId()];
399+
bcId = mcCollision.bcId();
400+
rctDecision = bcRctMapping[bcId];
401+
} else {
402+
products.jBCsTable(-1, -1, -1, -1, ~uint32_t{0}, ~uint32_t{0}, ~uint32_t{0});
403+
bcId = products.jBCsTable.lastIndex();
399404
}
400-
products.jMcCollisionsTable(mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), -1.0, -1.0, -1.0, -1.0, mcCollision.weight(), mcCollision.accepted(), mcCollision.attempted(), mcCollision.xsectGen(), mcCollision.xsectErr(), mcCollision.ptHard(), rctDecision, mcCollision.getGeneratorId(), mcCollision.getSubGeneratorId(), mcCollision.getSourceId(), mcCollision.impactParameter(), mcCollision.eventPlaneAngle());
405+
products.jMcCollisionsTable(bcId, mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), -1.0, -1.0, -1.0, -1.0, mcCollision.weight(), mcCollision.accepted(), mcCollision.attempted(), mcCollision.xsectGen(), mcCollision.xsectErr(), mcCollision.ptHard(), rctDecision, mcCollision.getGeneratorId(), mcCollision.getSubGeneratorId(), mcCollision.getSourceId(), mcCollision.impactParameter(), mcCollision.eventPlaneAngle());
401406
products.jMcCollisionsParentIndexTable(mcCollision.globalIndex());
402407
}
403408
PROCESS_SWITCH(JetDerivedDataProducerTask, processMcCollisionsWithoutCentralityAndMultiplicity, "produces derived MC collision table without centraility and multiplicity", false);
404409

405410
void processMcCollisionsWithoutXsection(soa::Join<aod::McCollisions, aod::MultsExtraMC, aod::McCentFT0Ms>::iterator const& mcCollision)
406411
{
407412
uint32_t rctDecision = ~uint32_t{0};
413+
int32_t bcId = -1;
408414
if (!config.isMCGenOnly) {
409-
rctDecision = bcRctMapping[mcCollision.bcId()];
415+
bcId = mcCollision.bcId();
416+
rctDecision = bcRctMapping[bcId];
417+
} else {
418+
products.jBCsTable(-1, -1, -1, -1, ~uint32_t{0}, ~uint32_t{0}, ~uint32_t{0});
419+
bcId = products.jBCsTable.lastIndex();
410420
}
411-
products.jMcCollisionsTable(mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), mcCollision.multMCFV0A(), mcCollision.multMCFT0A(), mcCollision.multMCFT0C(), mcCollision.centFT0M(), mcCollision.weight(), 1, 1, 1.0, 1.0, 999.0, rctDecision, mcCollision.getGeneratorId(), mcCollision.getSubGeneratorId(), mcCollision.getSourceId(), mcCollision.impactParameter(), mcCollision.eventPlaneAngle());
421+
products.jMcCollisionsTable(bcId, mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), mcCollision.multMCFV0A(), mcCollision.multMCFT0A(), mcCollision.multMCFT0C(), mcCollision.centFT0M(), mcCollision.weight(), 1, 1, 1.0, 1.0, 999.0, rctDecision, mcCollision.getGeneratorId(), mcCollision.getSubGeneratorId(), mcCollision.getSourceId(), mcCollision.impactParameter(), mcCollision.eventPlaneAngle());
412422
products.jMcCollisionsParentIndexTable(mcCollision.globalIndex());
413423
}
414424
PROCESS_SWITCH(JetDerivedDataProducerTask, processMcCollisionsWithoutXsection, "produces derived MC collision table without cross section information", false);
415425

416426
void processMcCollisionsWithoutCentralityAndMultiplicityAndXsection(aod::McCollision const& mcCollision)
417427
{
418428
uint32_t rctDecision = ~uint32_t{0};
429+
int32_t bcId = -1;
419430
if (!config.isMCGenOnly) {
420-
rctDecision = bcRctMapping[mcCollision.bcId()];
431+
bcId = mcCollision.bcId();
432+
rctDecision = bcRctMapping[bcId];
433+
} else {
434+
products.jBCsTable(-1, -1, -1, -1, ~uint32_t{0}, ~uint32_t{0}, ~uint32_t{0});
435+
bcId = products.jBCsTable.lastIndex();
421436
}
422-
products.jMcCollisionsTable(mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), -1.0, -1.0, -1.0, -1.0, mcCollision.weight(), 1, 1, 1.0, 1.0, 999.0, rctDecision, mcCollision.getGeneratorId(), mcCollision.getSubGeneratorId(), mcCollision.getSourceId(), mcCollision.impactParameter(), mcCollision.eventPlaneAngle());
437+
products.jMcCollisionsTable(bcId, mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), -1.0, -1.0, -1.0, -1.0, mcCollision.weight(), 1, 1, 1.0, 1.0, 999.0, rctDecision, mcCollision.getGeneratorId(), mcCollision.getSubGeneratorId(), mcCollision.getSourceId(), mcCollision.impactParameter(), mcCollision.eventPlaneAngle());
423438
products.jMcCollisionsParentIndexTable(mcCollision.globalIndex());
424439
}
425440
PROCESS_SWITCH(JetDerivedDataProducerTask, processMcCollisionsWithoutCentralityAndMultiplicityAndXsection, "produces derived MC collision table without centrality, multiplicity and cross section information", false);

0 commit comments

Comments
 (0)