Skip to content

Commit 6b5a309

Browse files
committed
Fixing centrality usage
1 parent c5aab8c commit 6b5a309

File tree

1 file changed

+44
-42
lines changed

1 file changed

+44
-42
lines changed

PWGLF/TableProducer/Strangeness/lambdaJetPolarizationIons.cxx

Lines changed: 44 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ using DauTracks = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, aod::
122122
// using V0Candidates = soa::Join<aod::V0CollRefs, aod::V0Cores, aod::V0Extras, aod::V0TOFPIDs, aod::V0TOFNSigmas>;
123123
// using V0CandidatesSimple = soa::Join<aod::V0CollRefs, aod::V0Cores, aod::V0Extras>; // No TOF
124124

125-
using PseudoJetTracks = soa::Join<aod::Tracks, aod::TracksIU, aod::TracksExtra, aod::TracksDCA>; // Simpler tracks access. (TODO: Should I include TracksIU and TracksCovIU? I don't use any getters from them!)
125+
using PseudoJetTracks = soa::Join<aod::Tracks, aod::TracksIU, aod::TracksExtra, aod::TracksDCA>; // Simpler tracks access. (Not using TracksIU and TracksCovIU. Did not use their info for now)
126126
// , aod::pidTOFFullPi, aod::pidTOFFullKa, aod::pidTOFFullPr>; // Not using TOF right now due to some possible mismatches
127127
// using SimCollisions = soa::Join<aod::McCollisionLabels, aod::Collisions, aod::EvSels>;
128128
// using DauTracksMC = soa::Join<DaughterTracks, aod::McTrackLabels>;
@@ -167,7 +167,7 @@ struct lambdajetpolarizationions {
167167

168168
/////////////////////////////////////////////
169169
Configurable<bool> doEventQA{"doEventQA", false, "do event QA histograms"};
170-
Configurable<bool> qaCentrality{"qaCentrality", false, "qa centrality flag: check base raw values"};
170+
// Configurable<bool> qaCentrality{"qaCentrality", false, "qa centrality flag: check base raw values"};
171171
Configurable<bool> doCompleteTopoQA{"doCompleteTopoQA", false, "do topological variables QA histograms"}; // Includes doPlainTopoQA from derivedlambdakzeroanalysis
172172
Configurable<bool> doV0KinematicQA{"doV0KinematicQA", false, "do kinematic variables QA histograms"};
173173
Configurable<bool> doArmenterosQA{"doArmenterosQA", false, "do Armenteros QA histograms"};
@@ -524,8 +524,8 @@ struct lambdajetpolarizationions {
524524
histos.get<TH1>(HIST("hEventSelection"))->GetXaxis()->SetBinLabel(20, "Above max IR");
525525
histos.get<TH1>(HIST("hEventSelection"))->GetXaxis()->SetBinLabel(21, "RCT flags");
526526

527-
histos.add("hEventCentrality", "hEventCentrality", kTH1D, {{101, 0.0f, 101.0f}});
528-
histos.add("hCentralityVsNch", "hCentralityVsNch", kTH2D, {{101, 0.0f, 101.0f}, axisConfigurations.axisNch});
527+
histos.add("Centrality/hEventCentrality", "hEventCentrality", kTH1D, {{101, 0.0f, 101.0f}});
528+
histos.add("Centrality/hCentralityVsNch", "hCentralityVsNch", kTH2D, {{101, 0.0f, 101.0f}, axisConfigurations.axisNch});
529529
if (doEventQA) {
530530
histos.add("hEventSelectionVsCentrality", "hEventSelectionVsCentrality", kTH2D, {{21, -0.5f, +20.5f}, {101, 0.0f, 101.0f}});
531531
histos.get<TH2>(HIST("hEventSelectionVsCentrality"))->GetXaxis()->SetBinLabel(1, "All collisions");
@@ -555,16 +555,16 @@ struct lambdajetpolarizationions {
555555
histos.get<TH2>(HIST("hEventSelectionVsCentrality"))->GetXaxis()->SetBinLabel(20, "Above max IR");
556556
histos.get<TH2>(HIST("hEventSelectionVsCentrality"))->GetXaxis()->SetBinLabel(21, "RCT flags");
557557

558-
histos.add("hCentralityVsNGlobal", "hCentralityVsNGlobal", kTH2D, {{101, 0.0f, 101.0f}, axisConfigurations.axisNch});
559-
histos.add("hEventCentVsMultFT0M", "hEventCentVsMultFT0M", kTH2D, {{101, 0.0f, 101.0f}, axisConfigurations.axisMultFT0M});
560-
histos.add("hEventCentVsMultFT0C", "hEventCentVsMultFT0C", kTH2D, {{101, 0.0f, 101.0f}, axisConfigurations.axisMultFT0C});
561-
histos.add("hEventCentVsMultNGlobal", "hEventCentVsMultNGlobal", kTH2D, {{101, 0.0f, 101.0f}, axisConfigurations.axisNch});
562-
histos.add("hEventCentVsMultFV0A", "hEventCentVsMultFV0A", kTH2D, {{101, 0.0f, 101.0f}, axisConfigurations.axisMultFV0A});
563-
histos.add("hEventMultFT0MvsMultNGlobal", "hEventMultFT0MvsMultNGlobal", kTH2D, {axisConfigurations.axisMultFT0M, axisConfigurations.axisNch});
564-
histos.add("hEventMultFT0CvsMultNGlobal", "hEventMultFT0CvsMultNGlobal", kTH2D, {axisConfigurations.axisMultFT0C, axisConfigurations.axisNch});
565-
histos.add("hEventMultFV0AvsMultNGlobal", "hEventMultFV0AvsMultNGlobal", kTH2D, {axisConfigurations.axisMultFV0A, axisConfigurations.axisNch});
566-
histos.add("hEventMultPVvsMultNGlobal", "hEventMultPVvsMultNGlobal", kTH2D, {axisConfigurations.axisNch, axisConfigurations.axisNch});
567-
histos.add("hEventMultFT0CvsMultFV0A", "hEventMultFT0CvsMultFV0A", kTH2D, {axisConfigurations.axisMultFT0C, axisConfigurations.axisMultFV0A});
558+
histos.add("Centrality/hCentralityVsNGlobal", "hCentralityVsNGlobal", kTH2D, {{101, 0.0f, 101.0f}, axisConfigurations.axisNch});
559+
histos.add("Centrality/hEventCentVsMultFT0M", "hEventCentVsMultFT0M", kTH2D, {{101, 0.0f, 101.0f}, axisConfigurations.axisMultFT0M});
560+
histos.add("Centrality/hEventCentVsMultFT0C", "hEventCentVsMultFT0C", kTH2D, {{101, 0.0f, 101.0f}, axisConfigurations.axisMultFT0C});
561+
histos.add("Centrality/hEventCentVsMultNGlobal", "hEventCentVsMultNGlobal", kTH2D, {{101, 0.0f, 101.0f}, axisConfigurations.axisNch});
562+
histos.add("Centrality/hEventCentVsMultFV0A", "hEventCentVsMultFV0A", kTH2D, {{101, 0.0f, 101.0f}, axisConfigurations.axisMultFV0A});
563+
histos.add("Centrality/hEventMultFT0MvsMultNGlobal", "hEventMultFT0MvsMultNGlobal", kTH2D, {axisConfigurations.axisMultFT0M, axisConfigurations.axisNch});
564+
histos.add("Centrality/hEventMultFT0CvsMultNGlobal", "hEventMultFT0CvsMultNGlobal", kTH2D, {axisConfigurations.axisMultFT0C, axisConfigurations.axisNch});
565+
histos.add("Centrality/hEventMultFV0AvsMultNGlobal", "hEventMultFV0AvsMultNGlobal", kTH2D, {axisConfigurations.axisMultFV0A, axisConfigurations.axisNch});
566+
histos.add("Centrality/hEventMultPVvsMultNGlobal", "hEventMultPVvsMultNGlobal", kTH2D, {axisConfigurations.axisNch, axisConfigurations.axisNch});
567+
histos.add("Centrality/hEventMultFT0CvsMultFV0A", "hEventMultFT0CvsMultFV0A", kTH2D, {axisConfigurations.axisMultFT0C, axisConfigurations.axisMultFV0A});
568568
}
569569

570570
histos.add("hEventPVz", "hEventPVz", kTH1D, {{100, -20.0f, +20.0f}});
@@ -579,12 +579,12 @@ struct lambdajetpolarizationions {
579579
histos.add("hInteractionRateVsOccupancy", "hInteractionRateVsOccupancy", kTH2D, {axisConfigurations.axisIRBinning, axisConfigurations.axisOccupancy});
580580

581581
// for QA and test purposes
582-
auto hRawCentrality = histos.add<TH1>("hRawCentrality", "hRawCentrality", kTH1D, {axisConfigurations.axisRawCentrality});
582+
// auto hRawCentrality = histos.add<TH1>("Centrality/hRawCentrality", "hRawCentrality", kTH1D, {axisConfigurations.axisRawCentrality});
583583

584-
for (int ii = 1; ii < 101; ii++) {
585-
float value = 100.5f - static_cast<float>(ii);
586-
hRawCentrality->SetBinContent(ii, value);
587-
}
584+
// for (int ii = 1; ii < 101; ii++) {
585+
// float value = 100.5f - static_cast<float>(ii);
586+
// hRawCentrality->SetBinContent(ii, value);
587+
// }
588588

589589
//////////////////////////////////////////////////////////////
590590
/// Lambda / AntiLambda V0 selection QA
@@ -616,10 +616,10 @@ struct lambdajetpolarizationions {
616616
{p + "DCA_{#pi} to PV", true},
617617
{p + "TPC PID p", v0Selections.tpcPidNsigmaCut > 0},
618618
{p + "TPC PID #pi", v0Selections.tpcPidNsigmaCut > 0},
619-
{p + "TOF #Delta t p", v0Selections.maxDeltaTimeProton < 1e8},
620-
{p + "TOF #Delta t #pi", v0Selections.maxDeltaTimePion < 1e8},
621-
{p + "TOF PID p", v0Selections.tofPidNsigmaCutLaPr < 1e8},
622-
{p + "TOF PID #pi", v0Selections.tofPidNsigmaCutLaPi < 1e8},
619+
{p + "TOF #Delta t p", v0Selections.maxDeltaTimeProton < 1e+9},
620+
{p + "TOF #Delta t #pi", v0Selections.maxDeltaTimePion < 1e+9},
621+
{p + "TOF PID p", v0Selections.tofPidNsigmaCutLaPr < 1e+6},
622+
{p + "TOF PID #pi", v0Selections.tofPidNsigmaCutLaPi < 1e+6},
623623
{p + "c#tau", v0Selections.lambdaLifetimeCut > 0}
624624
});
625625
};
@@ -914,10 +914,12 @@ struct lambdajetpolarizationions {
914914
// Minimal helper to fill the hSelectionV0s histogram without having to deal with bins by myself
915915
// (CAUTION! If you change selection order, change this too!)
916916
struct V0SelectionFlowCounter{ // Using struct to keep internal bin counter over different functions
917-
int binValue = 0; // Starts at x=0, which is bin 1 in the definition of hSelectionV0s
917+
int binValue = -1; // Starts at x=-1, which will go to bin 0 (underflow) in the definition of hSelectionV0s
918+
// Made it like this because we use ++binValue when filling, so the first filled
919+
// bin will always be x=0 due to operator precedence.
918920
HistogramRegistry* histos = nullptr; // Had to pass the histos group to this struct, as it was not visible to the members of this struct
919921

920-
void resetForNewV0(){binValue = 0;}
922+
void resetForNewV0(){binValue = -1;}
921923
void fill(){histos->fill(HIST("GeneralQA/hSelectionV0s"), ++binValue);} // Hardcoded hSelectionV0s histogram, as it will not change. Increments before filling, by default
922924
};
923925
V0SelectionFlowCounter V0SelCounter{0, &histos};
@@ -933,23 +935,23 @@ struct lambdajetpolarizationions {
933935
template <typename TCollision>
934936
void fillCentralityProperties(TCollision const& collision, float centrality)
935937
{
936-
if (qaCentrality) {
937-
auto hRawCentrality = histos.get<TH1>(HIST("hRawCentrality"));
938-
centrality = hRawCentrality->GetBinContent(hRawCentrality->FindBin(doPPAnalysis ? collision.multFT0A() + collision.multFT0C() : collision.multFT0C()));
939-
}
940-
histos.fill(HIST("hEventCentrality"), centrality);
941-
histos.fill(HIST("hCentralityVsNch"), centrality, collision.multNTracksPVeta1());
938+
// if (qaCentrality) {
939+
// auto hRawCentrality = histos.get<TH1>(HIST("Centrality/hRawCentrality"));
940+
// centrality = hRawCentrality->GetBinContent(hRawCentrality->FindBin(doPPAnalysis ? collision.multFT0A() + collision.multFT0C() : collision.multFT0C()));
941+
// }
942+
histos.fill(HIST("Centrality/hEventCentrality"), centrality);
943+
histos.fill(HIST("Centrality/hCentralityVsNch"), centrality, collision.multNTracksPVeta1());
942944
if (doEventQA) {
943-
histos.fill(HIST("hCentralityVsNGlobal"), centrality, collision.multNTracksGlobal());
944-
histos.fill(HIST("hEventCentVsMultFT0M"), collision.centFT0M(), collision.multFT0A() + collision.multFT0C());
945-
histos.fill(HIST("hEventCentVsMultFT0C"), collision.centFT0C(), collision.multFT0C());
946-
histos.fill(HIST("hEventCentVsMultNGlobal"), collision.centNGlobal(), collision.multNTracksGlobal());
947-
histos.fill(HIST("hEventCentVsMultFV0A"), collision.centFV0A(), collision.multFV0A());
948-
histos.fill(HIST("hEventMultFT0MvsMultNGlobal"), collision.multFT0A() + collision.multFT0C(), collision.multNTracksGlobal());
949-
histos.fill(HIST("hEventMultFT0CvsMultNGlobal"), collision.multFT0C(), collision.multNTracksGlobal());
950-
histos.fill(HIST("hEventMultFV0AvsMultNGlobal"), collision.multFV0A(), collision.multNTracksGlobal());
951-
histos.fill(HIST("hEventMultPVvsMultNGlobal"), collision.multNTracksPVeta1(), collision.multNTracksGlobal());
952-
histos.fill(HIST("hEventMultFT0CvsMultFV0A"), collision.multFT0C(), collision.multFV0A());
945+
histos.fill(HIST("Centrality/hCentralityVsNGlobal"), centrality, collision.multNTracksGlobal());
946+
histos.fill(HIST("Centrality/hEventCentVsMultFT0M"), collision.centFT0M(), collision.multFT0A() + collision.multFT0C());
947+
histos.fill(HIST("Centrality/hEventCentVsMultFT0C"), collision.centFT0C(), collision.multFT0C());
948+
histos.fill(HIST("Centrality/hEventCentVsMultNGlobal"), collision.centNGlobal(), collision.multNTracksGlobal());
949+
histos.fill(HIST("Centrality/hEventCentVsMultFV0A"), collision.centFV0A(), collision.multFV0A());
950+
histos.fill(HIST("Centrality/hEventMultFT0MvsMultNGlobal"), collision.multFT0A() + collision.multFT0C(), collision.multNTracksGlobal());
951+
histos.fill(HIST("Centrality/hEventMultFT0CvsMultNGlobal"), collision.multFT0C(), collision.multNTracksGlobal());
952+
histos.fill(HIST("Centrality/hEventMultFV0AvsMultNGlobal"), collision.multFV0A(), collision.multNTracksGlobal());
953+
histos.fill(HIST("Centrality/hEventMultPVvsMultNGlobal"), collision.multNTracksPVeta1(), collision.multNTracksGlobal());
954+
histos.fill(HIST("Centrality/hEventMultFT0CvsMultFV0A"), collision.multFT0C(), collision.multFV0A());
953955
}
954956
return;
955957
}
@@ -1524,7 +1526,7 @@ struct lambdajetpolarizationions {
15241526

15251527
// Had to include DauTracks in subscription, even though I don't loop in it, for the indices to resolve, avoiding " Exception while running: Index pointing to Tracks is not bound!"
15261528
void processV0sData(SelCollisions::iterator const& collision, V0CandidatesWithTOF const& fullV0s, aod::BCsWithTimestamps const& bcs, DauTracks const& V0DauTracks){
1527-
const float centrality = getCentrality(collision);
1529+
float centrality = getCentrality(collision);
15281530
histos.fill(HIST("hEventSelection"), 0. /* all collisions */);
15291531
histos.fill(HIST("hEventSelectionVsCentrality"), 0. /* all collisions */, centrality);
15301532

0 commit comments

Comments
 (0)