Skip to content

Commit 735ba21

Browse files
committed
PWGEM/Dilepton: fix for dimuon analyses
1 parent 67421a5 commit 735ba21

File tree

3 files changed

+23
-17
lines changed

3 files changed

+23
-17
lines changed

PWGEM/Dilepton/Core/DileptonMC.h

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ using MyMCElectron = MyMCElectrons::iterator;
7272
using FilteredMyMCElectrons = soa::Filtered<MyMCElectrons>;
7373
using FilteredMyMCElectron = FilteredMyMCElectrons::iterator;
7474

75-
using MyMCMuons = soa::Join<aod::EMPrimaryMuons, aod::EMPrimaryMuonEMEventIds, aod::EMAmbiguousMuonSelfIds, aod::EMGlobalMuonSelfIds, aod::EMPrimaryMuonMCLabels>;
75+
using MyMCMuons = soa::Join<aod::EMPrimaryMuons, aod::EMPrimaryMuonEMEventIds, aod::EMAmbiguousMuonSelfIds, aod::EMGlobalMuonSelfIds, aod::EMPrimaryMuonMCLabels, aod::EMMFTMCLabels>;
7676
using MyMCMuon = MyMCMuons::iterator;
7777
using FilteredMyMCMuons = soa::Filtered<MyMCMuons>;
7878
using FilteredMyMCMuon = FilteredMyMCMuons::iterator;
@@ -129,7 +129,7 @@ struct DileptonMC {
129129
std::string prefix = "eventcut_group";
130130
Configurable<float> cfgZvtxMin{"cfgZvtxMin", -10.f, "min. Zvtx"};
131131
Configurable<float> cfgZvtxMax{"cfgZvtxMax", +10.f, "max. Zvtx"};
132-
Configurable<bool> cfgRequireSel8{"cfgRequireSel8", true, "require sel8 in event cut"};
132+
Configurable<bool> cfgRequireSel8{"cfgRequireSel8", false, "require sel8 in event cut"};
133133
Configurable<bool> cfgRequireFT0AND{"cfgRequireFT0AND", true, "require FT0AND in event cut"};
134134
Configurable<bool> cfgRequireNoTFB{"cfgRequireNoTFB", false, "require No time frame border in event cut"};
135135
Configurable<bool> cfgRequireNoITSROFB{"cfgRequireNoITSROFB", false, "require no ITS readout frame border in event cut"};
@@ -991,14 +991,14 @@ struct DileptonMC {
991991
case 111:
992992
if (IsFromCharm(mcmother, mcparticles) < 0 && IsFromBeauty(mcmother, mcparticles) < 0) { // prompt pi0
993993
fRegistry.fill(HIST("Pair/sm/PromptPi0/hs"), v12.M(), v12.Pt(), v12.Rapidity(), dphi, deta, std::fabs(cos_thetaCS), std::fabs(phiCS), aco, asym, std::fabs(dphi_e_ee), pair_dca, weight);
994-
fRegistry.fill(HIST("Pair/sm/PromptPi0/hDeltaPtvsDCA"), pair_dca, deltaPt1 + deltaPt2);
995994
if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron) {
995+
fRegistry.fill(HIST("Pair/sm/PromptPi0/hDeltaPtvsDCA"), pair_dca, deltaPt1 + deltaPt2);
996996
fRegistry.fill(HIST("Pair/sm/PromptPi0/hMvsPhiV"), phiv, v12.M());
997997
}
998998
} else { // non-prompt pi0
999999
fRegistry.fill(HIST("Pair/sm/NonPromptPi0/hs"), v12.M(), v12.Pt(), v12.Rapidity(), dphi, deta, std::fabs(cos_thetaCS), std::fabs(phiCS), aco, asym, std::fabs(dphi_e_ee), pair_dca, weight);
1000-
fRegistry.fill(HIST("Pair/sm/NonPromptPi0/hDeltaPtvsDCA"), pair_dca, deltaPt1 + deltaPt2);
10011000
if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron) {
1001+
fRegistry.fill(HIST("Pair/sm/NonPromptPi0/hDeltaPtvsDCA"), pair_dca, deltaPt1 + deltaPt2);
10021002
fRegistry.fill(HIST("Pair/sm/NonPromptPi0/hMvsPhiV"), phiv, v12.M());
10031003
}
10041004
}
@@ -1027,10 +1027,14 @@ struct DileptonMC {
10271027
case 443: {
10281028
if (IsFromBeauty(mcmother, mcparticles) > 0) {
10291029
fRegistry.fill(HIST("Pair/sm/NonPromptJPsi/hs"), v12.M(), v12.Pt(), v12.Rapidity(), dphi, deta, std::fabs(cos_thetaCS), std::fabs(phiCS), aco, asym, std::fabs(dphi_e_ee), pair_dca, weight);
1030-
fRegistry.fill(HIST("Pair/sm/NonPromptJPsi/hDeltaPtvsDCA"), pair_dca, deltaPt1 + deltaPt2);
1030+
if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron) {
1031+
fRegistry.fill(HIST("Pair/sm/NonPromptJPsi/hDeltaPtvsDCA"), pair_dca, deltaPt1 + deltaPt2);
1032+
}
10311033
} else {
10321034
fRegistry.fill(HIST("Pair/sm/PromptJPsi/hs"), v12.M(), v12.Pt(), v12.Rapidity(), dphi, deta, std::fabs(cos_thetaCS), std::fabs(phiCS), aco, asym, std::fabs(dphi_e_ee), pair_dca, weight);
1033-
fRegistry.fill(HIST("Pair/sm/PromptJPsi/hDeltaPtvsDCA"), pair_dca, deltaPt1 + deltaPt2);
1035+
if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron) {
1036+
fRegistry.fill(HIST("Pair/sm/PromptJPsi/hDeltaPtvsDCA"), pair_dca, deltaPt1 + deltaPt2);
1037+
}
10341038
}
10351039
break;
10361040
}

PWGEM/Dilepton/Core/SingleTrackQCMC.h

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ using MyMCElectrons = soa::Join<aod::EMPrimaryElectrons, aod::EMPrimaryElectrons
6464
using MyMCElectron = MyMCElectrons::iterator;
6565
using FilteredMyMCElectrons = soa::Filtered<MyMCElectrons>;
6666

67-
using MyMCMuons = soa::Join<aod::EMPrimaryMuons, aod::EMPrimaryMuonEMEventIds, aod::EMAmbiguousMuonSelfIds, aod::EMGlobalMuonSelfIds, aod::EMPrimaryMuonMCLabels>;
67+
using MyMCMuons = soa::Join<aod::EMPrimaryMuons, aod::EMPrimaryMuonEMEventIds, aod::EMAmbiguousMuonSelfIds, aod::EMGlobalMuonSelfIds, aod::EMPrimaryMuonMCLabels, aod::EMMFTMCLabels>;
6868
using MyMCMuon = MyMCMuons::iterator;
6969
using FilteredMyMCMuons = soa::Filtered<MyMCMuons>;
7070

@@ -100,10 +100,10 @@ struct SingleTrackQCMC {
100100
std::string prefix = "eventcut_group";
101101
Configurable<float> cfgZvtxMin{"cfgZvtxMin", -10.f, "min. Zvtx"};
102102
Configurable<float> cfgZvtxMax{"cfgZvtxMax", +10.f, "max. Zvtx"};
103-
Configurable<bool> cfgRequireSel8{"cfgRequireSel8", true, "require sel8 in event cut"};
103+
Configurable<bool> cfgRequireSel8{"cfgRequireSel8", false, "require sel8 in event cut"};
104104
Configurable<bool> cfgRequireFT0AND{"cfgRequireFT0AND", true, "require FT0AND in event cut"};
105-
Configurable<bool> cfgRequireNoTFB{"cfgRequireNoTFB", true, "require No time frame border in event cut"};
106-
Configurable<bool> cfgRequireNoITSROFB{"cfgRequireNoITSROFB", true, "require no ITS readout frame border in event cut"};
105+
Configurable<bool> cfgRequireNoTFB{"cfgRequireNoTFB", false, "require No time frame border in event cut"};
106+
Configurable<bool> cfgRequireNoITSROFB{"cfgRequireNoITSROFB", false, "require no ITS readout frame border in event cut"};
107107
Configurable<bool> cfgRequireNoSameBunchPileup{"cfgRequireNoSameBunchPileup", false, "require no same bunch pileup in event cut"};
108108
Configurable<bool> cfgRequireVertexITSTPC{"cfgRequireVertexITSTPC", false, "require Vertex ITSTPC in event cut"}; // ITS-TPC matched track contributes PV.
109109
Configurable<bool> cfgRequireVertexTOFmatched{"cfgRequireVertexTOFmatched", false, "require Vertex TOFmatched in event cut"}; // ITS-TPC-TOF matched track contributes PV.
@@ -390,6 +390,9 @@ struct SingleTrackQCMC {
390390
if (doprocessQCMC && doprocessQCMC_Smeared) {
391391
LOGF(fatal, "Cannot enable processQCMC and processQCMC_Smeared at the same time. Please choose one.");
392392
}
393+
if (doprocessQCMC) {
394+
fillGenValuesForRec = true;
395+
}
393396

394397
ccdb->setURL(ccdburl);
395398
ccdb->setCaching(true);
@@ -400,10 +403,6 @@ struct SingleTrackQCMC {
400403
DefineEMEventCut();
401404
addhistograms();
402405

403-
if (doprocessQCMC) {
404-
fillGenValuesForRec = true;
405-
}
406-
407406
if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron) {
408407
pdg_lepton = 11;
409408
DefineDielectronCut();
@@ -854,7 +853,9 @@ struct SingleTrackQCMC {
854853
fillTrackInfo<7, TMCParticles>(track);
855854
}
856855
} else {
857-
fillTrackInfo<2, TMCParticles>(track);
856+
if (pdg_mother == 22) { // photon conversion
857+
fillTrackInfo<2, TMCParticles>(track);
858+
}
858859
}
859860
} // end of track loop
860861

PWGEM/Dilepton/DataModel/dileptonTables.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -379,13 +379,14 @@ using EMPrimaryMuonMCLabel = EMPrimaryMuonMCLabels::iterator;
379379

380380
namespace emmftmclabel
381381
{
382-
DECLARE_SOA_INDEX_COLUMN(EMMCParticle, emmcparticle); //!
382+
// DECLARE_SOA_INDEX_COLUMN_FULL(EMMCParticle, emmcparticle);
383+
DECLARE_SOA_INDEX_COLUMN_FULL(EMMFTMCParticle, emmftmcparticle, int, EMMCParticles, "_MFT");
383384
DECLARE_SOA_COLUMN(McMask, mcMask, uint16_t);
384385
} // namespace emmftmclabel
385386

386387
// NOTE: MC labels. This table has one entry for each reconstructed track (joinable with EMPrimaryMuons table)
387388
DECLARE_SOA_TABLE(EMMFTMCLabels, "AOD", "EMMFTMCLABEL", //!
388-
emmftmclabel::EMMCParticleId, emmftmclabel::McMask);
389+
emmftmclabel::EMMFTMCParticleId, emmftmclabel::McMask);
389390
using EMMFTMCLabel = EMMFTMCLabels::iterator;
390391

391392
namespace emprimaryelectron

0 commit comments

Comments
 (0)