Skip to content

Commit bbd8035

Browse files
authored
[PWGJE] Add configuration for centrality estimators (#13303)
1 parent 04586ec commit bbd8035

File tree

1 file changed

+115
-18
lines changed

1 file changed

+115
-18
lines changed

PWGJE/Tasks/jetSpectraCharged.cxx

Lines changed: 115 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ struct JetSpectraCharged {
5454
Configurable<float> vertexZCut{"vertexZCut", 10.0f, "Accepted z-vertex range"};
5555
Configurable<float> centralityMin{"centralityMin", -999.0, "minimum centrality"};
5656
Configurable<float> centralityMax{"centralityMax", 999.0, "maximum centrality"};
57+
Configurable<bool> checkCentFT0M{"checkCentFT0M", false, "0: centFT0C as default, 1: use centFT0M estimator"};
5758
Configurable<float> trackEtaMin{"trackEtaMin", -0.9, "minimum eta acceptance for tracks"};
5859
Configurable<float> trackEtaMax{"trackEtaMax", 0.9, "maximum eta acceptance for tracks"};
5960
Configurable<float> trackPtMin{"trackPtMin", 0.15, "minimum pT acceptance for tracks"};
@@ -102,6 +103,7 @@ struct JetSpectraCharged {
102103

103104
if (doprocessCollisions || doprocessCollisionsWeighted) {
104105
registry.add("h_collisions", "event status;event status;entries", {HistType::kTH1F, {{4, 0.0, 4.0}}});
106+
registry.add("h_centrality_collisions", "event status vs. centrality;entries;centrality", {HistType::kTH2F, {centralityAxis, {4, 0.0, 4.0}}});
105107
registry.add("h_fakecollisions", "event status;event status;entries", {HistType::kTH1F, {{4, 0.0, 4.0}}});
106108
registry.add("h2_centrality_occupancy", "centrality vs occupancy; centrality; occupancy", {HistType::kTH2F, {centralityAxis, {60, 0, 30000}}});
107109
registry.add("h_collisions_Zvertex", "position of collision ;#it{Z} (cm)", {HistType::kTH1F, {{300, -15.0, 15.0}}});
@@ -244,7 +246,7 @@ struct JetSpectraCharged {
244246
}
245247

246248
Filter trackCuts = (aod::jtrack::pt >= trackPtMin && aod::jtrack::pt < trackPtMax && aod::jtrack::eta > trackEtaMin && aod::jtrack::eta < trackEtaMax);
247-
Filter eventCuts = (nabs(aod::jcollision::posZ) < vertexZCut && aod::jcollision::centFT0M >= centralityMin && aod::jcollision::centFT0M < centralityMax);
249+
Filter eventCuts = (nabs(aod::jcollision::posZ) < vertexZCut);
248250
Preslice<ChargedMCDMatchedJets> mcdjetsPerJCollision = o2::aod::jet::collisionId;
249251

250252
template <typename TTracks, typename TJets>
@@ -415,7 +417,7 @@ struct JetSpectraCharged {
415417
continue;
416418
}
417419
if (jetMCD.r() == round(selectedJetsRadius * 100.0f)) {
418-
double dpt = jetMCP.pt() - jetMCD.pt();
420+
double dpt = jetMCD.pt() - jetMCP.pt();
419421
if (jetfindingutilities::isInEtaAcceptance(jetMCD, jetEtaMin, jetEtaMax, trackEtaMin, trackEtaMax)) {
420422
registry.fill(HIST("h2_jet_pt_mcd_jet_pt_mcp_matchedgeo_mcdetaconstraint"), jetMCD.pt(), jetMCP.pt(), weight);
421423
registry.fill(HIST("h2_jet_phi_mcd_jet_phi_mcp_matchedgeo_mcdetaconstraint"), jetMCD.phi(), jetMCP.phi(), weight);
@@ -444,7 +446,7 @@ struct JetSpectraCharged {
444446
continue;
445447
}
446448
if (jetMCD.r() == round(selectedJetsRadius * 100.0f)) {
447-
double dpt = jetMCP.pt() - jetMCD.pt();
449+
double dpt = jetMCD.pt() - jetMCP.pt();
448450
if (jetfindingutilities::isInEtaAcceptance(jetMCD, jetEtaMin, jetEtaMax, trackEtaMin, trackEtaMax)) {
449451
registry.fill(HIST("h2_jet_pt_mcd_jet_pt_mcp_matchedpt_mcdetaconstraint"), jetMCD.pt(), jetMCP.pt(), weight);
450452
registry.fill(HIST("h2_jet_phi_mcd_jet_phi_mcp_matchedpt_mcdetaconstraint"), jetMCD.phi(), jetMCP.phi(), weight);
@@ -473,7 +475,7 @@ struct JetSpectraCharged {
473475
continue;
474476
}
475477
if (jetMCD.template matchedJetGeo_first_as<std::decay_t<TTag>>().globalIndex() == jetMCD.template matchedJetPt_first_as<std::decay_t<TTag>>().globalIndex()) { // not a good way to do this
476-
double dpt = jetMCP.pt() - jetMCD.pt();
478+
double dpt = jetMCD.pt() - jetMCP.pt();
477479
if (jetfindingutilities::isInEtaAcceptance(jetMCD, jetEtaMin, jetEtaMax, trackEtaMin, trackEtaMax)) {
478480
registry.fill(HIST("h2_jet_pt_mcd_jet_pt_mcp_matchedgeopt_mcdetaconstraint"), jetMCD.pt(), jetMCP.pt(), weight);
479481
registry.fill(HIST("h2_jet_phi_mcd_jet_phi_mcp_matchedgeopt_mcdetaconstraint"), jetMCD.phi(), jetMCP.phi(), weight);
@@ -508,7 +510,7 @@ struct JetSpectraCharged {
508510
if (jetMCD.r() == round(selectedJetsRadius * 100.0f)) {
509511
double corrTagjetpt = jetMCP.pt() - (mcrho * jetMCP.area());
510512
double corrBasejetpt = jetMCD.pt() - (rho * jetMCD.area());
511-
double dcorrpt = corrTagjetpt - corrBasejetpt;
513+
double dcorrpt = corrBasejetpt - corrTagjetpt;
512514
if (jetfindingutilities::isInEtaAcceptance(jetMCD, jetEtaMin, jetEtaMax, trackEtaMin, trackEtaMax)) {
513515
registry.fill(HIST("h2_jet_pt_mcd_jet_pt_mcp_matchedgeo_rhoareasubtracted_mcdetaconstraint"), corrBasejetpt, corrTagjetpt, weight);
514516
registry.fill(HIST("h2_jet_pt_mcd_jet_pt_diff_matchedgeo_rhoareasubtracted"), corrBasejetpt, dcorrpt / corrBasejetpt, weight);
@@ -526,6 +528,15 @@ struct JetSpectraCharged {
526528
void processQC(soa::Filtered<aod::JetCollisions>::iterator const& collision,
527529
soa::Filtered<soa::Join<aod::JetTracks, aod::JTrackExtras>> const& tracks)
528530
{
531+
float centrality = 0.0;
532+
if (checkCentFT0M) {
533+
centrality = collision.centFT0M();
534+
} else {
535+
centrality = collision.centFT0C();
536+
}
537+
if (centrality < centralityMin || centrality > centralityMax) {
538+
return;
539+
}
529540
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) {
530541
return;
531542
}
@@ -563,16 +574,28 @@ struct JetSpectraCharged {
563574

564575
void processCollisions(soa::Filtered<aod::JetCollisions>::iterator const& collision)
565576
{
577+
float centrality = 0.0;
578+
if (checkCentFT0M) {
579+
centrality = collision.centFT0M();
580+
} else {
581+
centrality = collision.centFT0C();
582+
}
583+
if (centrality < centralityMin || centrality > centralityMax) {
584+
return;
585+
}
566586
registry.fill(HIST("h_collisions"), 0.5);
587+
registry.fill(HIST("h_centrality_collisions"), centrality, 0.5);
567588
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) {
568589
return;
569590
}
570591
registry.fill(HIST("h_collisions"), 1.5);
592+
registry.fill(HIST("h_centrality_collisions"), centrality, 1.5);
571593
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
572594
return;
573595
}
574596
registry.fill(HIST("h_collisions"), 2.5);
575-
registry.fill(HIST("h2_centrality_occupancy"), collision.centFT0M(), collision.trackOccupancyInTimeRange());
597+
registry.fill(HIST("h_centrality_collisions"), centrality, 2.5);
598+
registry.fill(HIST("h2_centrality_occupancy"), centrality, collision.trackOccupancyInTimeRange());
576599
registry.fill(HIST("h_collisions_Zvertex"), collision.posZ());
577600
}
578601
PROCESS_SWITCH(JetSpectraCharged, processCollisions, "collisions Data and MCD", true);
@@ -596,7 +619,6 @@ struct JetSpectraCharged {
596619
}
597620
registry.fill(HIST("h_collisions"), 2.5);
598621
registry.fill(HIST("h_collisions_weighted"), 2.5, eventWeight);
599-
registry.fill(HIST("h2_centrality_occupancy"), collision.centFT0M(), collision.trackOccupancyInTimeRange());
600622
registry.fill(HIST("h_collisions_Zvertex"), collision.posZ(), eventWeight);
601623
}
602624
PROCESS_SWITCH(JetSpectraCharged, processCollisionsWeighted, "weighted collsions for MCD", false);
@@ -605,6 +627,15 @@ struct JetSpectraCharged {
605627
soa::Join<aod::ChargedJets, aod::ChargedJetConstituents> const& jets,
606628
aod::JetTracks const&)
607629
{
630+
float centrality = 0.0;
631+
if (checkCentFT0M) {
632+
centrality = collision.centFT0M();
633+
} else {
634+
centrality = collision.centFT0C();
635+
}
636+
if (centrality < centralityMin || centrality > centralityMax) {
637+
return;
638+
}
608639
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) {
609640
return;
610641
}
@@ -618,7 +649,7 @@ struct JetSpectraCharged {
618649
if (!isAcceptedJet<aod::JetTracks>(jet)) {
619650
continue;
620651
}
621-
fillJetHistograms(jet, collision.centFT0M());
652+
fillJetHistograms(jet, centrality);
622653
}
623654
}
624655
PROCESS_SWITCH(JetSpectraCharged, processSpectraData, "jet spectra for Data", false);
@@ -627,6 +658,15 @@ struct JetSpectraCharged {
627658
soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents> const& jets,
628659
aod::JetTracks const&)
629660
{
661+
float centrality = 0.0;
662+
if (checkCentFT0M) {
663+
centrality = collision.centFT0M();
664+
} else {
665+
centrality = collision.centFT0C();
666+
}
667+
if (centrality < centralityMin || centrality > centralityMax) {
668+
return;
669+
}
630670
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) {
631671
return;
632672
}
@@ -640,7 +680,7 @@ struct JetSpectraCharged {
640680
if (!isAcceptedJet<aod::JetTracks>(jet)) {
641681
continue;
642682
}
643-
fillJetHistograms(jet, collision.centFT0M());
683+
fillJetHistograms(jet, centrality);
644684
}
645685
}
646686
PROCESS_SWITCH(JetSpectraCharged, processSpectraMCD, "jet spectra for MCD", false);
@@ -649,6 +689,15 @@ struct JetSpectraCharged {
649689
soa::Join<aod::ChargedJets, aod::ChargedJetConstituents> const& jets,
650690
aod::JetTracks const&)
651691
{
692+
float centrality = 0.0;
693+
if (checkCentFT0M) {
694+
centrality = collision.centFT0M();
695+
} else {
696+
centrality = collision.centFT0C();
697+
}
698+
if (centrality < centralityMin || centrality > centralityMax) {
699+
return;
700+
}
652701
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) {
653702
return;
654703
}
@@ -662,7 +711,7 @@ struct JetSpectraCharged {
662711
if (!isAcceptedJet<aod::JetTracks>(jet)) {
663712
continue;
664713
}
665-
fillJetAreaSubHistograms(jet, collision.centFT0M(), collision.rho());
714+
fillJetAreaSubHistograms(jet, centrality, collision.rho());
666715
}
667716
}
668717
PROCESS_SWITCH(JetSpectraCharged, processSpectraAreaSubData, "jet spectra with rho-area subtraction for Data", false);
@@ -671,6 +720,15 @@ struct JetSpectraCharged {
671720
soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents> const& jets,
672721
aod::JetTracks const&)
673722
{
723+
float centrality = 0.0;
724+
if (checkCentFT0M) {
725+
centrality = collision.centFT0M();
726+
} else {
727+
centrality = collision.centFT0C();
728+
}
729+
if (centrality < centralityMin || centrality > centralityMax) {
730+
return;
731+
}
674732
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) {
675733
return;
676734
}
@@ -684,7 +742,7 @@ struct JetSpectraCharged {
684742
if (!isAcceptedJet<aod::JetTracks>(jet)) {
685743
continue;
686744
}
687-
fillJetAreaSubHistograms(jet, collision.centFT0M(), collision.rho());
745+
fillJetAreaSubHistograms(jet, centrality, collision.rho());
688746
}
689747
}
690748
PROCESS_SWITCH(JetSpectraCharged, processSpectraAreaSubMCD, "jet spectra with rho-area subtraction for MCD", false);
@@ -713,7 +771,7 @@ struct JetSpectraCharged {
713771
}
714772
registry.fill(HIST("h_jet_phat"), pTHat);
715773
registry.fill(HIST("h_jet_phat_weighted"), pTHat, jetweight);
716-
fillJetHistograms(jet, collision.centFT0M(), jetweight);
774+
fillJetHistograms(jet, collision.centFT0C(), jetweight);
717775
}
718776
}
719777
PROCESS_SWITCH(JetSpectraCharged, processSpectraMCDWeighted, "jet finder QA mcd with weighted events", false);
@@ -746,7 +804,7 @@ struct JetSpectraCharged {
746804
if (jetderiveddatautilities::selectCollision(collisions.begin(), eventSelectionBits, skipMBGapEvents)) {
747805
hasSel8Coll = true;
748806
}
749-
if ((centralityMin < collisions.begin().centFT0M()) && (collisions.begin().centFT0M() < centralityMax)) {
807+
if ((centralityMin < collisions.begin().centFT0C()) && (collisions.begin().centFT0C() < centralityMax)) {
750808
centralityIsGood = true;
751809
}
752810
if ((trackOccupancyInTimeRangeMin < collisions.begin().trackOccupancyInTimeRange()) && (collisions.begin().trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMax)) {
@@ -757,7 +815,7 @@ struct JetSpectraCharged {
757815
if (jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) {
758816
hasSel8Coll = true;
759817
}
760-
if ((centralityMin < collision.centFT0M()) && (collision.centFT0M() < centralityMax)) {
818+
if ((centralityMin < collision.centFT0C()) && (collision.centFT0C() < centralityMax)) {
761819
centralityIsGood = true;
762820
}
763821
if ((trackOccupancyInTimeRangeMin < collision.trackOccupancyInTimeRange()) && (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMax)) {
@@ -813,10 +871,16 @@ struct JetSpectraCharged {
813871
bool centralityIsGood = false;
814872
bool occupancyIsGood = false;
815873
for (auto const& collision : collisions) {
874+
float centrality = 0.0;
875+
if (checkCentFT0M) {
876+
centrality = collision.centFT0M();
877+
} else {
878+
centrality = collision.centFT0C();
879+
}
816880
if (jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) {
817881
hasSel8Coll = true;
818882
}
819-
if ((centralityMin < collision.centFT0M()) && (collision.centFT0M() < centralityMax)) {
883+
if ((centralityMin < centrality) && (centralityMax > centrality)) {
820884
centralityIsGood = true;
821885
}
822886
if ((trackOccupancyInTimeRangeMin < collision.trackOccupancyInTimeRange()) && (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMax)) {
@@ -907,6 +971,15 @@ struct JetSpectraCharged {
907971
soa::Join<aod::ChargedEventWiseSubtractedJets, aod::ChargedEventWiseSubtractedJetConstituents> const& jets,
908972
aod::JetTracksSub const&)
909973
{
974+
float centrality = 0.0;
975+
if (checkCentFT0M) {
976+
centrality = collision.centFT0M();
977+
} else {
978+
centrality = collision.centFT0C();
979+
}
980+
if (centrality < centralityMin || centrality > centralityMax) {
981+
return;
982+
}
910983
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) {
911984
return;
912985
}
@@ -920,7 +993,7 @@ struct JetSpectraCharged {
920993
if (!isAcceptedJet<aod::JetTracksSub>(jet)) {
921994
continue;
922995
}
923-
fillEventWiseConstituentSubtractedHistograms(jet, collision.centFT0M());
996+
fillEventWiseConstituentSubtractedHistograms(jet, centrality);
924997
}
925998
}
926999
PROCESS_SWITCH(JetSpectraCharged, processEvtWiseConstSubJetsData, "jet spectrum for eventwise constituent-subtracted jets data", false);
@@ -929,6 +1002,15 @@ struct JetSpectraCharged {
9291002
soa::Join<aod::ChargedMCDetectorLevelEventWiseSubtractedJets, aod::ChargedMCDetectorLevelEventWiseSubtractedJetConstituents> const& jets,
9301003
aod::JetTracksSub const&)
9311004
{
1005+
float centrality = 0.0;
1006+
if (checkCentFT0M) {
1007+
centrality = collision.centFT0M();
1008+
} else {
1009+
centrality = collision.centFT0C();
1010+
}
1011+
if (centrality < centralityMin || centrality > centralityMax) {
1012+
return;
1013+
}
9321014
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) {
9331015
return;
9341016
}
@@ -942,7 +1024,7 @@ struct JetSpectraCharged {
9421024
if (!isAcceptedJet<aod::JetTracksSub>(jet)) {
9431025
continue;
9441026
}
945-
fillEventWiseConstituentSubtractedHistograms(jet, collision.centFT0M());
1027+
fillEventWiseConstituentSubtractedHistograms(jet, centrality);
9461028
}
9471029
}
9481030
PROCESS_SWITCH(JetSpectraCharged, processEvtWiseConstSubJetsMCD, "jet spectrum for eventwise constituent-subtracted mcd jets", false);
@@ -952,6 +1034,15 @@ struct JetSpectraCharged {
9521034
ChargedMCPMatchedJets const&,
9531035
aod::JetTracks const&, aod::JetParticles const&)
9541036
{
1037+
float centrality = 0.0;
1038+
if (checkCentFT0M) {
1039+
centrality = collision.centFT0M();
1040+
} else {
1041+
centrality = collision.centFT0C();
1042+
}
1043+
if (centrality < centralityMin || centrality > centralityMax) {
1044+
return;
1045+
}
9551046
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) {
9561047
return;
9571048
}
@@ -1006,12 +1097,18 @@ struct JetSpectraCharged {
10061097
double mcrho = mccollision.rho();
10071098
registry.fill(HIST("h_mc_rho_matched"), mcrho);
10081099
for (const auto& collision : collisions) {
1100+
float centrality = 0.0;
1101+
if (checkCentFT0M) {
1102+
centrality = collision.centFT0M();
1103+
} else {
1104+
centrality = collision.centFT0C();
1105+
}
10091106
registry.fill(HIST("h_mcd_events_matched"), 0.5);
10101107
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents) || !(std::abs(collision.posZ()) < vertexZCut)) {
10111108
continue;
10121109
}
10131110
registry.fill(HIST("h_mcd_events_matched"), 1.5);
1014-
if (collision.centFT0M() < centralityMin || collision.centFT0M() > centralityMax) {
1111+
if (centrality < centralityMin || centrality > centralityMax) {
10151112
continue;
10161113
}
10171114
registry.fill(HIST("h_mcd_events_matched"), 2.5);

0 commit comments

Comments
 (0)