Skip to content

Commit

Permalink
Merge branch 'AliceO2Group:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
Archita-Dash authored Jan 27, 2025
2 parents 665d0af + 28e9474 commit bb04478
Show file tree
Hide file tree
Showing 30 changed files with 4,099 additions and 1,378 deletions.
8 changes: 4 additions & 4 deletions ALICE3/Core/FastTracker.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ void FastTracker::AddSiliconALICE3v4()
layers.push_back(DetLayer{"ddd1", 1.2, 250, x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1});
layers.push_back(DetLayer{"ddd2", 2.5, 250, x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1});
layers.push_back(DetLayer{"bpipe1", 5.7, 250, 0.0014, 9.24e-02, 0.0f, 0.0f, 0.0f, 0}); // 500 mum Be
layers.push_back(DetLayer{"ddd3", 7., 250, x0OT, xrhoOB, resRPhiOT, resZOT, eff, 1});
layers.push_back(DetLayer{"ddd3", 7., 250, x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1});
layers.push_back(DetLayer{"ddd4", 10., 250, x0OT, xrhoOB, resRPhiOT, resZOT, eff, 1});
layers.push_back(DetLayer{"ddd5", 13., 250, x0OT, xrhoOB, resRPhiOT, resZOT, eff, 1});
layers.push_back(DetLayer{"ddd6", 16., 250, x0OT, xrhoOB, resRPhiOT, resZOT, eff, 1});
Expand All @@ -113,12 +113,12 @@ void FastTracker::AddSiliconALICE3v1()
float resZOT = 0.00100; // 5 mum
float eff = 1.00;

layers.push_back(DetLayer{"bpipe0", 0.48, 250, 0.00042, 2.772e-02, 0.0f, 0.0f, 0.0f, 1}); // 150 mum Be
layers.push_back(DetLayer{"bpipe0", 0.48, 250, 0.00042, 2.772e-02, 0.0f, 0.0f, 0.0f, 0}); // 150 mum Be
layers.push_back(DetLayer{"B00", 0.5, 250, x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1});
layers.push_back(DetLayer{"B01", 1.2, 250, x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1});
layers.push_back(DetLayer{"B02", 2.5, 250, x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1});
layers.push_back(DetLayer{"bpipe1", 3.7, 250, 0.0014, 9.24e-02, 0.0f, 0.0f, 0.0f, 1}); // 500 mum Be
layers.push_back(DetLayer{"B03", 3.75, 250, x0OT, xrhoOB, resRPhiOT, resZOT, eff, 1});
layers.push_back(DetLayer{"bpipe1", 3.7, 250, 0.0014, 9.24e-02, 0.0f, 0.0f, 0.0f, 0}); // 500 mum Be
layers.push_back(DetLayer{"B03", 3.75, 250, x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1});
layers.push_back(DetLayer{"B04", 7., 250, x0OT, xrhoOB, resRPhiOT, resZOT, eff, 1});
layers.push_back(DetLayer{"B05", 12., 250, x0OT, xrhoOB, resRPhiOT, resZOT, eff, 1});
layers.push_back(DetLayer{"B06", 20., 250, x0OT, xrhoOB, resRPhiOT, resZOT, eff, 1});
Expand Down
19 changes: 15 additions & 4 deletions ALICE3/TableProducer/alice3-decayfinder.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ struct alice3decayFinder {
ConfigurableAxis axisPt{"axisPt", {VARIABLE_WIDTH, 0.0f, 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, 0.8f, 0.9f, 1.0f, 1.1f, 1.2f, 1.3f, 1.4f, 1.5f, 1.6f, 1.7f, 1.8f, 1.9f, 2.0f, 2.2f, 2.4f, 2.6f, 2.8f, 3.0f, 3.2f, 3.4f, 3.6f, 3.8f, 4.0f, 4.4f, 4.8f, 5.2f, 5.6f, 6.0f, 6.5f, 7.0f, 7.5f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 17.0f, 19.0f, 21.0f, 23.0f, 25.0f, 30.0f, 35.0f, 40.0f, 50.0f}, "pt axis for QA histograms"};
ConfigurableAxis axisDCA{"axisDCA", {200, -100, 100}, "DCA (#mum)"};
ConfigurableAxis axisDMass{"axisDMass", {200, 1.765f, 1.965f}, "D Inv Mass (GeV/c^{2})"};
ConfigurableAxis axisDCADaughters{"axisDCADaughters", {200, 0, 100}, "DCA (#mum)"};
ConfigurableAxis axisLcMass{"axisLcMass", {200, 2.186f, 2.386f}, "#Lambda_{c} Inv Mass (GeV/c^{2})"};

o2::vertexing::DCAFitterN<2> fitter;
Expand Down Expand Up @@ -144,12 +145,14 @@ struct alice3decayFinder {

// Helper struct to pass candidate information
struct {
float dcaDau;
float mass;
float pt;
float eta;
} dmeson;

struct {
float dcaDau;
float mass;
float pt;
float eta;
Expand Down Expand Up @@ -181,8 +184,8 @@ struct alice3decayFinder {
posTrack.getPxPyPzGlo(posP);
negTrack.getPxPyPzGlo(negP);

float dcaDau = TMath::Sqrt(fitter.getChi2AtPCACandidate());
if (dcaDau > dcaDaughtersSelection)
dmeson.dcaDau = TMath::Sqrt(fitter.getChi2AtPCACandidate());
if (dmeson.dcaDau > dcaDaughtersSelection)
return false;

// return mass
Expand Down Expand Up @@ -222,8 +225,8 @@ struct alice3decayFinder {
t1.getPxPyPzGlo(P1);
t2.getPxPyPzGlo(P2);

float dcaDau = TMath::Sqrt(fitter3.getChi2AtPCACandidate());
if (dcaDau > dcaDaughtersSelection)
lcbaryon.dcaDau = TMath::Sqrt(fitter.getChi2AtPCACandidate());
if (lcbaryon.dcaDau > dcaDaughtersSelection)
return false;

// return mass
Expand Down Expand Up @@ -289,6 +292,8 @@ struct alice3decayFinder {

histos.add("hMassD", "hMassD", kTH1F, {axisDMass});
histos.add("hMassDbar", "hMassDbar", kTH1F, {axisDMass});
histos.add("hDCADDaughters", "hDCADDaughters", kTH1D, {axisDCADaughters});
histos.add("hDCADbarDaughters", "hDCADbarDaughters", kTH1D, {axisDCADaughters});

if (doDCAplotsD) {
histos.add("h2dDCAxyVsPtPiPlusFromD", "h2dDCAxyVsPtPiPlusFromD", kTH2F, {axisPt, axisDCA});
Expand All @@ -305,6 +310,8 @@ struct alice3decayFinder {

histos.add("hMassLc", "hMassLc", kTH1F, {axisLcMass});
histos.add("hMassLcbar", "hMassLcbar", kTH1F, {axisLcMass});
histos.add("hDCALcDaughters", "hDCALcDaughters", kTH1D, {axisDCADaughters});
histos.add("hDCALcbarDaughters", "hDCALcbarDaughters", kTH1D, {axisDCADaughters});

if (doDCAplotsD) {
histos.add("h2dDCAxyVsPtPiPlusFromLc", "h2dDCAxyVsPtPiPlusFromLc", kTH2F, {axisPt, axisDCA});
Expand Down Expand Up @@ -362,6 +369,7 @@ struct alice3decayFinder {
continue;
if (!buildDecayCandidateTwoBody(posTrackRow, negTrackRow, o2::constants::physics::MassPionCharged, o2::constants::physics::MassKaonCharged))
continue;
histos.fill(HIST("hDCADDaughters"), dmeson.dcaDau * 1e+4);
histos.fill(HIST("hMassD"), dmeson.mass);
histos.fill(HIST("h3dRecD"), dmeson.pt, dmeson.eta, dmeson.mass);
}
Expand All @@ -373,6 +381,7 @@ struct alice3decayFinder {
continue;
if (!buildDecayCandidateTwoBody(posTrackRow, negTrackRow, o2::constants::physics::MassKaonCharged, o2::constants::physics::MassPionCharged))
continue;
histos.fill(HIST("hDCADbarDaughters"), dmeson.dcaDau * 1e+4);
histos.fill(HIST("hMassDbar"), dmeson.mass);
histos.fill(HIST("h3dRecDbar"), dmeson.pt, dmeson.eta, dmeson.mass);
}
Expand Down Expand Up @@ -417,6 +426,7 @@ struct alice3decayFinder {
continue;
if (!buildDecayCandidateThreeBody(proton, kaon, pion, o2::constants::physics::MassProton, o2::constants::physics::MassKaonCharged, o2::constants::physics::MassPionCharged))
continue;
histos.fill(HIST("hDCALcDaughters"), lcbaryon.dcaDau);
histos.fill(HIST("hMassLc"), lcbaryon.mass);
histos.fill(HIST("h3dRecLc"), lcbaryon.pt, lcbaryon.eta, lcbaryon.mass);
}
Expand All @@ -432,6 +442,7 @@ struct alice3decayFinder {
continue;
if (!buildDecayCandidateThreeBody(proton, kaon, pion, o2::constants::physics::MassProton, o2::constants::physics::MassKaonCharged, o2::constants::physics::MassPionCharged))
continue;
histos.fill(HIST("hDCALcbarDaughters"), lcbaryon.dcaDau);
histos.fill(HIST("hMassLcbar"), lcbaryon.mass);
histos.fill(HIST("h3dRecLcbar"), lcbaryon.pt, lcbaryon.eta, lcbaryon.mass);
}
Expand Down
20 changes: 12 additions & 8 deletions Common/DataModel/Centrality.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,15 @@ DECLARE_SOA_COLUMN(CentRun2CL1, centRun2CL1, float); //! Run 2
DECLARE_SOA_COLUMN(CentRun2RefMult5, centRun2RefMult5, float); //! Run 2 cent. from ref. mult. estimator, eta 0.5
DECLARE_SOA_COLUMN(CentRun2RefMult8, centRun2RefMult8, float); //! Run 2 cent. from ref. mult. estimator, eta 0.8

DECLARE_SOA_COLUMN(CentFV0A, centFV0A, float); //! Run 3 cent. from FV0A multiplicities
DECLARE_SOA_COLUMN(CentFT0M, centFT0M, float); //! Run 3 cent. from FT0A+FT0C multiplicities
DECLARE_SOA_COLUMN(CentFT0A, centFT0A, float); //! Run 3 cent. from FT0A multiplicity
DECLARE_SOA_COLUMN(CentFT0C, centFT0C, float); //! Run 3 cent. from FT0C multiplicity
DECLARE_SOA_COLUMN(CentFDDM, centFDDM, float); //! Run 3 cent. from FDDA+FDDC multiplicity
DECLARE_SOA_COLUMN(CentNTPV, centNTPV, float); //! Run 3 cent. from the number of tracks contributing to the
DECLARE_SOA_COLUMN(CentNGlobal, centNGlobal, float); //! Run 3 cent. from the number of tracks contributing to the PV
DECLARE_SOA_COLUMN(CentMFT, centMFT, float); //! Run 3 cent. from the number of tracks in the MFT
DECLARE_SOA_COLUMN(CentFV0A, centFV0A, float); //! Run 3 cent. from FV0A multiplicities
DECLARE_SOA_COLUMN(CentFT0M, centFT0M, float); //! Run 3 cent. from FT0A+FT0C multiplicities
DECLARE_SOA_COLUMN(CentFT0A, centFT0A, float); //! Run 3 cent. from FT0A multiplicity
DECLARE_SOA_COLUMN(CentFT0C, centFT0C, float); //! Run 3 cent. from FT0C multiplicity
DECLARE_SOA_COLUMN(CentFT0CVariant1, centFT0CVariant1, float); //! Run 3 cent. from FT0C multiplicity
DECLARE_SOA_COLUMN(CentFDDM, centFDDM, float); //! Run 3 cent. from FDDA+FDDC multiplicity
DECLARE_SOA_COLUMN(CentNTPV, centNTPV, float); //! Run 3 cent. from the number of tracks contributing to the
DECLARE_SOA_COLUMN(CentNGlobal, centNGlobal, float); //! Run 3 cent. from the number of tracks contributing to the PV
DECLARE_SOA_COLUMN(CentMFT, centMFT, float); //! Run 3 cent. from the number of tracks in the MFT
} // namespace cent

// Run 2 tables
Expand All @@ -56,6 +57,9 @@ DECLARE_SOA_TABLE(CentNTPVs, "AOD", "CENTNTPV", cent::CentNTPV); //! Ru
DECLARE_SOA_TABLE(CentNGlobals, "AOD", "CENTNGLOBAL", cent::CentNGlobal); //! Run 3 NGlobal centrality table
DECLARE_SOA_TABLE(CentMFTs, "AOD", "CENTMFT", cent::CentMFT); //! Run 3 MFT tracks centrality table

// Run 3 variant tables
DECLARE_SOA_TABLE(CentFT0CVariant1s, "AOD", "CENTFT0Cvar1", cent::CentFT0CVariant1); //! Run 3 FT0C variant 1

using CentRun2V0M = CentRun2V0Ms::iterator;
using CentRun2V0A = CentRun2V0As::iterator;
using CentRun2SPDTrk = CentRun2SPDTrks::iterator;
Expand Down
33 changes: 25 additions & 8 deletions Common/TableProducer/centralityTable.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,12 @@ static constexpr int kCentFV0As = 6;
static constexpr int kCentFT0Ms = 7;
static constexpr int kCentFT0As = 8;
static constexpr int kCentFT0Cs = 9;
static constexpr int kCentFDDMs = 10;
static constexpr int kCentNTPVs = 11;
static constexpr int kCentNGlobals = 12;
static constexpr int kCentMFTs = 13;
static constexpr int nTables = 14;
static constexpr int kCentFT0CVariant1s = 10;
static constexpr int kCentFDDMs = 11;
static constexpr int kCentNTPVs = 12;
static constexpr int kCentNGlobals = 13;
static constexpr int kCentMFTs = 14;
static constexpr int nTables = 15;
static constexpr int nParameters = 1;
static const std::vector<std::string> tableNames{"CentRun2V0Ms",
"CentRun2V0As",
Expand All @@ -58,12 +59,13 @@ static const std::vector<std::string> tableNames{"CentRun2V0Ms",
"CentFT0Ms",
"CentFT0As",
"CentFT0Cs",
"CentFT0CVariant1s",
"CentFDDMs",
"CentNTPVs",
"CentNGlobals",
"CentMFTs"};
static const std::vector<std::string> parameterNames{"Enable"};
static const int defaultParameters[nTables][nParameters]{{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}};
static const int defaultParameters[nTables][nParameters]{{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}};

struct CentralityTable {
Produces<aod::CentRun2V0Ms> centRun2V0M;
Expand All @@ -76,6 +78,7 @@ struct CentralityTable {
Produces<aod::CentFT0Ms> centFT0M;
Produces<aod::CentFT0As> centFT0A;
Produces<aod::CentFT0Cs> centFT0C;
Produces<aod::CentFT0CVariant1s> centFT0CVariant1;
Produces<aod::CentFDDMs> centFDDM;
Produces<aod::CentNTPVs> centNTPV;
Produces<aod::CentNGlobals> centNGlobals;
Expand Down Expand Up @@ -166,6 +169,7 @@ struct CentralityTable {
calibrationInfo FT0MInfo = calibrationInfo("FT0");
calibrationInfo FT0AInfo = calibrationInfo("FT0A");
calibrationInfo FT0CInfo = calibrationInfo("FT0C");
calibrationInfo FT0CVariant1Info = calibrationInfo("FT0Cvar1");
calibrationInfo FDDMInfo = calibrationInfo("FDD");
calibrationInfo NTPVInfo = calibrationInfo("NTracksPV");
calibrationInfo NGlobalInfo = calibrationInfo("NGlobal");
Expand All @@ -183,8 +187,8 @@ struct CentralityTable {
if (doprocessRun3FT0 == true) {
LOG(fatal) << "FT0 only mode is automatically enabled in Run3 mode. Please disable it and enable processRun3.";
}
if (doprocessRun2 == false && doprocessRun3 == false) {
LOGF(fatal, "Neither processRun2 nor processRun3 enabled. Please choose one.");
if (doprocessRun2 == false && doprocessRun3 == false && doprocessRun3Complete == false) {
LOGF(fatal, "Neither processRun2 nor processRun3 nor processRun3Complete enabled. Please choose one.");
}
if (doprocessRun2 == true && doprocessRun3 == true) {
LOGF(fatal, "Cannot enable processRun2 and processRun3 at the same time. Please choose one.");
Expand Down Expand Up @@ -466,6 +470,9 @@ struct CentralityTable {
case kCentFT0Cs:
centFT0C.reserve(collisions.size());
break;
case kCentFT0CVariant1s:
centFT0CVariant1.reserve(collisions.size());
break;
case kCentFDDMs:
centFDDM.reserve(collisions.size());
break;
Expand Down Expand Up @@ -519,6 +526,7 @@ struct CentralityTable {
FT0MInfo.mCalibrationStored = false;
FT0AInfo.mCalibrationStored = false;
FT0CInfo.mCalibrationStored = false;
FT0CVariant1Info.mCalibrationStored = false;
FDDMInfo.mCalibrationStored = false;
NTPVInfo.mCalibrationStored = false;
NGlobalInfo.mCalibrationStored = false;
Expand Down Expand Up @@ -564,6 +572,9 @@ struct CentralityTable {
case kCentFT0Cs:
getccdb(FT0CInfo, ccdbConfig.genName);
break;
case kCentFT0CVariant1s:
getccdb(FT0CInfo, ccdbConfig.genName);
break;
case kCentFDDMs:
getccdb(FDDMInfo, ccdbConfig.genName);
break;
Expand Down Expand Up @@ -672,6 +683,11 @@ struct CentralityTable {
}
}
break;
case kCentFT0CVariant1s:
if constexpr (enableCentFT0) {
populateTable(centFT0CVariant1, FT0CVariant1Info, collision.multZeqFT0C());
}
break;
case kCentFDDMs:
if constexpr (enableCentFDD) {
populateTable(centFDDM, FDDMInfo, collision.multZeqFDDA() + collision.multZeqFDDC());
Expand Down Expand Up @@ -720,6 +736,7 @@ struct CentralityTable {

// Process switches
PROCESS_SWITCH(CentralityTable, processRun2, "Provide Run2 calibrated centrality/multiplicity percentiles tables", true);
PROCESS_SWITCH(CentralityTable, processRun3Complete, "Provide Run3 calibrated centrality/multiplicity percentiles tables using MFT and global tracks (requires extra subscriptions)", false);
PROCESS_SWITCH(CentralityTable, processRun3, "Provide Run3 calibrated centrality/multiplicity percentiles tables", false);
PROCESS_SWITCH(CentralityTable, processRun3FT0, "Provide Run3 calibrated centrality/multiplicity percentiles tables for FT0 only", false);
};
Expand Down
Loading

0 comments on commit bb04478

Please sign in to comment.