Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions PWGJE/Core/JetDerivedDataUtilities.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
selUPCSingleGapA = 10,
selUPCSingleGapC = 11,
selUPCDoubleGap = 12,
selTriggerTrackSignal = 13 // special bit for derived data. not used like other selection bits
};

enum JCollisionSubGeneratorId {
Expand All @@ -77,7 +78,7 @@
return true;
}
bool isOrCondition = false;
for (auto eventSelectionMaskBit : eventSelectionMaskBits) {

Check failure on line 81 in PWGJE/Core/JetDerivedDataUtilities.h

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
if (eventSelectionMaskBit == -1) {
isOrCondition = true;
continue;
Expand Down Expand Up @@ -265,7 +266,7 @@
// Check for EMCAL in readout requires any of the EMCAL trigger classes (including EMC in MB trigger) to fire
std::array<triggerAliases, 11> selectAliases = {{triggerAliases::kTVXinEMC, triggerAliases::kEMC7, triggerAliases::kDMC7, triggerAliases::kEG1, triggerAliases::kEG2, triggerAliases::kDG1, triggerAliases::kDG2, triggerAliases::kEJ1, triggerAliases::kEJ2, triggerAliases::kDJ1, triggerAliases::kDJ2}};
bool found = false;
for (auto alias : selectAliases) {

Check failure on line 269 in PWGJE/Core/JetDerivedDataUtilities.h

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
if (collision.alias_bit(alias)) {
found = true;
break;
Expand Down Expand Up @@ -307,7 +308,7 @@
if (triggerMaskBits.size() == 0) {
return true;
}
for (auto triggerMaskBit : triggerMaskBits) {

Check failure on line 311 in PWGJE/Core/JetDerivedDataUtilities.h

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
if (collision.triggerSel() & (1ULL << triggerMaskBit)) {
return true;
}
Expand Down
2 changes: 1 addition & 1 deletion PWGJE/DataModel/JetReducedData.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@

namespace jbc
{
DECLARE_SOA_INDEX_COLUMN(BC, bc);

Check failure on line 36 in PWGJE/DataModel/JetReducedData.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(RunNumber, runNumber, int);
DECLARE_SOA_COLUMN(GlobalBC, globalBC, uint64_t);
DECLARE_SOA_COLUMN(Timestamp, timestamp, uint64_t);
Expand Down Expand Up @@ -72,7 +72,7 @@
namespace jcollision
{
DECLARE_SOA_INDEX_COLUMN(Collision, collision);
DECLARE_SOA_INDEX_COLUMN(JBC, bc);

Check failure on line 75 in PWGJE/DataModel/JetReducedData.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(PosX, posX, float);
DECLARE_SOA_COLUMN(PosY, posY, float);
DECLARE_SOA_COLUMN(PosZ, posZ, float);
Expand Down Expand Up @@ -100,7 +100,7 @@
DECLARE_SOA_COLUMN(HadronicRate, hadronicRate, float);
DECLARE_SOA_COLUMN(Weight, weight, float);
DECLARE_SOA_COLUMN(GetSubGeneratorId, getSubGeneratorId, int);
DECLARE_SOA_COLUMN(EventSel, eventSel, uint16_t);
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
DECLARE_SOA_BITMAP_COLUMN(Alias, alias, 32);
DECLARE_SOA_BITMAP_COLUMN(Rct, rct, 32);
DECLARE_SOA_COLUMN(TrackOccupancyInTimeRange, trackOccupancyInTimeRange, int);
Expand All @@ -122,7 +122,7 @@
DECLARE_SOA_COLUMN(CountsWithTVXAndZVertexAndSel7KINT7, countsWithTVXAndZVertexAndSel7KINT7, int);
DECLARE_SOA_COLUMN(CountsWithCustomSelection, countsWithCustomSelection, int);
DECLARE_SOA_COLUMN(IsAmbiguous, isAmbiguous, bool);
DECLARE_SOA_COLUMN(IsEMCALReadout, isEmcalReadout, bool);

Check failure on line 125 in PWGJE/DataModel/JetReducedData.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(IsOutlier, isOutlier, bool);
} // namespace jcollision

Expand Down Expand Up @@ -205,7 +205,7 @@
namespace jmccollision
{
DECLARE_SOA_INDEX_COLUMN(McCollision, mcCollision);
DECLARE_SOA_INDEX_COLUMN(JBC, bc);

Check failure on line 208 in PWGJE/DataModel/JetReducedData.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(PosX, posX, float);
DECLARE_SOA_COLUMN(PosY, posY, float);
DECLARE_SOA_COLUMN(PosZ, posZ, float);
Expand Down Expand Up @@ -261,7 +261,7 @@

namespace jmccollisionlb
{
DECLARE_SOA_INDEX_COLUMN(JMcCollision, mcCollision);

Check failure on line 264 in PWGJE/DataModel/JetReducedData.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
}

DECLARE_SOA_TABLE_STAGED(JMcCollisionLbs, "JMCCOLLISIONLB",
Expand All @@ -272,12 +272,12 @@

namespace jtrack
{
DECLARE_SOA_INDEX_COLUMN(JCollision, collision);

Check failure on line 275 in PWGJE/DataModel/JetReducedData.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_INDEX_COLUMN(Track, track);
DECLARE_SOA_COLUMN(Pt, pt, float);
DECLARE_SOA_COLUMN(Eta, eta, float);
DECLARE_SOA_COLUMN(Phi, phi, float);
DECLARE_SOA_COLUMN(DCAX, dcaX, float);

Check failure on line 280 in PWGJE/DataModel/JetReducedData.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(DCAY, dcaY, float);
DECLARE_SOA_COLUMN(DCAZ, dcaZ, float);
DECLARE_SOA_COLUMN(DCAXY, dcaXY, float);
Expand Down
8 changes: 6 additions & 2 deletions PWGJE/DataModel/JetReducedDataSelector.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,18 @@ namespace o2::aod
namespace jetreduceddataselector
{
DECLARE_SOA_COLUMN(IsCollisionSelected, isCollisionSelected, bool);
DECLARE_SOA_COLUMN(IsCollisionSelectedForSignalTriggerTrack, isCollisionSelectedForSignalTriggerTrack, bool);
DECLARE_SOA_COLUMN(IsMcCollisionSelected, isMcCollisionSelected, bool);
DECLARE_SOA_COLUMN(IsMcCollisionSelectedForSignalTriggerTrack, isMcCollisionSelectedForSignalTriggerTrack, bool);

} // namespace jetreduceddataselector
DECLARE_SOA_TABLE(JCollisionSelections, "AOD", "JCOLLSELECTION",
jetreduceddataselector::IsCollisionSelected);
jetreduceddataselector::IsCollisionSelected,
jetreduceddataselector::IsCollisionSelectedForSignalTriggerTrack);

DECLARE_SOA_TABLE(JMcCollisionSelections, "AOD", "JMCCOLLSELECTION",
jetreduceddataselector::IsMcCollisionSelected);
jetreduceddataselector::IsMcCollisionSelected,
jetreduceddataselector::IsMcCollisionSelectedForSignalTriggerTrack);
} // namespace o2::aod

#endif // PWGJE_DATAMODEL_JETREDUCEDDATASELECTOR_H_
16 changes: 12 additions & 4 deletions PWGJE/TableProducer/derivedDataSelector.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -524,20 +524,28 @@ struct JetDerivedDataSelector {

void processStoreCollisionDecision(aod::JCollision const& collision)
{
bool isSelectedForSignalTriggerTrack = false;
if (doprocessCollisionSplitting || doprocessCollisionSplittingMC) {
isSelectedForSignalTriggerTrack = collisionSplitFlag[collision.globalIndex()];
}
if (collisionFlag[collision.globalIndex()]) {
collisionSelectionsTable(true);
collisionSelectionsTable(true, isSelectedForSignalTriggerTrack);
} else {
collisionSelectionsTable(false);
collisionSelectionsTable(false, isSelectedForSignalTriggerTrack);
}
}
PROCESS_SWITCH(JetDerivedDataSelector, processStoreCollisionDecision, "write out decision of storing collision", true);

void processStoreMcCollisionDecision(aod::JMcCollision const& mcCollision)
{
bool isSelectedForSignalTriggerTrack = false;
if (doprocessCollisionSplittingMC) {
isSelectedForSignalTriggerTrack = mcCollisionSplitFlag[mcCollision.globalIndex()];
}
if (mcCollisionFlag[mcCollision.globalIndex()]) {
mcCollisionSelectionsTable(true);
mcCollisionSelectionsTable(true, isSelectedForSignalTriggerTrack);
} else {
mcCollisionSelectionsTable(false);
mcCollisionSelectionsTable(false, isSelectedForSignalTriggerTrack);
}
}
PROCESS_SWITCH(JetDerivedDataSelector, processStoreMcCollisionDecision, "write out decision of storing mcCollision", false);
Expand Down
12 changes: 10 additions & 2 deletions PWGJE/TableProducer/derivedDataWriter.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -482,7 +482,11 @@ struct JetDerivedDataWriter {

for (auto const& collision : collisions) {
if (collision.isCollisionSelected()) {
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());
uint16_t eventSelection = collision.eventSel();
if (collision.isCollisionSelectedForSignalTriggerTrack()) {
SETBIT(eventSelection, jetderiveddatautilities::JCollisionSel::selTriggerTrackSignal);
}
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());
collisionMapping[collision.globalIndex()] = products.storedJCollisionsTable.lastIndex();
products.storedJCollisionMcInfosTable(collision.weight(), collision.getSubGeneratorId());
products.storedJCollisionsParentIndexTable(collision.collisionId());
Expand Down Expand Up @@ -685,7 +689,11 @@ struct JetDerivedDataWriter {
mcCollisionMapping.resize(mcCollisions.size(), -1);
for (auto const& mcCollision : mcCollisions) {
if (mcCollision.isMcCollisionSelected()) {
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());
uint16_t eventSelection = mcCollision.eventSel();
if (mcCollision.isMcCollisionSelectedForSignalTriggerTrack()) {
SETBIT(eventSelection, jetderiveddatautilities::JCollisionSel::selTriggerTrackSignal);
}
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());
products.storedJMcCollisionsParentIndexTable(mcCollision.mcCollisionId());
mcCollisionMapping[mcCollision.globalIndex()] = products.storedJMcCollisionsTable.lastIndex();
}
Expand Down
Loading