Skip to content

Commit d31acf0

Browse files
committed
fix weight and add event counts
1 parent bc617cd commit d31acf0

File tree

1 file changed

+152
-0
lines changed

1 file changed

+152
-0
lines changed

PWGJE/Tasks/jetTaggerHFQA.cxx

Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ struct JetTaggerHFQA {
152152
AxisSpec axisFracSecPt = {100, 0, 1, "#frac{#Sigma#it{p}_{T}^{secondary track}}{#it{p}_{T, jet}}"};
153153
AxisSpec axisMultScaledFT0M = {binMultScaledFT0M, "Multiplicity classes"};
154154

155+
registry.add("h_collision_events", "data;mcd;mcp evnets", {HistType::kTH1F, {{4, 0.0, 4.0}}});
155156
if (doprocessTracksDca) {
156157
if (fillIPxy) {
157158
registry.add("h_impact_parameter_xy", "", {HistType::kTH1F, {{axisImpactParameterXY}}});
@@ -1385,11 +1386,121 @@ struct JetTaggerHFQA {
13851386
}
13861387
PROCESS_SWITCH(JetTaggerHFQA, processValFlavourDefMCP, "to check the validation of jet-flavour definition when compared to distance for mcp jets", false);
13871388

1389+
void processResponseMatrix(soa::Filtered<soa::Join<aod::JetCollisionsMCD, aod::JCollisionPIs>>::iterator const& collision, soa::Join<JetTableMCD, TagTableMCD, JetTableMCDMCP> const& mcdjets, soa::Join<JetTableMCP, JetTableMCPMCD> const& /*mcpjets*/)
1390+
{
1391+
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
1392+
return;
1393+
}
1394+
for (auto const& mcdjet : mcdjets) {
1395+
if (!jetfindingutilities::isInEtaAcceptance(mcdjet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
1396+
continue;
1397+
}
1398+
if (!isAcceptedJet<aod::JetTracks>(mcdjet)) {
1399+
continue;
1400+
}
1401+
auto jetflavour = mcdjet.origin();
1402+
registry.fill(HIST("h2_jet_pt_flavour"), mcdjet.pt(), jetflavour);
1403+
registry.fill(HIST("h2_jet_eta_flavour"), mcdjet.eta(), jetflavour);
1404+
registry.fill(HIST("h2_jet_phi_flavour"), mcdjet.phi(), jetflavour);
1405+
if (!mcdjet.has_matchedJetGeo())
1406+
continue;
1407+
for (auto const& mcpjet : mcdjet.template matchedJetGeo_as<soa::Join<JetTableMCP, JetTableMCPMCD>>()) {
1408+
registry.fill(HIST("h3_jet_pt_jet_pt_part_matchedgeo_flavour"), mcdjet.pt(), mcpjet.pt(), mcdjet.origin());
1409+
}
1410+
}
1411+
}
1412+
PROCESS_SWITCH(JetTaggerHFQA, processResponseMatrix, "create response matrix with flavour", false);
1413+
1414+
void processResponseMatrixWeighted(soa::Filtered<soa::Join<aod::JetCollisionsMCD, aod::JCollisionPIs, aod::JCollisionOutliers>>::iterator const& collision, soa::Join<JetTableMCD, TagTableMCD, JetTableMCDMCP> const& mcdjets, soa::Join<JetTableMCP, JetTableMCPMCD> const& /*mcpjets*/)
1415+
{
1416+
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
1417+
return;
1418+
}
1419+
if (collision.isOutlier()) {
1420+
return;
1421+
}
1422+
auto eventWeight = collision.weight();
1423+
for (auto const& mcdjet : mcdjets) {
1424+
if (!jetfindingutilities::isInEtaAcceptance(mcdjet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
1425+
continue;
1426+
}
1427+
if (!isAcceptedJet<aod::JetTracks>(mcdjet)) {
1428+
continue;
1429+
}
1430+
float pTHat = 10. / (std::pow(eventWeight, 1.0 / pTHatExponent));
1431+
if (mcdjet.pt() > pTHatMaxMCD * pTHat) {
1432+
continue;
1433+
}
1434+
auto jetflavour = mcdjet.origin();
1435+
registry.fill(HIST("h2_jet_pt_flavour"), mcdjet.pt(), jetflavour, eventWeight);
1436+
registry.fill(HIST("h2_jet_eta_flavour"), mcdjet.eta(), jetflavour, eventWeight);
1437+
registry.fill(HIST("h2_jet_phi_flavour"), mcdjet.phi(), jetflavour, eventWeight);
1438+
if (!mcdjet.has_matchedJetGeo())
1439+
continue;
1440+
for (auto const& mcpjet : mcdjet.template matchedJetGeo_as<soa::Join<JetTableMCP, JetTableMCPMCD>>()) {
1441+
if (mcpjet.pt() > pTHatMaxMCP * pTHat) {
1442+
continue;
1443+
}
1444+
registry.fill(HIST("h3_jet_pt_jet_pt_part_matchedgeo_flavour"), mcdjet.pt(), mcpjet.pt(), mcdjet.origin(), eventWeight);
1445+
}
1446+
}
1447+
}
1448+
PROCESS_SWITCH(JetTaggerHFQA, processResponseMatrixWeighted, "create response matrix with flavour weighted", false);
1449+
1450+
void processMCP(JetTableMCP const& mcpjets, aod::JetParticles const&, soa::Join<aod::JetMcCollisions, aod::JMcCollisionPIs> const& mcCollisions, soa::Filtered<aod::JetCollisionsMCD> const& collisions)
1451+
{
1452+
registry.fill(HIST("h_collision_events"), 2.5); // mcp events
1453+
for (auto const& mcpjet : mcpjets) {
1454+
if (!jetfindingutilities::isInEtaAcceptance(mcpjet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
1455+
continue;
1456+
}
1457+
if (!isAcceptedJet<aod::JetParticles>(mcpjet)) {
1458+
continue;
1459+
}
1460+
auto mcCollision = mcCollisions.sliceBy(McCollisionsPerMCPCollision, mcpjet.mcCollisionId());
1461+
if (checkMcCollisionIsMatched) {
1462+
auto collisionspermcpjet = collisions.sliceBy(collisionsPerMCPCollision, mcpjet.mcCollisionId());
1463+
if (collisionspermcpjet.size() >= 1 && jetderiveddatautilities::selectCollision(collisionspermcpjet.begin(), eventSelectionBits)) {
1464+
fillHistogramMCP(mcpjet, 1., mcCollision.begin().ptHard());
1465+
}
1466+
} else {
1467+
fillHistogramMCP(mcpjet, 1., mcCollision.begin().ptHard());
1468+
}
1469+
}
1470+
}
1471+
PROCESS_SWITCH(JetTaggerHFQA, processMCP, "Fill impact parameter imformation for mcp jets", false);
1472+
1473+
void processMCPWeighted(JetTableMCP const& mcpjets, aod::JetParticles const&, soa::Join<aod::JetMcCollisions, aod::JMcCollisionPIs> const& mcCollisions, soa::Filtered<soa::Join<aod::JetCollisionsMCD, aod::JCollisionOutliers>> const& collisions)
1474+
{
1475+
registry.fill(HIST("h_collision_events"), 2.5); // mcp events
1476+
for (auto const& mcpjet : mcpjets) {
1477+
if (!jetfindingutilities::isInEtaAcceptance(mcpjet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
1478+
continue;
1479+
}
1480+
if (!isAcceptedJet<aod::JetParticles>(mcpjet)) {
1481+
continue;
1482+
}
1483+
auto mcCollision = mcCollisions.sliceBy(McCollisionsPerMCPCollision, mcpjet.mcCollisionId());
1484+
if (mcCollision.size() == 1) {
1485+
if (checkMcCollisionIsMatched) {
1486+
auto collisionspermcpjet = collisions.sliceBy(collisionsPerMCPCollision, mcpjet.mcCollisionId());
1487+
if (collisionspermcpjet.size() >= 1 && jetderiveddatautilities::selectCollision(collisionspermcpjet.begin(), eventSelectionBits) && !collisionspermcpjet.begin().isOutlier()) {
1488+
fillHistogramMCP(mcpjet, mcCollision.begin().weight(), mcCollision.begin().ptHard());
1489+
}
1490+
} else {
1491+
fillHistogramMCP(mcpjet, mcCollision.begin().weight(), mcCollision.begin().ptHard());
1492+
}
1493+
}
1494+
}
1495+
}
1496+
PROCESS_SWITCH(JetTaggerHFQA, processMCPWeighted, "Fill impact parameter imformation for mcp jets weighted", false);
1497+
13881498
void processIPsData(soa::Filtered<aod::JetCollisions>::iterator const& collision, soa::Join<JetTableData, TagTableData> const& jets, JetTagTracksData const& tracks)
13891499
{
13901500
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
13911501
return;
13921502
}
1503+
registry.fill(HIST("h_collision_events"), 0.5); // data events
13931504
for (auto const& jet : jets) {
13941505
if (!jetfindingutilities::isInEtaAcceptance(jet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
13951506
continue;
@@ -1407,6 +1518,7 @@ struct JetTaggerHFQA {
14071518
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
14081519
return;
14091520
}
1521+
registry.fill(HIST("h_collision_events"), 1.5); // mcd events
14101522
for (auto const& mcdjet : mcdjets) {
14111523
if (!jetfindingutilities::isInEtaAcceptance(mcdjet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
14121524
continue;
@@ -1424,6 +1536,7 @@ struct JetTaggerHFQA {
14241536
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
14251537
return;
14261538
}
1539+
registry.fill(HIST("h_collision_events"), 1.5, collision.weight()); // mcd events
14271540
for (auto const& mcdjet : mcdjets) {
14281541
if (!jetfindingutilities::isInEtaAcceptance(mcdjet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
14291542
continue;
@@ -1480,6 +1593,7 @@ struct JetTaggerHFQA {
14801593
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
14811594
return;
14821595
}
1596+
registry.fill(HIST("h_collision_events"), 1.5); // mcd events
14831597
for (auto const& mcdjet : mcdjets) {
14841598
auto const particlesPerColl = particles.sliceBy(particlesPerCollision, collision.mcCollisionId());
14851599
if (!jetfindingutilities::isInEtaAcceptance(mcdjet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
@@ -1504,6 +1618,10 @@ struct JetTaggerHFQA {
15041618
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
15051619
return;
15061620
}
1621+
if (collision.isOutlier()) {
1622+
return;
1623+
}
1624+
registry.fill(HIST("h_collision_events"), 1.5, collision.weight()); // mcd events
15071625
for (auto const& mcdjet : mcdjets) {
15081626
auto const particlesPerColl = particles.sliceBy(particlesPerCollision, collision.mcCollisionId());
15091627
if (!jetfindingutilities::isInEtaAcceptance(mcdjet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
@@ -1535,6 +1653,8 @@ struct JetTaggerHFQA {
15351653
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
15361654
return;
15371655
}
1656+
if (!doprocessIPsData)
1657+
registry.fill(HIST("h_collision_events"), 0.5); // data events
15381658
for (auto const& jet : jets) {
15391659
if (!jetfindingutilities::isInEtaAcceptance(jet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
15401660
continue;
@@ -1552,6 +1672,7 @@ struct JetTaggerHFQA {
15521672
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
15531673
return;
15541674
}
1675+
registry.fill(HIST("h_collision_events"), 1.5); // mcd events
15551676
for (auto const& mcdjet : mcdjets) {
15561677
if (!jetfindingutilities::isInEtaAcceptance(mcdjet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
15571678
continue;
@@ -1569,6 +1690,10 @@ struct JetTaggerHFQA {
15691690
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
15701691
return;
15711692
}
1693+
if (collision.isOutlier()) {
1694+
return;
1695+
}
1696+
registry.fill(HIST("h_collision_events"), 1.5, collision.weight()); // mcd events
15721697
for (auto const& mcdjet : mcdjets) {
15731698
if (!jetfindingutilities::isInEtaAcceptance(mcdjet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
15741699
continue;
@@ -1586,6 +1711,7 @@ struct JetTaggerHFQA {
15861711
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
15871712
return;
15881713
}
1714+
registry.fill(HIST("h_collision_events"), 1.5); // mcd events
15891715
for (auto const& mcdjet : mcdjets) {
15901716
if (!jetfindingutilities::isInEtaAcceptance(mcdjet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
15911717
continue;
@@ -1606,6 +1732,10 @@ struct JetTaggerHFQA {
16061732
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
16071733
return;
16081734
}
1735+
if (collision.isOutlier()) {
1736+
return;
1737+
}
1738+
registry.fill(HIST("h_collision_events"), 1.5, collision.weight()); // mcd events
16091739
for (auto const& mcdjet : mcdjets) {
16101740
if (!jetfindingutilities::isInEtaAcceptance(mcdjet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
16111741
continue;
@@ -1626,6 +1756,7 @@ struct JetTaggerHFQA {
16261756
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
16271757
return;
16281758
}
1759+
registry.fill(HIST("h_collision_events"), 0.5); // mcd events
16291760
for (auto const& jet : jets) {
16301761
if (!jetfindingutilities::isInEtaAcceptance(jet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
16311762
continue;
@@ -1643,6 +1774,7 @@ struct JetTaggerHFQA {
16431774
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
16441775
return;
16451776
}
1777+
registry.fill(HIST("h_collision_events"), 0.5); // mcd events
16461778
for (auto const& jet : jets) {
16471779
if (!jetfindingutilities::isInEtaAcceptance(jet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
16481780
continue;
@@ -1681,6 +1813,7 @@ struct JetTaggerHFQA {
16811813
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
16821814
return;
16831815
}
1816+
registry.fill(HIST("h_collision_events"), 1.5); // mcd events
16841817
for (auto const& mcdjet : mcdjets) {
16851818
if (!jetfindingutilities::isInEtaAcceptance(mcdjet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
16861819
continue;
@@ -1698,6 +1831,10 @@ struct JetTaggerHFQA {
16981831
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
16991832
return;
17001833
}
1834+
if (collision.isOutlier()) {
1835+
return;
1836+
}
1837+
registry.fill(HIST("h_collision_events"), 1.5, collision.weight()); // mcd events
17011838
for (auto const& mcdjet : mcdjets) {
17021839
if (!jetfindingutilities::isInEtaAcceptance(mcdjet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
17031840
continue;
@@ -1715,6 +1852,7 @@ struct JetTaggerHFQA {
17151852
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
17161853
return;
17171854
}
1855+
registry.fill(HIST("h_collision_events"), 1.5); // mcd events
17181856
for (auto const& mcdjet : mcdjets) {
17191857
if (!jetfindingutilities::isInEtaAcceptance(mcdjet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
17201858
continue;
@@ -1736,6 +1874,10 @@ struct JetTaggerHFQA {
17361874
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
17371875
return;
17381876
}
1877+
if (collision.isOutlier()) {
1878+
return;
1879+
}
1880+
registry.fill(HIST("h_collision_events"), 1.5, collision.weight()); // mcd events
17391881
for (auto const& mcdjet : mcdjets) {
17401882
if (!jetfindingutilities::isInEtaAcceptance(mcdjet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
17411883
continue;
@@ -1757,6 +1899,7 @@ struct JetTaggerHFQA {
17571899
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
17581900
return;
17591901
}
1902+
registry.fill(HIST("h_collision_events"), 1.5); // mcd events
17601903
for (auto const& mcdjet : mcdjets) {
17611904
if (!jetfindingutilities::isInEtaAcceptance(mcdjet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
17621905
continue;
@@ -1774,6 +1917,10 @@ struct JetTaggerHFQA {
17741917
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
17751918
return;
17761919
}
1920+
if (collision.isOutlier()) {
1921+
return;
1922+
}
1923+
registry.fill(HIST("h_collision_events"), 1.5, collision.weight()); // mcd events
17771924
for (auto const& mcdjet : mcdjets) {
17781925
if (!jetfindingutilities::isInEtaAcceptance(mcdjet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
17791926
continue;
@@ -1791,6 +1938,7 @@ struct JetTaggerHFQA {
17911938
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
17921939
return;
17931940
}
1941+
registry.fill(HIST("h_collision_events"), 1.5); // mcd events
17941942
for (auto const& mcdjet : mcdjets) {
17951943
if (!jetfindingutilities::isInEtaAcceptance(mcdjet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
17961944
continue;
@@ -1812,6 +1960,10 @@ struct JetTaggerHFQA {
18121960
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
18131961
return;
18141962
}
1963+
if (collision.isOutlier()) {
1964+
return;
1965+
}
1966+
registry.fill(HIST("h_collision_events"), 1.5, collision.weight()); // mcd events
18151967
for (auto const& mcdjet : mcdjets) {
18161968
if (!jetfindingutilities::isInEtaAcceptance(mcdjet, jetEtaCuts->at(0), jetEtaCuts->at(1), trackCuts->at(2), trackCuts->at(3))) {
18171969
continue;

0 commit comments

Comments
 (0)