Skip to content

Commit bddf56f

Browse files
authored
[PWGJE] add cross section info for derived,reduced data (#10211)
1 parent 99652fa commit bddf56f

File tree

4 files changed

+34
-4
lines changed

4 files changed

+34
-4
lines changed

PWGJE/DataModel/JetReducedData.h

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,14 +158,22 @@ DECLARE_SOA_COLUMN(PosY, posY, float);
158158
DECLARE_SOA_COLUMN(PosZ, posZ, float);
159159
DECLARE_SOA_COLUMN(Weight, weight, float);
160160
DECLARE_SOA_COLUMN(SubGeneratorId, subGeneratorId, int);
161+
DECLARE_SOA_COLUMN(Accepted, accepted, uint64_t);
162+
DECLARE_SOA_COLUMN(Attempted, attempted, uint64_t);
163+
DECLARE_SOA_COLUMN(XsectGen, xsectGen, float);
164+
DECLARE_SOA_COLUMN(XsectErr, xsectErr, float);
161165
} // namespace jmccollision
162166
DECLARE_SOA_TABLE_STAGED(JMcCollisions, "JMCCOLLISION",
163167
o2::soa::Index<>,
164168
jmccollision::PosX,
165169
jmccollision::PosY,
166170
jmccollision::PosZ,
167171
jmccollision::Weight,
168-
jmccollision::SubGeneratorId);
172+
jmccollision::SubGeneratorId,
173+
jmccollision::Accepted,
174+
jmccollision::Attempted,
175+
jmccollision::XsectGen,
176+
jmccollision::XsectErr);
169177

170178
using JMcCollision = JMcCollisions::iterator;
171179
using StoredJMcCollision = StoredJMcCollisions::iterator;

PWGJE/TableProducer/derivedDataProducer.cxx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,11 +238,18 @@ struct JetDerivedDataProducerTask {
238238

239239
void processMcCollisions(aod::McCollision const& mcCollision)
240240
{
241-
products.jMcCollisionsTable(mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), mcCollision.weight(), mcCollision.getSubGeneratorId());
241+
products.jMcCollisionsTable(mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), mcCollision.weight(), mcCollision.getSubGeneratorId(), 1, 1, 1.0, 1.0);
242242
products.jMcCollisionsParentIndexTable(mcCollision.globalIndex());
243243
}
244244
PROCESS_SWITCH(JetDerivedDataProducerTask, processMcCollisions, "produces derived MC collision table", false);
245245

246+
void processMcCollisionsWithXsection(soa::Join<aod::McCollisions, aod::HepMCXSections>::iterator const& mcCollision)
247+
{
248+
products.jMcCollisionsTable(mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), mcCollision.weight(), mcCollision.getSubGeneratorId(), mcCollision.accepted(), mcCollision.attempted(), mcCollision.xsectGen(), mcCollision.xsectErr());
249+
products.jMcCollisionsParentIndexTable(mcCollision.globalIndex());
250+
}
251+
PROCESS_SWITCH(JetDerivedDataProducerTask, processMcCollisionsWithXsection, "produces derived MC collision table with cross section information", false);
252+
246253
void processTracks(soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksCov, aod::TracksDCA, aod::TracksDCACov, aod::TrackSelection, aod::TrackSelectionExtension>::iterator const& track, aod::Collisions const&)
247254
{
248255
products.jTracksTable(track.collisionId(), track.pt(), track.eta(), track.phi(), jetderiveddatautilities::setTrackSelectionBit(track, track.dcaZ(), dcaZMax));

PWGJE/TableProducer/derivedDataWriter.cxx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -421,8 +421,7 @@ struct JetDerivedDataWriter {
421421
mcCollisionMapping.resize(mcCollisions.size(), -1);
422422
for (auto const& mcCollision : mcCollisions) {
423423
if (mcCollision.isMcCollisionSelected()) {
424-
425-
products.storedJMcCollisionsTable(mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), mcCollision.weight(), mcCollision.subGeneratorId());
424+
products.storedJMcCollisionsTable(mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), mcCollision.weight(), mcCollision.subGeneratorId(), mcCollision.accepted(), mcCollision.attempted(), mcCollision.xsectGen(), mcCollision.xsectErr());
426425
products.storedJMcCollisionsParentIndexTable(mcCollision.mcCollisionId());
427426
mcCollisionMapping[mcCollision.globalIndex()] = products.storedJMcCollisionsTable.lastIndex();
428427
}

PWGJE/Tasks/jetFinderQA.cxx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,14 @@ struct JetFinderQATask {
327327
if (doprocessMCCollisionsWeighted) {
328328
AxisSpec weightAxis = {{VARIABLE_WIDTH, 1e-13, 1e-12, 1e-11, 1e-10, 1e-9, 1e-8, 1e-7, 1e-6, 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1.0, 10.0}, "weights"};
329329
registry.add("h_collision_eventweight_part", "event weight;event weight;entries", {HistType::kTH1F, {weightAxis}});
330+
registry.add("h_accepted", "No. of Generated Events;No. of Generated Events;entries", {HistType::kTH1F, {{5000, 0., 5000.}}});
331+
registry.add("h_attempted", "No. of Attempted Events;No. of Attempted Events;entries", {HistType::kTH1F, {{5000, 0., 5000.}}});
332+
registry.add("h_xsecGen", "Cross section in pb; Cross section in pb; entries", {HistType::kTH1F, {{200000, 0., 2e11}}});
333+
registry.add("h_xsecErr", "Error associated with the cross section", {HistType::kTH1F, {{200000, 0., 2e11}}});
334+
registry.add("h_xsecGenSum", "Summed Cross section per collision in pb; Summed Cross section per collision in pb; entries", {HistType::kTH1F, {{1, 0., 1.}}});
335+
registry.add("h_xsecGenSumWeighted", "Summed Cross section per collision in pb with weights; Summed Cross section per collision in pb with weights; entries", {HistType::kTH1F, {{1, 0., 1.}}});
336+
registry.add("h_xsecErrSum", "Summed Cross section error per collision in pb; Summed Cross section error per collision in pb; entries", {HistType::kTH1F, {{1, 0., 1.}}});
337+
registry.add("h_xsecErrSumWeighted", "Summed Cross section error per collision in pb with weights; Summed Cross section error per collision in pb with weights; entries", {HistType::kTH1F, {{1, 0., 1.}}});
330338
}
331339

332340
AxisSpec occupancyAxis = {142, -1.5, 14000.5, "occupancy"};
@@ -949,6 +957,14 @@ struct JetFinderQATask {
949957
return;
950958
}
951959
registry.fill(HIST("h_collision_eventweight_part"), collision.weight());
960+
registry.fill(HIST("h_accepted"), collision.accepted());
961+
registry.fill(HIST("h_attempted"), collision.attempted());
962+
registry.fill(HIST("h_xsecGen"), collision.xsectGen());
963+
registry.fill(HIST("h_xsecErr"), collision.xsectErr());
964+
registry.fill(HIST("h_xsecGenSum"), 0.5, collision.xsectGen());
965+
registry.fill(HIST("h_xsecGenSumWeighted"), 0.5, collision.xsectGen() * collision.weight());
966+
registry.fill(HIST("h_xsecErrSum"), 0.5, collision.xsectErr());
967+
registry.fill(HIST("h_xsecErrSumWeighted"), 0.5, collision.xsectErr() * collision.weight());
952968
}
953969
PROCESS_SWITCH(JetFinderQATask, processMCCollisionsWeighted, "collision QA for weighted events", false);
954970

0 commit comments

Comments
 (0)