Skip to content

Commit ae90f3d

Browse files
committed
Add QA plots for eta = 0.8 for evt. loss and minor changes
1 parent f7cb4d5 commit ae90f3d

File tree

1 file changed

+42
-4
lines changed

1 file changed

+42
-4
lines changed

PWGLF/TableProducer/Nuspex/hyperRecoTask.cxx

Lines changed: 42 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,12 +89,22 @@ std::shared_ptr<TH1> hImpactParamGen;
8989
std::shared_ptr<TH1> hImpactParamReco;
9090
std::shared_ptr<TH1> hGen3HLBeforeEvtSel;
9191
std::shared_ptr<TH1> hGen3HLAfterSel;
92+
std::shared_ptr<TH2> hGenEventsNchEta05;
93+
std::shared_ptr<TH2> hGenEventsNchEta08;
94+
std::shared_ptr<TH2> hGenCentralityColvsMultiplicityGenEta05;
95+
std::shared_ptr<TH2> hGenCentralityColvsMultiplicityGenEta08;
96+
std::shared_ptr<TH2> hGenCentralityColvsImpactParamGen;
97+
std::shared_ptr<TH2> hGenCentralityColvsFT0Cmultiplicity;
9298
std::shared_ptr<TH2> hRecoCentralityColvsMultiplicityRecoEta05;
99+
std::shared_ptr<TH2> hRecoCentralityColvsMultiplicityRecoEta08;
93100
std::shared_ptr<TH2> hRecoCentralityColvsImpactParamReco;
101+
std::shared_ptr<TH2> hRecoCentralityColvsFT0Cmultiplicity;
94102
std::shared_ptr<TH2> hGen3HLvsImpactParameterBeforeEvtSel;
95103
std::shared_ptr<TH2> hGen3HLvsImpactParameterAfterSel;
96104
std::shared_ptr<TH2> hGen3HLvsMultiplicityGenEta05BeforeEvtSel;
97105
std::shared_ptr<TH2> hGen3HLvsMultiplicityGenEta05AfterSel;
106+
std::shared_ptr<TH2> hGen3HLvsMultiplicityGenEta08BeforeEvtSel;
107+
std::shared_ptr<TH2> hGen3HLvsMultiplicityGenEta08AfterSel;
98108
std::shared_ptr<TH2> hGen3HLvsMultiplicityFT0CBeforeEvtSel;
99109
std::shared_ptr<TH2> hGen3HLvsMultiplicityFT0CAfterSel;
100110

@@ -329,21 +339,35 @@ struct hyperRecoTask {
329339
hEvtMC->GetXaxis()->SetBinLabel(1, "All gen evts");
330340
hEvtMC->GetXaxis()->SetBinLabel(2, "Gen evts with al least one reconstructed");
331341
hEvtMC->GetXaxis()->SetBinLabel(3, "Gen evts with no reconstructed collisions");
342+
hGenEventsNchEta05 = qaRegistry.add<TH2>("QAEvent/hGenEventsNchEta05", ";;", HistType::kTH2D, {{multAxis}, {2, -0.5f, +1.5f}});
343+
hGenEventsNchEta05->GetYaxis()->SetBinLabel(1, "All gen. events");
344+
hGenEventsNchEta05->GetYaxis()->SetBinLabel(2, "Gen evts with at least 1 rec. collisions");
345+
hGenEventsNchEta08 = qaRegistry.add<TH2>("QAEvent/hGenEventsNchEta08", ";;", HistType::kTH2D, {{multAxis}, {2, -0.5f, +1.5f}});
346+
hGenEventsNchEta08->GetYaxis()->SetBinLabel(1, "All gen. events");
347+
hGenEventsNchEta08->GetYaxis()->SetBinLabel(2, "Gen evts with at least 1 rec. collisions");
332348
// Infomation for all generated collisions collisions
333349
hImpactParamGen = qaRegistry.add<TH1>("QAEvent/McColAll/hImpactParamGen", "Impact parameter of generated MC events; Impact Parameter (b); Counts", HistType::kTH1D, {impactParamAxis});
350+
hGenCentralityColvsMultiplicityGenEta05 = qaRegistry.add<TH2>("QAEvent/McColAll/hGenCentralityColvsMultiplicityGenEta05", "Correlation between FT0C centrality and charged particle multiplicity in generated MC events; Multiplicity #eta <0.5; Counts", HistType::kTH2D, {centFT0CAxis, multAxis});
351+
hGenCentralityColvsMultiplicityGenEta08 = qaRegistry.add<TH2>("QAEvent/McColAll/hGenCentralityColvsMultiplicityGenEta08", "Correlation between FT0C centrality and charged particle multiplicity in generated MC events; Multiplicity #eta <0.8; Counts", HistType::kTH2D, {centFT0CAxis, multAxis});
352+
hGenCentralityColvsImpactParamGen = qaRegistry.add<TH2>("QAEvent/McColAll/hGenCentralityColvsImpactParamGen", "Correlation between FT0C centrality and impact parameter in generated MC events; Multiplicity #eta <0.8; Counts", HistType::kTH2D, {centFT0CAxis, impactParamAxis});
353+
hGenCentralityColvsFT0Cmultiplicity = qaRegistry.add<TH2>("QAEvent/McColAll/hGenCentralityColvsFT0Cmultiplicity", "Correlation between FT0C centrality and FT0C multiplicity in generated MC events; FT0c multiplicity", HistType::kTH2D, {centFT0CAxis, binsFT0CMultAxis});
334354
// Infomation for generated collisions collisions with at least one rec. event
335355
hImpactParamReco = qaRegistry.add<TH1>("QAEvent/McColAll/hImpactParamReco", "Impact parameter of generated MC events with at least one rec. evt; Impact Parameter (b); Counts", HistType::kTH1D, {impactParamAxis});
336356
hRecoCentralityColvsMultiplicityRecoEta05 = qaRegistry.add<TH2>("QAEvent/McColAll/hRecoCentralityColvsMultiplicityRecoEta05", "Correlation between FT0C centrality and charged particle multiplicity in generated MC events with at least one rec. evt; Multiplicity #eta <0.5; Counts", HistType::kTH2D, {centFT0CAxis, multAxis});
357+
hRecoCentralityColvsMultiplicityRecoEta08 = qaRegistry.add<TH2>("QAEvent/McColAll/hRecoCentralityColvsMultiplicityRecoEta08", "Correlation between FT0C centrality and charged particle multiplicity in generated MC events with at least one rec. evt; Multiplicity #eta <0.8; Counts", HistType::kTH2D, {centFT0CAxis, multAxis});
337358
hRecoCentralityColvsImpactParamReco = qaRegistry.add<TH2>("QAEvent/McColAll/hRecoCentralityColvsImpactParamReco", "Correlation between FT0C centrality and impact parameter in generated MC events with at least one rec. evt; Impact Parameter (b); Counts", HistType::kTH2D, {centFT0CAxis, impactParamAxis});
359+
hRecoCentralityColvsFT0Cmultiplicity = qaRegistry.add<TH2>("QAEvent/McColAll/hRecoCentralityColvsFT0Cmultiplicity", "Correlation between FT0C centrality and FT0C multiplicity in generated MC events with at least one rec. evt; FT0C (%); FT0c multiplicity", HistType::kTH2D, {centFT0CAxis, binsFT0CMultAxis});
338360
// Information of generated 3HL in generated events
339361
hGen3HLBeforeEvtSel = qaRegistry.add<TH1>("QAEvent/McCol3HL/hGen3HLBeforeEvtSel", "3HL generated #it{p}_{T} distribution in all gen evt;#it{p}_{T} (GeV/#it{c}); Counts", HistType::kTH1D, {ptAxis});
340362
hGen3HLvsImpactParameterBeforeEvtSel = qaRegistry.add<TH2>("QAEvent/McCol3HL/hGen3HLvsImpactParameterBeforeEvtSel", "Correlation 3HL generated #it{p}_{T} and impact parameter in all gen evt;#it{p}_{T} (GeV/#it{c}); Impact parameter (b)", HistType::kTH2D, {ptAxis, impactParamAxis});
341363
hGen3HLvsMultiplicityGenEta05BeforeEvtSel = qaRegistry.add<TH2>("QAEvent/McCol3HL/hGen3HLvsMultiplicityGenEta05BeforeEvtSel", "Correlation 3HL generated #it{p}_{T} and charged particle multiplicity in all gen evt;#it{p}_{T} (GeV/#it{c}); Multiplicity #eta <0.5", HistType::kTH2D, {ptAxis, multAxis});
364+
hGen3HLvsMultiplicityGenEta08BeforeEvtSel = qaRegistry.add<TH2>("QAEvent/McCol3HL/hGen3HLvsMultiplicityGenEta08BeforeEvtSel", "Correlation 3HL generated #it{p}_{T} and charged particle multiplicity in all gen evt;#it{p}_{T} (GeV/#it{c}); Multiplicity #eta <0.8", HistType::kTH2D, {ptAxis, multAxis});
342365
hGen3HLvsMultiplicityFT0CBeforeEvtSel = qaRegistry.add<TH2>("QAEvent/McCol3HL/hGen3HLvsMultiplicityFT0CBeforeEvtSel", "Correlation 3HL generated #it{p}_{T} and FT0C multiplicity in all gen evt;#it{p}_{T} (GeV/#it{c}); FT0C Multiplicity", HistType::kTH2D, {ptAxis, binsFT0CMultAxis});
343366
// Information of generated 3HL in generated events with at least one rec. event
344367
hGen3HLAfterSel = qaRegistry.add<TH1>("QAEvent/McCol3HL/hGen3HLAfterSel", "3HL generated #it{p}_{T} distribution in gen. evts with at least one rec. evt; #it{p}_{T} (GeV/#it{c}); Counts", HistType::kTH1D, {ptAxis});
345368
hGen3HLvsImpactParameterAfterSel = qaRegistry.add<TH2>("QAEvent/McCol3HL/hGen3HLvsImpactParameterAfterSel", "Correlation 3HL generated #it{p}_{T} and impact parameter in gen. evts with at least one rec. evt;#it{p}_{T} (GeV/#it{c}); Impact parameter (b)", HistType::kTH2D, {ptAxis, impactParamAxis});
346369
hGen3HLvsMultiplicityGenEta05AfterSel = qaRegistry.add<TH2>("QAEvent/McCol3HL/hGen3HLvsMultiplicityGenEta05AfterSel", "Correlation 3HL generated #it{p}_{T} and charged particle multiplicity in gen. evts with at least one rec. evt;#it{p}_{T} (GeV/#it{c}); Multiplicity #eta <0.5", HistType::kTH2D, {ptAxis, multAxis});
370+
hGen3HLvsMultiplicityGenEta08AfterSel = qaRegistry.add<TH2>("QAEvent/McCol3HL/hGen3HLvsMultiplicityGenEta08AfterSel", "Correlation 3HL generated #it{p}_{T} and charged particle multiplicity in gen. evts with at least one rec. evt;#it{p}_{T} (GeV/#it{c}); Multiplicity #eta <0.8", HistType::kTH2D, {ptAxis, multAxis});
347371
hGen3HLvsMultiplicityFT0CAfterSel = qaRegistry.add<TH2>("QAEvent/McCol3HL/hGen3HLvsMultiplicityFT0CAfterSel", "Correlation 3HL generated #it{p}_{T} and FT0C multiplicity in gen. evts with at least one rec;#it{p}_{T} (GeV/#it{c}); FT0C Multiplicity", HistType::kTH2D, {ptAxis, binsFT0CMultAxis});
348372
}
349373
}
@@ -435,9 +459,9 @@ struct hyperRecoTask {
435459
hEvents->Fill(1.);
436460

437461
if (std::abs(collision.posZ()) > 10) {
438-
hEvents->Fill(2.);
439462
continue;
440463
}
464+
hEvents->Fill(2.);
441465

442466
if (zorroSelected) {
443467
hEventsZorro->Fill(1.);
@@ -480,9 +504,9 @@ struct hyperRecoTask {
480504
hEvents->Fill(1.);
481505

482506
if (std::abs(collision.posZ()) > 10) {
483-
hEvents->Fill(2.);
484507
continue;
485508
}
509+
hEvents->Fill(2.);
486510

487511
if (cfgEvSelkNoSameBunchPileup) {
488512
if (!collision.selection_bit(aod::evsel::kNoSameBunchPileup)) {
@@ -666,7 +690,7 @@ struct hyperRecoTask {
666690
if (std::abs(posTrack.eta()) > etaMax || std::abs(negTrack.eta()) > etaMax)
667691
continue;
668692

669-
// temporary fix: tpcInnerParam() returns the momentum in all the software tags before: https://github.com/AliceO2Group/AliceO2/pull/12521
693+
// temporary fix: tpcInnhRecoCentralityColvsFT0CmultiplicityerParam() returns the momentum in all the software tags before: https://github.com/AliceO2Group/AliceO2/pull/12521
670694
auto nSigmaTPCpos = computeNSigmaHe3(posTrack);
671695
auto nSigmaTPCneg = computeNSigmaHe3(negTrack);
672696
// ITS only tracks do not have TPC information. TPCnSigma: only lower cut to allow for both hypertriton and hyperhydrogen4 reconstruction
@@ -1033,6 +1057,8 @@ struct hyperRecoTask {
10331057
// Fill all generated events
10341058
hEvtMC->Fill(0);
10351059
hImpactParamGen->Fill(mcCollision.impactParameter());
1060+
hGenEventsNchEta05->Fill(mcCollision.multMCNParticlesEta05(), 0);
1061+
hGenEventsNchEta08->Fill(mcCollision.multMCNParticlesEta08(), 0);
10361062

10371063
// Fill generated events with no reconstructed collisions
10381064
if (collisions.size() == 0) {
@@ -1051,11 +1077,20 @@ struct hyperRecoTask {
10511077
atLeastOneRecoEvt = true;
10521078
}
10531079

1080+
hGenCentralityColvsMultiplicityGenEta05->Fill(centralityFT0C, mcCollision.multMCNParticlesEta05());
1081+
hGenCentralityColvsMultiplicityGenEta08->Fill(centralityFT0C, mcCollision.multMCNParticlesEta08());
1082+
hGenCentralityColvsImpactParamGen->Fill(centralityFT0C, mcCollision.impactParameter());
1083+
hGenCentralityColvsFT0Cmultiplicity->Fill(centralityFT0C, mcCollision.multMCFT0C());
1084+
10541085
if (atLeastOneRecoEvt) {
10551086
hEvtMC->Fill(2);
1087+
hGenEventsNchEta05->Fill(mcCollision.multMCNParticlesEta05(), 1);
1088+
hGenEventsNchEta08->Fill(mcCollision.multMCNParticlesEta08(), 1);
10561089
hImpactParamReco->Fill(mcCollision.impactParameter());
10571090
hRecoCentralityColvsMultiplicityRecoEta05->Fill(centralityFT0C, mcCollision.multMCNParticlesEta05());
1091+
hRecoCentralityColvsMultiplicityRecoEta08->Fill(centralityFT0C, mcCollision.multMCNParticlesEta08());
10581092
hRecoCentralityColvsImpactParamReco->Fill(centralityFT0C, mcCollision.impactParameter());
1093+
hRecoCentralityColvsFT0Cmultiplicity->Fill(centralityFT0C, mcCollision.multMCFT0C());
10591094
}
10601095
// Construct the H3L 4-vector based on the generated daugthers identification by PDG
10611096
ROOT::Math::PxPyPzMVector daugh1, daugh2, mother;
@@ -1096,23 +1131,26 @@ struct hyperRecoTask {
10961131
hGen3HLBeforeEvtSel->Fill(mother.pt());
10971132
hGen3HLvsImpactParameterBeforeEvtSel->Fill(mother.pt(), mcCollision.impactParameter());
10981133
hGen3HLvsMultiplicityGenEta05BeforeEvtSel->Fill(mother.pt(), mcCollision.multMCNParticlesEta05());
1134+
hGen3HLvsMultiplicityGenEta08BeforeEvtSel->Fill(mother.pt(), mcCollision.multMCNParticlesEta08());
10991135
hGen3HLvsMultiplicityFT0CBeforeEvtSel->Fill(mother.pt(), mcCollision.multMCFT0C());
11001136

11011137
// Fill informations for generated 3HL in generated events with at least one reconstructed event
11021138
if (atLeastOneRecoEvt) {
11031139
hGen3HLAfterSel->Fill(mother.pt());
11041140
hGen3HLvsImpactParameterAfterSel->Fill(mother.pt(), mcCollision.impactParameter());
11051141
hGen3HLvsMultiplicityGenEta05AfterSel->Fill(mother.pt(), mcCollision.multMCNParticlesEta05());
1142+
hGen3HLvsMultiplicityGenEta08AfterSel->Fill(mother.pt(), mcCollision.multMCNParticlesEta08());
11061143
hGen3HLvsMultiplicityFT0CAfterSel->Fill(mother.pt(), mcCollision.multMCFT0C());
11071144
}
11081145
}
11091146
}
11101147
PROCESS_SWITCH(hyperRecoTask, processEventLossMC, "Event loss analysis", false);
1148+
11111149
};
11121150

11131151
WorkflowSpec
11141152
defineDataProcessing(ConfigContext const& cfgc)
11151153
{
11161154
return WorkflowSpec{
11171155
adaptAnalysisTask<hyperRecoTask>(cfgc)};
1118-
}
1156+
}

0 commit comments

Comments
 (0)