Skip to content

Commit

Permalink
[PWGDQ] Tracks and TPC PID New Cuts (AliceO2Group#6925)
Browse files Browse the repository at this point in the history
* Update CutsLibrary.cxx

Correct the 'KineCutOnly' by removing the line of code that does nothing. Then, create a new version called 'KineCutOnly2' that includes a condition for low momentum.

* Update CutsLibrary.cxx

New PIDStandardKine (>0.5 GeV). It will be used to create an updated Jpsi2ee tree.

* Please consider the following formatting changes

* Update CutsLibrary.cxx

New cuts for tree creation

* Please consider the following formatting changes

* Update tableReader.cxx

Correct some typos and add the X table

* Update HistogramsLibrary.cxx

Add some new histograms (momentum, DCA, Mass, Angular Distance...) to the X(3872) analysis. 'Default Mass' means the mass of the dilepton candidate was replaced with the nominal mass of the J/psi.

* Update VarManager.cxx

Add Q and Delta R variables. These variables are used to study the X(3872) particle

* Update VarManager.h

Add some variables for the X(3872) analysis, such as Q, Delta R, DCA and Invariant Mass.

* Update tableReader.cxx

Add the X(3872) table

* Please consider the following formatting changes

* Update VarManager.h

Correct a typo

* Update tableReader.cxx

Fix a typo

* Update VarManager.h

Correct the Q variable. Replace the J/psi candidate mass with the PDG one.

* Update CutsLibrary.cxx

* Update CutsLibrary.cxx

* Please consider the following formatting changes

* Update tableReader.cxx

* Update VarManager.h

* Please consider the following formatting changes

---------

Co-authored-by: ALICE Action Bot <[email protected]>
  • Loading branch information
labranch94 and alibuild authored Aug 8, 2024
1 parent 7fa1248 commit 3ba4416
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 8 deletions.
25 changes: 25 additions & 0 deletions PWGDQ/Core/CutsLibrary.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -836,6 +836,12 @@ AnalysisCompositeCut* o2::aod::dqcuts::GetCompositeCut(const char* cutName)
return cut;
}

if (!nameStr.compare("Jpsi_TPCPost_calib_debug9")) {
cut->AddCut(GetAnalysisCut("jpsi_trackCut_debug4"));
cut->AddCut(GetAnalysisCut("electronPIDLooseSkimmed3"));
return cut;
}

if (!nameStr.compare("LMee_TPCPost_calib_debug1")) {
cut->AddCut(GetAnalysisCut("lmee_trackCut_debug"));
cut->AddCut(GetAnalysisCut("lmee_TPCPID_debug1"));
Expand Down Expand Up @@ -3666,6 +3672,17 @@ AnalysisCut* o2::aod::dqcuts::GetAnalysisCut(const char* cutName)
return cut;
}

if (!nameStr.compare("jpsi_trackCut_debug4")) {
cut->AddCut(VarManager::kEta, -0.9, 0.9);
cut->AddCut(VarManager::kTPCchi2, 0.0, 4.0);
cut->AddCut(VarManager::kTPCncls, 90., 159);
cut->AddCut(VarManager::kITSncls, 2.5, 7.5);
cut->AddCut(VarManager::kIsITSibAny, 0.5, 1.5);
cut->AddCut(VarManager::kTrackDCAxy, -1, 1);
cut->AddCut(VarManager::kTrackDCAz, -3.0, 3.0);
return cut;
}

if (!nameStr.compare("lmee_trackCut_debug")) {
cut->AddCut(VarManager::kEta, -0.9, 0.9);
cut->AddCut(VarManager::kTPCchi2, 0.0, 4.0);
Expand Down Expand Up @@ -4071,6 +4088,14 @@ AnalysisCut* o2::aod::dqcuts::GetAnalysisCut(const char* cutName)
cut->AddCut(VarManager::kTPCnSigmaPr, 1.5, 999, false, VarManager::kPin, 3.0, 999);
return cut;
}

if (!nameStr.compare("electronPIDLooseSkimmed3")) {
cut->AddCut(VarManager::kTPCnSigmaEl, -3.0, 3.0);
cut->AddCut(VarManager::kTPCnSigmaPi, 3.0, 999, false, VarManager::kPin, 0, 3.0);
cut->AddCut(VarManager::kTPCnSigmaPr, 3.0, 999, false, VarManager::kPin, 0, 3.0);
return cut;
}

if (!nameStr.compare("jpsi_TPCPID_debug6")) {
cut->AddCut(VarManager::kTPCnSigmaEl, -2.0, 3.0);
cut->AddCut(VarManager::kTPCnSigmaPi, 3.0, 999);
Expand Down
14 changes: 11 additions & 3 deletions PWGDQ/Core/VarManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -438,7 +438,11 @@ class VarManager : public TObject
kTOFbeta,
kTrackLength,
kTrackDCAxy,
kTrackDCAxyProng1,
kTrackDCAxyProng2,
kTrackDCAz,
kTrackDCAzProng1,
kTrackDCAzProng2,
kTrackDCAsigXY,
kTrackDCAsigZ,
kTrackDCAresXY,
Expand Down Expand Up @@ -4108,9 +4112,13 @@ void VarManager::FillDileptonTrackTrack(T1 const& dilepton, T2 const& hadron1, T
values[kQuadEta] = v123.Eta();
values[kQuadPhi] = v123.Phi();

values[kTrackDCAxy] = hadron1.dcaXY();
values[kTrackDCAz] = hadron1.dcaZ();
values[kPt] = hadron1.pt();
values[kTrackDCAxyProng1] = hadron1.dcaXY();
values[kTrackDCAzProng1] = hadron1.dcaZ();
values[kPt1] = hadron1.pt();

values[kTrackDCAxyProng2] = hadron2.dcaXY();
values[kTrackDCAzProng2] = hadron2.dcaZ();
values[kPt2] = hadron2.pt();

if (fgUsedVars[kCosthetaDileptonDitrack] || fgUsedVars[kPairMass] || fgUsedVars[kPairPt] || fgUsedVars[kDitrackPt] || fgUsedVars[kDitrackMass] || fgUsedVars[kQ] || fgUsedVars[kDeltaR1] || fgUsedVars[kDeltaR2] || fgUsedVars[kRap]) {
ROOT::Math::PtEtaPhiMVector v23 = v2 + v3;
Expand Down
16 changes: 11 additions & 5 deletions PWGDQ/Tasks/tableReader.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -85,12 +85,19 @@ DECLARE_SOA_COLUMN(etaXcandidate, EtaXcandidate, float);
DECLARE_SOA_COLUMN(massJpsicandidate, MJpsicandidate, float);
DECLARE_SOA_COLUMN(massDipioncandidate, MDipioncandidate, float);
DECLARE_SOA_COLUMN(pTJpsicandidate, PtJpsicandidate, float);
DECLARE_SOA_COLUMN(pTDipioncandidate, PtDipioncandidate, float);
DECLARE_SOA_COLUMN(massDiff, Q, float);
DECLARE_SOA_COLUMN(angDistPion1, DeltaR1, float);
DECLARE_SOA_COLUMN(angDistPion2, DeltaR2, float);
DECLARE_SOA_COLUMN(cosDileptonDipion, CosDileptonDipion, float);
DECLARE_SOA_COLUMN(dcaxy, DcaXY, float);
DECLARE_SOA_COLUMN(dcaz, DcaZ, float);
DECLARE_SOA_COLUMN(dcaxyPion1, DcaXYPion1, float);
DECLARE_SOA_COLUMN(dcazPion1, DcaZPion1, float);
DECLARE_SOA_COLUMN(dcaxyPion2, DcaXYPion2, float);
DECLARE_SOA_COLUMN(dcazPion2, DcaZPion2, float);
DECLARE_SOA_COLUMN(pTPion1, PtPion1, float);
DECLARE_SOA_COLUMN(pTPion2, PtPion2, float);
DECLARE_SOA_COLUMN(dileptonSign, DileptonSign, int);
DECLARE_SOA_COLUMN(ditrackSign, DitrackSign, int);

} // namespace dqanalysisflags

Expand All @@ -100,7 +107,7 @@ DECLARE_SOA_TABLE(BarrelTrackCuts, "AOD", "DQANATRKCUTS", dqanalysisflags::IsBar
DECLARE_SOA_TABLE(MuonTrackCuts, "AOD", "DQANAMUONCUTS", dqanalysisflags::IsMuonSelected);
DECLARE_SOA_TABLE(Prefilter, "AOD", "DQPREFILTER", dqanalysisflags::IsPrefilterVetoed);
DECLARE_SOA_TABLE(BmesonCandidates, "AOD", "DQBMESONS", dqanalysisflags::massBcandidate, dqanalysisflags::pTBcandidate, dqanalysisflags::LxyBcandidate, dqanalysisflags::LxyzBcandidate, dqanalysisflags::LzBcandidate, dqanalysisflags::TauxyBcandidate, dqanalysisflags::TauzBcandidate, dqanalysisflags::CosPBcandidate, dqanalysisflags::Chi2Bcandidate);
DECLARE_SOA_TABLE(XCandidates, "AOD", "DQX3872", dqanalysisflags::massXcandidate, dqanalysisflags::pTXcandidate, dqanalysisflags::rapidityXcandidate, dqanalysisflags::etaXcandidate, dqanalysisflags::massJpsicandidate, dqanalysisflags::massDipioncandidate, dqanalysisflags::pTJpsicandidate, dqanalysisflags::massDiff, dqanalysisflags::angDistPion1, dqanalysisflags::angDistPion2, dqanalysisflags::cosDileptonDipion, dqanalysisflags::dcaxy, dqanalysisflags::dcaz);
DECLARE_SOA_TABLE(XCandidates, "AOD", "DQX3872", dqanalysisflags::massXcandidate, dqanalysisflags::pTXcandidate, dqanalysisflags::rapidityXcandidate, dqanalysisflags::etaXcandidate, dqanalysisflags::massJpsicandidate, dqanalysisflags::massDipioncandidate, dqanalysisflags::pTJpsicandidate, dqanalysisflags::pTDipioncandidate, dqanalysisflags::massDiff, dqanalysisflags::angDistPion1, dqanalysisflags::angDistPion2, dqanalysisflags::cosDileptonDipion, dqanalysisflags::dcaxyPion1, dqanalysisflags::dcazPion1, dqanalysisflags::dcaxyPion2, dqanalysisflags::dcazPion2, dqanalysisflags::pTPion1, dqanalysisflags::pTPion2, dqanalysisflags::dileptonSign, dqanalysisflags::ditrackSign);
} // namespace o2::aod

// Declarations of various short names
Expand Down Expand Up @@ -1949,11 +1956,10 @@ struct AnalysisDileptonTrackTrack {
if (t1.isBarrelSelected() & (uint32_t(1) << (iTrackCut + 1)) && t2.isBarrelSelected() & (uint32_t(1) << (iTrackCut + 1))) {
fHistMan->FillHistClass(Form("DitrackSelected_%s_%s", fDitrackCut.GetName(), (*cutname).Data()), fValuesDitrack);
if (fQuadrupletCut.IsSelected(fValuesQuadruplet)) {
XTable(fValuesQuadruplet[VarManager::kQuadMass], fValuesQuadruplet[VarManager::kQuadPt], fValuesQuadruplet[VarManager::kRap], fValuesQuadruplet[VarManager::kQuadEta], fValuesQuadruplet[VarManager::kPairMass], fValuesQuadruplet[VarManager::kDitrackMass], fValuesQuadruplet[VarManager::kPairPt], fValuesQuadruplet[VarManager::kDitrackPt], fValuesQuadruplet[VarManager::kQ], fValuesQuadruplet[VarManager::kDeltaR1], fValuesQuadruplet[VarManager::kDeltaR2], fValuesQuadruplet[VarManager::kCosthetaDileptonDitrack], fValuesQuadruplet[VarManager::kTrackDCAxyProng1], fValuesQuadruplet[VarManager::kTrackDCAzProng1], fValuesQuadruplet[VarManager::kTrackDCAxyProng2], fValuesQuadruplet[VarManager::kTrackDCAzProng2], fValuesQuadruplet[VarManager::kPt1], fValuesQuadruplet[VarManager::kPt2], dilepton.sign(), t1.sign() + t2.sign());
if (fIsUnlikeSignDilepton) {
if (fIsUnlikeSignDitrack) {
fHistMan->FillHistClass(Form("QuadrupletSEUSUS_%s_%s_%s", fDileptonCut.GetName(), fDitrackCut.GetName(), (*cutname).Data()), fValuesQuadruplet);
XTable(fValuesQuadruplet[VarManager::kQuadMass], fValuesQuadruplet[VarManager::kQuadPt], fValuesQuadruplet[VarManager::kRap], fValuesQuadruplet[VarManager::kQuadEta], fValuesQuadruplet[VarManager::kPairMass], fValuesQuadruplet[VarManager::kDitrackMass], fValuesQuadruplet[VarManager::kPairPt], fValuesQuadruplet[VarManager::kQ], fValuesQuadruplet[VarManager::kDeltaR1], fValuesQuadruplet[VarManager::kDeltaR2], fValuesQuadruplet[VarManager::kCosthetaDileptonDitrack], fValuesQuadruplet[VarManager::kTrackDCAxy], fValuesQuadruplet[VarManager::kTrackDCAz]);

} else {
fHistMan->FillHistClass(Form("QuadrupletSEUSLS_%s_%s_%s", fDileptonCut.GetName(), fDitrackCut.GetName(), (*cutname).Data()), fValuesQuadruplet);
}
Expand Down

0 comments on commit 3ba4416

Please sign in to comment.