Skip to content

Commit

Permalink
[Common] TrackQAConverter002- for TOF modification (AliceO2Group#8901)
Browse files Browse the repository at this point in the history
Signed-off-by: Felix Schlepper <[email protected]>
Co-authored-by: Felix Schlepper <[email protected]>
  • Loading branch information
miranov25 and f3sch authored Dec 12, 2024
1 parent 88f0a2f commit a8d5ca2
Show file tree
Hide file tree
Showing 2 changed files with 102 additions and 0 deletions.
5 changes: 5 additions & 0 deletions Common/TableProducer/Converters/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -88,3 +88,8 @@ o2physics_add_dpl_workflow(trackqa-converter
SOURCES trackQAConverter.cxx
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(trackqa-converter-002
SOURCES trackQA002Converter.cxx
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
COMPONENT_NAME Analysis)
97 changes: 97 additions & 0 deletions Common/TableProducer/Converters/trackQA002Converter.cxx
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
// All rights not expressly granted are reserved.
//
// This software is distributed under the terms of the GNU General Public
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
//
// In applying this license CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
#include <limits>

#include "Framework/runDataProcessing.h"
#include "Framework/AnalysisTask.h"
#include "Framework/AnalysisDataModel.h"

using namespace o2;
using namespace o2::framework;

struct TrackQAConverter002 {
Produces<aod::TracksQA_002> tracksQA_002;

void process000(aod::TracksQA_000 const& tracksQA_002)
{
for (const auto& trackQA : tracksQA_000) {
tracksQA_002(
trackQA.trackId(),
trackQA.tpcTime0(),
trackQA.tpcdcaR(),
trackQA.tpcdcaZ(),
trackQA.tpcClusterByteMask(),
trackQA.tpcdEdxMax0R(),
trackQA.tpcdEdxMax1R(),
trackQA.tpcdEdxMax2R(),
trackQA.tpcdEdxMax3R(),
trackQA.tpcdEdxTot0R(),
trackQA.tpcdEdxTot1R(),
trackQA.tpcdEdxTot2R(),
trackQA.tpcdEdxTot3R(),
// dummy values, not available in _000
std::numeric_limits<int8_t>::min(), // deltaRefContParamY
std::numeric_limits<int8_t>::min(), // deltaRefContParamZ
std::numeric_limits<int8_t>::min(), // deltaRefContParamSnp
std::numeric_limits<int8_t>::min(), // deltaRefContParamTgl
std::numeric_limits<int8_t>::min(), // deltaRefContParamQ2Pt
std::numeric_limits<int8_t>::min(), // deltaRefGloParamY
std::numeric_limits<int8_t>::min(), // deltaRefGloParamZ
std::numeric_limits<int8_t>::min(), // deltaRefGloParamSnp
std::numeric_limits<int8_t>::min(), // deltaRefGloParamTgl
std::numeric_limits<int8_t>::min(), // deltaRefGloParamQ2Pt
std::numeric_limits<int8_t>::min(), // dTofdX
std::numeric_limits<int8_t>::min()); // dTofdY
}
}
PROCESS_SWITCH(TrackQAConverter002, process000, "process v000-to-v002 conversion", false);

void process001(aod::TracksQA_001 const& tracksQA_002)
{
for (const auto& trackQA : tracksQA_001) {
tracksQA_002(
trackQA.trackId(),
trackQA.tpcTime0(),
trackQA.tpcdcaR(),
trackQA.tpcdcaZ(),
trackQA.tpcClusterByteMask(),
trackQA.tpcdEdxMax0R(),
trackQA.tpcdEdxMax1R(),
trackQA.tpcdEdxMax2R(),
trackQA.tpcdEdxMax3R(),
trackQA.tpcdEdxTot0R(),
trackQA.tpcdEdxTot1R(),
trackQA.tpcdEdxTot2R(),
trackQA.tpcdEdxTot3R(),
trackQA.deltaRefContParamY(),
trackQA.deltaRefITSParamZ(),
trackQA.deltaRefContParamSnp(),
trackQA.deltaRefContParamTgl(),
trackQA.deltaRefContParamQ2Pt(),
trackQA.deltaRefGloParamY(),
trackQA.deltaRefGloParamZ(),
trackQA.deltaRefGloParamSnp(),
trackQA.deltaRefGloParamTgl(),
trackQA.deltaRefGloParamQ2Pt(),
// dummy values, not available in _001
std::numeric_limits<int8_t>::min(), // dTofdX
std::numeric_limits<int8_t>::min()); // dTofdY
}
}
PROCESS_SWITCH(TrackQAConverter002, process001, "process v001-to-v002 conversion", false);
};

WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
{
return WorkflowSpec{
adaptAnalysisTask<TrackQAConverter002>(cfgc),
};
}

0 comments on commit a8d5ca2

Please sign in to comment.