Skip to content
Closed
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
31 changes: 20 additions & 11 deletions PWGEM/PhotonMeson/TableProducer/photonconversionbuilder.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -78,10 +78,10 @@ struct PhotonConversionBuilder {
Configurable<int> useMatCorrType{"useMatCorrType", 0, "0: none, 1: TGeo, 2: LUT"};

// single track cuts
Configurable<int> min_ncluster_tpc{"min_ncluster_tpc", 25, "min ncluster tpc"};
Configurable<int> min_ncluster_tpc{"min_ncluster_tpc", 10, "min ncluster tpc"};
Configurable<int> mincrossedrows{"mincrossedrows", 10, "min crossed rows"};
Configurable<float> maxchi2tpc{"maxchi2tpc", 4.0, "max chi2/NclsTPC"};
Configurable<float> maxchi2its{"maxchi2its", 5.0, "max chi2/NclsITS"};
Configurable<float> maxchi2tpc{"maxchi2tpc", 5.0, "max chi2/NclsTPC"}; // default 4.0 + 1.0
Configurable<float> maxchi2its{"maxchi2its", 6.0, "max chi2/NclsITS"}; // default 5.0 + 1.0
Configurable<float> maxpt_itsonly{"maxpt_itsonly", 0.15, "max pT for ITSonly tracks at SV"};
Configurable<float> maxTPCNsigmaEl{"maxTPCNsigmaEl", 4.0, "max. TPC n sigma for electron"};
Configurable<float> dcanegtopv{"dcanegtopv", 0.1, "DCA Neg To PV"};
Expand All @@ -90,11 +90,12 @@ struct PhotonConversionBuilder {
Configurable<float> maxX{"maxX", 83.1, "max X for track IU"};

// v0 cuts
Configurable<float> min_v0cospa_tpconly{"min_v0cospa_tpconly", 0.95, "min V0 CosPA to V0s with TPConly tracks"}; // double -> N.B. dcos(x)/dx = 0 at x=0)
Configurable<float> min_v0cospa_tpconly{"min_v0cospa_tpconly", 0.99, "min V0 CosPA to V0s with TPConly tracks"}; // double -> N.B. dcos(x)/dx = 0 at x=0)
Configurable<float> min_v0cospa_its{"min_v0cospa_its", 0.99, "min V0 CosPA to V0s with ITs hits"}; // double -> N.B. dcos(x)/dx = 0 at x=0)
Configurable<float> max_dcav0dau_tpconly{"max_dcav0dau_tpconly", 3.0, "max distance btween 2 legs to V0s with TPConly tracks"};
Configurable<float> max_dcav0dau_its{"max_dcav0dau_its", 0.5, "max distance btween 2 legs to V0s with ITS hits"};
Configurable<float> max_dcav0dau_itsibss{"max_dcav0dau_itsibss", 1.0, "max distance btween 2 legs to V0s with ITS hits on ITSib SS"};
Configurable<float> max_dcav0dau_tpc_inner_fc{"max_dcav0dau_tpc_inner_fc", 1.5, "max distance btween 2 legs to V0s with ITS hits on TPC inner FC"};
Configurable<float> min_v0radius{"min_v0radius", 1.0, "min v0 radius"};
Configurable<float> margin_r_its{"margin_r_its", 3.0, "margin for r cut in cm"};
Configurable<float> margin_r_tpconly{"margin_r_tpconly", 7.0, "margin for r cut in cm"};
Expand All @@ -107,6 +108,7 @@ struct PhotonConversionBuilder {
Configurable<float> kfMassConstrain{"kfMassConstrain", -1.f, "mass constrain for the KFParticle mother particle"};
Configurable<float> max_r_req_its{"max_r_req_its", 16.0, "max Rxy for V0 with ITS hits"};
Configurable<float> min_r_tpconly{"min_r_tpconly", 36.0, "min Rxy for V0 with TPConly tracks"};
Configurable<float> max_r_itsmft_ss{"max_r_itsmft_ss", 66.0, "max Rxy for ITS/MFT SS"};
Configurable<float> max_dcatopv_xy_v0{"max_dcatopv_xy_v0", +1e+10, "max. DCAxy to PV for V0"};
Configurable<float> max_dcatopv_z_v0{"max_dcatopv_z_v0", +1e+10, "max. DCAz to PV for V0"};

Expand Down Expand Up @@ -257,9 +259,9 @@ struct PhotonConversionBuilder {
return false;
}

if (abs(track.z() / track.x() - track.tgl()) > 0.4) {
return false;
}
// if (abs(track.z() / track.x() - track.tgl()) > 0.4) {
// return false;
// }

auto hits_ib = std::count_if(its_ib_Requirement.second.begin(), its_ib_Requirement.second.end(), [&](auto&& requiredLayer) { return track.itsClusterMap() & (1 << requiredLayer); });
bool its_ob_only = hits_ib <= its_ib_Requirement.first;
Expand Down Expand Up @@ -331,11 +333,9 @@ struct PhotonConversionBuilder {
float xyz[3] = {0.f, 0.f, 0.f};
Vtx_recalculation(o2::base::Propagator::Instance(), pos, ele, xyz, matCorr);
float rxy_tmp = RecoDecay::sqrtSumOfSquares(xyz[0], xyz[1]);

if (rxy_tmp > maxX + margin_r_tpconly) {
return;
}

if (rxy_tmp < abs(xyz[2]) * TMath::Tan(2 * TMath::ATan(TMath::Exp(-max_eta_v0))) - margin_z) {
return; // RZ line cut
}
Expand Down Expand Up @@ -393,6 +393,9 @@ struct PhotonConversionBuilder {
}
}

if (rxy > maxX + margin_r_tpconly) {
return;
}
if (rxy < abs(gammaKF_DecayVtx.GetZ()) * TMath::Tan(2 * TMath::ATan(TMath::Exp(-max_eta_v0))) - margin_z) {
return; // RZ line cut
}
Expand Down Expand Up @@ -434,8 +437,14 @@ struct PhotonConversionBuilder {

float pca_kf = kfp_pos_DecayVtx.GetDistanceFromParticle(kfp_ele_DecayVtx);
if (!ele.hasITS() && !pos.hasITS()) {
if (pca_kf > max_dcav0dau_tpconly) {
return;
if (max_r_itsmft_ss < rxy && rxy < maxX + margin_r_tpconly) {
if (pca_kf > max_dcav0dau_tpc_inner_fc) {
return;
}
} else {
if (pca_kf > max_dcav0dau_tpconly) {
return;
}
}
} else {
if (rxy < max_r_req_its) {
Expand Down
10 changes: 5 additions & 5 deletions PWGHF/HFC/TableProducer/correlatorD0Hadrons.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ const double efficiencyDmesonDefault[nPtBinsMassAndEfficiency] = {};
auto vecEfficiencyDmeson = std::vector<double>{efficiencyDmesonDefault, efficiencyDmesonDefault + nPtBinsMassAndEfficiency};

// histogram binning definition
const int massAxisNBins = 120;
const double massAxisMin = 1.5848;
const double massAxisMax = 2.1848;
const int massAxisNBins = 200;
const double massAxisMin = 1.3848;
const double massAxisMax = 2.3848;
const int phiAxisNBins = 32;
const double phiAxisMin = 0.;
const double phiAxisMax = o2::constants::math::TwoPI;
Expand Down Expand Up @@ -458,7 +458,7 @@ struct HfCorrelatorD0Hadrons {
registry.fill(HIST("hSelectionStatusRec"), candidate1.isSelD0bar() + (candidate1.isSelD0() * 2));
}
// fill invariant mass plots from D0/D0bar signal and background candidates
if (candidate1.isSelD0() >= selectionFlagD0) { // only reco as D0
if (candidate1.isSelD0() >= selectionFlagD0) { // only reco as D0
if (candidate1.flagMcMatchRec() == 1 << aod::hf_cand_2prong::DecayType::D0ToPiK) { // also matched as D0
registry.fill(HIST("hMassD0RecSig"), hfHelper.invMassD0ToPiK(candidate1), candidate1.pt(), efficiencyWeight);
} else if (candidate1.flagMcMatchRec() == -(1 << aod::hf_cand_2prong::DecayType::D0ToPiK)) {
Expand All @@ -467,7 +467,7 @@ struct HfCorrelatorD0Hadrons {
registry.fill(HIST("hMassD0RecBg"), hfHelper.invMassD0ToPiK(candidate1), candidate1.pt(), efficiencyWeight);
}
}
if (candidate1.isSelD0bar() >= selectionFlagD0bar) { // only reco as D0bar
if (candidate1.isSelD0bar() >= selectionFlagD0bar) { // only reco as D0bar
if (candidate1.flagMcMatchRec() == -(1 << aod::hf_cand_2prong::DecayType::D0ToPiK)) { // also matched as D0bar
registry.fill(HIST("hMassD0barRecSig"), hfHelper.invMassD0barToKPi(candidate1), candidate1.pt(), efficiencyWeight);
} else if (candidate1.flagMcMatchRec() == 1 << aod::hf_cand_2prong::DecayType::D0ToPiK) {
Expand Down
16 changes: 8 additions & 8 deletions PWGHF/HFC/Tasks/taskCorrelationD0Hadrons.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -54,15 +54,15 @@ AxisSpec axisPtHadron = {11, 0., 11., ""};
AxisSpec axisPoolBin = {9, 0., 9., ""};

// definition of vectors for standard ptbin and invariant mass configurables
const int nPtBinsCorrelations = 8;
const double pTBinsCorrelations[nPtBinsCorrelations + 1] = {0., 2., 4., 6., 8., 12., 16., 24., 99.};
const int nPtBinsCorrelations = 12;
const double pTBinsCorrelations[nPtBinsCorrelations + 1] = {0., 1., 2., 3., 4., 5., 6., 7., 8., 12., 16., 24., 99.};
auto vecPtBinsCorrelations = std::vector<double>{pTBinsCorrelations, pTBinsCorrelations + nPtBinsCorrelations + 1};
const double signalRegionLeftDefault[nPtBinsCorrelations] = {1.810, 1.810, 1.810, 1.810, 1.810, 1.810, 1.810, 1.810};
const double signalRegionRightDefault[nPtBinsCorrelations] = {1.922, 1.922, 1.922, 1.922, 1.922, 1.922, 1.922, 1.922};
const double sidebandLeftInnerDefault[nPtBinsCorrelations] = {1.754, 1.754, 1.754, 1.754, 1.754, 1.754, 1.754, 1.754};
const double sidebandLeftOuterDefault[nPtBinsCorrelations] = {1.642, 1.642, 1.642, 1.642, 1.642, 1.642, 1.642, 1.642};
const double sidebandRightInnerDefault[nPtBinsCorrelations] = {1.978, 1.978, 1.978, 1.978, 1.978, 1.978, 1.978, 1.978};
const double sidebandRightOuterDefault[nPtBinsCorrelations] = {2.090, 2.090, 2.090, 2.090, 2.090, 2.090, 2.090, 2.090};
const double signalRegionLeftDefault[nPtBinsCorrelations] = {1.7948, 1.8198, 1.8198, 1.8148, 1.8148, 1.8048, 1.8048, 1.7948, 1.7948, 1.7898, 1.7848, 1.7598};
const double signalRegionRightDefault[nPtBinsCorrelations] = {1.9098, 1.8998, 1.9048, 1.9048, 1.9148, 1.9248, 1.9298, 1.9348, 1.9398, 1.9298, 1.9398, 1.9198};
const double sidebandLeftInnerDefault[nPtBinsCorrelations] = {1.7398, 1.7748, 1.7798, 1.7698, 1.7648, 1.7448, 1.7448, 1.7198, 1.7198, 1.7198, 1.7048, 1.6798};
const double sidebandLeftOuterDefault[nPtBinsCorrelations] = {1.6298, 1.6898, 1.6948, 1.6748, 1.6648, 1.6248, 1.6198, 1.5748, 1.5748, 1.5798, 1.5448, 1.5198};
const double sidebandRightInnerDefault[nPtBinsCorrelations] = {1.9648, 1.9448, 1.9448, 1.9548, 1.9648, 1.9848, 1.9948, 2.0098, 2.0148, 1.9998, 2.0248, 1.9998};
const double sidebandRightOuterDefault[nPtBinsCorrelations] = {2.0748, 2.0248, 2.0298, 2.0448, 2.0648, 2.1048, 2.1148, 2.1548, 2.1648, 2.1398, 2.1848, 2.1598};
auto vecsignalRegionLeft = std::vector<double>{signalRegionLeftDefault, signalRegionLeftDefault + nPtBinsCorrelations};
auto vecsignalRegionRight = std::vector<double>{signalRegionRightDefault, signalRegionRightDefault + nPtBinsCorrelations};
auto vecSidebandLeftInner = std::vector<double>{sidebandLeftInnerDefault, sidebandLeftInnerDefault + nPtBinsCorrelations};
Expand Down
11 changes: 8 additions & 3 deletions PWGJE/TableProducer/jetderiveddataproducerdummy.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,14 @@ using namespace o2::framework;
using namespace o2::framework::expressions;

struct JetDerivedDataProducerDummyTask {
Produces<aod::HfD0Bases> D0Table;
Produces<aod::HfD0Mcs> D0McTable;
Produces<aod::HfD0PBases> D0ParticleTable;

Produces<aod::HfD0CollBases> d0CollisionsTable;
Produces<aod::HfD0Bases> d0sTable;
Produces<aod::HfD0Pars> d0ParsTable;
Produces<aod::HfD0ParEs> d0ParExtrasTable;
Produces<aod::HfD0Sels> d0SelsTable;
Produces<aod::HfD0Mcs> d0McsTable;
Produces<aod::HfD0PBases> d0ParticlesTable;

void init(InitContext const&)
{
Expand Down
Loading