Skip to content

Commit

Permalink
Merge branch 'AliceO2Group:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
ananthapadmanabhan18 authored Dec 19, 2024
2 parents 7eb7c4e + 620a93b commit 9b53f40
Show file tree
Hide file tree
Showing 79 changed files with 6,003 additions and 3,812 deletions.
5 changes: 5 additions & 0 deletions Common/TableProducer/Converters/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -93,3 +93,8 @@ o2physics_add_dpl_workflow(trackqa-converter-002
SOURCES trackQA002Converter.cxx
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(run2-tracks-extra-converter
SOURCES run2tracksExtraConverter.cxx
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
COMPONENT_NAME Analysis)
44 changes: 44 additions & 0 deletions Common/TableProducer/Converters/run2tracksExtraConverter.cxx
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
// 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.

/// \file tracksExtraConverter.cxx
/// \brief Converts TracksExtra table from version 000 to 001

/// This task allows for the conversion of the TracksExtra table from version 000 to 001.
/// The conversion is needed because the table has been extended with the ITSClusterSize column
/// and the ITSClusterMap column is evaluated dynamically from it.
/// In the converter a dummy ITSClusterSize column is filled with overflows if a hit in the layer is present

/// \author F.Mazzaschi <fmazzasc@cern.ch>

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

using namespace o2;
using namespace o2::framework;

struct Run2TracksExtraConverter {
Produces<aod::Run2TrackExtras_001> Run2TrackExtras_001;
void process(aod::Run2TrackExtras_000 const& Run2TrackExtras_000)
{

for (const auto& track0 : Run2TrackExtras_000) {
Run2TrackExtras_001(track0.itsSignal(), 0);
}
}
};

WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
{
return WorkflowSpec{
adaptAnalysisTask<Run2TracksExtraConverter>(cfgc)};
}
10 changes: 6 additions & 4 deletions DPG/Tasks/AOTTrack/qaEfficiency.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -1156,12 +1156,13 @@ struct QaEfficiency {
for (const auto& pdgToCheck : mothersPDGs.value) {
if (mother.pdgCode() == pdgToCheck) {
motherIsAccepted = true;
break;
}
if (motherIsAccepted) {
// Calculate the decay length
double decayLength = std::sqrt(std::pow(mother.vx() - mother.mcCollision().posX(), 2) + std::pow(mother.vy() - mother.mcCollision().posY(), 2) + std::pow(mother.vz() - mother.mcCollision().posZ(), 2));
hdecaylengthmother[histogramIndex]->Fill(decayLength);
break;
}
if (motherIsAccepted) {
break;
}
}
}
Expand Down Expand Up @@ -1260,10 +1261,11 @@ struct QaEfficiency {
for (const auto& pdgToCheck : mothersPDGs.value) {
if (mother.pdgCode() == pdgToCheck) {
motherIsAccepted = true; // Mother matches the list of specified PDGs
hPtmotherGenerated[histogramIndex]->Fill(mother.pt()); // Fill generated pT for mother
break;
}
if (motherIsAccepted) {
hPtmotherGenerated[histogramIndex]->Fill(mother.pt()); // Fill generated pT for mother
break;
}
}
}
Expand Down
8 changes: 4 additions & 4 deletions EventFiltering/PWGHF/HFFilterHelpers.h
Original file line number Diff line number Diff line change
Expand Up @@ -198,22 +198,22 @@ static const std::array<o2::framework::AxisSpec, kNBeautyParticles> massAxisB =
// channels to trigger on for femto
constexpr int activeFemtoChannels[2][5] = {{1, 1, 1, 1, 0}, // pD0, pD+, pDs, pLc, pXic
{0, 0, 0, 1, 0}}; // only for deLc
static const std::vector<std::string> labelsColumnsFemtoChannels = {"protonDZero", "protonDPlus", "protonDs", "protonLc", "protonXic"};
static const std::vector<std::string> labelsColumnsFemtoChannels = {"DZero", "DPlus", "Ds", "Lc", "Xic"};
static const std::vector<std::string> labelsRowsFemtoChannels = {"protonCharmFemto", "deuteronCharmFemto"};
constexpr float cutsPtThresholdsForFemto[1][2] = {{8., 1.4}}; // proton, deuteron
static const std::vector<std::string> labelsColumnsPtThresholdsForFemto = {"Proton", "Deuteron"};

// min and max pT for all tracks combined (except for V0 and cascades)
constexpr float cutsPt[2][7] = {{1., 0.1, 0.8, 0.5, 0.1, 0.2, 0.4},
{100000., 100000., 5., 100000., 100000., 100000., 100000.}}; // beauty, D*, femto, SigmaC, Xic*+ -> SigmaC++K-
static const std::vector<std::string> labelsColumnsCutsPt = {"Beauty", "DstarPlus", "FemtoProton", "CharmBaryon", "SoftPiSigmaC", "SoftKaonXicResoToSigmaC", "FemtoDeuteron"};
static const std::vector<std::string> labelsColumnsCutsPt = {"Beauty", "DstarPlus", "PrForFemto", "CharmBaryon", "SoftPiSigmaC", "SoftKaonXicResoToSigmaC", "DeForFemto"};
static const std::vector<std::string> labelsRowsCutsPt = {"Minimum", "Maximum"};

// PID cuts
constexpr float cutsNsigma[3][7] = {{3., 3., 3., 5., 3., 3., 5.}, // TPC proton from Lc, pi/K from D0, K from 3-prong, femto selected proton, pi/K from Xic/Omegac, K from Xic*->SigmaC-Kaon, femto selected deuteron
{3., 3., 3., 2.5, 3., 3., 5.}, // TOF proton from Lc, pi/K from D0, K from 3-prong, femto selected proton, pi/K from Xic/Omegac, K from Xic*->SigmaC-Kaon, femto selected deuteron
{999., 999., 999., 2.5, 999., 999., 5.}}; // Sum in quadrature of TPC and TOF (used only for femto selected proton and deuteron for pT < 4 GeV/c)
static const std::vector<std::string> labelsColumnsNsigma = {"PrFromLc", "PiKaFromDZero", "KaFrom3Prong", "FemtoProton", "PiKaFromCharmBaryon", "SoftKaonFromXicResoToSigmaC", "FemtoDeuteron"};
static const std::vector<std::string> labelsColumnsNsigma = {"PrFromLc", "PiKaFromDZero", "KaFrom3Prong", "PrForFemto", "PiKaFromCharmBaryon", "SoftKaonFromXicResoToSigmaC", "DeForFemto"};
static const std::vector<std::string> labelsRowsNsigma = {"TPC", "TOF", "Comb"};

// high pt
Expand Down Expand Up @@ -1111,7 +1111,7 @@ inline int8_t HfFilterHelper::isSelectedSigmaCInDeltaMassRange(const T& pTrackSa
return retValue;
}

/// Mass selection of Xic candidates to build Lb candidates
/// Mass selection of Xic candidates to build Xib candidates
/// \param pTrackSameChargeFirst is the first same-charge track momentum
/// \param pTrackSameChargeSecond is the second same-charge track momentum
/// \param pTrackOppositeCharge is the opposite charge track momentum
Expand Down
Loading

0 comments on commit 9b53f40

Please sign in to comment.