Skip to content

Commit 4c30ac2

Browse files
authored
[DPG] Add process function w/o occupancy estimators (#16727)
1 parent df753ac commit 4c30ac2

1 file changed

Lines changed: 42 additions & 29 deletions

File tree

DPG/Tasks/AOTTrack/derivedDataCreatorD0Calibration.cxx

Lines changed: 42 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -183,12 +183,12 @@ struct DerivedDataCreatorD0Calibration {
183183
}
184184

185185
// main function
186-
template <bool withTrackQa, typename TTrackQa, typename TTracks>
186+
template <bool withTrackQa, bool withTrackOcc, typename TTrackQa, typename TTracks, typename TTrackMeanOccs>
187187
void runDataCreation(CollisionsWEvSel const& collisions,
188188
aod::TrackAssoc const& trackIndices,
189189
TTracks const&,
190190
aod::BCsWithTimestamps const&,
191-
TrackMeanOccs const&,
191+
TTrackMeanOccs const&,
192192
TTrackQa const&)
193193
{
194194
std::map<int, int> selectedCollisions; // map with indices of selected collisions (key: original AOD Collision table index, value: D0 collision index)
@@ -514,18 +514,20 @@ struct DerivedDataCreatorD0Calibration {
514514
uint8_t twmoFT0CUnfm80{0u};
515515
uint8_t tmoRobustT0V0PrimUnfm80{0u};
516516
uint8_t twmoRobustT0V0PrimUnfm80{0u};
517-
if (trackPos.has_tmo()) {
518-
auto tmoFromTrack = trackPos.template tmo_as<TrackMeanOccs>(); // obtain track mean occupancies
519-
tmoPrimUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoPrimUnfm80());
520-
tmoFV0AUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoFV0AUnfm80());
521-
tmoFT0AUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoFT0AUnfm80());
522-
tmoFT0CUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoFT0CUnfm80());
523-
twmoPrimUnfm80 = getCompressedOccupancy(tmoFromTrack.twmoPrimUnfm80());
524-
twmoFV0AUnfm80 = getCompressedOccupancy(tmoFromTrack.twmoFV0AUnfm80());
525-
twmoFT0AUnfm80 = getCompressedOccupancy(tmoFromTrack.twmoFT0AUnfm80());
526-
twmoFT0CUnfm80 = getCompressedOccupancy(tmoFromTrack.twmoFT0CUnfm80());
527-
tmoRobustT0V0PrimUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoRobustT0V0PrimUnfm80());
528-
twmoRobustT0V0PrimUnfm80 = getCompressedOccupancy(tmoFromTrack.twmoRobustT0V0PrimUnfm80());
517+
if constexpr (withTrackOcc) {
518+
if (trackPos.has_tmo()) {
519+
auto tmoFromTrack = trackPos.template tmo_as<TrackMeanOccs>(); // obtain track mean occupancies
520+
tmoPrimUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoPrimUnfm80());
521+
tmoFV0AUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoFV0AUnfm80());
522+
tmoFT0AUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoFT0AUnfm80());
523+
tmoFT0CUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoFT0CUnfm80());
524+
twmoPrimUnfm80 = getCompressedOccupancy(tmoFromTrack.twmoPrimUnfm80());
525+
twmoFV0AUnfm80 = getCompressedOccupancy(tmoFromTrack.twmoFV0AUnfm80());
526+
twmoFT0AUnfm80 = getCompressedOccupancy(tmoFromTrack.twmoFT0AUnfm80());
527+
twmoFT0CUnfm80 = getCompressedOccupancy(tmoFromTrack.twmoFT0CUnfm80());
528+
tmoRobustT0V0PrimUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoRobustT0V0PrimUnfm80());
529+
twmoRobustT0V0PrimUnfm80 = getCompressedOccupancy(tmoFromTrack.twmoRobustT0V0PrimUnfm80());
530+
}
529531
}
530532
float tpcTime0{0.f};
531533
float tpcdEdxNorm{0.f};
@@ -679,18 +681,20 @@ struct DerivedDataCreatorD0Calibration {
679681
uint8_t twmoFT0CUnfm80{0u};
680682
uint8_t tmoRobustT0V0PrimUnfm80{0u};
681683
uint8_t twmoRobustT0V0PrimUnfm80{0u};
682-
if (trackNeg.has_tmo()) {
683-
auto tmoFromTrack = trackNeg.template tmo_as<TrackMeanOccs>(); // obtain track mean occupancies
684-
tmoPrimUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoPrimUnfm80());
685-
tmoFV0AUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoFV0AUnfm80());
686-
tmoFT0AUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoFT0AUnfm80());
687-
tmoFT0CUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoFT0CUnfm80());
688-
twmoPrimUnfm80 = getCompressedOccupancy(tmoFromTrack.twmoPrimUnfm80());
689-
twmoFV0AUnfm80 = getCompressedOccupancy(tmoFromTrack.twmoFV0AUnfm80());
690-
twmoFT0AUnfm80 = getCompressedOccupancy(tmoFromTrack.twmoFT0AUnfm80());
691-
twmoFT0CUnfm80 = getCompressedOccupancy(tmoFromTrack.twmoFT0CUnfm80());
692-
tmoRobustT0V0PrimUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoRobustT0V0PrimUnfm80());
693-
twmoRobustT0V0PrimUnfm80 = getCompressedOccupancy(tmoFromTrack.twmoRobustT0V0PrimUnfm80());
684+
if constexpr (withTrackOcc) {
685+
if (trackNeg.has_tmo()) {
686+
auto tmoFromTrack = trackNeg.template tmo_as<TrackMeanOccs>(); // obtain track mean occupancies
687+
tmoPrimUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoPrimUnfm80());
688+
tmoFV0AUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoFV0AUnfm80());
689+
tmoFT0AUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoFT0AUnfm80());
690+
tmoFT0CUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoFT0CUnfm80());
691+
twmoPrimUnfm80 = getCompressedOccupancy(tmoFromTrack.twmoPrimUnfm80());
692+
twmoFV0AUnfm80 = getCompressedOccupancy(tmoFromTrack.twmoFV0AUnfm80());
693+
twmoFT0AUnfm80 = getCompressedOccupancy(tmoFromTrack.twmoFT0AUnfm80());
694+
twmoFT0CUnfm80 = getCompressedOccupancy(tmoFromTrack.twmoFT0CUnfm80());
695+
tmoRobustT0V0PrimUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoRobustT0V0PrimUnfm80());
696+
twmoRobustT0V0PrimUnfm80 = getCompressedOccupancy(tmoFromTrack.twmoRobustT0V0PrimUnfm80());
697+
}
694698
}
695699
float tpcTime0{0.f};
696700
float tpcdEdxNorm{0.f};
@@ -873,7 +877,7 @@ struct DerivedDataCreatorD0Calibration {
873877
TrackMeanOccs const& occ,
874878
aod::TracksQAVersion const& trackQa)
875879
{
876-
runDataCreation<true>(collisions, trackIndices, tracks, bcs, occ, trackQa);
880+
runDataCreation<true, true>(collisions, trackIndices, tracks, bcs, occ, trackQa);
877881
}
878882
PROCESS_SWITCH(DerivedDataCreatorD0Calibration, processWithTrackQa, "Process with trackQA enabled", false);
879883

@@ -883,9 +887,18 @@ struct DerivedDataCreatorD0Calibration {
883887
aod::BCsWithTimestamps const& bcs,
884888
TrackMeanOccs const& occ)
885889
{
886-
runDataCreation<false>(collisions, trackIndices, tracks, bcs, occ, nullptr);
890+
runDataCreation<false, true>(collisions, trackIndices, tracks, bcs, occ, nullptr);
891+
}
892+
PROCESS_SWITCH(DerivedDataCreatorD0Calibration, processNoTrackQa, "Process without trackQA enabled", false);
893+
894+
void processNoTrackQaAndOcc(CollisionsWEvSel const& collisions,
895+
aod::TrackAssoc const& trackIndices,
896+
TracksWCovExtraPid const& tracks,
897+
aod::BCsWithTimestamps const& bcs)
898+
{
899+
runDataCreation<false, false>(collisions, trackIndices, tracks, bcs, nullptr, nullptr);
887900
}
888-
PROCESS_SWITCH(DerivedDataCreatorD0Calibration, processNoTrackQa, "Process without trackQA enabled", true);
901+
PROCESS_SWITCH(DerivedDataCreatorD0Calibration, processNoTrackQaAndOcc, "Process without trackQA and trackMeanOcc enabled", true);
889902
};
890903

891904
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)

0 commit comments

Comments
 (0)