Skip to content

Commit c6f97b1

Browse files
authored
Add configuration for centrality estimators
Add configuration for different centrality estimators and fix small bugs in jetSpectraCharged.cxx
1 parent f0200c7 commit c6f97b1

1 file changed

Lines changed: 126 additions & 18 deletions

File tree

PWGJE/Tasks/jetSpectraCharged.cxx

Lines changed: 126 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,16 @@ 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+
}
535+
else {
536+
centrality = collision.centFT0C();
537+
}
538+
if (centrality < centralityMin || centrality > centralityMax) {
539+
return;
540+
}
529541
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) {
530542
return;
531543
}
@@ -563,16 +575,29 @@ struct JetSpectraCharged {
563575

564576
void processCollisions(soa::Filtered<aod::JetCollisions>::iterator const& collision)
565577
{
578+
float centrality = 0.0;
579+
if (checkCentFT0M) {
580+
centrality = collision.centFT0M();
581+
}
582+
else {
583+
centrality = collision.centFT0C();
584+
}
585+
if (centrality < centralityMin || centrality > centralityMax) {
586+
return;
587+
}
566588
registry.fill(HIST("h_collisions"), 0.5);
589+
registry.fill(HIST("h_centrality_collisions"), centrality, 0.5);
567590
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) {
568591
return;
569592
}
570593
registry.fill(HIST("h_collisions"), 1.5);
594+
registry.fill(HIST("h_centrality_collisions"), centrality, 1.5);
571595
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
572596
return;
573597
}
574598
registry.fill(HIST("h_collisions"), 2.5);
575-
registry.fill(HIST("h2_centrality_occupancy"), collision.centFT0M(), collision.trackOccupancyInTimeRange());
599+
registry.fill(HIST("h_centrality_collisions"), centrality, 2.5);
600+
registry.fill(HIST("h2_centrality_occupancy"), centrality, collision.trackOccupancyInTimeRange());
576601
registry.fill(HIST("h_collisions_Zvertex"), collision.posZ());
577602
}
578603
PROCESS_SWITCH(JetSpectraCharged, processCollisions, "collisions Data and MCD", true);
@@ -596,7 +621,6 @@ struct JetSpectraCharged {
596621
}
597622
registry.fill(HIST("h_collisions"), 2.5);
598623
registry.fill(HIST("h_collisions_weighted"), 2.5, eventWeight);
599-
registry.fill(HIST("h2_centrality_occupancy"), collision.centFT0M(), collision.trackOccupancyInTimeRange());
600624
registry.fill(HIST("h_collisions_Zvertex"), collision.posZ(), eventWeight);
601625
}
602626
PROCESS_SWITCH(JetSpectraCharged, processCollisionsWeighted, "weighted collsions for MCD", false);
@@ -605,6 +629,16 @@ struct JetSpectraCharged {
605629
soa::Join<aod::ChargedJets, aod::ChargedJetConstituents> const& jets,
606630
aod::JetTracks const&)
607631
{
632+
float centrality = 0.0;
633+
if (checkCentFT0M) {
634+
centrality = collision.centFT0M();
635+
}
636+
else {
637+
centrality = collision.centFT0C();
638+
}
639+
if (centrality < centralityMin || centrality > centralityMax) {
640+
return;
641+
}
608642
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) {
609643
return;
610644
}
@@ -618,7 +652,7 @@ struct JetSpectraCharged {
618652
if (!isAcceptedJet<aod::JetTracks>(jet)) {
619653
continue;
620654
}
621-
fillJetHistograms(jet, collision.centFT0M());
655+
fillJetHistograms(jet, centrality);
622656
}
623657
}
624658
PROCESS_SWITCH(JetSpectraCharged, processSpectraData, "jet spectra for Data", false);
@@ -627,6 +661,16 @@ struct JetSpectraCharged {
627661
soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents> const& jets,
628662
aod::JetTracks const&)
629663
{
664+
float centrality = 0.0;
665+
if (checkCentFT0M) {
666+
centrality = collision.centFT0M();
667+
}
668+
else {
669+
centrality = collision.centFT0C();
670+
}
671+
if (centrality < centralityMin || centrality > centralityMax) {
672+
return;
673+
}
630674
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) {
631675
return;
632676
}
@@ -640,7 +684,7 @@ struct JetSpectraCharged {
640684
if (!isAcceptedJet<aod::JetTracks>(jet)) {
641685
continue;
642686
}
643-
fillJetHistograms(jet, collision.centFT0M());
687+
fillJetHistograms(jet, centrality);
644688
}
645689
}
646690
PROCESS_SWITCH(JetSpectraCharged, processSpectraMCD, "jet spectra for MCD", false);
@@ -649,6 +693,16 @@ struct JetSpectraCharged {
649693
soa::Join<aod::ChargedJets, aod::ChargedJetConstituents> const& jets,
650694
aod::JetTracks const&)
651695
{
696+
float centrality = 0.0;
697+
if (checkCentFT0M) {
698+
centrality = collision.centFT0M();
699+
}
700+
else {
701+
centrality = collision.centFT0C();
702+
}
703+
if (centrality < centralityMin || centrality > centralityMax) {
704+
return;
705+
}
652706
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) {
653707
return;
654708
}
@@ -662,7 +716,7 @@ struct JetSpectraCharged {
662716
if (!isAcceptedJet<aod::JetTracks>(jet)) {
663717
continue;
664718
}
665-
fillJetAreaSubHistograms(jet, collision.centFT0M(), collision.rho());
719+
fillJetAreaSubHistograms(jet, centrality, collision.rho());
666720
}
667721
}
668722
PROCESS_SWITCH(JetSpectraCharged, processSpectraAreaSubData, "jet spectra with rho-area subtraction for Data", false);
@@ -671,6 +725,16 @@ struct JetSpectraCharged {
671725
soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents> const& jets,
672726
aod::JetTracks const&)
673727
{
728+
float centrality = 0.0;
729+
if (checkCentFT0M) {
730+
centrality = collision.centFT0M();
731+
}
732+
else {
733+
centrality = collision.centFT0C();
734+
}
735+
if (centrality < centralityMin || centrality > centralityMax) {
736+
return;
737+
}
674738
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) {
675739
return;
676740
}
@@ -684,7 +748,7 @@ struct JetSpectraCharged {
684748
if (!isAcceptedJet<aod::JetTracks>(jet)) {
685749
continue;
686750
}
687-
fillJetAreaSubHistograms(jet, collision.centFT0M(), collision.rho());
751+
fillJetAreaSubHistograms(jet, centrality, collision.rho());
688752
}
689753
}
690754
PROCESS_SWITCH(JetSpectraCharged, processSpectraAreaSubMCD, "jet spectra with rho-area subtraction for MCD", false);
@@ -713,7 +777,7 @@ struct JetSpectraCharged {
713777
}
714778
registry.fill(HIST("h_jet_phat"), pTHat);
715779
registry.fill(HIST("h_jet_phat_weighted"), pTHat, jetweight);
716-
fillJetHistograms(jet, collision.centFT0M(), jetweight);
780+
fillJetHistograms(jet, collision.centFT0C(), jetweight);
717781
}
718782
}
719783
PROCESS_SWITCH(JetSpectraCharged, processSpectraMCDWeighted, "jet finder QA mcd with weighted events", false);
@@ -746,7 +810,7 @@ struct JetSpectraCharged {
746810
if (jetderiveddatautilities::selectCollision(collisions.begin(), eventSelectionBits, skipMBGapEvents)) {
747811
hasSel8Coll = true;
748812
}
749-
if ((centralityMin < collisions.begin().centFT0M()) && (collisions.begin().centFT0M() < centralityMax)) {
813+
if ((centralityMin < collisions.begin().centFT0C()) && (collisions.begin().centFT0C() < centralityMax)) {
750814
centralityIsGood = true;
751815
}
752816
if ((trackOccupancyInTimeRangeMin < collisions.begin().trackOccupancyInTimeRange()) && (collisions.begin().trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMax)) {
@@ -757,7 +821,7 @@ struct JetSpectraCharged {
757821
if (jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) {
758822
hasSel8Coll = true;
759823
}
760-
if ((centralityMin < collision.centFT0M()) && (collision.centFT0M() < centralityMax)) {
824+
if ((centralityMin < collision.centFT0C()) && (collision.centFT0C() < centralityMax)) {
761825
centralityIsGood = true;
762826
}
763827
if ((trackOccupancyInTimeRangeMin < collision.trackOccupancyInTimeRange()) && (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMax)) {
@@ -813,10 +877,17 @@ struct JetSpectraCharged {
813877
bool centralityIsGood = false;
814878
bool occupancyIsGood = false;
815879
for (auto const& collision : collisions) {
880+
float centrality = 0.0;
881+
if (checkCentFT0M) {
882+
centrality = collision.centFT0M();
883+
}
884+
else {
885+
centrality = collision.centFT0C();
886+
}
816887
if (jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) {
817888
hasSel8Coll = true;
818889
}
819-
if ((centralityMin < collision.centFT0M()) && (collision.centFT0M() < centralityMax)) {
890+
if ((centralityMin < centrality) && (centralityMax > centrality)) {
820891
centralityIsGood = true;
821892
}
822893
if ((trackOccupancyInTimeRangeMin < collision.trackOccupancyInTimeRange()) && (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMax)) {
@@ -907,6 +978,16 @@ struct JetSpectraCharged {
907978
soa::Join<aod::ChargedEventWiseSubtractedJets, aod::ChargedEventWiseSubtractedJetConstituents> const& jets,
908979
aod::JetTracksSub const&)
909980
{
981+
float centrality = 0.0;
982+
if (checkCentFT0M) {
983+
centrality = collision.centFT0M();
984+
}
985+
else {
986+
centrality = collision.centFT0C();
987+
}
988+
if (centrality < centralityMin || centrality > centralityMax) {
989+
return;
990+
}
910991
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) {
911992
return;
912993
}
@@ -920,7 +1001,7 @@ struct JetSpectraCharged {
9201001
if (!isAcceptedJet<aod::JetTracksSub>(jet)) {
9211002
continue;
9221003
}
923-
fillEventWiseConstituentSubtractedHistograms(jet, collision.centFT0M());
1004+
fillEventWiseConstituentSubtractedHistograms(jet, centrality);
9241005
}
9251006
}
9261007
PROCESS_SWITCH(JetSpectraCharged, processEvtWiseConstSubJetsData, "jet spectrum for eventwise constituent-subtracted jets data", false);
@@ -929,6 +1010,16 @@ struct JetSpectraCharged {
9291010
soa::Join<aod::ChargedMCDetectorLevelEventWiseSubtractedJets, aod::ChargedMCDetectorLevelEventWiseSubtractedJetConstituents> const& jets,
9301011
aod::JetTracksSub const&)
9311012
{
1013+
float centrality = 0.0;
1014+
if (checkCentFT0M) {
1015+
centrality = collision.centFT0M();
1016+
}
1017+
else {
1018+
centrality = collision.centFT0C();
1019+
}
1020+
if (centrality < centralityMin || centrality > centralityMax) {
1021+
return;
1022+
}
9321023
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) {
9331024
return;
9341025
}
@@ -942,7 +1033,7 @@ struct JetSpectraCharged {
9421033
if (!isAcceptedJet<aod::JetTracksSub>(jet)) {
9431034
continue;
9441035
}
945-
fillEventWiseConstituentSubtractedHistograms(jet, collision.centFT0M());
1036+
fillEventWiseConstituentSubtractedHistograms(jet, centrality);
9461037
}
9471038
}
9481039
PROCESS_SWITCH(JetSpectraCharged, processEvtWiseConstSubJetsMCD, "jet spectrum for eventwise constituent-subtracted mcd jets", false);
@@ -952,6 +1043,16 @@ struct JetSpectraCharged {
9521043
ChargedMCPMatchedJets const&,
9531044
aod::JetTracks const&, aod::JetParticles const&)
9541045
{
1046+
float centrality = 0.0;
1047+
if (checkCentFT0M) {
1048+
centrality = collision.centFT0M();
1049+
}
1050+
else {
1051+
centrality = collision.centFT0C();
1052+
}
1053+
if (centrality < centralityMin || centrality > centralityMax) {
1054+
return;
1055+
}
9551056
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) {
9561057
return;
9571058
}
@@ -1006,12 +1107,19 @@ struct JetSpectraCharged {
10061107
double mcrho = mccollision.rho();
10071108
registry.fill(HIST("h_mc_rho_matched"), mcrho);
10081109
for (const auto& collision : collisions) {
1110+
float centrality = 0.0;
1111+
if (checkCentFT0M) {
1112+
centrality = collision.centFT0M();
1113+
}
1114+
else {
1115+
centrality = collision.centFT0C();
1116+
}
10091117
registry.fill(HIST("h_mcd_events_matched"), 0.5);
10101118
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents) || !(std::abs(collision.posZ()) < vertexZCut)) {
10111119
continue;
10121120
}
10131121
registry.fill(HIST("h_mcd_events_matched"), 1.5);
1014-
if (collision.centFT0M() < centralityMin || collision.centFT0M() > centralityMax) {
1122+
if (centrality < centralityMin || centrality > centralityMax) {
10151123
continue;
10161124
}
10171125
registry.fill(HIST("h_mcd_events_matched"), 2.5);

0 commit comments

Comments
 (0)