Skip to content

Commit 7d73e3f

Browse files
authored
[PWGJE] refactoring the derived data writer (#9693)
1 parent c6a5b23 commit 7d73e3f

15 files changed

+759
-1416
lines changed

PWGJE/Core/JetCandidateUtilities.h

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -373,42 +373,42 @@ float getCandidateInvariantMass(T const& candidate)
373373
}
374374

375375
template <typename T, typename U, typename V>
376-
void fillCandidateCollisionTable(T const& collision, U const& /*candidates*/, V& CandiateCollisionTable, int32_t& CandidateCollisionTableIndex)
376+
void fillCandidateCollisionTable(T const& collision, U const& /*candidates*/, V& CandiateCollisionTable)
377377
{
378378
if constexpr (jethfutilities::isHFTable<U>()) {
379-
jethfutilities::fillHFCollisionTable(collision, CandiateCollisionTable, CandidateCollisionTableIndex);
379+
jethfutilities::fillHFCollisionTable(collision, CandiateCollisionTable);
380380
} else if constexpr (jetdqutilities::isDielectronTable<U>()) {
381-
jetdqutilities::fillDielectronCollisionTable(collision, CandiateCollisionTable, CandidateCollisionTableIndex); // if more dilepton tables are added we would need a fillDQCollisionTable
381+
jetdqutilities::fillDielectronCollisionTable(collision, CandiateCollisionTable); // if more dilepton tables are added we would need a fillDQCollisionTable
382382
}
383383
}
384384

385385
template <typename T, typename U, typename V>
386-
void fillCandidateMcCollisionTable(T const& mcCollision, U const& /*candidates*/, V& CandiateMcCollisionTable, int32_t& CandidateMcCollisionTableIndex)
386+
void fillCandidateMcCollisionTable(T const& mcCollision, U const& /*candidates*/, V& CandiateMcCollisionTable)
387387
{
388388
if constexpr (jethfutilities::isHFMcTable<U>()) {
389-
jethfutilities::fillHFMcCollisionTable(mcCollision, CandiateMcCollisionTable, CandidateMcCollisionTableIndex);
389+
jethfutilities::fillHFMcCollisionTable(mcCollision, CandiateMcCollisionTable);
390390
} else if constexpr (jetdqutilities::isDielectronMcTable<U>()) {
391-
jetdqutilities::fillDielectronMcCollisionTable(mcCollision, CandiateMcCollisionTable, CandidateMcCollisionTableIndex);
391+
jetdqutilities::fillDielectronMcCollisionTable(mcCollision, CandiateMcCollisionTable);
392392
}
393393
}
394394

395395
template <bool isMc, typename T, typename U, typename V, typename M, typename N, typename O, typename P, typename Q, typename S>
396-
void fillCandidateTable(T const& candidate, int32_t collisionIndex, U& BaseTable, V& HFParTable, M& HFParETable, N& HFParDaughterTable, O& HFSelectionFlagTable, P& HFMlTable, Q& HFMlDaughterTable, S& HFMCDTable, int32_t& candidateTableIndex)
396+
void fillCandidateTable(T const& candidate, int32_t collisionIndex, U& BaseTable, V& HFParTable, M& HFParETable, N& HFParDaughterTable, O& HFSelectionFlagTable, P& HFMlTable, Q& HFMlDaughterTable, S& HFMCDTable)
397397
{
398398
if constexpr (jethfutilities::isHFCandidate<T>()) {
399-
jethfutilities::fillHFCandidateTable<isMc>(candidate, collisionIndex, BaseTable, HFParTable, HFParETable, HFParDaughterTable, HFSelectionFlagTable, HFMlTable, HFMlDaughterTable, HFMCDTable, candidateTableIndex);
399+
jethfutilities::fillHFCandidateTable<isMc>(candidate, collisionIndex, BaseTable, HFParTable, HFParETable, HFParDaughterTable, HFSelectionFlagTable, HFMlTable, HFMlDaughterTable, HFMCDTable);
400400
} else if constexpr (jetdqutilities::isDielectronCandidate<T>()) {
401-
jetdqutilities::fillDielectronCandidateTable(candidate, collisionIndex, BaseTable, candidateTableIndex);
401+
jetdqutilities::fillDielectronCandidateTable(candidate, collisionIndex, BaseTable);
402402
}
403403
}
404404

405405
template <typename T, typename U>
406-
void fillCandidateMcTable(T const& candidate, int32_t mcCollisionIndex, U& BaseMcTable, int32_t& candidateTableIndex)
406+
void fillCandidateMcTable(T const& candidate, int32_t mcCollisionIndex, U& BaseMcTable)
407407
{
408408
if constexpr (jethfutilities::isHFMcCandidate<T>()) {
409-
jethfutilities::fillHFCandidateMcTable(candidate, mcCollisionIndex, BaseMcTable, candidateTableIndex);
409+
jethfutilities::fillHFCandidateMcTable(candidate, mcCollisionIndex, BaseMcTable);
410410
} else if constexpr (jetdqutilities::isDielectronMcCandidate<T>()) {
411-
jetdqutilities::fillDielectronCandidateMcTable(candidate, mcCollisionIndex, BaseMcTable, candidateTableIndex);
411+
jetdqutilities::fillDielectronCandidateMcTable(candidate, mcCollisionIndex, BaseMcTable);
412412
}
413413
}
414414

PWGJE/Core/JetDQUtilities.h

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -312,31 +312,27 @@ uint8_t setDielectronParticleDecayBit(T const& particles, U const& particle)
312312
}
313313

314314
template <typename T, typename U>
315-
void fillDielectronCollisionTable(T const& collision, U& DielectronCollisionTable, int32_t& DielectronCollisionTableIndex)
315+
void fillDielectronCollisionTable(T const& collision, U& DielectronCollisionTable)
316316
{
317317
DielectronCollisionTable(collision.tag_raw(), collision.runNumber(), collision.posX(), collision.posY(), collision.posZ(), collision.numContrib(), collision.collisionTime(), collision.collisionTimeRes());
318-
DielectronCollisionTableIndex = DielectronCollisionTable.lastIndex();
319318
}
320319

321320
template <typename T, typename U>
322-
void fillDielectronMcCollisionTable(T const& mcCollision, U& DielectronMcCollisionTable, int32_t& DielectronMcCollisionTableIndex)
321+
void fillDielectronMcCollisionTable(T const& mcCollision, U& DielectronMcCollisionTable)
323322
{
324323
DielectronMcCollisionTable(mcCollision.posX(), mcCollision.posY(), mcCollision.posZ());
325-
DielectronMcCollisionTableIndex = DielectronMcCollisionTable.lastIndex();
326324
}
327325

328326
template <typename T, typename U>
329-
void fillDielectronCandidateTable(T const& candidate, int32_t collisionIndex, U& DielectronTable, int32_t& DielectronCandidateTableIndex)
327+
void fillDielectronCandidateTable(T const& candidate, int32_t collisionIndex, U& DielectronTable)
330328
{
331329
DielectronTable(collisionIndex, candidate.mass(), candidate.pt(), candidate.eta(), candidate.phi(), candidate.sign(), candidate.filterMap_raw(), candidate.mcDecision());
332-
DielectronCandidateTableIndex = DielectronTable.lastIndex();
333330
}
334331

335332
template <typename T, typename U>
336-
void fillDielectronCandidateMcTable(T const& candidate, int32_t mcCollisionIndex, U& DielectronMcTable, int32_t& DielectronCandidateTableIndex)
333+
void fillDielectronCandidateMcTable(T const& candidate, int32_t mcCollisionIndex, U& DielectronMcTable)
337334
{
338335
DielectronMcTable(mcCollisionIndex, candidate.pt(), candidate.eta(), candidate.phi(), candidate.y(), candidate.e(), candidate.m(), candidate.pdgCode(), candidate.getGenStatusCode(), candidate.getHepMCStatusCode(), candidate.isPhysicalPrimary(), candidate.decayFlag(), candidate.origin());
339-
DielectronCandidateTableIndex = DielectronMcTable.lastIndex();
340336
}
341337

342338
}; // namespace jetdqutilities

PWGJE/Core/JetHFUtilities.h

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -481,17 +481,15 @@ float getHFCandidateInvariantMass(T const& candidate)
481481
}
482482

483483
template <typename T, typename U>
484-
void fillHFCollisionTable(T const& collision, U& HFCollisionTable, int32_t& HFCollisionTableIndex)
484+
void fillHFCollisionTable(T const& collision, U& HFCollisionTable)
485485
{
486486
HFCollisionTable(collision.posX(), collision.posY(), collision.posZ(), collision.numContrib(), collision.centFT0A(), collision.centFT0C(), collision.centFT0M(), collision.centFV0A(), collision.multZeqNTracksPV());
487-
HFCollisionTableIndex = HFCollisionTable.lastIndex();
488487
}
489488

490489
template <typename T, typename U>
491-
void fillHFMcCollisionTable(T const& mcCollision, U& HFMcCollisionTable, int32_t& HFMcCollisionTableIndex)
490+
void fillHFMcCollisionTable(T const& mcCollision, U& HFMcCollisionTable)
492491
{
493492
HFMcCollisionTable(mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), mcCollision.centFT0M());
494-
HFMcCollisionTableIndex = HFMcCollisionTable.lastIndex();
495493
}
496494

497495
template <bool isMc, typename T, typename U, typename V, typename M, typename N>
@@ -706,10 +704,9 @@ void fillBplusCandidateTable(T const& candidate, U& BplusParTable, V& BplusParET
706704
}
707705

708706
template <bool isMc, typename T, typename U, typename V, typename M, typename N, typename O, typename P, typename Q, typename S>
709-
void fillHFCandidateTable(T const& candidate, int32_t collisionIndex, U& HFBaseTable, V& HFParTable, M& HFParETable, N& HFParDaughterTable, O& HFSelectionFlagTable, P& HFMlTable, Q& HFMlDaughterTable, S& HFMCDTable, int32_t& HFCandidateTableIndex)
707+
void fillHFCandidateTable(T const& candidate, int32_t collisionIndex, U& HFBaseTable, V& HFParTable, M& HFParETable, N& HFParDaughterTable, O& HFSelectionFlagTable, P& HFMlTable, Q& HFMlDaughterTable, S& HFMCDTable)
710708
{
711709
HFBaseTable(collisionIndex, candidate.pt(), candidate.eta(), candidate.phi(), candidate.m(), candidate.y());
712-
HFCandidateTableIndex = HFBaseTable.lastIndex();
713710
HFSelectionFlagTable(candidate.candidateSelFlag());
714711

715712
if constexpr (isD0Candidate<T>()) {
@@ -724,10 +721,9 @@ void fillHFCandidateTable(T const& candidate, int32_t collisionIndex, U& HFBaseT
724721
}
725722

726723
template <typename T, typename U>
727-
void fillHFCandidateMcTable(T const& candidate, int32_t mcCollisionIndex, U& BaseMcTable, int32_t& candidateTableIndex)
724+
void fillHFCandidateMcTable(T const& candidate, int32_t mcCollisionIndex, U& BaseMcTable)
728725
{
729726
BaseMcTable(mcCollisionIndex, candidate.pt(), candidate.eta(), candidate.phi(), candidate.y(), candidate.flagMcMatchGen(), candidate.originMcGen());
730-
candidateTableIndex = BaseMcTable.lastIndex();
731727
}
732728

733729
}; // namespace jethfutilities
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2+
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3+
// All rights not expressly granted are reserved.
4+
//
5+
// This software is distributed under the terms of the GNU General Public
6+
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7+
//
8+
// In applying this license CERN does not waive the privileges and immunities
9+
// granted to it by virtue of its status as an Intergovernmental Organization
10+
// or submit itself to any jurisdiction.
11+
12+
///
13+
/// \brief Table definitions for selectors for writing out reduced data model for jets
14+
///
15+
/// \author Nima Zardoshti <nima.zardoshti@cern.ch>
16+
17+
#ifndef PWGJE_DATAMODEL_JETREDUCEDDATASELECTOR_H_
18+
#define PWGJE_DATAMODEL_JETREDUCEDDATASELECTOR_H_
19+
20+
#include <cmath>
21+
#include <vector>
22+
#include "Framework/AnalysisDataModel.h"
23+
24+
namespace o2::aod
25+
{
26+
namespace jetreduceddataselector
27+
{
28+
DECLARE_SOA_COLUMN(IsCollisionSelected, isCollisionSelected, bool);
29+
DECLARE_SOA_COLUMN(IsMcCollisionSelected, isMcCollisionSelected, bool);
30+
31+
} // namespace jetreduceddataselector
32+
DECLARE_SOA_TABLE(JCollisionSelections, "AOD", "JCOLLSELECTION",
33+
jetreduceddataselector::IsCollisionSelected);
34+
35+
DECLARE_SOA_TABLE(JMcCollisionSelections, "AOD", "JMCCOLLSELECTION",
36+
jetreduceddataselector::IsMcCollisionSelected);
37+
} // namespace o2::aod
38+
39+
#endif // PWGJE_DATAMODEL_JETREDUCEDDATASELECTOR_H_

PWGJE/TableProducer/CMakeLists.txt

Lines changed: 2 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -23,33 +23,8 @@ o2physics_add_dpl_workflow(jet-deriveddata-trigger-producer
2323
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::PWGJECore O2Physics::AnalysisCore
2424
COMPONENT_NAME Analysis)
2525

26-
o2physics_add_dpl_workflow(jet-deriveddata-producer-dummy
27-
SOURCES derivedDataProducerDummy.cxx
28-
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::PWGJECore O2Physics::AnalysisCore
29-
COMPONENT_NAME Analysis)
30-
31-
o2physics_add_dpl_workflow(jet-deriveddata-producer-dummy-charged
32-
SOURCES derivedDataProducerDummyCharged.cxx
33-
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::PWGJECore O2Physics::AnalysisCore
34-
COMPONENT_NAME Analysis)
35-
36-
o2physics_add_dpl_workflow(jet-deriveddata-producer-dummy-d0
37-
SOURCES derivedDataProducerDummyD0.cxx
38-
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::PWGJECore O2Physics::AnalysisCore
39-
COMPONENT_NAME Analysis)
40-
41-
o2physics_add_dpl_workflow(jet-deriveddata-producer-dummy-lc
42-
SOURCES derivedDataProducerDummyLc.cxx
43-
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::PWGJECore O2Physics::AnalysisCore
44-
COMPONENT_NAME Analysis)
45-
46-
o2physics_add_dpl_workflow(jet-deriveddata-producer-dummy-bplus
47-
SOURCES derivedDataProducerDummyBplus.cxx
48-
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::PWGJECore O2Physics::AnalysisCore
49-
COMPONENT_NAME Analysis)
50-
51-
o2physics_add_dpl_workflow(jet-deriveddata-producer-dummy-dielectron
52-
SOURCES derivedDataProducerDummyDielectron.cxx
26+
o2physics_add_dpl_workflow(jet-deriveddata-selector
27+
SOURCES derivedDataSelector.cxx
5328
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::PWGJECore O2Physics::AnalysisCore
5429
COMPONENT_NAME Analysis)
5530

PWGJE/TableProducer/derivedDataProducerDummy.cxx

Lines changed: 0 additions & 82 deletions
This file was deleted.

PWGJE/TableProducer/derivedDataProducerDummyBplus.cxx

Lines changed: 0 additions & 69 deletions
This file was deleted.

0 commit comments

Comments
 (0)