Skip to content

Commit 866bcb4

Browse files
authored
Add occupancy cut to trackEfficiency task
1. Add occupancy cut to trackEfficiency.cxx for general purpose Pb-Pb MC 2. Fix some cuts in weighted process functions
1 parent d8b3775 commit 866bcb4

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

PWGJE/Tasks/jetSpectraCharged.cxx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -549,7 +549,7 @@ struct JetSpectraCharged {
549549
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) {
550550
return;
551551
}
552-
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
552+
if (std::abs(collision.posZ()) > vertexZCut) {
553553
return;
554554
}
555555
for (auto const& track : tracks) {
@@ -591,7 +591,7 @@ struct JetSpectraCharged {
591591
}
592592
registry.fill(HIST("h_collisions"), 1.5);
593593
registry.fill(HIST("h_collisions_weighted"), 1.5, eventWeight);
594-
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
594+
if (std::abs(collision.posZ()) > vertexZCut) {
595595
return;
596596
}
597597
registry.fill(HIST("h_collisions"), 2.5);
@@ -869,6 +869,7 @@ struct JetSpectraCharged {
869869
}
870870
registry.fill(HIST("h_mcColl_counts"), 2.5);
871871
registry.fill(HIST("h_mcColl_counts_weight"), 2.5, eventWeight);
872+
registry.fill(HIST("h_mc_zvertex"), mccollision.posZ(), eventWeight);
872873

873874
bool hasSel8Coll = false;
874875
for (auto const& collision : collisions) {

PWGJE/Tasks/trackEfficiency.cxx

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ struct TrackEfficiency {
5353
// Tracking efficiency process function configurables:
5454
Configurable<bool> checkPrimaryPart{"checkPrimaryPart", true, "0: doesn't check mcparticle.isPhysicalPrimary() - 1: checks particle.isPhysicalPrimary()"};
5555
Configurable<bool> checkCentrality{"checkCentrality", false, ""};
56+
Configurable<bool> checkOccupancy{"checkOccupancy", false, "check occupancy only in general purpose Pb-Pb MC, default as false"};
5657
Configurable<int> acceptSplitCollisions{"acceptSplitCollisions", 0, "0: only look at mcCollisions that are not split; 1: accept split mcCollisions, 2: accept split mcCollisions but only look at the first reco collision associated with it"};
5758
Configurable<float> trackEtaAcceptanceCountQA{"trackEtaAcceptanceCountQA", 0.9, "eta acceptance"}; // removed from actual cuts for now because all the histograms have an eta axis
5859
Configurable<float> centralityMin{"centralityMin", -999, ""};
@@ -164,6 +165,9 @@ struct TrackEfficiency {
164165
registry.get<TH1>(HIST("hMcCollCutsCounts"))->GetXaxis()->SetBinLabel(5, "recoCollEvtSel");
165166
registry.get<TH1>(HIST("hMcCollCutsCounts"))->GetXaxis()->SetBinLabel(6, "centralityCut");
166167
registry.get<TH1>(HIST("hMcCollCutsCounts"))->GetXaxis()->SetBinLabel(7, "ptHatCut");
168+
if(checkOccupancy){
169+
registry.get<TH1>(HIST("hMcCollCutsCounts"))->GetXaxis()->SetBinLabel(8, "occupancyCut");
170+
}
167171

168172
registry.add("hMcPartCutsCounts", "McPart cuts count checks", {HistType::kTH1F, {{10, 0., 10.}}});
169173
registry.get<TH1>(HIST("hMcPartCutsCounts"))->GetXaxis()->SetBinLabel(1, "allPartsInSelMcColl");
@@ -315,13 +319,17 @@ struct TrackEfficiency {
315319

316320
bool hasSel8Coll = false;
317321
bool centralityCheck = false;
322+
bool occupancyCheck = false;
318323
if (acceptSplitCollisions == SplitOkCheckFirstAssocCollOnly || acceptSplitCollisions == NonSplitOnly) { // check only that the first reconstructed collision passes the check (for the NonSplitOnly case, there's only one associated collision)
319324
if (jetderiveddatautilities::selectCollision(collisions.begin(), eventSelectionBits, skipMBGapEvents)) { // Skipping MC events that have not a single selected reconstructed collision ; effect unclear if mcColl is split
320325
hasSel8Coll = true;
321326
}
322327
if (!checkCentrality || ((centralityMin < collisions.begin().centrality()) && (collisions.begin().centrality() < centralityMax))) { // effect unclear if mcColl is split
323328
centralityCheck = true;
324329
}
330+
if (!checkOccupancy || ((trackOccupancyInTimeRangeMin < collisions.begin().trackOccupancyInTimeRange()) && (collisions.begin().trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMax))) { // check occupancy only in GP Pb-Pb MC
331+
occupancyCheck = true;
332+
}
325333
} else if (acceptSplitCollisions == SplitOkCheckAnyAssocColl) { // check that at least one of the reconstructed collisions passes the checks
326334
for (auto const& collision : collisions) {
327335
if (jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) { // Skipping MC events that have not a single selected reconstructed collision ; effect unclear if mcColl is split
@@ -330,6 +338,9 @@ struct TrackEfficiency {
330338
if (!checkCentrality || ((centralityMin < collision.centrality()) && (collision.centrality() < centralityMax))) { // effect unclear if mcColl is split
331339
centralityCheck = true;
332340
}
341+
if (!checkOccupancy || ((trackOccupancyInTimeRangeMin < collisions.begin().trackOccupancyInTimeRange()) && (collisions.begin().trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMax))) { // check occupancy only in GP Pb-Pb MC
342+
occupancyCheck = true;
343+
}
333344
}
334345
}
335346
if (!hasSel8Coll) {
@@ -348,6 +359,13 @@ struct TrackEfficiency {
348359
}
349360
registry.fill(HIST("hMcCollCutsCounts"), 6.5); // ptHat condition
350361

362+
if(checkOccupancy){
363+
if(!occupancyCheck){
364+
return;
365+
}
366+
registry.fill(HIST("hMcCollCutsCounts"), 7.5);
367+
}
368+
351369
for (auto const& jMcParticle : jMcParticles) {
352370
registry.fill(HIST("hMcPartCutsCounts"), 0.5); // allPartsInSelMcColl
353371

0 commit comments

Comments
 (0)