Skip to content

Commit 34deecd

Browse files
glegrasaxti98
andauthored
[PWGDQ] add fraction of shared cluster and local phi in var manager (#18716)
Co-authored-by: Alexander Tiekötter <alexander.tiekoetter@cern.ch>
1 parent f6a5b7d commit 34deecd

3 files changed

Lines changed: 18 additions & 2 deletions

File tree

‎PWGDQ/Core/VarManager.cxx‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,10 @@ void VarManager::SetVariableDependencies()
139139
}
140140
if (fgUsedVars[kTrackIsInsideTPCModule]) {
141141
fgUsedVars[kPhiTPCOuter] = true;
142+
fgUsedVars[kLocalSectorPhi] = true;
143+
}
144+
if (fgUsedVars[kLocalSectorPhi]) {
145+
fgUsedVars[kPhiTPCOuter] = true;
142146
}
143147
}
144148

@@ -1027,6 +1031,8 @@ void VarManager::SetDefaultVarNames()
10271031
fgVariableUnits[kEta] = "";
10281032
fgVariableNames[kPhi] = "#varphi";
10291033
fgVariableUnits[kPhi] = "rad.";
1034+
fgVariableNames[kLocalSectorPhi] = "local sector #varphi";
1035+
fgVariableUnits[kLocalSectorPhi] = "rad.";
10301036
fgVariableNames[kRap] = "y";
10311037
fgVariableUnits[kRap] = "";
10321038
fgVariableNames[kMass] = "mass";
@@ -1086,6 +1092,8 @@ void VarManager::SetDefaultVarNames()
10861092
fgVariableUnits[kTPCnCRoverFindCls] = "";
10871093
fgVariableNames[kTPCchi2] = "TPC chi2";
10881094
fgVariableUnits[kTPCchi2] = "";
1095+
fgVariableNames[kTPCFractionSharedCls] = "TPC fraction shared clusters";
1096+
fgVariableUnits[kTPCFractionSharedCls] = "";
10891097
fgVariableNames[kTPCsignal] = "TPC dE/dx";
10901098
fgVariableUnits[kTPCsignal] = "";
10911099
fgVariableNames[kPhiTPCOuter] = "#varphi_{TPCout}";
@@ -2415,6 +2423,7 @@ void VarManager::SetDefaultVarNames()
24152423
fgVarNamesMap["kUsedKF"] = kUsedKF;
24162424
fgVarNamesMap["kKFMass"] = kKFMass;
24172425
fgVarNamesMap["kKFMassGeoTop"] = kKFMassGeoTop;
2426+
fgVarNamesMap["kLocalSectorPhi"] = kLocalSectorPhi;
24182427
fgVarNamesMap["kPt1"] = kPt1;
24192428
fgVarNamesMap["kEta1"] = kEta1;
24202429
fgVarNamesMap["kPhi1"] = kPhi1;
@@ -2470,6 +2479,7 @@ void VarManager::SetDefaultVarNames()
24702479
fgVarNamesMap["kTPCnclsCR"] = kTPCnclsCR;
24712480
fgVarNamesMap["kTPCnCRoverFindCls"] = kTPCnCRoverFindCls;
24722481
fgVarNamesMap["kTPCchi2"] = kTPCchi2;
2482+
fgVarNamesMap["kTPCFractionSharedCls"] = kTPCFractionSharedCls;
24732483
fgVarNamesMap["kTPCsignal"] = kTPCsignal;
24742484
fgVarNamesMap["kPhiTPCOuter"] = kPhiTPCOuter;
24752485
fgVarNamesMap["kTrackIsInsideTPCModule"] = kTrackIsInsideTPCModule;

‎PWGDQ/Core/VarManager.h‎

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -587,6 +587,7 @@ class VarManager : public TObject
587587
// Barrel track variables
588588
kPin,
589589
kSignedPin,
590+
kLocalSectorPhi,
590591
kTOFExpMom,
591592
kTrackTime,
592593
kTrackTimeRes,
@@ -618,6 +619,7 @@ class VarManager : public TObject
618619
kTPCnclsCR,
619620
kTPCnCRoverFindCls,
620621
kTPCchi2,
622+
kTPCFractionSharedCls,
621623
kTPCsignal,
622624
kPhiTPCOuter,
623625
kTrackIsInsideTPCModule,
@@ -3086,16 +3088,18 @@ void VarManager::FillTrack(T const& track, float* values)
30863088
if (fgUsedVars[kPhiTPCOuter]) {
30873089
values[kPhiTPCOuter] = RecoDecay::constrainAngle(track.phi() - track.sign() * (o2::constants::math::PIHalf - std::acos(0.22 * fgMagField / track.pt())));
30883090
}
3091+
if (fgUsedVars[kLocalSectorPhi]) {
3092+
values[kLocalSectorPhi] = values[kPhiTPCOuter] - std::floor(18.0 * values[kPhiTPCOuter] / o2::constants::math::TwoPI) * (o2::constants::math::TwoPI / 18.0);
3093+
}
30893094
if (fgUsedVars[kTrackIsInsideTPCModule]) {
3090-
float localSectorPhi = values[kPhiTPCOuter] - std::floor(18.0 * values[kPhiTPCOuter] / o2::constants::math::TwoPI) * (o2::constants::math::TwoPI / 18.0);
30913095
float edge = fgTPCInterSectorBoundary / 2.0 / 246.6; // minimal inter-sector boundary as angle
30923096
float curvature = 3.0 * 3.33 * track.pt() / fgMagField * (1.0 - std::sin(std::acos(0.22 * fgMagField / track.pt())));
30933097
if (curvature / o2::dqconstants::defaults::CurvatureNormalizationFactor > edge) {
30943098
edge = curvature / o2::dqconstants::defaults::CurvatureNormalizationFactor;
30953099
}
30963100
double min = edge;
30973101
double max = o2::constants::math::TwoPI / 18.0 - edge;
3098-
values[kTrackIsInsideTPCModule] = (localSectorPhi > min && localSectorPhi < max ? 1.0 : 0.0);
3102+
values[kTrackIsInsideTPCModule] = (values[kLocalSectorPhi] > min && values[kLocalSectorPhi] < max ? 1.0 : 0.0);
30993103
}
31003104

31013105
if constexpr ((fillMap & ReducedTrack) > 0 && !((fillMap & Pair) > 0)) {
@@ -3193,6 +3197,7 @@ void VarManager::FillTrack(T const& track, float* values)
31933197
values[kITSchi2] = track.itsChi2NCl();
31943198
values[kTPCncls] = track.tpcNClsFound();
31953199
values[kTPCchi2] = track.tpcChi2NCl();
3200+
values[kTPCFractionSharedCls] = track.tpcFractionSharedCls();
31963201
values[kTrackLength] = track.length();
31973202
values[kTPCnclsCR] = track.tpcNClsCrossedRows();
31983203
values[kTRDPattern] = track.trdPattern();

‎PWGDQ/DataModel/ReducedInfoTables.h‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,7 @@ DECLARE_SOA_TABLE(ReducedTracksBarrel, "AOD", "RTBARREL", //!
482482
track::IsPVContributor<track::Flags>,
483483
track::TPCNClsFound<track::TPCNClsFindable, track::TPCNClsFindableMinusFound>,
484484
track::TPCNClsCrossedRows<track::TPCNClsFindable, track::TPCNClsFindableMinusCrossedRows>,
485+
track::TPCFractionSharedCls<track::TPCNClsShared, track::TPCNClsFindable, track::TPCNClsFindableMinusFound>,
485486
reducedtrack::HasITS<reducedtrack::DetectorMap>, reducedtrack::HasTRD<reducedtrack::DetectorMap>,
486487
reducedtrack::HasTOF<reducedtrack::DetectorMap>, reducedtrack::HasTPC<reducedtrack::DetectorMap>);
487488

0 commit comments

Comments
 (0)