Skip to content

Commit 793cc5a

Browse files
authored
Merge branch 'master' into master
2 parents 2737661 + d7970b8 commit 793cc5a

File tree

517 files changed

+52012
-19377
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

517 files changed

+52012
-19377
lines changed

ALICE3/Core/FastTracker.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -516,7 +516,7 @@ int FastTracker::FastTrack(o2::track::TrackParCov inputTrack, o2::track::TrackPa
516516
for (int ii = 0; ii < o2::track::kCovMatSize; ii++)
517517
covMat[ii] = outputTrack.getCov()[ii];
518518
TMatrixDSym m(5);
519-
float fcovm[5][5];
519+
double fcovm[5][5]; // double precision is needed for regularisation
520520

521521
for (int ii = 0, k = 0; ii < 5; ++ii) {
522522
for (int j = 0; j < ii + 1; ++j, ++k) {

ALICE3/DataModel/OTFMulticharm.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -116,24 +116,24 @@ DECLARE_SOA_TABLE(MCharmCores, "AOD", "MCharmCores",
116116
otfmulticharm::Eta,
117117

118118
otfmulticharm::XiDCAxy,
119-
otfmulticharm::XicDCAxy,
120-
otfmulticharm::XiccDCAxy,
121119
otfmulticharm::XiDCAz,
120+
otfmulticharm::XicDCAxy,
122121
otfmulticharm::XicDCAz,
122+
otfmulticharm::XiccDCAxy,
123123
otfmulticharm::XiccDCAz,
124124

125125
otfmulticharm::PiFromXiDCAxy,
126-
otfmulticharm::PiFromLaDCAxy,
127-
otfmulticharm::PrFromLaDCAxy,
128126
otfmulticharm::PiFromXiDCAz,
127+
otfmulticharm::PiFromLaDCAxy,
129128
otfmulticharm::PiFromLaDCAz,
129+
otfmulticharm::PrFromLaDCAxy,
130130
otfmulticharm::PrFromLaDCAz,
131131

132132
otfmulticharm::Pi1cDCAxy,
133-
otfmulticharm::Pi2cDCAxy,
134-
otfmulticharm::PiccDCAxy,
135133
otfmulticharm::Pi1cDCAz,
134+
otfmulticharm::Pi2cDCAxy,
136135
otfmulticharm::Pi2cDCAz,
136+
otfmulticharm::PiccDCAxy,
137137
otfmulticharm::PiccDCAz,
138138

139139
otfmulticharm::XicDecayRadius2D,

ALICE3/TableProducer/OTF/onTheFlyRichPid.cxx

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -745,10 +745,15 @@ struct OnTheFlyRichPid {
745745
}
746746

747747
for (const auto& track : tracks) {
748+
749+
float nSigmaBarrelRich[5] = {error_value, error_value, error_value, error_value, error_value};
750+
748751
// first step: find precise arrival time (if any)
749752
// --- convert track into perfect track
750-
if (!track.has_mcParticle()) // should always be OK but check please
753+
if (!track.has_mcParticle()) { // should always be OK but check please
754+
upgradeRich(nSigmaBarrelRich[0], nSigmaBarrelRich[1], nSigmaBarrelRich[2], nSigmaBarrelRich[3], nSigmaBarrelRich[4]);
751755
continue;
756+
}
752757

753758
auto mcParticle = track.mcParticle();
754759
o2::track::TrackParCov o2track = o2::upgrade::convertMCParticleToO2Track(mcParticle, pdg);
@@ -761,12 +766,14 @@ struct OnTheFlyRichPid {
761766
// get particle to calculate Cherenkov angle and resolution
762767
auto pdgInfo = pdg->GetParticle(mcParticle.pdgCode());
763768
if (pdgInfo == nullptr) {
769+
upgradeRich(nSigmaBarrelRich[0], nSigmaBarrelRich[1], nSigmaBarrelRich[2], nSigmaBarrelRich[3], nSigmaBarrelRich[4]);
764770
continue;
765771
}
766772

767773
// find track bRICH sector
768774
int i_sector = findSector(o2track.getEta());
769775
if (i_sector < 0) {
776+
upgradeRich(nSigmaBarrelRich[0], nSigmaBarrelRich[1], nSigmaBarrelRich[2], nSigmaBarrelRich[3], nSigmaBarrelRich[4]);
770777
continue;
771778
}
772779

@@ -794,12 +801,12 @@ struct OnTheFlyRichPid {
794801
}
795802

796803
// Straight to Nsigma
797-
float deltaThetaBarrelRich[5], nSigmaBarrelRich[5];
804+
float deltaThetaBarrelRich[5]; //, nSigmaBarrelRich[5];
798805
int lpdg_array[5] = {kElectron, kMuonMinus, kPiPlus, kKPlus, kProton};
799806
float masses[5];
800807

801808
for (int ii = 0; ii < 5; ii++) {
802-
nSigmaBarrelRich[ii] = error_value;
809+
// nSigmaBarrelRich[ii] = error_value;
803810

804811
auto pdgInfoThis = pdg->GetParticle(lpdg_array[ii]);
805812
masses[ii] = pdgInfoThis->Mass();

CODEOWNERS

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
/PWGCF/Tasks @alibuild @jgrosseo @saganatt @victor-gonzalez @zchochul @lgraczykCern @prchakra @lauraser @ariedel-cern @EmilGorm @otonvd @shouqiye @glromane
3737
/PWGDQ @alibuild @iarsene @mcoquet642 @lucamicheletti93
3838
/PWGEM @alibuild @feisenhu @dsekihat @ivorobye
39-
/PWGEM/Dilepton @alibuild @mikesas @rbailhac @dsekihat @ivorobye @feisenhu
39+
/PWGEM/Dilepton @alibuild @mikesas @rbailhac @dsekihat @ivorobye @feisenhu @hscheid
4040
/PWGEM/PhotonMeson @alibuild @mikesas @rbailhac @m-c-danisch @novitzky @mhemmer-cern @dsekihat
4141
/PWGHF @alibuild @vkucera @fcolamar @fgrosa @fcatalan92 @mfaggin @mmazzilli @deepathoms @NicoleBastid @hahassan7 @jpxrk @apalasciano @zhangbiao-phy @gluparel
4242
# PWG-LF
@@ -50,6 +50,7 @@
5050
/PWGLF/TableProducer/Resonances @alibuild @sustripathy @skundu692 @dmallick2 @smaff92
5151
/PWGLF/Tasks/Strangeness @alibuild @sustripathy @skundu692 @ercolessi @romainschotter
5252
/PWGLF/TableProducer/Strangeness @alibuild @sustripathy @skundu692 @ercolessi @romainschotter
53+
/PWGLF/Utils @alibuild @sustripathy @skundu692 @gbencedi @abmodak @fmazzasc @maciacco @dmallick2 @smaff92 @ercolessi @romainschotter
5354

5455
# PWG-MM
5556
/PWGMM @alibuild @sustripathy @skundu692 @aalkin @jgcn

Common/Core/CollisionTypeHelper.cxx

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,20 @@
1010
// or submit itself to any jurisdiction.
1111

1212
///
13-
/// \file CollisionTypeHelper.h
13+
/// \file CollisionTypeHelper.cxx
1414
/// \author Nicolò Jacazio nicolo.jacazio@cern.ch
1515
/// \brief Utility to handle the collision type from the GRP information
1616
///
1717

1818
#include "Common/Core/CollisionTypeHelper.h"
19+
20+
#include "DataFormatsParameters/GRPLHCIFData.h"
21+
1922
#include <fairlogger/Logger.h>
23+
2024
#include <string>
21-
#include "DataFormatsParameters/GRPLHCIFData.h"
2225

23-
std::string CollisionSystemType::getCollisionSystemName(collType collSys)
26+
std::string o2::common::core::CollisionSystemType::getCollisionSystemName(collType collSys)
2427
{
2528
switch (collSys) {
2629
case kCollSyspp:
@@ -31,17 +34,26 @@ std::string CollisionSystemType::getCollisionSystemName(collType collSys)
3134
return "XeXe";
3235
case kCollSyspPb:
3336
return "pPb";
37+
case kCollSysOO:
38+
return "OO";
39+
case kCollSyspO:
40+
return "pO";
41+
case kCollSysNeNe:
42+
return "NeNe";
43+
case kCollSysUndef:
44+
return "Undefined";
3445
default:
46+
LOG(warning) << "Undefined collision system type: " << collSys;
3547
return "Undefined";
3648
}
3749
}
3850

39-
int CollisionSystemType::getCollisionTypeFromGrp(o2::parameters::GRPLHCIFData* grplhcif)
51+
int o2::common::core::CollisionSystemType::getCollisionTypeFromGrp(o2::parameters::GRPLHCIFData* grplhcif)
4052
{
41-
const int ZBeamA = grplhcif->getBeamZ(o2::constants::lhc::BeamDirection::BeamA);
42-
const int ZBeamC = grplhcif->getBeamZ(o2::constants::lhc::BeamDirection::BeamC);
43-
LOG(debug) << "Collision system: " << ZBeamA << " * " << ZBeamC << " detected";
44-
switch (ZBeamA * ZBeamC) {
53+
const int zBeamA = grplhcif->getBeamZ(o2::constants::lhc::BeamDirection::BeamA);
54+
const int zBeamC = grplhcif->getBeamZ(o2::constants::lhc::BeamDirection::BeamC);
55+
LOG(debug) << "Collision system Z: " << zBeamA << " * " << zBeamC << " detected = " << zBeamA * zBeamC;
56+
switch (zBeamA * zBeamC) {
4557
case 1: // pp 1*1
4658
return kCollSyspp;
4759
case 6724: // Pb-Pb 82*82
@@ -50,8 +62,14 @@ int CollisionSystemType::getCollisionTypeFromGrp(o2::parameters::GRPLHCIFData* g
5062
return kCollSysXeXe;
5163
case 82: // p-Pb 82*1
5264
return kCollSyspPb;
65+
case 64: // O-O 8*8
66+
return kCollSysOO;
67+
case 8: // p-O 8*1
68+
return kCollSyspO;
69+
case 100: // Ne-Ne 10*10
70+
return kCollSysNeNe;
5371
default:
54-
LOG(fatal) << "Undefined collision system in getCollisionTypeFromGrp with BeamA = " << ZBeamA << " and BeamC = " << ZBeamC;
72+
LOG(fatal) << "Undefined collision system in getCollisionTypeFromGrp with Z of BeamA = " << zBeamA << " and Z of BeamC = " << zBeamC;
5573
return kCollSysUndef;
5674
}
5775
return kCollSysUndef;

Common/Core/CollisionTypeHelper.h

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,12 @@
1818
#ifndef COMMON_CORE_COLLISIONTYPEHELPER_H_
1919
#define COMMON_CORE_COLLISIONTYPEHELPER_H_
2020

21-
#include <string>
2221
#include "DataFormatsParameters/GRPLHCIFData.h"
2322

23+
#include <string>
24+
25+
namespace o2::common::core
26+
{
2427
// Container for the collision system type
2528
struct CollisionSystemType {
2629
// Enum type for the collision system
@@ -31,11 +34,18 @@ struct CollisionSystemType {
3134
static constexpr collType kCollSysPbPb = 1; // PbPb
3235
static constexpr collType kCollSysXeXe = 2; // XeXe
3336
static constexpr collType kCollSyspPb = 3; // pPb
34-
static constexpr collType kNCollSys = 4; // Number of collision systems
37+
static constexpr collType kCollSysOO = 4; // OO (Oxygen-Oxygen)
38+
static constexpr collType kCollSyspO = 5; // pO (proton-Oxygen)
39+
static constexpr collType kCollSysNeNe = 6; // NeNe (Neon-Neon)
40+
static constexpr collType kNCollSys = 7; // Number of collision systems
3541

3642
static std::string getCollisionSystemName(collType collSys);
3743

3844
static int getCollisionTypeFromGrp(o2::parameters::GRPLHCIFData* grplhcif);
3945
};
4046

47+
} // namespace o2::common::core
48+
49+
using CollisionSystemType = o2::common::core::CollisionSystemType;
50+
4151
#endif // COMMON_CORE_COLLISIONTYPEHELPER_H_

Common/Core/MetadataHelper.cxx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,18 @@
2020
#include "Framework/InitContext.h"
2121
#include "Framework/RunningWorkflowInfo.h"
2222

23+
using namespace o2::common::core;
24+
2325
MetadataHelper::MetadataHelper()
2426
{
25-
const std::array<std::string, 5> keyList = {"DataType",
27+
const std::array<std::string, 8> keyList = {"DataType",
2628
"RecoPassName",
2729
"Run",
2830
"AnchorPassName",
29-
"AnchorProduction"};
31+
"AnchorProduction",
32+
"ROOTVersion",
33+
"LPMProductionTag",
34+
"O2Version"};
3035
for (const auto& key : keyList) {
3136
mMetadata[key] = "undefined";
3237
}

Common/Core/MetadataHelper.h

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,14 @@
1818
#ifndef COMMON_CORE_METADATAHELPER_H_
1919
#define COMMON_CORE_METADATAHELPER_H_
2020

21-
#include <string>
22-
#include <map>
2321
#include "Framework/ConfigContext.h"
2422

23+
#include <map>
24+
#include <string>
25+
26+
namespace o2::common::core
27+
{
28+
2529
struct MetadataHelper {
2630
/// @brief Constructor for the MetadataHelper. Defines the all the metadata keys that will be looked for and accessible
2731
MetadataHelper();
@@ -64,4 +68,8 @@ struct MetadataHelper {
6468
bool mIsInitialized = false; /// < Flag to check if the metadata has been initialized
6569
};
6670

71+
} // namespace o2::common::core
72+
73+
using MetadataHelper = o2::common::core::MetadataHelper; // Alias for the MetadataHelper
74+
6775
#endif // COMMON_CORE_METADATAHELPER_H_

Common/Core/RecoDecay.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -732,7 +732,7 @@ struct RecoDecay {
732732
if (!arrDaughters[iProng].has_mcParticle()) {
733733
return -1;
734734
}
735-
auto particleI = arrDaughters[iProng].mcParticle(); // ith daughter particle
735+
auto particleI = arrDaughters[iProng].template mcParticle_as<T>(); // ith daughter particle
736736
if (std::abs(particleI.getGenStatusCode()) == StatusCodeAfterFlavourOscillation) { // oscillation decay product spotted
737737
coefFlavourOscillation = -1; // select the sign of the mother after oscillation (and not before)
738738
break;
@@ -744,7 +744,7 @@ struct RecoDecay {
744744
if (!arrDaughters[iProng].has_mcParticle()) {
745745
return -1;
746746
}
747-
auto particleI = arrDaughters[iProng].mcParticle(); // ith daughter particle
747+
auto particleI = arrDaughters[iProng].template mcParticle_as<T>(); // ith daughter particle
748748
if constexpr (acceptTrackDecay) {
749749
// Replace the MC particle associated with the prong by its mother for π → μ and K → π.
750750
auto motherI = particleI.template mothers_first_as<T>();

Common/Core/TableHelper.cxx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@
1717

1818
#include "Common/Core/TableHelper.h"
1919

20-
#include <string>
21-
2220
#include "Framework/InitContext.h"
2321
#include "Framework/RunningWorkflowInfo.h"
2422

23+
#include <string>
24+
2525
/// Function to print the table required in the full workflow
2626
/// @param initContext initContext of the init function
27-
void printTablesInWorkflow(o2::framework::InitContext& initContext)
27+
void o2::common::core::printTablesInWorkflow(o2::framework::InitContext& initContext)
2828
{
2929
auto& workflows = initContext.services().get<o2::framework::RunningWorkflowInfo const>();
3030
for (auto const& device : workflows.devices) {
@@ -37,7 +37,7 @@ void printTablesInWorkflow(o2::framework::InitContext& initContext)
3737
/// Function to check if a table is required in a workflow
3838
/// @param initContext initContext of the init function
3939
/// @param table name of the table to check for
40-
bool isTableRequiredInWorkflow(o2::framework::InitContext& initContext, const std::string& table)
40+
bool o2::common::core::isTableRequiredInWorkflow(o2::framework::InitContext& initContext, const std::string& table)
4141
{
4242
LOG(debug) << "Checking if table " << table << " is needed";
4343
bool tableNeeded = false;
@@ -57,7 +57,7 @@ bool isTableRequiredInWorkflow(o2::framework::InitContext& initContext, const st
5757
/// @param initContext initContext of the init function
5858
/// @param table name of the table to check for
5959
/// @param flag bool value of flag to set, if the given value is true it will be kept, disregarding the table usage in the workflow.
60-
void enableFlagIfTableRequired(o2::framework::InitContext& initContext, const std::string& table, bool& flag)
60+
void o2::common::core::enableFlagIfTableRequired(o2::framework::InitContext& initContext, const std::string& table, bool& flag)
6161
{
6262
if (flag) {
6363
LOG(info) << "Table enabled: " + table;
@@ -75,7 +75,7 @@ void enableFlagIfTableRequired(o2::framework::InitContext& initContext, const st
7575
/// @param initContext initContext of the init function
7676
/// @param table name of the table to check for
7777
/// @param flag int value of flag to set, only if initially set to -1. Initial values of 0 or 1 will be kept disregarding the table usage in the workflow.
78-
void enableFlagIfTableRequired(o2::framework::InitContext& initContext, const std::string& table, int& flag)
78+
void o2::common::core::enableFlagIfTableRequired(o2::framework::InitContext& initContext, const std::string& table, int& flag)
7979
{
8080
if (flag > 0) {
8181
flag = 1;

0 commit comments

Comments
 (0)