Skip to content
Open
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
10 changes: 10 additions & 0 deletions PWGDQ/Core/VarManager.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,10 @@ void VarManager::SetVariableDependencies()
}
if (fgUsedVars[kTrackIsInsideTPCModule]) {
fgUsedVars[kPhiTPCOuter] = true;
fgUsedVars[kLocalSectorPhi] = true;
}
if (fgUsedVars[kLocalSectorPhi]) {
fgUsedVars[kPhiTPCOuter] = true;
}
}

Expand Down Expand Up @@ -1020,6 +1024,8 @@ void VarManager::SetDefaultVarNames()
fgVariableUnits[kEta] = "";
fgVariableNames[kPhi] = "#varphi";
fgVariableUnits[kPhi] = "rad.";
fgVariableNames[kLocalSectorPhi] = "local sector #varphi";
fgVariableUnits[kLocalSectorPhi] = "rad.";
fgVariableNames[kRap] = "y";
fgVariableUnits[kRap] = "";
fgVariableNames[kMass] = "mass";
Expand Down Expand Up @@ -1079,6 +1085,8 @@ void VarManager::SetDefaultVarNames()
fgVariableUnits[kTPCnCRoverFindCls] = "";
fgVariableNames[kTPCchi2] = "TPC chi2";
fgVariableUnits[kTPCchi2] = "";
fgVariableNames[kTPCFractionSharedCls] = "TPC fraction shared clusters";
fgVariableUnits[kTPCFractionSharedCls] = "";
fgVariableNames[kTPCsignal] = "TPC dE/dx";
fgVariableUnits[kTPCsignal] = "";
fgVariableNames[kPhiTPCOuter] = "#varphi_{TPCout}";
Expand Down Expand Up @@ -2407,6 +2415,7 @@ void VarManager::SetDefaultVarNames()
fgVarNamesMap["kUsedKF"] = kUsedKF;
fgVarNamesMap["kKFMass"] = kKFMass;
fgVarNamesMap["kKFMassGeoTop"] = kKFMassGeoTop;
fgVarNamesMap["kLocalSectorPhi"] = kLocalSectorPhi;
fgVarNamesMap["kPt1"] = kPt1;
fgVarNamesMap["kEta1"] = kEta1;
fgVarNamesMap["kPhi1"] = kPhi1;
Expand Down Expand Up @@ -2462,6 +2471,7 @@ void VarManager::SetDefaultVarNames()
fgVarNamesMap["kTPCnclsCR"] = kTPCnclsCR;
fgVarNamesMap["kTPCnCRoverFindCls"] = kTPCnCRoverFindCls;
fgVarNamesMap["kTPCchi2"] = kTPCchi2;
fgVarNamesMap["kTPCFractionSharedCls"] = kTPCFractionSharedCls;
fgVarNamesMap["kTPCsignal"] = kTPCsignal;
fgVarNamesMap["kPhiTPCOuter"] = kPhiTPCOuter;
fgVarNamesMap["kTrackIsInsideTPCModule"] = kTrackIsInsideTPCModule;
Expand Down
9 changes: 7 additions & 2 deletions PWGDQ/Core/VarManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -585,6 +585,7 @@ class VarManager : public TObject
// Barrel track variables
kPin,
kSignedPin,
kLocalSectorPhi,
kTOFExpMom,
kTrackTime,
kTrackTimeRes,
Expand Down Expand Up @@ -616,6 +617,7 @@ class VarManager : public TObject
kTPCnclsCR,
kTPCnCRoverFindCls,
kTPCchi2,
kTPCFractionSharedCls,
kTPCsignal,
kPhiTPCOuter,
kTrackIsInsideTPCModule,
Expand Down Expand Up @@ -3092,16 +3094,18 @@ void VarManager::FillTrack(T const& track, float* values)
if (fgUsedVars[kPhiTPCOuter]) {
values[kPhiTPCOuter] = RecoDecay::constrainAngle(track.phi() - (track.sign() > 0 ? 1.0 : -1.0) * (o2::constants::math::PIHalf - TMath::ACos(0.22 * fgMagField / track.pt())));
}
if (fgUsedVars[kLocalSectorPhi]) {
values[kLocalSectorPhi] = values[kPhiTPCOuter] - TMath::Floor(18.0 * values[kPhiTPCOuter] / o2::constants::math::TwoPI) * (o2::constants::math::TwoPI / 18.0);
}
if (fgUsedVars[kTrackIsInsideTPCModule]) {
float localSectorPhi = values[kPhiTPCOuter] - TMath::Floor(18.0 * values[kPhiTPCOuter] / o2::constants::math::TwoPI) * (o2::constants::math::TwoPI / 18.0);
float edge = fgTPCInterSectorBoundary / 2.0 / 246.6; // minimal inter-sector boundary as angle
float curvature = 3.0 * 3.33 * track.pt() / fgMagField * (1.0 - TMath::Sin(TMath::ACos(0.22 * fgMagField / track.pt())));
if (curvature / 2.466 > edge) {
edge = curvature / 2.466;
}
double min = edge;
double max = o2::constants::math::TwoPI / 18.0 - edge;
values[kTrackIsInsideTPCModule] = (localSectorPhi > min && localSectorPhi < max ? 1.0 : 0.0);
values[kTrackIsInsideTPCModule] = (values[kLocalSectorPhi] > min && values[kLocalSectorPhi] < max ? 1.0 : 0.0);
}

if constexpr ((fillMap & ReducedTrack) > 0 && !((fillMap & Pair) > 0)) {
Expand Down Expand Up @@ -3199,6 +3203,7 @@ void VarManager::FillTrack(T const& track, float* values)
values[kITSchi2] = track.itsChi2NCl();
values[kTPCncls] = track.tpcNClsFound();
values[kTPCchi2] = track.tpcChi2NCl();
values[kTPCFractionSharedCls] = track.tpcFractionSharedCls();
values[kTrackLength] = track.length();
values[kTPCnclsCR] = track.tpcNClsCrossedRows();
values[kTRDPattern] = track.trdPattern();
Expand Down
1 change: 1 addition & 0 deletions PWGDQ/DataModel/ReducedInfoTables.h
Original file line number Diff line number Diff line change
Expand Up @@ -482,6 +482,7 @@ DECLARE_SOA_TABLE(ReducedTracksBarrel, "AOD", "RTBARREL", //!
track::IsPVContributor<track::Flags>,
track::TPCNClsFound<track::TPCNClsFindable, track::TPCNClsFindableMinusFound>,
track::TPCNClsCrossedRows<track::TPCNClsFindable, track::TPCNClsFindableMinusCrossedRows>,
track::TPCFractionSharedCls<track::TPCNClsShared, track::TPCNClsFindable, track::TPCNClsFindableMinusFound>,
reducedtrack::HasITS<reducedtrack::DetectorMap>, reducedtrack::HasTRD<reducedtrack::DetectorMap>,
reducedtrack::HasTOF<reducedtrack::DetectorMap>, reducedtrack::HasTPC<reducedtrack::DetectorMap>);

Expand Down
Loading