Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions Analysis/EventFiltering/cefpTask.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -118,10 +118,8 @@ struct centralEventFilterTask {
}
LOG(INFO) << "Middle init, total number of columns " << nCols;

scalers.add("mScalers", "", HistType::kTH1F, {{nCols + 1, -0.5, 0.5 + nCols, ";;Number of events"}});
scalers.add("mFiltered", "", HistType::kTH1F, {{nCols + 1, -0.5, 0.5 + nCols, ";;Number of filtered events"}});
auto mScalers = scalers.get<TH1>(HIST("mScalers"));
auto mFiltered = scalers.get<TH1>(HIST("mFiltered"));
auto mScalers = std::get<std::shared_ptr<TH1>>(scalers.add("mScalers", ";;Number of events", HistType::kTH1F, {{nCols + 1, -0.5, 0.5 + nCols}}));
auto mFiltered = std::get<std::shared_ptr<TH1>>(scalers.add("mFiltered", ";;Number of filtered events", HistType::kTH1F, {{nCols + 1, -0.5, 0.5 + nCols}}));

mScalers->GetXaxis()->SetBinLabel(1, "Total number of events");
mFiltered->GetXaxis()->SetBinLabel(1, "Total number of events");
Expand All @@ -143,13 +141,15 @@ struct centralEventFilterTask {

void run(ProcessingContext& pc)
{
auto mScalers{scalers.get<TH1>(HIST("mScalers"))};
auto mFiltered{scalers.get<TH1>(HIST("mFiltered"))};

auto mScalers = scalers.get<TH1>(HIST("mScalers"));
auto mFiltered = scalers.get<TH1>(HIST("mFiltered"));
int64_t nEvents{-1};
for (auto& tableName : mDownscaling) {
if (!pc.inputs().isValid(tableName.first)) {
LOG(FATAL) << tableName.first << " table is not valid.";
}
auto tableConsumer = pc.inputs().get<TableConsumer>(tableName.first);

auto tablePtr{tableConsumer->asArrowTable()};
int64_t nRows{tablePtr->num_rows()};
nEvents = nEvents < 0 ? nRows : nEvents;
Expand Down
8 changes: 6 additions & 2 deletions Analysis/EventFiltering/nucleiFilter.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,11 @@ struct nucleiFilter {
spectra.add("fCollZpos", "collision z position", HistType::kTH1F, {{600, -20., +20., "z position (cm)"}});
spectra.add("fTPCsignal", "Specific energy loss", HistType::kTH2F, {{600, 0., 3, "#it{p} (GeV/#it{c})"}, {1400, 0, 1400, "d#it{E} / d#it{X} (a. u.)"}});
spectra.add("fTPCcounts", "n-sigma TPC", HistType::kTH2F, {ptAxis, {200, -100., +100., "n#sigma_{He} (a. u.)"}});
spectra.add("fProcessedEvents", "Nuclei - event filtered", HistType::kTH1F, {{4, -0.5, 3.5, "Event counter"}});

auto scalers{std::get<std::shared_ptr<TH1>>(spectra.add("fProcessedEvents", ";;Number of filtered events", HistType::kTH1F, {{4, -0.5, 3.5}}))};
for (uint32_t iS{1}; iS <= nucleiNames.size(); ++iS) {
scalers->GetXaxis()->SetBinLabel(iS, nucleiNames[iS - 1].data());
}
}

Filter collisionFilter = nabs(aod::collision::posZ) < cfgCutVertex;
Expand All @@ -95,7 +99,7 @@ struct nucleiFilter {
spectra.fill(HIST("fCollZpos"), collision.posZ());
//

for (auto track : tracks) { // start loop over tracks
for (auto& track : tracks) { // start loop over tracks

const float nSigmaTPC[nNuclei]{
track.tpcNSigmaDe(), track.tpcNSigmaTr(), track.tpcNSigmaHe(), track.tpcNSigmaAl()};
Expand Down
15 changes: 8 additions & 7 deletions Framework/Core/include/Framework/HistogramRegistry.h
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,9 @@ class HistogramRegistry
HistogramRegistry(char const* const name, std::vector<HistogramSpec> histSpecs = {}, OutputObjHandlingPolicy policy = OutputObjHandlingPolicy::AnalysisObject, bool sortHistos = true, bool createRegistryDir = false);

// functions to add histograms to the registry
void add(const HistogramSpec& histSpec);
void add(char const* const name, char const* const title, const HistogramConfigSpec& histConfigSpec, bool callSumw2 = false);
void add(char const* const name, char const* const title, HistType histType, std::vector<AxisSpec> axes, bool callSumw2 = false);
HistPtr add(const HistogramSpec& histSpec);
HistPtr add(char const* const name, char const* const title, const HistogramConfigSpec& histConfigSpec, bool callSumw2 = false);
HistPtr add(char const* const name, char const* const title, HistType histType, std::vector<AxisSpec> axes, bool callSumw2 = false);
void addClone(const std::string& source, const std::string& target);

// function to query if name is already in use
Expand Down Expand Up @@ -137,11 +137,11 @@ class HistogramRegistry

private:
// create histogram from specification and insert it into the registry
void insert(const HistogramSpec& histSpec);
HistPtr insert(const HistogramSpec& histSpec);

// clone an existing histogram and insert it into the registry
template <typename T>
void insertClone(const HistName& histName, const std::shared_ptr<T>& originalHist);
HistPtr insertClone(const HistName& histName, const std::shared_ptr<T>& originalHist);

// helper function that checks if histogram name can be used in registry
void validateHistName(const char* name, const uint32_t hash);
Expand Down Expand Up @@ -345,7 +345,7 @@ auto& HistogramRegistry::operator()(const HistName& histName)
}

template <typename T>
void HistogramRegistry::insertClone(const HistName& histName, const std::shared_ptr<T>& originalHist)
HistPtr HistogramRegistry::insertClone(const HistName& histName, const std::shared_ptr<T>& originalHist)
{
validateHistName(histName.str, histName.hash);
for (auto i = 0u; i < MAX_REGISTRY_SIZE; ++i) {
Expand All @@ -356,10 +356,11 @@ void HistogramRegistry::insertClone(const HistName& histName, const std::shared_
mRegistryKey[imask(histName.idx + i)] = histName.hash;
mRegistryValue[imask(histName.idx + i)] = std::shared_ptr<T>(static_cast<T*>(originalHist->Clone(histName.str)));
lookup += i;
return;
return mRegistryValue[imask(histName.idx + i)];
}
}
LOGF(FATAL, R"(Internal array of HistogramRegistry "%s" is full.)", mName);
return HistPtr();
}

template <typename T>
Expand Down
17 changes: 9 additions & 8 deletions Framework/Core/src/HistogramRegistry.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ void HistogramRegistry::setHash(uint32_t hash)
}

// create histogram from specification and insert it into the registry
void HistogramRegistry::insert(const HistogramSpec& histSpec)
HistPtr HistogramRegistry::insert(const HistogramSpec& histSpec)
{
validateHistName(histSpec.name.data(), histSpec.hash);
const uint32_t idx = imask(histSpec.hash);
Expand All @@ -69,10 +69,11 @@ void HistogramRegistry::insert(const HistogramSpec& histSpec)
mRegistryKey[imask(idx + i)] = histSpec.hash;
mRegistryValue[imask(idx + i)] = HistFactory::createHistVariant(histSpec);
lookup += i;
return;
return mRegistryValue[imask(idx + i)];
}
}
LOGF(FATAL, R"(Internal array of HistogramRegistry "%s" is full.)", mName);
return HistPtr();
}

// helper function that checks if histogram name can be used in registry
Expand All @@ -95,19 +96,19 @@ void HistogramRegistry::validateHistName(const char* name, const uint32_t hash)
*/
}

void HistogramRegistry::add(const HistogramSpec& histSpec)
HistPtr HistogramRegistry::add(const HistogramSpec& histSpec)
{
insert(histSpec);
return insert(histSpec);
}

void HistogramRegistry::add(char const* const name, char const* const title, const HistogramConfigSpec& histConfigSpec, bool callSumw2)
HistPtr HistogramRegistry::add(char const* const name, char const* const title, const HistogramConfigSpec& histConfigSpec, bool callSumw2)
{
insert({name, title, histConfigSpec, callSumw2});
return insert({name, title, histConfigSpec, callSumw2});
}

void HistogramRegistry::add(char const* const name, char const* const title, HistType histType, std::vector<AxisSpec> axes, bool callSumw2)
HistPtr HistogramRegistry::add(char const* const name, char const* const title, HistType histType, std::vector<AxisSpec> axes, bool callSumw2)
{
insert({name, title, {histType, axes}, callSumw2});
return insert({name, title, {histType, axes}, callSumw2});
}

// store a copy of an existing histogram (or group of histograms) under a different name
Expand Down