Skip to content

Commit a4fbcb6

Browse files
committed
[PWGDQ]: add fraction of shared cluster and local phi in var manager
1 parent dd16235 commit a4fbcb6

2 files changed

Lines changed: 19 additions & 2 deletions

File tree

‎PWGDQ/Core/VarManager.cxx‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,10 @@ void VarManager::SetVariableDependencies()
134134
}
135135
if (fgUsedVars[kTrackIsInsideTPCModule]) {
136136
fgUsedVars[kPhiTPCOuter] = true;
137+
fgUsedVars[kLocalSectorPhi] = true;
138+
}
139+
if (fgUsedVars[kLocalSectorPhi]) {
140+
fgUsedVars[kPhiTPCOuter] = true;
137141
}
138142
}
139143

@@ -1020,6 +1024,8 @@ void VarManager::SetDefaultVarNames()
10201024
fgVariableUnits[kEta] = "";
10211025
fgVariableNames[kPhi] = "#varphi";
10221026
fgVariableUnits[kPhi] = "rad.";
1027+
fgVariableNames[kLocalSectorPhi] = "local sector #varphi";
1028+
fgVariableUnits[kLocalSectorPhi] = "rad.";
10231029
fgVariableNames[kRap] = "y";
10241030
fgVariableUnits[kRap] = "";
10251031
fgVariableNames[kMass] = "mass";
@@ -1079,6 +1085,8 @@ void VarManager::SetDefaultVarNames()
10791085
fgVariableUnits[kTPCnCRoverFindCls] = "";
10801086
fgVariableNames[kTPCchi2] = "TPC chi2";
10811087
fgVariableUnits[kTPCchi2] = "";
1088+
fgVariableNames[kTPCFractionSharedCls] = "TPC fraction shared clusters";
1089+
fgVariableUnits[kTPCFractionSharedCls] = "";
10821090
fgVariableNames[kTPCsignal] = "TPC dE/dx";
10831091
fgVariableUnits[kTPCsignal] = "";
10841092
fgVariableNames[kPhiTPCOuter] = "#varphi_{TPCout}";
@@ -2407,6 +2415,7 @@ void VarManager::SetDefaultVarNames()
24072415
fgVarNamesMap["kUsedKF"] = kUsedKF;
24082416
fgVarNamesMap["kKFMass"] = kKFMass;
24092417
fgVarNamesMap["kKFMassGeoTop"] = kKFMassGeoTop;
2418+
fgVarNamesMap["kLocalSectorPhi"] = kLocalSectorPhi;
24102419
fgVarNamesMap["kPt1"] = kPt1;
24112420
fgVarNamesMap["kEta1"] = kEta1;
24122421
fgVarNamesMap["kPhi1"] = kPhi1;
@@ -2462,6 +2471,7 @@ void VarManager::SetDefaultVarNames()
24622471
fgVarNamesMap["kTPCnclsCR"] = kTPCnclsCR;
24632472
fgVarNamesMap["kTPCnCRoverFindCls"] = kTPCnCRoverFindCls;
24642473
fgVarNamesMap["kTPCchi2"] = kTPCchi2;
2474+
fgVarNamesMap["kTPCFractionSharedCls"] = kTPCFractionSharedCls;
24652475
fgVarNamesMap["kTPCsignal"] = kTPCsignal;
24662476
fgVarNamesMap["kPhiTPCOuter"] = kPhiTPCOuter;
24672477
fgVarNamesMap["kTrackIsInsideTPCModule"] = kTrackIsInsideTPCModule;

‎PWGDQ/Core/VarManager.h‎

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -585,6 +585,7 @@ class VarManager : public TObject
585585
// Barrel track variables
586586
kPin,
587587
kSignedPin,
588+
kLocalSectorPhi,
588589
kTOFExpMom,
589590
kTrackTime,
590591
kTrackTimeRes,
@@ -616,6 +617,7 @@ class VarManager : public TObject
616617
kTPCnclsCR,
617618
kTPCnCRoverFindCls,
618619
kTPCchi2,
620+
kTPCFractionSharedCls,
619621
kTPCsignal,
620622
kPhiTPCOuter,
621623
kTrackIsInsideTPCModule,
@@ -3092,16 +3094,18 @@ void VarManager::FillTrack(T const& track, float* values)
30923094
if (fgUsedVars[kPhiTPCOuter]) {
30933095
values[kPhiTPCOuter] = RecoDecay::constrainAngle(track.phi() - (track.sign() > 0 ? 1.0 : -1.0) * (o2::constants::math::PIHalf - TMath::ACos(0.22 * fgMagField / track.pt())));
30943096
}
3097+
if (fgUsedVars[kLocalSectorPhi]) {
3098+
values[kLocalSectorPhi] = values[kPhiTPCOuter] - TMath::Floor(18.0 * values[kPhiTPCOuter] / o2::constants::math::TwoPI) * (o2::constants::math::TwoPI / 18.0);
3099+
}
30953100
if (fgUsedVars[kTrackIsInsideTPCModule]) {
3096-
float localSectorPhi = values[kPhiTPCOuter] - TMath::Floor(18.0 * values[kPhiTPCOuter] / o2::constants::math::TwoPI) * (o2::constants::math::TwoPI / 18.0);
30973101
float edge = fgTPCInterSectorBoundary / 2.0 / 246.6; // minimal inter-sector boundary as angle
30983102
float curvature = 3.0 * 3.33 * track.pt() / fgMagField * (1.0 - TMath::Sin(TMath::ACos(0.22 * fgMagField / track.pt())));
30993103
if (curvature / 2.466 > edge) {
31003104
edge = curvature / 2.466;
31013105
}
31023106
double min = edge;
31033107
double max = o2::constants::math::TwoPI / 18.0 - edge;
3104-
values[kTrackIsInsideTPCModule] = (localSectorPhi > min && localSectorPhi < max ? 1.0 : 0.0);
3108+
values[kTrackIsInsideTPCModule] = (values[kLocalSectorPhi] > min && values[kLocalSectorPhi] < max ? 1.0 : 0.0);
31053109
}
31063110

31073111
if constexpr ((fillMap & ReducedTrack) > 0 && !((fillMap & Pair) > 0)) {
@@ -3199,6 +3203,9 @@ void VarManager::FillTrack(T const& track, float* values)
31993203
values[kITSchi2] = track.itsChi2NCl();
32003204
values[kTPCncls] = track.tpcNClsFound();
32013205
values[kTPCchi2] = track.tpcChi2NCl();
3206+
if constexpr ((fillMap & TrackExtra) > 0) {
3207+
values[kTPCFractionSharedCls] = track.tpcFractionSharedCls();
3208+
}
32023209
values[kTrackLength] = track.length();
32033210
values[kTPCnclsCR] = track.tpcNClsCrossedRows();
32043211
values[kTRDPattern] = track.trdPattern();

0 commit comments

Comments
 (0)