Skip to content

Commit c9a278a

Browse files
authored
Merge branch 'master' into master
2 parents 864e616 + 55b21d9 commit c9a278a

40 files changed

+805
-521
lines changed

Common/TableProducer/multCentTable.cxx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ struct MultCentTable {
7272
ccdb->setCaching(true);
7373
ccdb->setLocalObjectValidityChecking();
7474
ccdb->setURL(ccdburl.value);
75+
ccdb->setFatalWhenNull(false); // please never crash on your own, all exceptions captured (as they always should)
7576

7677
// task-specific
7778
module.init(opts, initContext);

Common/Tasks/qaMuon.cxx

Lines changed: 102 additions & 17 deletions
Large diffs are not rendered by default.

PWGCF/FemtoUniverse/DataModel/FemtoDerived.h

Lines changed: 18 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -139,23 +139,6 @@ DECLARE_SOA_COLUMN(MKaon, mKaon, float); //! The invariant mass of V
139139

140140
} // namespace femtouniverseparticle
141141

142-
/// FemtoUniverseCascadeTrack
143-
namespace femtouniversecascparticle
144-
{
145-
146-
DECLARE_SOA_COLUMN(DcaV0daughters, dcaV0daughters, float); //! DCA between V0 daughters
147-
DECLARE_SOA_COLUMN(Cpav0, cpav0, float); //! V0 cos of pointing angle
148-
DECLARE_SOA_COLUMN(V0radius, v0radius, float); //! V0 transverse radius
149-
DECLARE_SOA_COLUMN(CpaCasc, cpaCasc, float); //! cascade cosinus of pointing angle
150-
DECLARE_SOA_COLUMN(Dcacascdaughters, dcacascdaughters, float); //! DCA between cascade daughters
151-
DECLARE_SOA_COLUMN(Cascradius, cascradius, float); //! cascade transverse radius
152-
DECLARE_SOA_COLUMN(Dcapostopv, dcapostopv, float); //! DCA of positive daughter to PV
153-
DECLARE_SOA_COLUMN(Dcanegtopv, dcanegtopv, float); //! DCA of negative daughter to PV
154-
DECLARE_SOA_COLUMN(Dcabachtopv, dcabachtopv, float); //! DCA of bachelor track to PV
155-
DECLARE_SOA_COLUMN(Dcav0topv, dcav0topv, float); //! DCA of V0 to PV
156-
157-
} // namespace femtouniversecascparticle
158-
159142
DECLARE_SOA_TABLE(FDParticles, "AOD", "FDPARTICLE",
160143
o2::soa::Index<>,
161144
femtouniverseparticle::FdCollisionId,
@@ -176,6 +159,23 @@ DECLARE_SOA_TABLE(FDParticles, "AOD", "FDPARTICLE",
176159
femtouniverseparticle::P<femtouniverseparticle::Pt, femtouniverseparticle::Eta>);
177160
using FDParticle = FDParticles::iterator;
178161

162+
/// FemtoUniverseCascadeTrack
163+
namespace femtouniversecascparticle
164+
{
165+
DECLARE_SOA_INDEX_COLUMN(FDParticle, fdParticle);
166+
DECLARE_SOA_COLUMN(DcaV0daughters, dcaV0daughters, float); //! DCA between V0 daughters
167+
DECLARE_SOA_COLUMN(Cpav0, cpav0, float); //! V0 cos of pointing angle
168+
DECLARE_SOA_COLUMN(V0radius, v0radius, float); //! V0 transverse radius*/
169+
DECLARE_SOA_COLUMN(CpaCasc, cpaCasc, float); //! cascade cosinus of pointing angle
170+
DECLARE_SOA_COLUMN(Dcacascdaughters, dcacascdaughters, float); //! DCA between cascade daughters
171+
DECLARE_SOA_COLUMN(Cascradius, cascradius, float); //! cascade transverse radius
172+
DECLARE_SOA_COLUMN(Dcapostopv, dcapostopv, float); //! DCA of positive daughter to PV
173+
DECLARE_SOA_COLUMN(Dcanegtopv, dcanegtopv, float); //! DCA of negative daughter to PV
174+
DECLARE_SOA_COLUMN(Dcabachtopv, dcabachtopv, float); //! DCA of bachelor track to PV
175+
DECLARE_SOA_COLUMN(Dcav0topv, dcav0topv, float); //! DCA of V0 to PV
176+
177+
} // namespace femtouniversecascparticle
178+
179179
DECLARE_SOA_TABLE(FDExtParticles, "AOD", "FDEXTPARTICLE",
180180
femtouniverseparticle::Sign,
181181
femtouniverseparticle::TpcNClsFound,
@@ -221,16 +221,7 @@ using FDFullParticle = FDExtParticles::iterator;
221221
DECLARE_SOA_TABLE(FDCascParticles, "AOD", "FDCASCPARTICLE",
222222
o2::soa::Index<>,
223223
femtouniverseparticle::FdCollisionId,
224-
femtouniverseparticle::Pt,
225-
femtouniverseparticle::Eta,
226-
femtouniverseparticle::Phi,
227-
femtouniverseparticle::PartType,
228-
femtouniverseparticle::Cut,
229-
femtouniverseparticle::PidCut,
230-
femtouniverseparticle::TempFitVar,
231-
femtouniverseparticle::ChildrenIds,
232-
femtouniverseparticle::MLambda,
233-
femtouniverseparticle::MAntiLambda,
224+
femtouniversecascparticle::FDParticleId,
234225
femtouniverseparticle::Theta<femtouniverseparticle::Eta>,
235226
femtouniverseparticle::Px<femtouniverseparticle::Pt, femtouniverseparticle::Phi>,
236227
femtouniverseparticle::Py<femtouniverseparticle::Pt, femtouniverseparticle::Phi>,

PWGCF/FemtoUniverse/TableProducer/femtoUniverseProducerTask.cxx

Lines changed: 92 additions & 149 deletions
Original file line numberDiff line numberDiff line change
@@ -1015,24 +1015,15 @@ struct FemtoUniverseProducerTask {
10151015
auto cutContainer = trackCuts.getCutContainer<aod::femtouniverseparticle::CutContainerType>(track);
10161016

10171017
// now the table is filled
1018-
if (!confIsActivateCascade) {
1019-
outputParts(outputCollision.lastIndex(), track.pt(), track.eta(),
1020-
track.phi(), aod::femtouniverseparticle::ParticleType::kTrack,
1021-
cutContainer.at(
1022-
femto_universe_track_selection::TrackContainerPosition::kCuts),
1023-
cutContainer.at(
1024-
femto_universe_track_selection::TrackContainerPosition::kPID),
1025-
track.dcaXY(), childIDs, 0,
1026-
track.sign()); // sign getter is mAntiLambda()
1027-
} else {
1028-
outputCascParts(outputCollision.lastIndex(), track.pt(), track.eta(),
1029-
track.phi(), aod::femtouniverseparticle::ParticleType::kTrack,
1030-
cutContainer.at(
1031-
femto_universe_track_selection::TrackContainerPosition::kCuts),
1032-
cutContainer.at(
1033-
femto_universe_track_selection::TrackContainerPosition::kPID),
1034-
track.dcaXY(), childIDs, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
1035-
}
1018+
outputParts(outputCollision.lastIndex(), track.pt(), track.eta(),
1019+
track.phi(), aod::femtouniverseparticle::ParticleType::kTrack,
1020+
cutContainer.at(
1021+
femto_universe_track_selection::TrackContainerPosition::kCuts),
1022+
cutContainer.at(
1023+
femto_universe_track_selection::TrackContainerPosition::kPID),
1024+
track.dcaXY(), childIDs, 0,
1025+
track.sign()); // sign getter is mAntiLambda()
1026+
10361027
tmpIDtrack.push_back(track.globalIndex());
10371028
if (confIsDebug) {
10381029
fillDebugParticle<true, false, false>(track);
@@ -1160,28 +1151,18 @@ struct FemtoUniverseProducerTask {
11601151
childIDs[1] = 0; // neg
11611152
childIDs[2] = 0; // bachelor
11621153
float hasTOF = posTrackCasc.hasTOF() ? 1 : 0;
1163-
outputCascParts(outputCollision.lastIndex(),
1164-
casc.positivept(),
1165-
casc.positiveeta(),
1166-
casc.positivephi(),
1167-
aod::femtouniverseparticle::ParticleType::kV0Child,
1168-
0, // cutContainerV0.at(femto_universe_v0_selection::V0ContainerPosition::kPosCuts),
1169-
0, // cutContainerV0.at(femto_universe_v0_selection::V0ContainerPosition::kPosPID),
1170-
hasTOF,
1171-
childIDs,
1172-
0,
1173-
0,
1174-
0,
1175-
0,
1176-
0,
1177-
0,
1178-
0,
1179-
0,
1180-
0,
1181-
0,
1182-
0,
1183-
0);
1184-
const int rowOfPosTrack = outputCascParts.lastIndex();
1154+
outputParts(outputCollision.lastIndex(),
1155+
casc.positivept(),
1156+
casc.positiveeta(),
1157+
casc.positivephi(),
1158+
aod::femtouniverseparticle::ParticleType::kV0Child,
1159+
0, // cutContainerV0.at(femto_universe_v0_selection::V0ContainerPosition::kPosCuts),
1160+
0, // cutContainerV0.at(femto_universe_v0_selection::V0ContainerPosition::kPosPID),
1161+
hasTOF,
1162+
childIDs,
1163+
0,
1164+
0);
1165+
const int rowOfPosTrack = outputParts.lastIndex();
11851166
if constexpr (isMC) {
11861167
fillMCParticle(posTrackCasc, o2::aod::femtouniverseparticle::ParticleType::kV0Child);
11871168
}
@@ -1192,28 +1173,18 @@ struct FemtoUniverseProducerTask {
11921173
childIDs[1] = rowInPrimaryTrackTableNeg; // neg
11931174
childIDs[2] = 0; // bachelor
11941175
hasTOF = negTrackCasc.hasTOF() ? 1 : 0;
1195-
outputCascParts(outputCollision.lastIndex(),
1196-
casc.negativept(),
1197-
casc.negativeeta(),
1198-
casc.negativephi(),
1199-
aod::femtouniverseparticle::ParticleType::kV0Child,
1200-
0, // cutContainerV0.at(femto_universe_v0_selection::V0ContainerPosition::kNegCuts),
1201-
0, // cutContainerV0.at(femto_universe_v0_selection::V0ContainerPosition::kNegPID),
1202-
hasTOF,
1203-
childIDs,
1204-
0,
1205-
0,
1206-
0,
1207-
0,
1208-
0,
1209-
0,
1210-
0,
1211-
0,
1212-
0,
1213-
0,
1214-
0,
1215-
0);
1216-
const int rowOfNegTrack = outputCascParts.lastIndex();
1176+
outputParts(outputCollision.lastIndex(),
1177+
casc.negativept(),
1178+
casc.negativeeta(),
1179+
casc.negativephi(),
1180+
aod::femtouniverseparticle::ParticleType::kV0Child,
1181+
0, // cutContainerV0.at(femto_universe_v0_selection::V0ContainerPosition::kNegCuts),
1182+
0, // cutContainerV0.at(femto_universe_v0_selection::V0ContainerPosition::kNegPID),
1183+
hasTOF,
1184+
childIDs,
1185+
0,
1186+
0);
1187+
const int rowOfNegTrack = outputParts.lastIndex();
12171188
if constexpr (isMC) {
12181189
fillMCParticle(negTrackCasc, o2::aod::femtouniverseparticle::ParticleType::kV0Child);
12191190
}
@@ -1225,44 +1196,36 @@ struct FemtoUniverseProducerTask {
12251196
childIDs[1] = 0; // neg
12261197
childIDs[2] = rowInPrimaryTrackTableBach; // bachelor
12271198
hasTOF = bachTrackCasc.hasTOF() ? 1 : 0;
1228-
outputCascParts(outputCollision.lastIndex(),
1229-
casc.bachelorpt(),
1230-
casc.bacheloreta(),
1231-
casc.bachelorphi(),
1232-
aod::femtouniverseparticle::ParticleType::kCascadeBachelor,
1233-
0, // cutContainerV0.at(femto_universe_v0_selection::V0ContainerPosition::kNegCuts),
1234-
0, // cutContainerV0.at(femto_universe_v0_selection::V0ContainerPosition::kNegPID),
1235-
hasTOF,
1236-
childIDs,
1237-
0,
1238-
0,
1239-
0,
1240-
0,
1241-
0,
1242-
0,
1243-
0,
1244-
0,
1245-
0,
1246-
0,
1247-
0,
1248-
0);
1249-
const int rowOfBachTrack = outputCascParts.lastIndex();
1199+
outputParts(outputCollision.lastIndex(),
1200+
casc.bachelorpt(),
1201+
casc.bacheloreta(),
1202+
casc.bachelorphi(),
1203+
aod::femtouniverseparticle::ParticleType::kCascadeBachelor,
1204+
0, // cutContainerV0.at(femto_universe_v0_selection::V0ContainerPosition::kNegCuts),
1205+
0, // cutContainerV0.at(femto_universe_v0_selection::V0ContainerPosition::kNegPID),
1206+
hasTOF,
1207+
childIDs,
1208+
0,
1209+
0);
1210+
const int rowOfBachTrack = outputParts.lastIndex();
12501211
if constexpr (isMC) {
12511212
fillMCParticle(bachTrackCasc, o2::aod::femtouniverseparticle::ParticleType::kCascadeBachelor);
12521213
}
12531214
// cascade
12541215
std::vector<int> indexCascChildID = {rowOfPosTrack, rowOfNegTrack, rowOfBachTrack};
1216+
outputParts(outputCollision.lastIndex(),
1217+
casc.pt(),
1218+
casc.eta(),
1219+
casc.phi(),
1220+
aod::femtouniverseparticle::ParticleType::kCascade,
1221+
0, // cutContainerV0.at(femto_universe_v0_selection::V0ContainerPosition::kV0),
1222+
0,
1223+
0,
1224+
indexCascChildID,
1225+
casc.mXi(),
1226+
casc.mOmega());
12551227
outputCascParts(outputCollision.lastIndex(),
1256-
casc.pt(),
1257-
casc.eta(),
1258-
casc.phi(),
1259-
aod::femtouniverseparticle::ParticleType::kCascade,
1260-
0, // cutContainerV0.at(femto_universe_v0_selection::V0ContainerPosition::kV0),
1261-
0,
1262-
0,
1263-
indexCascChildID,
1264-
casc.mXi(),
1265-
casc.mOmega(),
1228+
outputParts.lastIndex(),
12661229
casc.dcaV0daughters(),
12671230
casc.v0cosPA(col.posX(), col.posY(), col.posZ()),
12681231
casc.v0radius(),
@@ -1725,30 +1688,21 @@ struct FemtoUniverseProducerTask {
17251688
tmpIDtrack.push_back(particle.globalIndex());
17261689
continue;
17271690
}
1728-
if (!confIsActivateCascade) {
1729-
outputParts(outputCollision.lastIndex(),
1730-
particle.pt(),
1731-
particle.eta(),
1732-
particle.phi(),
1733-
aod::femtouniverseparticle::ParticleType::kMCTruthTrack,
1734-
0,
1735-
pdgCode,
1736-
variablePDG,
1737-
childIDs,
1738-
0,
1739-
0);
1740-
} else {
1691+
1692+
if (confIsActivateCascade)
17411693
childIDs.push_back(0);
1742-
outputCascParts(outputCollision.lastIndex(),
1743-
particle.pt(),
1744-
particle.eta(),
1745-
particle.phi(),
1746-
aod::femtouniverseparticle::ParticleType::kMCTruthTrack,
1747-
0,
1748-
pdgCode,
1749-
pdgCode,
1750-
childIDs, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
1751-
}
1694+
outputParts(outputCollision.lastIndex(),
1695+
particle.pt(),
1696+
particle.eta(),
1697+
particle.phi(),
1698+
aod::femtouniverseparticle::ParticleType::kMCTruthTrack,
1699+
0,
1700+
pdgCode,
1701+
variablePDG,
1702+
childIDs,
1703+
0,
1704+
0);
1705+
17521706
if (confIsDebug) {
17531707
fillDebugParticle<false, true, false>(particle);
17541708
}
@@ -1782,29 +1736,18 @@ struct FemtoUniverseProducerTask {
17821736

17831737
int32_t variablePDG = confStoreMCmothers ? getMotherPDG(particle) : particle.pdgCode();
17841738

1785-
if (!confIsActivateCascade) {
1786-
outputParts(outputCollision.lastIndex(),
1787-
particle.pt(),
1788-
particle.eta(),
1789-
particle.phi(),
1790-
aod::femtouniverseparticle::ParticleType::kMCTruthTrack,
1791-
0,
1792-
static_cast<uint32_t>(particle.pdgCode()),
1793-
variablePDG,
1794-
childIDs,
1795-
0,
1796-
0);
1797-
} else {
1798-
outputCascParts(outputCollision.lastIndex(),
1799-
particle.pt(),
1800-
particle.eta(),
1801-
particle.phi(),
1802-
aod::femtouniverseparticle::ParticleType::kMCTruthTrack,
1803-
0,
1804-
static_cast<uint32_t>(particle.pdgCode()),
1805-
particle.pdgCode(),
1806-
childIDs, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
1807-
}
1739+
outputParts(outputCollision.lastIndex(),
1740+
particle.pt(),
1741+
particle.eta(),
1742+
particle.phi(),
1743+
aod::femtouniverseparticle::ParticleType::kMCTruthTrack,
1744+
0,
1745+
static_cast<uint32_t>(particle.pdgCode()),
1746+
variablePDG,
1747+
childIDs,
1748+
0,
1749+
0);
1750+
18081751
if (confIsDebug) {
18091752
fillDebugParticle<false, true, false>(particle);
18101753
}
@@ -1890,15 +1833,15 @@ struct FemtoUniverseProducerTask {
18901833
ptGenB); // pT of the B hadron (mother particle, only when non-prompt D0)
18911834
}
18921835
} else {
1893-
outputCascParts(outputCollision.lastIndex(),
1894-
particle.pt(),
1895-
particle.eta(),
1896-
particle.phi(),
1897-
aod::femtouniverseparticle::ParticleType::kMCTruthTrack,
1898-
0,
1899-
pdgCode,
1900-
pdgCode,
1901-
childIDs, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
1836+
outputParts(outputCollision.lastIndex(),
1837+
particle.pt(),
1838+
particle.eta(),
1839+
particle.phi(),
1840+
aod::femtouniverseparticle::ParticleType::kMCTruthTrack,
1841+
0,
1842+
pdgCode,
1843+
pdgCode,
1844+
childIDs, 0, 0);
19021845
}
19031846
if (confIsDebug) {
19041847
fillDebugParticle<false, true, false>(particle);

0 commit comments

Comments
 (0)