Skip to content

Commit bf2724c

Browse files
authored
Merge branch 'AliceO2Group:master' into master
2 parents cc86d41 + c3d0fea commit bf2724c

File tree

56 files changed

+1808
-950
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+1808
-950
lines changed

ALICE3/TableProducer/OTF/onTheFlyTracker.cxx

Lines changed: 147 additions & 43 deletions
Large diffs are not rendered by default.

ALICE3/TableProducer/alice3MulticharmFinder.cxx

Lines changed: 38 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,13 @@ struct Alice3MulticharmFinder {
200200
int nTPCHitsPiCC;
201201
} thisXiCCcandidate;
202202

203+
struct ProngInfo {
204+
float pt = 1e+10;
205+
float eta = 1e+10;
206+
float dcaXY = 1e+10;
207+
float dcaZ = 1e+10;
208+
};
209+
203210
template <typename TTrackType>
204211
bool buildDecayCandidateTwoBody(TTrackType const& t0, TTrackType const& t1, float mass0, float mass1)
205212
{
@@ -557,10 +564,6 @@ struct Alice3MulticharmFinder {
557564
}
558565

559566
uint32_t nCombinationsC = 0;
560-
auto bach = xiCand.bachTrack_as<Alice3Tracks>(); // de-reference bach track
561-
auto neg = xiCand.negTrack_as<Alice3Tracks>(); // de-reference neg track
562-
auto pos = xiCand.posTrack_as<Alice3Tracks>(); // de-reference pos track
563-
564567
if (!BIT_CHECK(xi.decayMap(), kTrueXiFromXiC)) {
565568
continue;
566569
}
@@ -822,13 +825,38 @@ struct Alice3MulticharmFinder {
822825
picc.hasSigPi(), picc.nSigmaPionRich(),
823826
getPdgCodeForTrack(picc));
824827

828+
ProngInfo bachelor, positive, negative;
829+
if (xiCand.has_bachTrack()) {
830+
auto bach = xiCand.bachTrack_as<Alice3Tracks>(); // de-reference bach track
831+
bachelor.pt = bach.pt();
832+
bachelor.eta = bach.eta();
833+
bachelor.dcaXY = bach.dcaXY();
834+
bachelor.dcaZ = bach.dcaZ();
835+
}
836+
837+
if (xiCand.has_negTrack()) {
838+
auto neg = xiCand.negTrack_as<Alice3Tracks>(); // de-reference neg track
839+
negative.pt = neg.pt();
840+
negative.eta = neg.eta();
841+
negative.dcaXY = neg.dcaXY();
842+
negative.dcaZ = neg.dcaZ();
843+
}
844+
845+
if (xiCand.has_posTrack()) {
846+
auto pos = xiCand.posTrack_as<Alice3Tracks>(); // de-reference pos track
847+
positive.pt = pos.pt();
848+
positive.eta = pos.eta();
849+
positive.dcaXY = pos.dcaXY();
850+
positive.dcaZ = pos.dcaZ();
851+
}
852+
825853
multiCharmExtra(
826-
bach.pt(), bach.eta(),
827-
bach.dcaXY(), bach.dcaZ(),
828-
pos.pt(), pos.eta(),
829-
pos.dcaXY(), pos.dcaZ(),
830-
neg.pt(), neg.eta(),
831-
neg.dcaXY(), neg.dcaZ(),
854+
bachelor.pt, bachelor.eta,
855+
bachelor.dcaXY, bachelor.dcaZ,
856+
positive.pt, positive.eta,
857+
positive.dcaXY, positive.dcaZ,
858+
negative.pt, negative.eta,
859+
negative.dcaXY, negative.dcaZ,
832860
pi1c.eta(), pi2c.eta(), picc.eta());
833861
}
834862
}

ALICE3/Tasks/alice3-lutmaker.cxx

Lines changed: 263 additions & 247 deletions
Large diffs are not rendered by default.

Common/Tools/Multiplicity/multGlauberNBDFitter.cxx

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
#include <TFitResultPtr.h>
3434
#include <TH1.h>
3535
#include <TH2.h>
36+
#include <TH3.h>
3637
#include <TMath.h>
3738
#include <TMathBase.h>
3839
#include <TNamed.h>
@@ -383,7 +384,7 @@ Double_t multGlauberNBDFitter::ContinuousNBD(Double_t n, Double_t mu, Double_t k
383384
return F;
384385
}
385386

386-
void multGlauberNBDFitter::CalculateAvNpNc(TProfile* lNPartProf, TProfile* lNCollProf, TH2F* lNPart2DPlot, TH2F* lNColl2DPlot, TH1F* hPercentileMap, Double_t lLoRange, Double_t lHiRange)
387+
void multGlauberNBDFitter::CalculateAvNpNc(TProfile* lNPartProf, TProfile* lNCollProf, TH2F* lNPart2DPlot, TH2F* lNColl2DPlot, TH1F* hPercentileMap, Double_t lLoRange, Double_t lHiRange, TH3D* lNpNcEcc, TH2F* lEcc2DPlot)
387388
{
388389
cout << "Calculating <Npart>, <Ncoll> in centrality bins..." << endl;
389390
cout << "Range to calculate: " << lLoRange << " to " << lHiRange << endl;
@@ -419,6 +420,17 @@ void multGlauberNBDFitter::CalculateAvNpNc(TProfile* lNPartProf, TProfile* lNCol
419420
Double_t lNAncestors0 = (Int_t)(fNpart[ibin] * ff + fNcoll[ibin] * (1.0 - ff));
420421
Double_t lNAncestors1 = TMath::Floor(fNpart[ibin] * ff + fNcoll[ibin] * (1.0 - ff) + 0.5);
421422
Double_t lNAncestors2 = (fNpart[ibin] * ff + fNcoll[ibin] * (1.0 - ff));
423+
424+
TH1D* hEccentricity = 0x0;
425+
426+
if (lNpNcEcc) {
427+
// locate the histogram that corresponds to the eccentricity distribution in this NpNc pair
428+
lNpNcEcc->GetXaxis()->SetRange(lNpNcEcc->GetXaxis()->FindBin(fNpart[ibin]), lNpNcEcc->GetXaxis()->FindBin(fNpart[ibin]));
429+
lNpNcEcc->GetYaxis()->SetRange(lNpNcEcc->GetYaxis()->FindBin(fNcoll[ibin]), lNpNcEcc->GetYaxis()->FindBin(fNcoll[ibin]));
430+
hEccentricity = reinterpret_cast<TH1D*>(lNpNcEcc->Project3D("z"));
431+
hEccentricity->SetName(Form("hEccentricity_%i", ibin));
432+
}
433+
422434
for (Long_t lMultValue = 1; lMultValue < lHiRange; lMultValue++) {
423435
Double_t lNancestors = lNAncestors0;
424436
if (fAncestorMode == 1)
@@ -444,6 +456,12 @@ void multGlauberNBDFitter::CalculateAvNpNc(TProfile* lNPartProf, TProfile* lNCol
444456
lNPart2DPlot->Fill(lMultValueToFill, fNpart[ibin], lProbability);
445457
if (lNColl2DPlot)
446458
lNColl2DPlot->Fill(lMultValueToFill, fNcoll[ibin], lProbability);
459+
if (lNpNcEcc) {
460+
// collapse the entire eccentricity distribution for this combo
461+
for (int ib = 1; ib < hEccentricity->GetNbinsX() + 1; ib++) {
462+
lEcc2DPlot->Fill(lMultValueToFill, hEccentricity->GetBinCenter(ib), lProbability * hEccentricity->GetBinContent(ib));
463+
}
464+
}
447465
}
448466
}
449467
}

Common/Tools/Multiplicity/multGlauberNBDFitter.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#include <TF1.h>
1616
#include <TH1.h>
1717
#include <TH2.h>
18+
#include <TH3.h>
1819
#include <TNamed.h>
1920
#include <TProfile.h>
2021
#include <TString.h>
@@ -77,7 +78,7 @@ class multGlauberNBDFitter : public TNamed
7778
Double_t ContinuousNBD(Double_t n, Double_t mu, Double_t k);
7879

7980
// For estimating Npart, Ncoll in multiplicity bins
80-
void CalculateAvNpNc(TProfile* lNPartProf, TProfile* lNCollProf, TH2F* lNPart2DPlot, TH2F* lNColl2DPlot, TH1F* hPercentileMap, Double_t lLoRange = -1, Double_t lHiRange = -1);
81+
void CalculateAvNpNc(TProfile* lNPartProf, TProfile* lNCollProf, TH2F* lNPart2DPlot, TH2F* lNColl2DPlot, TH1F* hPercentileMap, Double_t lLoRange = -1, Double_t lHiRange = -1, TH3D* lNpNcEcc = 0x0, TH2F* lEcc2DPlot = 0x0);
8182

8283
// void Print(Option_t *option="") const;
8384

0 commit comments

Comments
 (0)