Skip to content
Merged
22 changes: 16 additions & 6 deletions PWGDQ/Core/VarManager.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -1349,12 +1349,16 @@ void VarManager::SetDefaultVarNames()
fgVariableUnits[kVertexingLxyzProjected] = "cm";
fgVariableNames[kVertexingTauzProjected] = "Pair pseudo-proper Tauz";
fgVariableUnits[kVertexingTauzProjected] = "ns";
fgVariableNames[kVertexingTauxyProjected] = "Pair pseudo-proper Tauxy";
fgVariableUnits[kVertexingTauxyProjected] = "ns";
fgVariableNames[kVertexingTauxyProjectedPoleJPsiMass] = "Pair pseudo-proper Tauxy (with pole JPsi mass)";
fgVariableUnits[kVertexingTauxyProjectedPoleJPsiMass] = "ns";
fgVariableNames[kVertexingTauxyzProjected] = "Pair pseudo-proper Tauxyz";
fgVariableUnits[kVertexingTauxyzProjected] = "ns";
// Change of incorrect unit labeling (from ns to cm)
fgVariableNames[kVertexingTauxyProjected] = "Pair pseudo-proper decay length";
fgVariableUnits[kVertexingTauxyProjected] = "cm";
fgVariableNames[kVertexingTauxyProjectedPoleJPsiMass] = "Pair pseudo-proper decay length (with pole JPsi mass)";
fgVariableUnits[kVertexingTauxyProjectedPoleJPsiMass] = "cm";
fgVariableNames[kVertexingTauxyProjectedNs] = "Pair pseudo-proper decay time";
fgVariableUnits[kVertexingTauxyProjectedNs] = "ns";
fgVariableNames[kVertexingTauxyzProjected] = "Pair pseudo-proper decay length";
fgVariableUnits[kVertexingTauxyzProjected] = "cm";

fgVariableNames[kMCVertexingLxyProjected] = "MC Lxy_{proj}";
fgVariableUnits[kMCVertexingLxyProjected] = "cm";
fgVariableNames[kMCVertexingLzProjected] = "MC Lz_{proj}";
Expand Down Expand Up @@ -1515,6 +1519,10 @@ void VarManager::SetDefaultVarNames()
fgVariableUnits[kQ4Y0C] = "";
fgVariableNames[kU2Q2] = "u_{2}Q_{2}^{A} ";
fgVariableUnits[kU2Q2] = "";
fgVariableNames[kU2Q2FT0A] = "u_{2}Q_{2}^{FT0A} "; // Added variable for the U2Q2-values for FT0A
fgVariableUnits[kU2Q2FT0A] = "";
fgVariableNames[kU2Q2FT0C] = "u_{2}Q_{2}^{FT0C} "; // Added variable for the U2Q2-values for FT0C
fgVariableUnits[kU2Q2FT0C] = "";
fgVariableNames[kU3Q3] = "u_{3}Q_{3}^{A} ";
fgVariableUnits[kU3Q3] = "";
fgVariableNames[kQ42XA] = "Q_{42,x}^{A} ";
Expand Down Expand Up @@ -2715,6 +2723,8 @@ void VarManager::SetDefaultVarNames()
fgVarNamesMap["kWV2SP"] = kWV2SP;
fgVarNamesMap["kWV2EP"] = kWV2EP;
fgVarNamesMap["kU2Q2"] = kU2Q2;
fgVarNamesMap["kU2Q2FT0A"] = kU2Q2FT0A; // Added variable names for U2Q2 in FT0A
fgVarNamesMap["kU2Q2FT0C"] = kU2Q2FT0C; // Added variable names for U2Q2 in FT0C
fgVarNamesMap["kU3Q3"] = kU3Q3;
fgVarNamesMap["kQ42XA"] = kQ42XA;
fgVarNamesMap["kQ42YA"] = kQ42YA;
Expand Down
4 changes: 4 additions & 0 deletions PWGDQ/Core/VarManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -916,6 +916,8 @@ class VarManager : public TObject
kU2Q2,
kU2Q2POS,
kU2Q2NEG,
kU2Q2FT0A, // New U2Q2-variable for FT0A
kU2Q2FT0C, // New U2Q2-variable for FT0C
kU3Q3,
kQ42XA,
kQ42YA,
Expand Down Expand Up @@ -6426,6 +6428,8 @@ void VarManager::FillPairVn(T1 const& t1, T2 const& t2, float* values)
values[kU2Q2] = values[kQ2X0A] * TMath::Cos(2 * v12.Phi()) + values[kQ2Y0A] * TMath::Sin(2 * v12.Phi());
values[kU2Q2POS] = values[kQ2X0APOS] * TMath::Cos(2 * v12.Phi()) + values[kQ2Y0APOS] * TMath::Sin(2 * v12.Phi());
values[kU2Q2NEG] = values[kQ2X0ANEG] * TMath::Cos(2 * v12.Phi()) + values[kQ2Y0ANEG] * TMath::Sin(2 * v12.Phi());
values[kU2Q2FT0A] = values[kQ2X0B] * TMath::Cos(2 * v12.Phi()) + values[kQ2Y0B] * TMath::Sin(2 * v12.Phi()); // Addition of new U2Q2 values for FT0A
values[kU2Q2FT0C] = values[kQ2X0C] * TMath::Cos(2 * v12.Phi()) + values[kQ2Y0C] * TMath::Sin(2 * v12.Phi()); // Addition of new U2Q2 values for FT0C
values[kU3Q3] = values[kQ3X0A] * TMath::Cos(3 * v12.Phi()) + values[kQ3Y0A] * TMath::Sin(3 * v12.Phi());
values[kR2SP_AB] = (values[kQ2X0A] * values[kQ2X0B] + values[kQ2Y0A] * values[kQ2Y0B]);
values[kR2SP_AC] = (values[kQ2X0A] * values[kQ2X0C] + values[kQ2Y0A] * values[kQ2Y0C]);
Expand Down
13 changes: 12 additions & 1 deletion PWGDQ/Tasks/tableReader_withAssoc.h
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,7 @@ using MyMuonTracksWithCov = o2::soa::Join<o2::aod::ReducedMuons, o2::aod::Reduce
using MyMuonTracksWithCovWithAmbiguities = o2::soa::Join<o2::aod::ReducedMuons, o2::aod::ReducedMuonsExtra, o2::aod::ReducedMuonsCov, o2::aod::MuonAmbiguities>;
using MyMuonTracksSelectedWithColl = o2::soa::Join<o2::aod::ReducedMuons, o2::aod::ReducedMuonsExtra, o2::aod::ReducedMuonsInfo, o2::aod::MuonTrackCuts>;

constexpr static uint32_t gkEventFillMapWithCovQvectorCentr = VarManager::ObjTypes::ReducedEvent | VarManager::ObjTypes::ReducedEventExtended | VarManager::ObjTypes::ReducedEventVtxCov | VarManager::ObjTypes::CollisionQvect | VarManager::ObjTypes::ReducedEventMultExtra;
// bit maps used for the Fill functions of the VarManager
constexpr static uint32_t gkEventFillMap = VarManager::ObjTypes::ReducedEvent | VarManager::ObjTypes::ReducedEventExtended;
constexpr static uint32_t gkEventFillMapWithZdc = VarManager::ObjTypes::ReducedEvent | VarManager::ObjTypes::ReducedEventExtended | VarManager::ReducedZdc;
Expand Down Expand Up @@ -1583,7 +1584,7 @@ struct AnalysisSameEventPairing {

void init(o2::framework::InitContext& context)
{
fEnableBarrelHistos = context.mOptions.get<bool>("processAllSkimmed") || context.mOptions.get<bool>("processBarrelOnlySkimmed") || context.mOptions.get<bool>("processBarrelOnlyWithCollSkimmed") || context.mOptions.get<bool>("processBarrelOnlySkimmedNoCov") || context.mOptions.get<bool>("processBarrelOnlySkimmedNoCovWithMultExtra") || context.mOptions.get<bool>("processBarrelOnlyWithQvectorCentrSkimmedNoCov") || context.mOptions.get<bool>("processBarrelOnlyWithQvectorCentrSkimmed") || context.mOptions.get<bool>("processBarrelOnlyDiKaons") || context.mOptions.get<bool>("processBarrelOnlyDiProtons") || context.mOptions.get<bool>("processBarrelOnlySkimmedWithGlobalMult");
fEnableBarrelHistos = context.mOptions.get<bool>("processAllSkimmed") || context.mOptions.get<bool>("processBarrelOnlySkimmed") || context.mOptions.get<bool>("processBarrelOnlyWithCollSkimmed") || context.mOptions.get<bool>("processBarrelOnlySkimmedNoCov") || context.mOptions.get<bool>("processBarrelOnlySkimmedNoCovWithMultExtra") || context.mOptions.get<bool>("processBarrelOnlyWithQvectorCentrSkimmedNoCov") || context.mOptions.get<bool>("processBarrelOnlyWithQvectorCentrSkimmed") || context.mOptions.get<bool>("processBarrelOnlyWithQvectorCentrVtxCovSkimmed") || context.mOptions.get<bool>("processBarrelOnlyDiKaons") || context.mOptions.get<bool>("processBarrelOnlyDiProtons") || context.mOptions.get<bool>("processBarrelOnlySkimmedWithGlobalMult");
fEnableBarrelMixingHistos = context.mOptions.get<bool>("processMixingAllSkimmed") || context.mOptions.get<bool>("processMixingBarrelSkimmed") || context.mOptions.get<bool>("processMixingBarrelSkimmedFlow") || context.mOptions.get<bool>("processMixingBarrelWithQvectorCentrSkimmedNoCov") || context.mOptions.get<bool>("processMixingBarrelSkimmedGlobalMult");
fEnableBarrelMixingHistos |= fConfigRunMixingAcrossTFs;
fEnableMuonHistos = context.mOptions.get<bool>("processAllSkimmed") || context.mOptions.get<bool>("processMuonOnlySkimmed") || context.mOptions.get<bool>("processMuonOnlySkimmedMultExtra") || context.mOptions.get<bool>("processMuonOnlySkimmedFlow") || context.mOptions.get<bool>("processMuonOnlyVertexingSkimmed");
Expand Down Expand Up @@ -3271,6 +3272,14 @@ struct AnalysisSameEventPairing {
runSameEventPairing<true, VarManager::kDecayToPrAPr, gkEventFillMapWithCov, gkTrackFillMapWithCov>(events, trackAssocsPerCollision, barrelAssocs, barrelTracks);
}

// New process function with Qvector, Centrality and Vertex Covariance.
void processBarrelOnlyWithQvectorCentrVtxCovSkimmed(MyEventsVtxCovSelectedQvector const& events,
o2::soa::Join<o2::aod::ReducedTracksAssoc, o2::aod::BarrelTrackCuts, o2::aod::Prefilter> const& barrelAssocs,
MyBarrelTracksWithCovWithAmbiguities const& barrelTracks)
{
runSameEventPairing<true, VarManager::kDecayToEE, gkEventFillMapWithCovQvectorCentr, gkTrackFillMapWithCov>(events, trackAssocsPerCollision, barrelAssocs, barrelTracks);
}

void processBarrelOnlySkimmedWithGlobalMult(MyEventsVtxCovGlobalMultSelected const& events,
o2::soa::Join<o2::aod::ReducedTracksAssoc, o2::aod::BarrelTrackCuts, o2::aod::Prefilter> const& barrelAssocs,
MyBarrelTracksWithCovWithAmbiguities const& barrelTracks)
Expand Down Expand Up @@ -3389,6 +3398,8 @@ struct AnalysisSameEventPairing {
PROCESS_SWITCH(AnalysisSameEventPairing, processMixingMuonSkimmed, "Run muon type mixing pairing, with skimmed muons", false);
PROCESS_SWITCH(AnalysisSameEventPairing, processMixingMuonSkimmedFlow, "Run muon type mixing pairing, with skimmed muons and flow", false);
PROCESS_SWITCH(AnalysisSameEventPairing, processMixingElectronMuonSkimmed, "Run electron-muon mixing pairing, with skimmed tracks/muons", false);
// Process switch added for pairing with Qvector from central framework and event vertex covariance
PROCESS_SWITCH(AnalysisSameEventPairing, processBarrelOnlyWithQvectorCentrVtxCovSkimmed, "Run barrel only pairing, with skimmed tracks with covariances, event vertex covariance, and Qvector from central framework", false);
PROCESS_SWITCH(AnalysisSameEventPairing, processDummy, "Dummy function, enabled only if none of the others are enabled", true);
};

Expand Down
Loading