Skip to content

Commit 030f25e

Browse files
authored
Adding features for derived data (#14953)
1 parent 64ed524 commit 030f25e

File tree

4 files changed

+169
-141
lines changed

4 files changed

+169
-141
lines changed

PWGJE/DataModel/JetReducedData.h

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -139,11 +139,6 @@ DECLARE_SOA_TABLE_STAGED(JCollisions, "JCOLLISION",
139139
jcollision::CentFT0C,
140140
jcollision::CentFT0M,
141141
jcollision::CentFT0CVariant1,
142-
jcollision::AmplitudesFV0,
143-
jcollision::AmplitudesFT0A,
144-
jcollision::AmplitudesFT0C,
145-
jcollision::AmplitudesFDDA,
146-
jcollision::AmplitudesFDDC,
147142
jcollision::HadronicRate,
148143
jcollision::TrackOccupancyInTimeRange,
149144
jcollision::Alias,
@@ -154,6 +149,13 @@ DECLARE_SOA_TABLE_STAGED(JCollisions, "JCOLLISION",
154149
using JCollision = JCollisions::iterator;
155150
using StoredJCollision = StoredJCollisions::iterator;
156151

152+
DECLARE_SOA_TABLE_STAGED(JCollisionUPCs, "JCOLLISIONUPC",
153+
jcollision::AmplitudesFV0,
154+
jcollision::AmplitudesFT0A,
155+
jcollision::AmplitudesFT0C,
156+
jcollision::AmplitudesFDDA,
157+
jcollision::AmplitudesFDDC);
158+
157159
DECLARE_SOA_TABLE_STAGED(JCollisionMcInfos, "JCOLLISIONMCINFO",
158160
jcollision::Weight,
159161
jcollision::GetSubGeneratorId);

PWGJE/TableProducer/derivedDataProducer.cxx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ struct JetDerivedDataProducerTask {
7878
Produces<aod::JBCs> jBCsTable;
7979
Produces<aod::JBCPIs> jBCParentIndexTable;
8080
Produces<aod::JCollisions> jCollisionsTable;
81+
Produces<aod::JCollisionUPCs> jCollisionUPCsTable;
8182
Produces<aod::JCollisionMcInfos> jCollisionMcInfosTable;
8283
Produces<aod::JCollisionPIs> jCollisionsParentIndexTable;
8384
Produces<aod::JCollisionBCs> jCollisionsBunchCrossingIndexTable;
@@ -323,9 +324,10 @@ struct JetDerivedDataProducerTask {
323324
amplitudesFDDC.clear();
324325
}
325326
}
327+
products.jCollisionUPCsTable(amplitudesFV0, amplitudesFT0A, amplitudesFT0C, amplitudesFDDA, amplitudesFDDC);
326328
}
327329

328-
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(), amplitudesFV0, amplitudesFT0A, amplitudesFT0C, amplitudesFDDA, amplitudesFDDC, 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
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
329331
products.jCollisionsParentIndexTable(collision.globalIndex());
330332
products.jCollisionsBunchCrossingIndexTable(collision.bcId());
331333
}
@@ -339,23 +341,23 @@ struct JetDerivedDataProducerTask {
339341
triggerDecider.initCCDB(ccdb.service, bc.runNumber(), bc.timestamp(), jetderiveddatautilities::JTriggerMasks);
340342
triggerBit = jetderiveddatautilities::setTriggerSelectionBit(triggerDecider.getTriggerOfInterestResults(bc.globalBC()));
341343
}
342-
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, amplitudesFV0, amplitudesFT0A, amplitudesFT0C, amplitudesFDDA, amplitudesFDDC, -1.0, -1, collision.alias_raw(), jetderiveddatautilities::setEventSelectionBit(collision), collision.rct_raw(), triggerBit);
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);
343345
products.jCollisionsParentIndexTable(collision.globalIndex());
344346
products.jCollisionsBunchCrossingIndexTable(collision.bcId());
345347
}
346348
PROCESS_SWITCH(JetDerivedDataProducerTask, processCollisionsWithoutCentralityAndMultiplicity, "produces derived collision tables without centrality or multiplicity", false);
347349

348350
void processCollisionsRun2(soa::Join<aod::Collisions, aod::EvSels, aod::FT0Mults, aod::CentRun2V0As, aod::CentRun2V0Ms>::iterator const& collision)
349351
{
350-
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, amplitudesFV0, amplitudesFT0A, amplitudesFT0C, amplitudesFDDA, amplitudesFDDC, 1.0, -1, collision.alias_raw(), jetderiveddatautilities::setEventSelectionBit(collision), collision.rct_raw(), 0); // note change multFT0C to multFT0M when problems with multFT0A are fixed
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
351353
products.jCollisionsParentIndexTable(collision.globalIndex());
352354
products.jCollisionsBunchCrossingIndexTable(collision.bcId());
353355
}
354356
PROCESS_SWITCH(JetDerivedDataProducerTask, processCollisionsRun2, "produces derived collision tables for Run 2 data", false);
355357

356358
void processCollisionsALICE3(aod::Collision const& collision)
357359
{
358-
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, amplitudesFV0, amplitudesFT0A, amplitudesFT0C, amplitudesFDDA, amplitudesFDDC, -1.0, -1, -1.0, 0, 0, 0);
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);
359361
products.jCollisionsParentIndexTable(collision.globalIndex());
360362
products.jCollisionsBunchCrossingIndexTable(-1);
361363
}

PWGJE/TableProducer/derivedDataWriter.cxx

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ struct JetDerivedDataWriter {
6363
Produces<aod::StoredJBCs> storedJBCsTable;
6464
Produces<aod::StoredJBCPIs> storedJBCParentIndexTable;
6565
Produces<aod::StoredJCollisions> storedJCollisionsTable;
66+
Produces<aod::StoredJCollisionUPCs> storedJCollisionUPCsTable;
6667
Produces<aod::StoredJCollisionMcInfos> storedJCollisionMcInfosTable;
6768
Produces<aod::StoredJCollisionPIs> storedJCollisionsParentIndexTable;
6869
Produces<aod::StoredJCollisionBCs> storedJCollisionsBunchCrossingIndexTable;
@@ -463,12 +464,27 @@ struct JetDerivedDataWriter {
463464
collisionMapping.clear();
464465
collisionMapping.resize(collisions.size(), -1);
465466

467+
for (auto const& collision : collisions) {
468+
if (collision.isCollisionSelected()) {
469+
products.storedJCollisionsTable(collision.posX(), collision.posY(), collision.posZ(), collision.multFV0A(), collision.multFV0C(), collision.multFT0A(), collision.multFT0C(), collision.centFV0A(), collision.centFV0M(), collision.centFT0A(), collision.centFT0C(), collision.centFT0M(), collision.centFT0CVariant1(), collision.hadronicRate(), collision.trackOccupancyInTimeRange(), collision.alias_raw(), collision.eventSel(), collision.rct_raw(), collision.triggerSel());
470+
collisionMapping[collision.globalIndex()] = products.storedJCollisionsTable.lastIndex();
471+
products.storedJCollisionMcInfosTable(collision.weight(), collision.getSubGeneratorId());
472+
products.storedJCollisionsParentIndexTable(collision.collisionId());
473+
if (doprocessBCs) {
474+
products.storedJCollisionsBunchCrossingIndexTable(bcMapping[collision.bcId()]);
475+
}
476+
}
477+
}
478+
}
479+
PROCESS_SWITCH(JetDerivedDataWriter, processColllisons, "write out output tables for collisions", true);
480+
481+
void processUPCCollisionInfos(soa::Join<aod::JCollisions, aod::JCollisionUPCs, aod::JCollisionSelections> const& collisions)
482+
{
466483
std::vector<float> amplitudesFV0;
467484
std::vector<float> amplitudesFT0A;
468485
std::vector<float> amplitudesFT0C;
469486
std::vector<float> amplitudesFDDA;
470487
std::vector<float> amplitudesFDDC;
471-
472488
for (auto const& collision : collisions) {
473489
if (collision.isCollisionSelected()) {
474490
amplitudesFV0.clear();
@@ -486,17 +502,11 @@ struct JetDerivedDataWriter {
486502
std::copy(amplitudesFT0CSpan.begin(), amplitudesFT0CSpan.end(), std::back_inserter(amplitudesFT0C));
487503
std::copy(amplitudesFDDASpan.begin(), amplitudesFDDASpan.end(), std::back_inserter(amplitudesFDDA));
488504
std::copy(amplitudesFDDCSpan.begin(), amplitudesFDDCSpan.end(), std::back_inserter(amplitudesFDDC));
489-
products.storedJCollisionsTable(collision.posX(), collision.posY(), collision.posZ(), collision.multFV0A(), collision.multFV0C(), collision.multFT0A(), collision.multFT0C(), collision.centFV0A(), collision.centFV0M(), collision.centFT0A(), collision.centFT0C(), collision.centFT0M(), collision.centFT0CVariant1(), amplitudesFV0, amplitudesFT0A, amplitudesFT0C, amplitudesFDDA, amplitudesFDDC, collision.hadronicRate(), collision.trackOccupancyInTimeRange(), collision.alias_raw(), collision.eventSel(), collision.rct_raw(), collision.triggerSel());
490-
collisionMapping[collision.globalIndex()] = products.storedJCollisionsTable.lastIndex();
491-
products.storedJCollisionMcInfosTable(collision.weight(), collision.getSubGeneratorId());
492-
products.storedJCollisionsParentIndexTable(collision.collisionId());
493-
if (doprocessBCs) {
494-
products.storedJCollisionsBunchCrossingIndexTable(bcMapping[collision.bcId()]);
495-
}
505+
products.storedJCollisionUPCsTable(amplitudesFV0, amplitudesFT0A, amplitudesFT0C, amplitudesFDDA, amplitudesFDDC);
496506
}
497507
}
498508
}
499-
PROCESS_SWITCH(JetDerivedDataWriter, processColllisons, "write out output tables for collisions", true);
509+
PROCESS_SWITCH(JetDerivedDataWriter, processUPCCollisionInfos, "write out table for upc collision info", false);
500510

501511
void processTracks(soa::Join<aod::JCollisions, aod::JCollisionSelections> const& collisions, soa::Join<aod::JTracks, aod::JTrackExtras, aod::JTrackPIs> const& tracks)
502512
{

0 commit comments

Comments
 (0)