Skip to content

Commit e7809d1

Browse files
committed
Added additional D0 topology cuts and variables
1 parent 73d3c4d commit e7809d1

3 files changed

Lines changed: 88 additions & 0 deletions

File tree

‎PWGDQ/Core/CutsLibrary.cxx‎

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3702,6 +3702,11 @@ AnalysisCompositeCut* o2::aod::dqcuts::GetCompositeCut(const char* cutName)
37023702
return cut;
37033703
}
37043704

3705+
if (nameStr == "pairD0Topology") {
3706+
cut->AddCut(GetAnalysisCut("pairD0Topology"));
3707+
return cut;
3708+
}
3709+
37053710
if (nameStr == "pairD0HighPt1") {
37063711
cut->AddCut(GetAnalysisCut("pairLxyzProjected3sigma"));
37073712
cut->AddCut(GetAnalysisCut("pairPtLow5"));
@@ -3923,6 +3928,24 @@ AnalysisCompositeCut* o2::aod::dqcuts::GetCompositeCut(const char* cutName)
39233928
return cut;
39243929
}
39253930

3931+
if (nameStr == "alice3StandardTrackD0") {
3932+
cut->AddCut(GetAnalysisCut("alice3StandardKineD0"));
3933+
cut->AddCut(GetAnalysisCut("alice3TrackQuality"));
3934+
return cut;
3935+
}
3936+
3937+
if (nameStr == "alice3StandardTrackTOFAcceptanceD0") {
3938+
cut->AddCut(GetAnalysisCut("alice3KineTOFAcceptanceD0"));
3939+
cut->AddCut(GetAnalysisCut("alice3TrackQuality"));
3940+
return cut;
3941+
}
3942+
3943+
if (nameStr == "alice3StandardTrackRICHAcceptanceD0") {
3944+
cut->AddCut(GetAnalysisCut("alice3KineRICHAcceptanceD0"));
3945+
cut->AddCut(GetAnalysisCut("alice3TrackQuality"));
3946+
return cut;
3947+
}
3948+
39263949
if (nameStr == "alice3TightDCATrack") {
39273950
cut->AddCut(GetAnalysisCut("alice3StandardKine"));
39283951
cut->AddCut(GetAnalysisCut("alice3TrackQualityTightDCA"));
@@ -4108,6 +4131,18 @@ AnalysisCompositeCut* o2::aod::dqcuts::GetCompositeCut(const char* cutName)
41084131
return cut;
41094132
}
41104133

4134+
if (nameStr == "alice3TOFPIDPi") {
4135+
cut->AddCut(GetAnalysisCut("alice3iTOFPIDPi"));
4136+
cut->AddCut(GetAnalysisCut("alice3oTOFPIDPi"));
4137+
return cut;
4138+
}
4139+
4140+
if (nameStr == "alice3TOFPIDKa") {
4141+
cut->AddCut(GetAnalysisCut("alice3iTOFPIDKa"));
4142+
cut->AddCut(GetAnalysisCut("alice3oTOFPIDKa"));
4143+
return cut;
4144+
}
4145+
41114146
delete cut;
41124147
LOGF(fatal, Form("Did not find cut %s. Returning nullptr", cutName));
41134148
return nullptr;
@@ -7083,6 +7118,15 @@ AnalysisCut* o2::aod::dqcuts::GetAnalysisCut(const char* cutName)
70837118
return cut;
70847119
}
70857120

7121+
if (nameStr == "pairD0Topology") {
7122+
cut->AddCut(VarManager::kCosPointingAngle, 0.9, 1.0);
7123+
cut->AddCut(VarManager::kD0DcaDaughters, 0.0, 0.03);
7124+
cut->AddCut(VarManager::kD0ImpParProduct, -1000.0, 0.0);
7125+
cut->AddCut(VarManager::kDCAxy1, -0.1, 0.1);
7126+
cut->AddCut(VarManager::kDCAxy2, -0.1, 0.1);
7127+
return cut;
7128+
}
7129+
70867130
if (nameStr == "pairJpsi") {
70877131
cut->AddCut(VarManager::kMass, 2.8, 3.3);
70887132
return cut;
@@ -7339,6 +7383,24 @@ AnalysisCut* o2::aod::dqcuts::GetAnalysisCut(const char* cutName)
73397383
return cut;
73407384
}
73417385

7386+
if (nameStr == "alice3StandardKineD0") {
7387+
cut->AddCut(VarManager::kPt, 0.7, 1000.0);
7388+
cut->AddCut(VarManager::kEta, -2.5, 2.5); // Total tracker acceptance in v3b geomety
7389+
return cut;
7390+
}
7391+
7392+
if (nameStr == "alice3KineTOFAcceptanceD0") {
7393+
cut->AddCut(VarManager::kPt, 0.7, 1000.0);
7394+
cut->AddCut(VarManager::kEta, -2.0, 2.0); // TOF acceptance in v3b geomety
7395+
return cut;
7396+
}
7397+
7398+
if (nameStr == "alice3KineRICHAcceptanceD0") {
7399+
cut->AddCut(VarManager::kPt, 0.7, 1000.0);
7400+
cut->AddCut(VarManager::kEta, -0.8, 0.8); // TOF acceptance in v3b geomety
7401+
return cut;
7402+
}
7403+
73427404
if (nameStr == "alice3LambdaCKine") {
73437405
cut->AddCut(VarManager::kPt, 0.2, 1000.0);
73447406
cut->AddCut(VarManager::kEta, -2.0, 2.0);

‎PWGDQ/Core/VarManager.cxx‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1347,6 +1347,10 @@ void VarManager::SetDefaultVarNames()
13471347
fgVariableUnits[kCosPointingAngle] = "";
13481348
fgVariableNames[kMCCosPointingAngle] = "MC cos(#theta_{pointing})";
13491349
fgVariableUnits[kMCCosPointingAngle] = "";
1350+
fgVariableNames[kD0DcaDaughters] = "DCA of D0 daughters";
1351+
fgVariableUnits[kD0DcaDaughters] = "";
1352+
fgVariableNames[kD0ImpParProduct] = "D0 impact parameter product";
1353+
fgVariableUnits[kD0ImpParProduct] = "";
13501354
fgVariableNames[kVertexingPz] = "Pz Pair";
13511355
fgVariableUnits[kVertexingPz] = "GeV/c";
13521356
fgVariableNames[kVertexingSV] = "Secondary Vertexing z";
@@ -2633,6 +2637,8 @@ void VarManager::SetDefaultVarNames()
26332637
fgVarNamesMap["kSignQuadDCAsigXY"] = kSignQuadDCAsigXY;
26342638
fgVarNamesMap["kCosPointingAngle"] = kCosPointingAngle;
26352639
fgVarNamesMap["kMCCosPointingAngle"] = kMCCosPointingAngle;
2640+
fgVarNamesMap["kD0ImpParProduct"] = kD0ImpParProduct;
2641+
fgVarNamesMap["kD0DcaDaughters"] = kD0DcaDaughters;
26362642
fgVarNamesMap["kImpParXYJpsi"] = kImpParXYJpsi;
26372643
fgVarNamesMap["kImpParXYK"] = kImpParXYK;
26382644
fgVarNamesMap["kDCATrackProd"] = kDCATrackProd;

‎PWGDQ/Core/VarManager.h‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -874,6 +874,8 @@ class VarManager : public TObject
874874
kQuadDCAsigXYZ,
875875
kSignQuadDCAsigXY,
876876
kCosPointingAngle,
877+
kD0ImpParProduct,
878+
kD0DcaDaughters,
877879
kImpParXYJpsi,
878880
kImpParXYK,
879881
kDCATrackProd,
@@ -7688,6 +7690,14 @@ void VarManager::FillPairAlice3(T1 const& t1, T2 const& t2, float* values)
76887690
if (fgUsedVars[kPairPhiv]) {
76897691
values[kPairPhiv] = calculatePhiV<pairType>(t1, t2);
76907692
}
7693+
7694+
if constexpr (pairType == kDecayToKPi) {
7695+
if constexpr ((fillMap & TrackDCA) > 0 || (fillMap & ReducedTrackBarrel) > 0) {
7696+
values[kDCAxy1] = t1.dcaXY();
7697+
values[kDCAxy2] = t2.dcaXY();
7698+
values[kD0ImpParProduct] = t1.dcaXY() * t2.dcaXY();
7699+
}
7700+
}
76917701
}
76927702

76937703
template <typename M, typename T>
@@ -7792,7 +7802,17 @@ void VarManager::FillPairVertexingAlice3(C const& collision, T const& t1, T cons
77927802
v1 = {trackParVar0.getPt(), trackParVar0.getEta(), trackParVar0.getPhi(), m1};
77937803
v2 = {trackParVar1.getPt(), trackParVar1.getEta(), trackParVar1.getPhi(), m2};
77947804
v12 = v1 + v2;
7805+
7806+
const auto pos1 = trackParVar0.getXYZGlo();
7807+
const auto pos2 = trackParVar1.getXYZGlo();
7808+
7809+
const double dx = pos1.X() - pos2.X();
7810+
const double dy = pos1.Y() - pos2.Y();
7811+
const double dz = pos1.Z() - pos2.Z();
7812+
7813+
values[kD0DcaDaughters] = std::sqrt(dx * dx + dy * dy + dz * dz);
77957814
}
7815+
77967816
double phi = std::atan2(secondaryVertex[1] - collision.posY(), secondaryVertex[0] - collision.posX());
77977817
double theta = std::atan2(secondaryVertex[2] - collision.posZ(),
77987818
std::sqrt((secondaryVertex[0] - collision.posX()) * (secondaryVertex[0] - collision.posX()) +

0 commit comments

Comments
 (0)