Skip to content

Commit f0b0c88

Browse files
authored
[PWGJE] adding bit for derived data trigger tracks (#17458)
1 parent 125fee7 commit f0b0c88

5 files changed

Lines changed: 30 additions & 9 deletions

File tree

PWGJE/Core/JetDerivedDataUtilities.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ enum JCollisionSel {
5454
selUPCSingleGapA = 10,
5555
selUPCSingleGapC = 11,
5656
selUPCDoubleGap = 12,
57+
selTriggerTrackSignal = 13 // special bit for derived data. not used like other selection bits
5758
};
5859

5960
enum JCollisionSubGeneratorId {

PWGJE/DataModel/JetReducedData.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ DECLARE_SOA_COLUMN(AmplitudesFDDC, amplitudesFDDC, std::vector<float>);
100100
DECLARE_SOA_COLUMN(HadronicRate, hadronicRate, float);
101101
DECLARE_SOA_COLUMN(Weight, weight, float);
102102
DECLARE_SOA_COLUMN(GetSubGeneratorId, getSubGeneratorId, int);
103-
DECLARE_SOA_COLUMN(EventSel, eventSel, uint16_t);
103+
DECLARE_SOA_COLUMN(EventSel, eventSel, uint16_t); // if the type is changed it also needs to be changed in derived data utilities and the writer
104104
DECLARE_SOA_BITMAP_COLUMN(Alias, alias, 32);
105105
DECLARE_SOA_BITMAP_COLUMN(Rct, rct, 32);
106106
DECLARE_SOA_COLUMN(TrackOccupancyInTimeRange, trackOccupancyInTimeRange, int);

PWGJE/DataModel/JetReducedDataSelector.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,18 @@ namespace o2::aod
2626
namespace jetreduceddataselector
2727
{
2828
DECLARE_SOA_COLUMN(IsCollisionSelected, isCollisionSelected, bool);
29+
DECLARE_SOA_COLUMN(IsCollisionSelectedForSignalTriggerTrack, isCollisionSelectedForSignalTriggerTrack, bool);
2930
DECLARE_SOA_COLUMN(IsMcCollisionSelected, isMcCollisionSelected, bool);
31+
DECLARE_SOA_COLUMN(IsMcCollisionSelectedForSignalTriggerTrack, isMcCollisionSelectedForSignalTriggerTrack, bool);
3032

3133
} // namespace jetreduceddataselector
3234
DECLARE_SOA_TABLE(JCollisionSelections, "AOD", "JCOLLSELECTION",
33-
jetreduceddataselector::IsCollisionSelected);
35+
jetreduceddataselector::IsCollisionSelected,
36+
jetreduceddataselector::IsCollisionSelectedForSignalTriggerTrack);
3437

3538
DECLARE_SOA_TABLE(JMcCollisionSelections, "AOD", "JMCCOLLSELECTION",
36-
jetreduceddataselector::IsMcCollisionSelected);
39+
jetreduceddataselector::IsMcCollisionSelected,
40+
jetreduceddataselector::IsMcCollisionSelectedForSignalTriggerTrack);
3741
} // namespace o2::aod
3842

3943
#endif // PWGJE_DATAMODEL_JETREDUCEDDATASELECTOR_H_

PWGJE/TableProducer/derivedDataSelector.cxx

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -524,20 +524,28 @@ struct JetDerivedDataSelector {
524524

525525
void processStoreCollisionDecision(aod::JCollision const& collision)
526526
{
527+
bool isSelectedForSignalTriggerTrack = false;
528+
if (doprocessCollisionSplitting || doprocessCollisionSplittingMC) {
529+
isSelectedForSignalTriggerTrack = collisionSplitFlag[collision.globalIndex()];
530+
}
527531
if (collisionFlag[collision.globalIndex()]) {
528-
collisionSelectionsTable(true);
532+
collisionSelectionsTable(true, isSelectedForSignalTriggerTrack);
529533
} else {
530-
collisionSelectionsTable(false);
534+
collisionSelectionsTable(false, isSelectedForSignalTriggerTrack);
531535
}
532536
}
533537
PROCESS_SWITCH(JetDerivedDataSelector, processStoreCollisionDecision, "write out decision of storing collision", true);
534538

535539
void processStoreMcCollisionDecision(aod::JMcCollision const& mcCollision)
536540
{
541+
bool isSelectedForSignalTriggerTrack = false;
542+
if (doprocessCollisionSplittingMC) {
543+
isSelectedForSignalTriggerTrack = mcCollisionSplitFlag[mcCollision.globalIndex()];
544+
}
537545
if (mcCollisionFlag[mcCollision.globalIndex()]) {
538-
mcCollisionSelectionsTable(true);
546+
mcCollisionSelectionsTable(true, isSelectedForSignalTriggerTrack);
539547
} else {
540-
mcCollisionSelectionsTable(false);
548+
mcCollisionSelectionsTable(false, isSelectedForSignalTriggerTrack);
541549
}
542550
}
543551
PROCESS_SWITCH(JetDerivedDataSelector, processStoreMcCollisionDecision, "write out decision of storing mcCollision", false);

PWGJE/TableProducer/derivedDataWriter.cxx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -482,7 +482,11 @@ struct JetDerivedDataWriter {
482482

483483
for (auto const& collision : collisions) {
484484
if (collision.isCollisionSelected()) {
485-
products.storedJCollisionsTable(bcMapping[collision.bcId()], collision.posX(), collision.posY(), collision.posZ(), collision.collisionTime(), 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());
485+
uint16_t eventSelection = collision.eventSel();
486+
if (collision.isCollisionSelectedForSignalTriggerTrack()) {
487+
SETBIT(eventSelection, jetderiveddatautilities::JCollisionSel::selTriggerTrackSignal);
488+
}
489+
products.storedJCollisionsTable(bcMapping[collision.bcId()], collision.posX(), collision.posY(), collision.posZ(), collision.collisionTime(), 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(), eventSelection, collision.rct_raw(), collision.triggerSel());
486490
collisionMapping[collision.globalIndex()] = products.storedJCollisionsTable.lastIndex();
487491
products.storedJCollisionMcInfosTable(collision.weight(), collision.getSubGeneratorId());
488492
products.storedJCollisionsParentIndexTable(collision.collisionId());
@@ -685,7 +689,11 @@ struct JetDerivedDataWriter {
685689
mcCollisionMapping.resize(mcCollisions.size(), -1);
686690
for (auto const& mcCollision : mcCollisions) {
687691
if (mcCollision.isMcCollisionSelected()) {
688-
products.storedJMcCollisionsTable(bcMapping[mcCollision.bcId()], mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), mcCollision.multFV0A(), mcCollision.multFT0A(), mcCollision.multFT0C(), mcCollision.centFT0M(), mcCollision.weight(), mcCollision.accepted(), mcCollision.attempted(), mcCollision.xsectGen(), mcCollision.xsectErr(), mcCollision.ptHard(), mcCollision.eventSel(), mcCollision.rct_raw(), mcCollision.getGeneratorId(), mcCollision.getSubGeneratorId(), mcCollision.getSourceId(), mcCollision.impactParameter(), mcCollision.eventPlaneAngle());
692+
uint16_t eventSelection = mcCollision.eventSel();
693+
if (mcCollision.isMcCollisionSelectedForSignalTriggerTrack()) {
694+
SETBIT(eventSelection, jetderiveddatautilities::JCollisionSel::selTriggerTrackSignal);
695+
}
696+
products.storedJMcCollisionsTable(bcMapping[mcCollision.bcId()], mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), mcCollision.multFV0A(), mcCollision.multFT0A(), mcCollision.multFT0C(), mcCollision.centFT0M(), mcCollision.weight(), mcCollision.accepted(), mcCollision.attempted(), mcCollision.xsectGen(), mcCollision.xsectErr(), mcCollision.ptHard(), eventSelection, mcCollision.rct_raw(), mcCollision.getGeneratorId(), mcCollision.getSubGeneratorId(), mcCollision.getSourceId(), mcCollision.impactParameter(), mcCollision.eventPlaneAngle());
689697
products.storedJMcCollisionsParentIndexTable(mcCollision.mcCollisionId());
690698
mcCollisionMapping[mcCollision.globalIndex()] = products.storedJMcCollisionsTable.lastIndex();
691699
}

0 commit comments

Comments
 (0)