Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
130 changes: 78 additions & 52 deletions PWGDQ/Core/VarManager.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
#include "Tools/KFparticle/KFUtilities.h"

#include <cmath>
#include <iostream>

Check failure on line 16 in PWGDQ/Core/VarManager.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[include-iostream]

Do not include iostream. Use O2 logging instead.
#include <map>
#include <vector>

Expand Down Expand Up @@ -167,8 +167,8 @@
// TO Do: add more systems

// set the beam 4-momentum vectors
float beamAEnergy = energy / 2.0 * sqrt(NumberOfProtonsA * NumberOfProtonsC / NumberOfProtonsC / NumberOfProtonsA); // GeV

Check failure on line 170 in PWGDQ/Core/VarManager.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[std-prefix]

Use std:: prefix for names from the std namespace.
float beamCEnergy = energy / 2.0 * sqrt(NumberOfProtonsC * NumberOfProtonsA / NumberOfProtonsA / NumberOfProtonsC); // GeV

Check failure on line 171 in PWGDQ/Core/VarManager.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[std-prefix]

Use std:: prefix for names from the std namespace.
float beamAMomentum = std::sqrt(beamAEnergy * beamAEnergy - NumberOfNucleonsA * NumberOfNucleonsA * MassProton * MassProton);
float beamCMomentum = std::sqrt(beamCEnergy * beamCEnergy - NumberOfNucleonsC * NumberOfNucleonsC * MassProton * MassProton);
fgBeamA.SetPxPyPzE(0, 0, beamAMomentum, beamAEnergy);
Expand Down Expand Up @@ -267,7 +267,7 @@
double mean = calibMeanHist->GetBinContent(binTPCncls, binPin, binEta);
double sigma = calibSigmaHist->GetBinContent(binTPCncls, binPin, binEta);
return (nSigmaValue - mean) / sigma; // Return the calibrated nSigma value
} else if (fgCalibrationType == 2) {

Check failure on line 270 in PWGDQ/Core/VarManager.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
// get the calibration histograms
CalibObjects calibMean, calibSigma, calibStatus;
switch (species) {
Expand Down Expand Up @@ -1346,6 +1346,58 @@
fgVariableUnits[kBdtPrompt] = " ";
fgVariableNames[kBdtNonprompt] = "kBdtNonprompt";
fgVariableUnits[kBdtNonprompt] = " ";
fgVariableNames[kAmplitudeFT0A] = "FT0A amplitude";
fgVariableUnits[kAmplitudeFT0A] = "a.u.";
fgVariableNames[kAmplitudeFT0C] = "FT0C amplitude";
fgVariableUnits[kAmplitudeFT0C] = "a.u.";
fgVariableNames[kTimeFT0A] = "FT0A time";
fgVariableUnits[kTimeFT0A] = "ns";
fgVariableNames[kTimeFT0C] = "FT0C time";
fgVariableUnits[kTimeFT0C] = "ns";
fgVariableNames[kTriggerMaskFT0] = "FT0 trigger mask";
fgVariableUnits[kTriggerMaskFT0] = "";
fgVariableNames[kNFiredChannelsFT0A] = "FT0A fired channels";
fgVariableUnits[kNFiredChannelsFT0A] = "";
fgVariableNames[kNFiredChannelsFT0C] = "FT0C fired channels";
fgVariableUnits[kNFiredChannelsFT0C] = "";
fgVariableNames[kAmplitudeFDDA] = "FDDA amplitude";
fgVariableUnits[kAmplitudeFDDA] = "a.u.";
fgVariableNames[kAmplitudeFDDC] = "FDDC amplitude";
fgVariableUnits[kAmplitudeFDDC] = "a.u.";
fgVariableNames[kTimeFDDA] = "FDDA time";
fgVariableUnits[kTimeFDDA] = "ns";
fgVariableNames[kTimeFDDC] = "FDDC time";
fgVariableUnits[kTimeFDDC] = "ns";
fgVariableNames[kTriggerMaskFDD] = "FDD trigger mask";
fgVariableUnits[kTriggerMaskFDD] = "";
fgVariableNames[kAmplitudeFV0A] = "FV0A amplitude";
fgVariableUnits[kAmplitudeFV0A] = "a.u.";
fgVariableNames[kTimeFV0A] = "FV0A time";
fgVariableUnits[kTimeFV0A] = "ns";
fgVariableNames[kTriggerMaskFV0A] = "FV0A trigger mask";
fgVariableUnits[kTriggerMaskFV0A] = "";
fgVariableNames[kNFiredChannelsFV0A] = "FV0A fired channels";
fgVariableUnits[kNFiredChannelsFV0A] = "";
fgVariableNames[kBBFT0Apf] = "FT0A BB pileup flag";
fgVariableUnits[kBBFT0Apf] = "";
fgVariableNames[kBGFT0Apf] = "FT0A BG pileup flag";
fgVariableUnits[kBGFT0Apf] = "";
fgVariableNames[kBBFT0Cpf] = "FT0C BB pileup flag";
fgVariableUnits[kBBFT0Cpf] = "";
fgVariableNames[kBGFT0Cpf] = "FT0C BG pileup flag";
fgVariableUnits[kBGFT0Cpf] = "";
fgVariableNames[kBBFV0Apf] = "FV0A BB pileup flag";
fgVariableUnits[kBBFV0Apf] = "";
fgVariableNames[kBGFV0Apf] = "FV0A BG pileup flag";
fgVariableUnits[kBGFV0Apf] = "";
fgVariableNames[kBBFDDApf] = "FDDA BB pileup flag";
fgVariableUnits[kBBFDDApf] = "";
fgVariableNames[kBGFDDApf] = "FDDA BG pileup flag";
fgVariableUnits[kBGFDDApf] = "";
fgVariableNames[kBBFDDCpf] = "FDDC BB pileup flag";
fgVariableUnits[kBBFDDCpf] = "";
fgVariableNames[kBGFDDCpf] = "FDDC BG pileup flag";
fgVariableUnits[kBGFDDCpf] = "";

// Set the variables short names map. This is needed for dynamic configuration via JSON files
fgVarNamesMap["kNothing"] = kNothing;
Expand Down Expand Up @@ -2002,56 +2054,30 @@
fgVarNamesMap["kBdtBackground"] = kBdtBackground;
fgVarNamesMap["kBdtPrompt"] = kBdtPrompt;
fgVarNamesMap["kBdtNonprompt"] = kBdtNonprompt;
fgVariableNames[kAmplitudeFT0A] = "FT0A amplitude";
fgVariableUnits[kAmplitudeFT0A] = "a.u.";
fgVariableNames[kAmplitudeFT0C] = "FT0C amplitude";
fgVariableUnits[kAmplitudeFT0C] = "a.u.";
fgVariableNames[kTimeFT0A] = "FT0A time";
fgVariableUnits[kTimeFT0A] = "ns";
fgVariableNames[kTimeFT0C] = "FT0C time";
fgVariableUnits[kTimeFT0C] = "ns";
fgVariableNames[kTriggerMaskFT0] = "FT0 trigger mask";
fgVariableUnits[kTriggerMaskFT0] = "";
fgVariableNames[kNFiredChannelsFT0A] = "FT0A fired channels";
fgVariableUnits[kNFiredChannelsFT0A] = "";
fgVariableNames[kNFiredChannelsFT0C] = "FT0C fired channels";
fgVariableUnits[kNFiredChannelsFT0C] = "";
fgVariableNames[kAmplitudeFDDA] = "FDDA amplitude";
fgVariableUnits[kAmplitudeFDDA] = "a.u.";
fgVariableNames[kAmplitudeFDDC] = "FDDC amplitude";
fgVariableUnits[kAmplitudeFDDC] = "a.u.";
fgVariableNames[kTimeFDDA] = "FDDA time";
fgVariableUnits[kTimeFDDA] = "ns";
fgVariableNames[kTimeFDDC] = "FDDC time";
fgVariableUnits[kTimeFDDC] = "ns";
fgVariableNames[kTriggerMaskFDD] = "FDD trigger mask";
fgVariableUnits[kTriggerMaskFDD] = "";
fgVariableNames[kAmplitudeFV0A] = "FV0A amplitude";
fgVariableUnits[kAmplitudeFV0A] = "a.u.";
fgVariableNames[kTimeFV0A] = "FV0A time";
fgVariableUnits[kTimeFV0A] = "ns";
fgVariableNames[kTriggerMaskFV0A] = "FV0A trigger mask";
fgVariableUnits[kTriggerMaskFV0A] = "";
fgVariableNames[kNFiredChannelsFV0A] = "FV0A fired channels";
fgVariableUnits[kNFiredChannelsFV0A] = "";
fgVariableNames[kBBFT0Apf] = "FT0A BB pileup flag";
fgVariableUnits[kBBFT0Apf] = "";
fgVariableNames[kBGFT0Apf] = "FT0A BG pileup flag";
fgVariableUnits[kBGFT0Apf] = "";
fgVariableNames[kBBFT0Cpf] = "FT0C BB pileup flag";
fgVariableUnits[kBBFT0Cpf] = "";
fgVariableNames[kBGFT0Cpf] = "FT0C BG pileup flag";
fgVariableUnits[kBGFT0Cpf] = "";
fgVariableNames[kBBFV0Apf] = "FV0A BB pileup flag";
fgVariableUnits[kBBFV0Apf] = "";
fgVariableNames[kBGFV0Apf] = "FV0A BG pileup flag";
fgVariableUnits[kBGFV0Apf] = "";
fgVariableNames[kBBFDDApf] = "FDDA BB pileup flag";
fgVariableUnits[kBBFDDApf] = "";
fgVariableNames[kBGFDDApf] = "FDDA BG pileup flag";
fgVariableUnits[kBGFDDApf] = "";
fgVariableNames[kBBFDDCpf] = "FDDC BB pileup flag";
fgVariableUnits[kBBFDDCpf] = "";
fgVariableNames[kBGFDDCpf] = "FDDC BG pileup flag";
fgVariableUnits[kBGFDDCpf] = "";
fgVarNamesMap["kAmplitudeFT0A"] = kAmplitudeFT0A;
fgVarNamesMap["kAmplitudeFT0C"] = kAmplitudeFT0C;
fgVarNamesMap["kTimeFT0A"] = kTimeFT0A;
fgVarNamesMap["kTimeFT0C"] = kTimeFT0C;
fgVarNamesMap["kTriggerMaskFT0"] = kTriggerMaskFT0;
fgVarNamesMap["kNFiredChannelsFT0A"] = kNFiredChannelsFT0A;
fgVarNamesMap["kNFiredChannelsFT0C"] = kNFiredChannelsFT0C;
fgVarNamesMap["kAmplitudeFDDA"] = kAmplitudeFDDA;
fgVarNamesMap["kAmplitudeFDDC"] = kAmplitudeFDDC;
fgVarNamesMap["kTimeFDDA"] = kTimeFDDA;
fgVarNamesMap["kTimeFDDC"] = kTimeFDDC;
fgVarNamesMap["kTriggerMaskFDD"] = kTriggerMaskFDD;
fgVarNamesMap["kAmplitudeFV0A"] = kAmplitudeFV0A;
fgVarNamesMap["kTimeFV0A"] = kTimeFV0A;
fgVarNamesMap["kTriggerMaskFV0A"] = kTriggerMaskFV0A;
fgVarNamesMap["kNFiredChannelsFV0A"] = kNFiredChannelsFV0A;
fgVarNamesMap["kBBFT0Apf"] = kBBFT0Apf;
fgVarNamesMap["kBGFT0Apf"] = kBGFT0Apf;
fgVarNamesMap["kBBFT0Cpf"] = kBBFT0Cpf;
fgVarNamesMap["kBGFT0Cpf"] = kBGFT0Cpf;
fgVarNamesMap["kBBFV0Apf"] = kBBFV0Apf;
fgVarNamesMap["kBGFV0Apf"] = kBGFV0Apf;
fgVarNamesMap["kBBFDDApf"] = kBBFDDApf;
fgVarNamesMap["kBGFDDApf"] = kBGFDDApf;
fgVarNamesMap["kBBFDDCpf"] = kBBFDDCpf;
fgVarNamesMap["kBGFDDCpf"] = kBGFDDCpf;
}
32 changes: 31 additions & 1 deletion PWGDQ/Core/VarManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,14 +67,14 @@
#include <cmath>
#include <complex>
#include <cstdint>
#include <iostream>

Check failure on line 70 in PWGDQ/Core/VarManager.h

View workflow job for this annotation

GitHub Actions / O2 linter

[include-iostream]

Do not include iostream. Use O2 logging instead.
#include <map>
#include <utility>
#include <vector>

using std::complex;

Check failure on line 75 in PWGDQ/Core/VarManager.h

View workflow job for this annotation

GitHub Actions / O2 linter

[import-std-name]

Do not import names from the std namespace in headers.
using std::cout;

Check failure on line 76 in PWGDQ/Core/VarManager.h

View workflow job for this annotation

GitHub Actions / O2 linter

[import-std-name]

Do not import names from the std namespace in headers.
using std::endl;

Check failure on line 77 in PWGDQ/Core/VarManager.h

View workflow job for this annotation

GitHub Actions / O2 linter

[import-std-name]

Do not import names from the std namespace in headers.

using SMatrix55 = ROOT::Math::SMatrix<double, 5, 5, ROOT::Math::MatRepSym<double, 5>>;
using SMatrix5 = ROOT::Math::SVector<double, 5>;
Expand Down Expand Up @@ -110,7 +110,8 @@
ReducedEventMultExtra = BIT(19),
CollisionQvectCentr = BIT(20),
RapidityGapFilter = BIT(21),
ReducedFit = BIT(22),
Fit = BIT(22),
ReducedFit = BIT(23),
Track = BIT(0),
TrackCov = BIT(1),
TrackExtra = BIT(2),
Expand Down Expand Up @@ -1593,8 +1594,8 @@
}
if constexpr ((fillMap & MuonCov) > 0 || (fillMap & ReducedMuonCov) > 0) {
o2::dataformats::GlobalFwdTrack propmuon = PropagateMuon(muontrack, collision);
double px = propmuon.getP() * sin(M_PI / 2 - atan(mfttrack.tgl())) * cos(mfttrack.phi());

Check failure on line 1597 in PWGDQ/Core/VarManager.h

View workflow job for this annotation

GitHub Actions / O2 linter

[std-prefix]

Use std:: prefix for names from the std namespace.
double py = propmuon.getP() * sin(M_PI / 2 - atan(mfttrack.tgl())) * sin(mfttrack.phi());

Check failure on line 1598 in PWGDQ/Core/VarManager.h

View workflow job for this annotation

GitHub Actions / O2 linter

[std-prefix]

Use std:: prefix for names from the std namespace.
double pz = propmuon.getP() * cos(M_PI / 2 - atan(mfttrack.tgl()));
double pt = std::sqrt(std::pow(px, 2) + std::pow(py, 2));
values[kX] = mfttrack.x();
Expand Down Expand Up @@ -2105,6 +2106,35 @@
FillZDC(event, values);
}

if constexpr ((fillMap & ReducedFit) > 0) {
values[kAmplitudeFT0A] = event.amplitudeFT0A();
values[kAmplitudeFT0C] = event.amplitudeFT0C();
values[kTimeFT0A] = event.timeFT0A();
values[kTimeFT0C] = event.timeFT0C();
values[kTriggerMaskFT0] = event.triggerMaskFT0();
values[kNFiredChannelsFT0A] = event.nFiredChannelsFT0A();
values[kNFiredChannelsFT0C] = event.nFiredChannelsFT0C();
values[kAmplitudeFDDA] = event.amplitudeFDDA();
values[kAmplitudeFDDC] = event.amplitudeFDDC();
values[kTimeFDDA] = event.timeFDDA();
values[kTimeFDDC] = event.timeFDDC();
values[kTriggerMaskFDD] = event.triggerMaskFDD();
values[kAmplitudeFV0A] = event.amplitudeFV0A();
values[kTimeFV0A] = event.timeFV0A();
values[kTriggerMaskFV0A] = event.triggerMaskFV0A();
values[kNFiredChannelsFV0A] = event.nFiredChannelsFV0A();
values[kBBFT0Apf] = event.bbFT0Apf();
values[kBGFT0Apf] = event.bgFT0Apf();
values[kBBFT0Cpf] = event.bbFT0Cpf();
values[kBGFT0Cpf] = event.bgFT0Cpf();
values[kBBFV0Apf] = event.bbFV0Apf();
values[kBGFV0Apf] = event.bgFV0Apf();
values[kBBFDDApf] = event.bbFDDApf();
values[kBGFDDApf] = event.bgFDDApf();
values[kBBFDDCpf] = event.bbFDDCpf();
values[kBGFDDCpf] = event.bgFDDCpf();
}

// FillEventDerived(values);
}

Expand Down
6 changes: 3 additions & 3 deletions PWGDQ/TableProducer/tableMaker_withAssoc.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ constexpr static uint32_t gkEventFillMapWithMultsZdc = VarManager::ObjTypes::BC
constexpr static uint32_t gkEventFillMapWithMultsAndEventFilter = VarManager::ObjTypes::BC | VarManager::ObjTypes::Collision | VarManager::ObjTypes::CollisionMult | VarManager::ObjTypes::CollisionMultExtra | VarManager::ObjTypes::EventFilter;
constexpr static uint32_t gkEventFillMapWithMultsEventFilterZdc = VarManager::ObjTypes::BC | VarManager::ObjTypes::Collision | VarManager::ObjTypes::CollisionMult | VarManager::ObjTypes::CollisionMultExtra | VarManager::ObjTypes::EventFilter | VarManager::ObjTypes::Zdc;
// constexpr static uint32_t gkEventFillMapWithMultsRapidityGapFilterZdc = VarManager::ObjTypes::BC | VarManager::ObjTypes::Collision | VarManager::ObjTypes::CollisionMult | VarManager::ObjTypes::CollisionMultExtra | VarManager::ObjTypes::RapidityGapFilter | VarManager::ObjTypes::Zdc;
constexpr static uint32_t gkEventFillMapWithMultsRapidityGapFilterZdcFit = VarManager::ObjTypes::BC | VarManager::ObjTypes::Collision | VarManager::ObjTypes::CollisionMult | VarManager::ObjTypes::CollisionMultExtra | VarManager::ObjTypes::RapidityGapFilter | VarManager::ObjTypes::Zdc | VarManager::ObjTypes::ReducedFit;
constexpr static uint32_t gkEventFillMapWithMultsRapidityGapFilterZdcFit = VarManager::ObjTypes::BC | VarManager::ObjTypes::Collision | VarManager::ObjTypes::CollisionMult | VarManager::ObjTypes::CollisionMultExtra | VarManager::ObjTypes::RapidityGapFilter | VarManager::ObjTypes::Zdc | VarManager::ObjTypes::Fit;
// constexpr static uint32_t gkEventFillMapWithCent = VarManager::ObjTypes::BC | VarManager::ObjTypes::Collision | VarManager::ObjTypes::CollisionCent;
constexpr static uint32_t gkEventFillMapWithCentAndMults = VarManager::ObjTypes::BC | VarManager::ObjTypes::Collision | VarManager::ObjTypes::CollisionCent | VarManager::CollisionMult | VarManager::ObjTypes::CollisionMultExtra;
constexpr static uint32_t gkEventFillMapWithMultsExtra = VarManager::ObjTypes::BC | VarManager::ObjTypes::Collision | VarManager::CollisionMult | VarManager::ObjTypes::CollisionMultExtra;
Expand Down Expand Up @@ -867,7 +867,7 @@ struct TableMaker {
}
}
// Fill FIT info using newbc pattern for UPC events (similar to ZDC)
if constexpr ((TEventFillMap & VarManager::ObjTypes::ReducedFit) > 0) {
if constexpr ((TEventFillMap & VarManager::ObjTypes::Fit) > 0) {
if constexpr (!std::is_same_v<TFt0s, std::nullptr_t> &&
!std::is_same_v<TFv0as, std::nullptr_t> &&
!std::is_same_v<TFdds, std::nullptr_t>) {
Expand Down Expand Up @@ -987,7 +987,7 @@ struct TableMaker {
}
}
// Fill FIT table if requested
if constexpr ((TEventFillMap & VarManager::ObjTypes::ReducedFit) > 0) {
if constexpr ((TEventFillMap & VarManager::ObjTypes::Fit) > 0) {
fit(VarManager::fgValues[VarManager::kAmplitudeFT0A], VarManager::fgValues[VarManager::kAmplitudeFT0C],
VarManager::fgValues[VarManager::kTimeFT0A], VarManager::fgValues[VarManager::kTimeFT0C],
static_cast<uint8_t>(VarManager::fgValues[VarManager::kTriggerMaskFT0]),
Expand Down
Loading
Loading