Skip to content

Commit 0ddc0ed

Browse files
committed
Use vector for varmanager values instead of raw pointers
1 parent 670d426 commit 0ddc0ed

1 file changed

Lines changed: 9 additions & 11 deletions

File tree

PWGDQ/Tasks/taskJPsiMu.cxx

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,8 @@ struct DqJPsiMuonCorrelations {
109109
constexpr static uint32_t fgDimuonsFillMap = VarManager::ObjTypes::ReducedMuon | VarManager::ObjTypes::Pair; // fill map
110110

111111
// use two values array to avoid mixing up the quantities
112-
float* fValuesDilepton;
113-
float* fValuesMuon;
112+
std::vector<float> fValuesDilepton;
113+
std::vector<float> fValuesMuon;
114114

115115
HistogramRegistry registry{"registry"};
116116

@@ -126,9 +126,8 @@ struct DqJPsiMuonCorrelations {
126126
axisPt.value.size() - 1, fConfigBinEffJPsi.value.size(), fConfigBinEffMuon.value.size());
127127
}
128128

129-
// Set up varmanager variable names
130-
fValuesDilepton = new float[VarManager::kNVars];
131-
fValuesMuon = new float[VarManager::kNVars];
129+
fValuesDilepton.resize(VarManager::kNVars, 0.0f);
130+
fValuesMuon.resize(VarManager::kNVars, 0.0f);
132131
VarManager::SetDefaultVarNames();
133132

134133
// Define trigger histograms
@@ -150,11 +149,10 @@ struct DqJPsiMuonCorrelations {
150149
template <int TCandidateType, uint32_t TEventFillMap, uint32_t TMuonFillMap, typename TEvent, typename TMuonAssocs, typename TMuonTracks, typename TDileptons>
151150
void runDileptonMuon(TEvent const& event, TMuonAssocs const& assocs, TMuonTracks const& /*tracks*/, TDileptons const& dileptons)
152151
{
153-
// Reset the VarManager values at the beginning of each event
154-
VarManager::ResetValues(0, VarManager::kNVars, fValuesMuon);
155-
VarManager::ResetValues(0, VarManager::kNVars, fValuesDilepton);
156-
VarManager::FillEvent<TEventFillMap>(event, fValuesMuon);
157-
VarManager::FillEvent<TEventFillMap>(event, fValuesDilepton);
152+
VarManager::ResetValues(0, VarManager::kNVars, fValuesMuon.data());
153+
VarManager::ResetValues(0, VarManager::kNVars, fValuesDilepton.data());
154+
VarManager::FillEvent<TEventFillMap>(event, fValuesMuon.data());
155+
VarManager::FillEvent<TEventFillMap>(event, fValuesDilepton.data());
158156

159157
if (!event.isEventSelected_bit(0)) {
160158
return;
@@ -167,7 +165,7 @@ struct DqJPsiMuonCorrelations {
167165
if (dileptons.size() > 0) {
168166

169167
for (auto& dilepton : dileptons) {
170-
VarManager::FillTrack<fgDimuonsFillMap>(dilepton, fValuesDilepton);
168+
VarManager::FillTrack<fgDimuonsFillMap>(dilepton, fValuesDilepton.data());
171169

172170
// Dilepton kinematic cuts
173171
if ((dilepton.eta() < fConfigDileptonEtaMin || dilepton.eta() > fConfigDileptonEtaMax) ||

0 commit comments

Comments
 (0)