Skip to content

Commit 5cb03c2

Browse files
committed
Remove derived data lists in ALICE3 dqEfficiency
1 parent 439e7b1 commit 5cb03c2

3 files changed

Lines changed: 13 additions & 68 deletions

File tree

ALICE3/DataModel/ReducedTablesAlice3.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,9 +151,8 @@ DECLARE_SOA_DYNAMIC_COLUMN(Y, y, //! Particle rapidity
151151
float pz = pt * std::sinh(eta);
152152
if ((e - pz) > static_cast<float>(1e-7)) {
153153
return 0.5f * std::log((e + pz) / (e - pz));
154-
} else {
155-
return -999.0f;
156154
}
155+
return -999.0f;
157156
});
158157
} // namespace reducedA3trackMC
159158

ALICE3/TableProducer/alice3DqTableMaker.cxx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@
2828
#include "ALICE3/DataModel/collisionAlice3.h"
2929
#include "ALICE3/DataModel/tracksAlice3.h"
3030
#include "Common/CCDB/EventSelectionParams.h"
31+
#include "Common/DataModel/Centrality.h"
3132
#include "Common/DataModel/CollisionAssociationTables.h"
33+
#include "Common/DataModel/Multiplicity.h"
3234
#include "Common/DataModel/TrackSelectionTables.h"
3335

3436
#include <Framework/ASoA.h>
@@ -141,8 +143,9 @@ struct Alice3DqTableMaker {
141143
{
142144
bool isProcessSkimmingEnabled = context.mOptions.get<bool>("processSkimming");
143145

144-
if (!isProcessSkimmingEnabled)
146+
if (!isProcessSkimmingEnabled) {
145147
LOG(fatal) << "No process function was enabled ALICE 3 TableMaker";
148+
}
146149

147150
VarManager::SetDefaultVarNames(); // Important that this is called before defineCuts() !!!
148151

@@ -310,7 +313,7 @@ struct Alice3DqTableMaker {
310313
fStatsList->Add(histEvents);
311314

312315
// Track statistics: one bin for each track selection and 5 bins for V0 tags (gamma, K0s, Lambda, anti-Lambda, Omega)
313-
TH1I* histTracks = new TH1I("TrackStats", "Track statistics", fTrackCuts.size() + 5.0, -0.5, fTrackCuts.size() - 0.5 + 5.0);
316+
TH1I* histTracks = new TH1I("TrackStats", "Track statistics", static_cast<int>(fTrackCuts.size() + 5.0), -0.5, fTrackCuts.size() - 0.5 + 5.0);
314317
ibX = 1;
315318
for (auto cut = fTrackCuts.begin(); cut != fTrackCuts.end(); cut++, ibX++) {
316319
histTracks->GetXaxis()->SetBinLabel(ibX, (*cut)->GetName());
@@ -623,8 +626,9 @@ struct Alice3DqTableMaker {
623626

624627
skimCollisions(collisions);
625628

626-
if (fCollIndexMap.empty())
629+
if (fCollIndexMap.empty()) {
627630
return;
631+
}
628632

629633
skimMCParticles(mcParticles, mcCollisions);
630634

ALICE3/Tasks/alice3DqEfficiency.cxx

Lines changed: 5 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ struct Alice3DqEfficiencyAnalysisTrackSelection {
303303
Configurable<std::string> cfgTrackMCsignalsJSON{"cfgTrackMCsignalsJSON", "", "Additional list of MC signals via JSON"};
304304

305305
HistogramManager* fHistMan = nullptr;
306-
std::vector<AnalysisCompositeCut*> fTrackCuts;
306+
std::vector<AnalysisCut*> fTrackCuts;
307307
std::vector<MCSignal*> fMCSignals; // list of signals to be checked
308308
std::vector<TString> fHistNamesReco;
309309
std::vector<TString> fHistNamesMCMatched;
@@ -330,7 +330,7 @@ struct Alice3DqEfficiencyAnalysisTrackSelection {
330330
if (addTrackCutsStr != "") {
331331
std::vector<AnalysisCut*> addTrackCuts = dqcuts::GetCutsFromJSON(addTrackCutsStr.Data());
332332
for (const auto& t : addTrackCuts) {
333-
fTrackCuts.push_back(static_cast<AnalysisCompositeCut*>(t));
333+
fTrackCuts.push_back(t);
334334
}
335335
}
336336
VarManager::SetUseVars(AnalysisCut::fgUsedVars); // provide the list of required variables so that VarManager knows what to fill
@@ -735,12 +735,6 @@ struct Alice3DqEfficiencyAnalysisPrefilterSelection {
735735
// The task implements also process functions for running event mixing
736736
struct Alice3DqEfficiencyAnalysisSameEventPairing {
737737

738-
Produces<aod::Dielectrons> dielectronList;
739-
Produces<aod::DielectronsExtra> dielectronsExtraList;
740-
Produces<aod::DielectronsAll> dielectronAllList;
741-
Produces<aod::OniaMCTruth> mcTruthTableEffi;
742-
743-
o2::base::MatLayerCylSet* fLUT = nullptr;
744738
OutputObj<THashList> fOutputList{"output"};
745739

746740
struct : ConfigurableGroup {
@@ -1020,27 +1014,6 @@ struct Alice3DqEfficiencyAnalysisSameEventPairing {
10201014
bool isCorrectAssocLeg1 = false;
10211015
bool isCorrectAssocLeg2 = false;
10221016

1023-
int64_t reserveSize = 0;
1024-
for (auto const& event : events) {
1025-
if (event.isEventSelected_bit(0)) {
1026-
auto groupedAssocs = assocs.sliceBy(preslice, event.globalIndex());
1027-
size_t nGood = 0;
1028-
for (auto const& t : groupedAssocs) {
1029-
if (t.isBarrelSelected_raw() > 0u) {
1030-
nGood++;
1031-
}
1032-
}
1033-
reserveSize += nGood * (nGood - 1) / 2;
1034-
}
1035-
}
1036-
1037-
dielectronList.reserve(reserveSize);
1038-
dielectronsExtraList.reserve(reserveSize);
1039-
1040-
if (fConfigOptions.cfgFlatTables.value) {
1041-
dielectronAllList.reserve(reserveSize);
1042-
}
1043-
10441017
for (const auto& event : events) {
10451018
if (!event.isEventSelected_bit(0)) {
10461019
continue;
@@ -1102,11 +1075,6 @@ struct Alice3DqEfficiencyAnalysisSameEventPairing {
11021075
}
11031076

11041077
VarManager::FillPairVertexingAlice3<VarManager::kDecayToEE, GkEventFillMap, GkTrackFillMap>(event, t1, t2, fConfigOptions.cfgPropToPCA);
1105-
if (!fConfigMC.cfgSkimSignalOnly || mcDecision > 0) {
1106-
dielectronList(event.globalIndex(), VarManager::fgValues[VarManager::kMass],
1107-
VarManager::fgValues[VarManager::kPt], VarManager::fgValues[VarManager::kEta], VarManager::fgValues[VarManager::kPhi],
1108-
t1.sign() + t2.sign(), twoTrackFilter, mcDecision);
1109-
}
11101078

11111079
// Fill histograms
11121080
bool isAmbiInBunch = false;
@@ -1253,7 +1221,6 @@ struct Alice3DqEfficiencyAnalysisSameEventPairing {
12531221
for (const auto& sig : fGenMCSignals) {
12541222
if (sig->CheckSignal(true, trackRaw)) {
12551223
fHistMan->FillHistClass(Form("MCTruthGenSel_%s", sig->GetName()), dqefficiency_helpers::varValues());
1256-
mcTruthTableEffi(VarManager::fgValues[VarManager::kMCPt], VarManager::fgValues[VarManager::kMCEta], VarManager::fgValues[VarManager::kMCY], VarManager::fgValues[VarManager::kMCPhi], VarManager::fgValues[VarManager::kMCVz], VarManager::fgValues[VarManager::kMCVtxZ], VarManager::fgValues[VarManager::kMultFT0A], VarManager::fgValues[VarManager::kMultFT0C], VarManager::fgValues[VarManager::kCentFT0M], VarManager::fgValues[VarManager::kVtxNcontribReal]);
12571224
}
12581225
}
12591226
}
@@ -1360,7 +1327,6 @@ struct Alice3DqEfficiencyAnalysisSameEventPairing {
13601327
for (const auto& sig : fGenMCSignals) {
13611328
if (sig->CheckSignal(true, trackRaw)) {
13621329
fHistMan->FillHistClass(Form("MCTruthGenSel_%s", sig->GetName()), dqefficiency_helpers::varValues());
1363-
mcTruthTableEffi(VarManager::fgValues[VarManager::kMCPt], VarManager::fgValues[VarManager::kMCEta], VarManager::fgValues[VarManager::kMCY], VarManager::fgValues[VarManager::kMCPhi], VarManager::fgValues[VarManager::kMCVz], VarManager::fgValues[VarManager::kMCVtxZ], VarManager::fgValues[VarManager::kMultFT0A], VarManager::fgValues[VarManager::kMultFT0C], VarManager::fgValues[VarManager::kCentFT0M], VarManager::fgValues[VarManager::kVtxNcontribReal]);
13641330
}
13651331
}
13661332
}
@@ -1446,7 +1412,6 @@ struct Alice3DqEfficiencyAnalysisSameEventPairing {
14461412
for (const auto& sig : fGenMCSignals) {
14471413
if (sig->CheckSignal(true, trackRaw)) {
14481414
fHistMan->FillHistClass(Form("MCTruthGenSel_%s", sig->GetName()), dqefficiency_helpers::varValues());
1449-
mcTruthTableEffi(VarManager::fgValues[VarManager::kMCPt], VarManager::fgValues[VarManager::kMCEta], VarManager::fgValues[VarManager::kMCY], VarManager::fgValues[VarManager::kMCPhi], VarManager::fgValues[VarManager::kMCVz], VarManager::fgValues[VarManager::kMCVtxZ], VarManager::fgValues[VarManager::kMultFT0A], VarManager::fgValues[VarManager::kMultFT0C], VarManager::fgValues[VarManager::kCentFT0M], VarManager::fgValues[VarManager::kVtxNcontribReal]);
14501415
}
14511416
}
14521417
}
@@ -1509,9 +1474,6 @@ struct Alice3DqEfficiencyAnalysisSameEventPairing {
15091474

15101475
struct Alice3DqEfficiencyAnalysisAsymmetricPairing {
15111476

1512-
Produces<aod::Ditracks> ditrackList;
1513-
Produces<aod::DitracksExtra> ditrackExtraList;
1514-
15151477
// Output objects
15161478
OutputObj<THashList> fOutputList{"output"};
15171479

@@ -1538,7 +1500,7 @@ struct Alice3DqEfficiencyAnalysisAsymmetricPairing {
15381500

15391501
HistogramManager* fHistMan = nullptr;
15401502

1541-
std::vector<AnalysisCompositeCut*> fPairCuts;
1503+
std::vector<AnalysisCut*> fPairCuts;
15421504
int fNPairHistPrefixes = 0;
15431505

15441506
std::vector<MCSignal*> fRecMCSignals;
@@ -1609,7 +1571,7 @@ struct Alice3DqEfficiencyAnalysisAsymmetricPairing {
16091571
if (addPairCutsStr != "") {
16101572
std::vector<AnalysisCut*> addPairCuts = dqcuts::GetCutsFromJSON(addPairCutsStr.Data());
16111573
for (const auto& t : addPairCuts) {
1612-
fPairCuts.push_back(static_cast<AnalysisCompositeCut*>(t));
1574+
fPairCuts.push_back(t);
16131575
pairCutNamesStr += Form(",%s", t->GetName());
16141576
}
16151577
}
@@ -1920,31 +1882,14 @@ struct Alice3DqEfficiencyAnalysisAsymmetricPairing {
19201882
}
19211883

19221884
// Function to run same event pairing with asymmetric pairs (e.g. kaon-pion)
1923-
void runAsymmetricPairing(MyEventsVtxCovSelected const& events, PresliceUnsorted<MyBarrelAssocs>& preslice, MyBarrelAssocs const& assocs, MyBarrelTracksWithCovWithAmbiguities const& /*tracks*/, ReA3MCEvents const& /*mcEvents*/, ReA3MCTracks const& /*mcTracks*/)
1885+
void runAsymmetricPairing(MyEventsVtxCovSelected const& events, PresliceUnsorted<MyBarrelAssocs>& preslice, MyBarrelAssocs const& /*assocs*/, MyBarrelTracksWithCovWithAmbiguities const& /*tracks*/, ReA3MCEvents const& /*mcEvents*/, ReA3MCTracks const& /*mcTracks*/)
19241886
{
19251887
fPairCount.clear();
19261888

19271889
int sign1 = 0;
19281890
int sign2 = 0;
19291891
uint32_t mcDecision = 0;
19301892

1931-
int64_t reserveSize = 0;
1932-
for (auto const& event : events) {
1933-
if (event.isEventSelected_bit(0)) {
1934-
auto groupedAssocs = assocs.sliceBy(preslice, event.globalIndex());
1935-
size_t nGood = 0;
1936-
for (auto const& t : groupedAssocs) {
1937-
if (t.isBarrelSelected_raw() > 0u) {
1938-
nGood++;
1939-
}
1940-
}
1941-
reserveSize += nGood * (nGood - 1) / 2;
1942-
}
1943-
}
1944-
1945-
ditrackList.reserve(reserveSize);
1946-
ditrackExtraList.reserve(reserveSize);
1947-
19481893
for (const auto& event : events) {
19491894
if (!event.isEventSelected_bit(0)) {
19501895
continue;
@@ -2171,9 +2116,6 @@ struct Alice3DqEfficiencyAnalysisAsymmetricPairing {
21712116
} // end loop (pair cuts)
21722117
}
21732118
} // end loop (cuts)
2174-
ditrackList(event.globalIndex(), VarManager::fgValues[VarManager::kMass],
2175-
VarManager::fgValues[VarManager::kPt], VarManager::fgValues[VarManager::kEta], VarManager::fgValues[VarManager::kPhi],
2176-
t1.sign() + t2.sign(), twoTrackFilter, pairFilter, twoTrackCommonFilter);
21772119
} // end inner assoc loop (leg A)
21782120
} // end event loop
21792121
}

0 commit comments

Comments
 (0)