Skip to content
Merged
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
278 changes: 195 additions & 83 deletions PWGEM/Dilepton/Core/DileptonHadronMPC.h

Large diffs are not rendered by default.

6 changes: 0 additions & 6 deletions PWGEM/Dilepton/Core/EMTrackCut.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,6 @@ void EMTrackCut::SetTrackPhiRange(float minPhi, float maxPhi)
LOG(info) << "EMTrack Cut, set track phi range (rad.): " << mMinTrackPhi << " - " << mMaxTrackPhi;
}

// void EMTrackCut::SetTrackMaxDcaXYPtDep(std::function<float(float)> ptDepCut)
// {
// mMaxDcaXYPtDep = ptDepCut;
// LOG(info) << "EMTrack Cut, set max DCA xy pt dep: " << mMaxDcaXYPtDep(1.0);
// }

void EMTrackCut::SetTrackBit(uint16_t bit)
{
mTrackBit = bit;
Expand Down
15 changes: 3 additions & 12 deletions PWGEM/Dilepton/Core/EMTrackCut.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,11 @@ class EMTrackCut : public TNamed
if (!IsSelectedTrack(track, EMTrackCuts::kTrackPtRange)) {
return false;
}

if (!IsSelectedTrack(track, EMTrackCuts::kTrackEtaRange)) {
return false;
}

if (!IsSelectedTrack(track, EMTrackCuts::kTrackPhiRange)) {
return false;
}
Expand All @@ -69,15 +71,8 @@ class EMTrackCut : public TNamed
case EMTrackCuts::kTrackPhiRange:
return track.phi() > mMinTrackPhi && track.phi() < mMaxTrackPhi;

case EMTrackCuts::kTrackBit: {
// for (int i = 0; i < 10; i++) {
// if ((mTrackBit & (1 << i)) > 0 && !((track.trackBit() & (1 << i)) > 0)) {
// return false;
// }
// }
// return true;
case EMTrackCuts::kTrackBit:
return (track.trackBit() & mTrackBit) >= mTrackBit;
}

default:
return false;
Expand All @@ -91,14 +86,10 @@ class EMTrackCut : public TNamed
void SetTrackBit(uint16_t bits);

private:
// kinematic cuts
float mMinTrackPt{0.f}, mMaxTrackPt{1e10f}; // range in pT
float mMinTrackEta{-1e10f}, mMaxTrackEta{1e10f}; // range in eta
float mMinTrackPhi{0.f}, mMaxTrackPhi{6.3}; // range in phi

// track quality cuts
uint16_t mTrackBit{0};
// std::function<float(float)> mMaxDcaXYPtDep{}; // max dca in xy plane as function of pT

ClassDef(EMTrackCut, 1);
};
Expand Down
23 changes: 12 additions & 11 deletions PWGEM/Dilepton/TableProducer/skimmerPrimaryMFTTrack.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
#include "PWGEM/Dilepton/DataModel/dileptonTables.h"
#include "PWGEM/Dilepton/Utils/EMTrackUtilities.h"

#include "Common/Core/RecoDecay.h"
#include "Common/Core/TableHelper.h"
#include "Common/Core/fwdtrackUtilities.h"

Expand Down Expand Up @@ -183,7 +184,7 @@ struct skimmerPrimaryMFTTrack {
float pt = trackPar.getPt();
float eta = trackPar.getEta();
float phi = trackPar.getPhi();
o2::math_utils::bringTo02Pi(phi);
phi = RecoDecay::constrainAngle(phi, 0, 1U);

if (pt < cfgPtMin || cfgPtMax < pt) {
return;
Expand All @@ -205,36 +206,36 @@ struct skimmerPrimaryMFTTrack {
}

if (mfttrack.nClusters() >= 6) {
trackBit |= static_cast<uint16_t>(RefMFTTrackBit::kNclsMFT6);
SETBIT(trackBit, static_cast<int>(o2::aod::pwgem::dilepton::utils::emtrackutil::RefMFTTrackBit::kNclsMFT6));
}
if (mfttrack.nClusters() >= 7) {
trackBit |= static_cast<uint16_t>(RefMFTTrackBit::kNclsMFT7);
SETBIT(trackBit, static_cast<int>(o2::aod::pwgem::dilepton::utils::emtrackutil::RefMFTTrackBit::kNclsMFT7));
}
if (mfttrack.nClusters() >= 8) {
trackBit |= static_cast<uint16_t>(RefMFTTrackBit::kNclsMFT8);
SETBIT(trackBit, static_cast<int>(o2::aod::pwgem::dilepton::utils::emtrackutil::RefMFTTrackBit::kNclsMFT8));
}

if (mfttrack.chi2() / ndf < 3.f) {
trackBit |= static_cast<uint16_t>(RefMFTTrackBit::kChi2MFT3);
SETBIT(trackBit, static_cast<int>(o2::aod::pwgem::dilepton::utils::emtrackutil::RefMFTTrackBit::kChi2MFT3));
}
if (mfttrack.chi2() / ndf < 2.f) {
trackBit |= static_cast<uint16_t>(RefMFTTrackBit::kChi2MFT2);
SETBIT(trackBit, static_cast<int>(o2::aod::pwgem::dilepton::utils::emtrackutil::RefMFTTrackBit::kChi2MFT2));
}

if (std::fabs(dcaXY) < 0.05) {
trackBit |= static_cast<uint16_t>(RefMFTTrackBit::kDCAxy005cm);
SETBIT(trackBit, static_cast<int>(o2::aod::pwgem::dilepton::utils::emtrackutil::RefMFTTrackBit::kDCAxy005cm));
}
if (std::fabs(dcaXY) < 0.04) {
trackBit |= static_cast<uint16_t>(RefMFTTrackBit::kDCAxy004cm);
SETBIT(trackBit, static_cast<int>(o2::aod::pwgem::dilepton::utils::emtrackutil::RefMFTTrackBit::kDCAxy004cm));
}
if (std::fabs(dcaXY) < 0.03) {
trackBit |= static_cast<uint16_t>(RefMFTTrackBit::kDCAxy003cm);
SETBIT(trackBit, static_cast<int>(o2::aod::pwgem::dilepton::utils::emtrackutil::RefMFTTrackBit::kDCAxy003cm));
}
if (std::fabs(dcaXY) < 0.02) {
trackBit |= static_cast<uint16_t>(RefMFTTrackBit::kDCAxy002cm);
SETBIT(trackBit, static_cast<int>(o2::aod::pwgem::dilepton::utils::emtrackutil::RefMFTTrackBit::kDCAxy002cm));
}
if (std::fabs(dcaXY) < 0.01) {
trackBit |= static_cast<uint16_t>(RefMFTTrackBit::kDCAxy001cm);
SETBIT(trackBit, static_cast<int>(o2::aod::pwgem::dilepton::utils::emtrackutil::RefMFTTrackBit::kDCAxy001cm));
}

emprimarytracks(mfttrack.sign() / pt, eta, phi, trackBit);
Expand Down
Loading
Loading