Skip to content

Commit e68241e

Browse files
authored
PWGEM/Dilepton: update analysis tasks (#7049)
1 parent c6951aa commit e68241e

9 files changed

Lines changed: 218 additions & 64 deletions

File tree

PWGEM/Dilepton/Core/Dilepton.h

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,9 @@ using namespace o2::aod::pwgem::dilepton::utils::emtrackutil;
6868
using MyCollisions = soa::Join<aod::EMEvents, aod::EMEventsMult, aod::EMEventsCent, aod::EMEventsQvec>;
6969
using MyCollision = MyCollisions::iterator;
7070

71+
using MyCollisionsWithSWT = soa::Join<aod::EMEvents, aod::EMEventsMult, aod::EMEventsCent, aod::EMEventsQvec, aod::EMSWTriggerInfos>;
72+
using MyCollisionWithSWT = MyCollisionsWithSWT::iterator;
73+
7174
using MyElectrons = soa::Join<aod::EMPrimaryElectrons, aod::EMPrimaryElectronsCov, aod::EMPrimaryElectronEMEventIds, aod::EMAmbiguousElectronSelfIds, aod::EMPrimaryElectronsPrefilterBit>;
7275
using MyElectron = MyElectrons::iterator;
7376
using FilteredMyElectrons = soa::Filtered<MyElectrons>;
@@ -103,6 +106,7 @@ struct Dilepton {
103106
ConfigurableAxis ConfCentBins{"ConfCentBins", {VARIABLE_WIDTH, 0.0f, 5.0f, 10.0f, 20.0f, 30.0f, 40.0f, 50.0f, 60.0f, 70.0f, 80.0f, 90.0f, 100.f, 999.f}, "Mixing bins - centrality"};
104107
ConfigurableAxis ConfEPBins{"ConfEPBins", {VARIABLE_WIDTH, -M_PI / 2, -M_PI / 4, 0.0f, +M_PI / 4, +M_PI / 2}, "Mixing bins - event plane angle"};
105108
ConfigurableAxis ConfOccupancyBins{"ConfOccupancyBins", {VARIABLE_WIDTH, -1, 1e+10}, "Mixing bins - occupancy"};
109+
Configurable<std::string> cfg_swt_name{"cfg_swt_name", "fHighTrackMult", "desired software trigger name"}; // 1 trigger name per 1 task. fHighTrackMult, fHighFt0Mult
106110

107111
ConfigurableAxis ConfMllBins{"ConfMllBins", {VARIABLE_WIDTH, 0.00, 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.10, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.20, 0.21, 0.22, 0.23, 0.24, 0.25, 0.26, 0.27, 0.28, 0.29, 0.30, 0.31, 0.32, 0.33, 0.34, 0.35, 0.36, 0.37, 0.38, 0.39, 0.40, 0.41, 0.42, 0.43, 0.44, 0.45, 0.46, 0.47, 0.48, 0.49, 0.50, 0.51, 0.52, 0.53, 0.54, 0.55, 0.56, 0.57, 0.58, 0.59, 0.60, 0.61, 0.62, 0.63, 0.64, 0.65, 0.66, 0.67, 0.68, 0.69, 0.70, 0.71, 0.72, 0.73, 0.74, 0.75, 0.76, 0.77, 0.78, 0.79, 0.80, 0.81, 0.82, 0.83, 0.84, 0.85, 0.86, 0.87, 0.88, 0.89, 0.90, 0.91, 0.92, 0.93, 0.94, 0.95, 0.96, 0.97, 0.98, 0.99, 1.00, 1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07, 1.08, 1.09, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.20, 1.30, 1.40, 1.50, 1.60, 1.70, 1.80, 1.90, 2.00, 2.10, 2.20, 2.30, 2.40, 2.50, 2.60, 2.70, 2.75, 2.80, 2.85, 2.90, 2.95, 3.00, 3.05, 3.10, 3.15, 3.20, 3.25, 3.30, 3.35, 3.40, 3.45, 3.50, 3.55, 3.60, 3.65, 3.70, 3.75, 3.80, 3.85, 3.90, 3.95, 4.00}, "mee bins for output histograms"};
108112
ConfigurableAxis ConfPtllBins{"ConfPtllBins", {VARIABLE_WIDTH, 0.00, 0.10, 0.20, 0.30, 0.40, 0.50, 0.60, 0.70, 0.80, 0.90, 1.00, 1.10, 1.20, 1.30, 1.40, 1.50, 1.60, 1.70, 1.80, 1.90, 2.00, 2.10, 2.20, 2.30, 2.40, 2.50, 2.60, 2.70, 2.80, 2.90, 3.00, 3.10, 3.20, 3.30, 3.40, 3.50, 3.60, 3.70, 3.80, 3.90, 4.00, 4.10, 4.20, 4.30, 4.40, 4.50, 4.60, 4.70, 4.80, 4.90, 5.00, 5.50, 6.00, 6.50, 7.00, 7.50, 8.00, 8.50, 9.00, 9.50, 10.00}, "pTee bins for output histograms"};
@@ -282,9 +286,13 @@ struct Dilepton {
282286
// fwdfitter.setUseAbsDCA(true);
283287
// fwdfitter.setTGeoMat(false);
284288
}
289+
290+
if (doprocessTriggerAnalysis) {
291+
fRegistry.add("Event/hNInspectedTVX", "N inspected TVX;run number;N_{TVX}", kTProfile, {{80000, 520000.5, 600000.5}}, true);
292+
}
285293
}
286294

287-
template <typename TCollision>
295+
template <bool isTriggerAnalysis, typename TCollision>
288296
void initCCDB(TCollision const& collision)
289297
{
290298
if (mRunNumber == collision.runNumber()) {
@@ -338,6 +346,12 @@ struct Dilepton {
338346
beamP1 = std::sqrt(std::pow(beamE1, 2) - std::pow(beamM1, 2));
339347
beamP2 = std::sqrt(std::pow(beamE2, 2) - std::pow(beamM2, 2));
340348
LOGF(info, "beamZ1 = %d, beamZ2 = %d, beamA1 = %d, beamA2 = %d, beamE1 = %f (GeV), beamE2 = %f (GeV), beamM1 = %f (GeV), beamM2 = %f (GeV), beamP1 = %f (GeV), beamP2 = %f (GeV)", beamZ1, beamZ2, beamA1, beamA2, beamE1, beamE2, beamM1, beamM2, beamP1, beamP2);
349+
350+
if constexpr (isTriggerAnalysis) {
351+
LOGF(info, "Trigger analysis is enabled. Desired trigger name = %s", cfg_swt_name.value);
352+
LOGF(info, "total inspected TVX events = %d in run number %d", collision.nInspectedTVX(), collision.runNumber());
353+
fRegistry.fill(HIST("Event/hNInspectedTVX"), collision.runNumber(), collision.nInspectedTVX());
354+
}
341355
}
342356

343357
~Dilepton()
@@ -944,17 +958,23 @@ struct Dilepton {
944958
std::vector<std::pair<int, int>> used_trackIds;
945959
int ndf = 0;
946960

947-
template <typename TCollisions, typename TLeptons, typename TPresilce, typename TCut>
961+
template <bool isTriggerAnalysis, typename TCollisions, typename TLeptons, typename TPresilce, typename TCut>
948962
void runPairing(TCollisions const& collisions, TLeptons const& posTracks, TLeptons const& negTracks, TPresilce const& perCollision, TCut const& cut)
949963
{
950964
for (auto& collision : collisions) {
951-
initCCDB(collision);
965+
initCCDB<isTriggerAnalysis>(collision);
952966
const float centralities[4] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C(), collision.centNTPV()};
953967
float centrality = centralities[cfgCentEstimator];
954968
if (centralities[cfgCentEstimator] < cfgCentMin || cfgCentMax < centralities[cfgCentEstimator]) {
955969
continue;
956970
}
957971

972+
if constexpr (isTriggerAnalysis) {
973+
if (!collision.swtalias_bit(o2::aod::pwgem::dilepton::swt::aliasLabels.at(cfg_swt_name.value))) {
974+
continue;
975+
}
976+
}
977+
958978
std::array<float, 2> q2ft0m = {collision.q2xft0m(), collision.q2yft0m()};
959979
std::array<float, 2> q2ft0a = {collision.q2xft0a(), collision.q2yft0a()};
960980
std::array<float, 2> q2ft0c = {collision.q2xft0c(), collision.q2yft0c()};
@@ -1139,13 +1159,24 @@ struct Dilepton {
11391159
void processAnalysis(FilteredMyCollisions const& collisions, Types const&...)
11401160
{
11411161
if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron) {
1142-
runPairing(collisions, positive_electrons, negative_electrons, o2::aod::emprimaryelectron::emeventId, fDielectronCut);
1162+
runPairing<false>(collisions, positive_electrons, negative_electrons, o2::aod::emprimaryelectron::emeventId, fDielectronCut);
11431163
} else if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDimuon) {
1144-
runPairing(collisions, positive_muons, negative_muons, o2::aod::emprimarymuon::emeventId, fDimuonCut);
1164+
runPairing<false>(collisions, positive_muons, negative_muons, o2::aod::emprimarymuon::emeventId, fDimuonCut);
11451165
}
11461166
}
11471167
PROCESS_SWITCH(Dilepton, processAnalysis, "run dilepton analysis", true);
11481168

1169+
using FilteredMyCollisionsWithSWT = soa::Filtered<MyCollisionsWithSWT>;
1170+
void processTriggerAnalysis(FilteredMyCollisionsWithSWT const& collisions, Types const&...)
1171+
{
1172+
if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron) {
1173+
runPairing<true>(collisions, positive_electrons, negative_electrons, o2::aod::emprimaryelectron::emeventId, fDielectronCut);
1174+
} else if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDimuon) {
1175+
runPairing<true>(collisions, positive_muons, negative_muons, o2::aod::emprimarymuon::emeventId, fDimuonCut);
1176+
}
1177+
}
1178+
PROCESS_SWITCH(Dilepton, processTriggerAnalysis, "run dilepton analysis on triggered data", false);
1179+
11491180
void processDummy(MyCollisions const&) {}
11501181
PROCESS_SWITCH(Dilepton, processDummy, "Dummy function", false);
11511182
};

PWGEM/Dilepton/Core/PhotonHBT.h

Lines changed: 47 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,9 @@ using namespace o2::aod::pwgem::dilepton::core::photonhbt;
7171
using MyCollisions = soa::Join<aod::EMEvents, aod::EMEventsMult, aod::EMEventsCent, aod::EMEventsQvec>;
7272
using MyCollision = MyCollisions::iterator;
7373

74+
using MyCollisionsWithSWT = soa::Join<aod::EMEvents, aod::EMEventsMult, aod::EMEventsCent, aod::EMEventsQvec, aod::EMSWTriggerInfos>;
75+
using MyCollisionWithSWT = MyCollisionsWithSWT::iterator;
76+
7477
using MyV0Photons = soa::Join<aod::V0PhotonsKF, aod::V0KFEMEventIds>;
7578
using MyV0Photon = MyV0Photons::iterator;
7679

@@ -90,7 +93,7 @@ struct PhotonHBT {
9093
Configurable<float> d_bz_input{"d_bz_input", -999, "bz field in kG, -999 is automatic"};
9194

9295
Configurable<int> cfgEP2Estimator_for_Mix{"cfgEP2Estimator_for_Mix", 3, "FT0M:0, FT0A:1, FT0C:2, BTot:3, BPos:4, BNeg:5"};
93-
Configurable<int> cfgCentEstimator{"cfgCentEstimator", 2, "FT0M:0, FT0A:1, FT0C:2"};
96+
Configurable<int> cfgCentEstimator{"cfgCentEstimator", 2, "FT0M:0, FT0A:1, FT0C:2, NTPV:3"};
9497
Configurable<float> cfgCentMin{"cfgCentMin", 0, "min. centrality"};
9598
Configurable<float> cfgCentMax{"cfgCentMax", 999, "max. centrality"};
9699
Configurable<float> maxY{"maxY", 0.8, "maximum rapidity for reconstructed particles"};
@@ -100,6 +103,7 @@ struct PhotonHBT {
100103
ConfigurableAxis ConfCentBins{"ConfCentBins", {VARIABLE_WIDTH, 0.0f, 5.0f, 10.0f, 20.0f, 30.0f, 40.0f, 50.0f, 60.0f, 70.0f, 80.0f, 90.0f, 100.f, 999.f}, "Mixing bins - centrality"};
101104
ConfigurableAxis ConfEPBins{"ConfEPBins", {VARIABLE_WIDTH, -M_PI / 2, -M_PI / 4, 0.0f, +M_PI / 4, +M_PI / 2}, "Mixing bins - event plane angle"};
102105
ConfigurableAxis ConfOccupancyBins{"ConfOccupancyBins", {VARIABLE_WIDTH, -1, 1e+10}, "Mixing bins - occupancy"};
106+
Configurable<std::string> cfg_swt_name{"cfg_swt_name", "fHighTrackMult", "desired software trigger name"}; // 1 trigger name per 1 task. fHighTrackMult, fHighFt0Mult
103107

104108
ConfigurableAxis ConfKtBins{"ConfKtBins", {VARIABLE_WIDTH, 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0}, "kT bins for output histograms"};
105109

@@ -261,9 +265,13 @@ struct PhotonHBT {
261265
ccdb->setCaching(true);
262266
ccdb->setLocalObjectValidityChecking();
263267
ccdb->setFatalWhenNull(false);
268+
269+
if (doprocessTriggerAnalysis) {
270+
fRegistry.add("Event/hNInspectedTVX", "N inspected TVX;run number;N_{TVX}", kTProfile, {{80000, 520000.5, 600000.5}}, true);
271+
}
264272
}
265273

266-
template <typename TCollision>
274+
template <bool isTriggerAnalysis, typename TCollision>
267275
void initCCDB(TCollision const& collision)
268276
{
269277
if (mRunNumber == collision.runNumber()) {
@@ -300,6 +308,12 @@ struct PhotonHBT {
300308
LOG(info) << "Retrieved GRP for timestamp " << run3grp_timestamp << " with magnetic field of " << d_bz << " kZG";
301309
}
302310
mRunNumber = collision.runNumber();
311+
312+
if constexpr (isTriggerAnalysis) {
313+
LOGF(info, "Trigger analysis is enabled. Desired trigger name = %s", cfg_swt_name.value);
314+
LOGF(info, "total inspected TVX events = %d in run number %d", collision.nInspectedTVX(), collision.runNumber());
315+
fRegistry.fill(HIST("Event/hNInspectedTVX"), collision.runNumber(), collision.nInspectedTVX());
316+
}
303317
}
304318

305319
void addhistograms()
@@ -513,16 +527,21 @@ struct PhotonHBT {
513527
fRegistry.fill(HIST("Pair/") + HIST(event_pair_types[ev_id]) + HIST("hs_3d"), kt, qout_lcms, qside_lcms, qlong_lcms);
514528
}
515529

516-
template <typename TCollisions, typename TPhotons1, typename TPhotons2, typename TSubInfos1, typename TSubInfos2, typename TPreslice1, typename TPreslice2, typename TCut1, typename TCut2>
530+
template <bool isTriggerAnalysis, typename TCollisions, typename TPhotons1, typename TPhotons2, typename TSubInfos1, typename TSubInfos2, typename TPreslice1, typename TPreslice2, typename TCut1, typename TCut2>
517531
void runPairing(TCollisions const& collisions, TPhotons1 const& photons1, TPhotons2 const& photons2, TSubInfos1 const&, TSubInfos2 const&, TPreslice1 const& perCollision1, TPreslice2 const& perCollision2, TCut1 const& cut1, TCut2 const& cut2)
518532
{
519533
for (auto& collision : collisions) {
520-
initCCDB(collision);
534+
initCCDB<isTriggerAnalysis>(collision);
521535
int ndiphoton = 0;
522-
const float centralities[3] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C()};
536+
const float centralities[4] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C(), collision.centNTPV()};
523537
if (centralities[cfgCentEstimator] < cfgCentMin || cfgCentMax < centralities[cfgCentEstimator]) {
524538
continue;
525539
}
540+
if constexpr (isTriggerAnalysis) {
541+
if (!collision.swtalias_bit(o2::aod::pwgem::dilepton::swt::aliasLabels.at(cfg_swt_name.value))) {
542+
continue;
543+
}
544+
}
526545
const float eventplanes_2_for_mix[6] = {collision.ep2ft0m(), collision.ep2ft0a(), collision.ep2ft0c(), collision.ep2btot(), collision.ep2bpos(), collision.ep2bneg()};
527546
float ep2 = eventplanes_2_for_mix[cfgEP2Estimator_for_Mix];
528547
fRegistry.fill(HIST("Event/before/hEP2_CentFT0C_forMix"), collision.centFT0C(), ep2);
@@ -915,21 +934,40 @@ struct PhotonHBT {
915934
if constexpr (pairtype == ggHBTPairType::kPCMPCM) {
916935
auto v0photons = std::get<0>(std::tie(args...));
917936
auto v0legs = std::get<1>(std::tie(args...));
918-
runPairing(collisions, v0photons, v0photons, v0legs, v0legs, perCollision_pcm, perCollision_pcm, fV0PhotonCut, fV0PhotonCut);
937+
runPairing<false>(collisions, v0photons, v0photons, v0legs, v0legs, perCollision_pcm, perCollision_pcm, fV0PhotonCut, fV0PhotonCut);
919938
} else if constexpr (pairtype == ggHBTPairType::kPCMEE) {
920939
auto v0photons = std::get<0>(std::tie(args...));
921940
auto v0legs = std::get<1>(std::tie(args...));
922941
auto emprimaryelectrons = std::get<2>(std::tie(args...));
923-
runPairing(collisions, v0photons, emprimaryelectrons, v0legs, emprimaryelectrons, perCollision_pcm, perCollision_electron, fV0PhotonCut, fDielectronCut);
942+
runPairing<false>(collisions, v0photons, emprimaryelectrons, v0legs, emprimaryelectrons, perCollision_pcm, perCollision_electron, fV0PhotonCut, fDielectronCut);
924943
} else if constexpr (pairtype == ggHBTPairType::kEEEE) {
925944
auto emprimaryelectrons = std::get<0>(std::tie(args...));
926-
runPairing(collisions, nullptr, nullptr, emprimaryelectrons, emprimaryelectrons, perCollision_electron, perCollision_electron, fDielectronCut, fDielectronCut);
945+
runPairing<false>(collisions, nullptr, nullptr, emprimaryelectrons, emprimaryelectrons, perCollision_electron, perCollision_electron, fDielectronCut, fDielectronCut);
927946
}
928-
929947
ndf++;
930948
}
931949
PROCESS_SWITCH(PhotonHBT, processAnalysis, "pairing for analysis", false);
932950

951+
using FilteredMyCollisionsWithSWT = soa::Filtered<MyCollisionsWithSWT>;
952+
void processTriggerAnalysis(FilteredMyCollisionsWithSWT const& collisions, Types const&... args)
953+
{
954+
if constexpr (pairtype == ggHBTPairType::kPCMPCM) {
955+
auto v0photons = std::get<0>(std::tie(args...));
956+
auto v0legs = std::get<1>(std::tie(args...));
957+
runPairing<true>(collisions, v0photons, v0photons, v0legs, v0legs, perCollision_pcm, perCollision_pcm, fV0PhotonCut, fV0PhotonCut);
958+
} else if constexpr (pairtype == ggHBTPairType::kPCMEE) {
959+
auto v0photons = std::get<0>(std::tie(args...));
960+
auto v0legs = std::get<1>(std::tie(args...));
961+
auto emprimaryelectrons = std::get<2>(std::tie(args...));
962+
runPairing<true>(collisions, v0photons, emprimaryelectrons, v0legs, emprimaryelectrons, perCollision_pcm, perCollision_electron, fV0PhotonCut, fDielectronCut);
963+
} else if constexpr (pairtype == ggHBTPairType::kEEEE) {
964+
auto emprimaryelectrons = std::get<0>(std::tie(args...));
965+
runPairing<true>(collisions, nullptr, nullptr, emprimaryelectrons, emprimaryelectrons, perCollision_electron, perCollision_electron, fDielectronCut, fDielectronCut);
966+
}
967+
ndf++;
968+
}
969+
PROCESS_SWITCH(PhotonHBT, processTriggerAnalysis, "pairing analysis on trigger data", false);
970+
933971
void processDummy(MyCollisions const&) {}
934972
PROCESS_SWITCH(PhotonHBT, processDummy, "Dummy function", true);
935973
};

PWGEM/Dilepton/DataModel/dileptonTables.h

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -30,36 +30,36 @@ namespace o2::aod
3030
namespace pwgem::dilepton::swt
3131
{
3232
enum class swtAliases : int { // software trigger aliases for EM
33-
kUnDef = 0,
34-
kHighTrackMult = 1,
33+
kHighTrackMult = 0,
3534
kHighFt0Mult,
36-
kSingleE,
37-
kLMeeIMR,
38-
kLMeeHMR,
39-
kDiElectron,
40-
kSingleMuLow,
41-
kSingleMuHigh,
42-
kDiMuon,
35+
// kSingleE,
36+
// kLMeeIMR,
37+
// kLMeeHMR,
38+
// kDiElectron,
39+
// kSingleMuLow,
40+
// kSingleMuHigh,
41+
// kDiMuon,
4342
kNaliases
4443
};
4544

4645
const std::unordered_map<std::string, int> aliasLabels = {
4746
{"fHighTrackMult", static_cast<int>(o2::aod::pwgem::dilepton::swt::swtAliases::kHighTrackMult)},
4847
{"fHighFt0Mult", static_cast<int>(o2::aod::pwgem::dilepton::swt::swtAliases::kHighFt0Mult)},
49-
{"fSingleE", static_cast<int>(o2::aod::pwgem::dilepton::swt::swtAliases::kSingleE)},
50-
{"fLMeeIMR", static_cast<int>(o2::aod::pwgem::dilepton::swt::swtAliases::kLMeeIMR)},
51-
{"fLMeeHMR", static_cast<int>(o2::aod::pwgem::dilepton::swt::swtAliases::kLMeeHMR)},
52-
{"fDiElectron", static_cast<int>(o2::aod::pwgem::dilepton::swt::swtAliases::kDiElectron)},
53-
{"fSingleMuLow", static_cast<int>(o2::aod::pwgem::dilepton::swt::swtAliases::kSingleMuLow)},
54-
{"fSingleMuHigh", static_cast<int>(o2::aod::pwgem::dilepton::swt::swtAliases::kSingleMuHigh)},
55-
{"fDiMuon", static_cast<int>(o2::aod::pwgem::dilepton::swt::swtAliases::kDiMuon)},
48+
// {"fSingleE", static_cast<int>(o2::aod::pwgem::dilepton::swt::swtAliases::kSingleE)},
49+
// {"fLMeeIMR", static_cast<int>(o2::aod::pwgem::dilepton::swt::swtAliases::kLMeeIMR)},
50+
// {"fLMeeHMR", static_cast<int>(o2::aod::pwgem::dilepton::swt::swtAliases::kLMeeHMR)},
51+
// {"fDiElectron", static_cast<int>(o2::aod::pwgem::dilepton::swt::swtAliases::kDiElectron)},
52+
// {"fSingleMuLow", static_cast<int>(o2::aod::pwgem::dilepton::swt::swtAliases::kSingleMuLow)},
53+
// {"fSingleMuHigh", static_cast<int>(o2::aod::pwgem::dilepton::swt::swtAliases::kSingleMuHigh)},
54+
// {"fDiMuon", static_cast<int>(o2::aod::pwgem::dilepton::swt::swtAliases::kDiMuon)},
5655
};
5756
} // namespace pwgem::dilepton::swt
5857

5958
namespace emevent
6059
{
6160
DECLARE_SOA_COLUMN(CollisionId, collisionId, int);
6261
DECLARE_SOA_BITMAP_COLUMN(SWTAlias, swtalias, 16); //! Bitmask of fired trigger aliases (see above for definitions)
62+
DECLARE_SOA_COLUMN(NInspectedTVX, nInspectedTVX, uint64_t);
6363
DECLARE_SOA_COLUMN(NeeULS, neeuls, int);
6464
DECLARE_SOA_COLUMN(NeeLSpp, neelspp, int);
6565
DECLARE_SOA_COLUMN(NeeLSmm, neelsmm, int);
@@ -174,9 +174,9 @@ DECLARE_SOA_TABLE(EMEventsQvec, "AOD", "EMEVENTQVEC", //! event q vector table
174174
emevent::EP4BTot<emevent::Q4xBTot, emevent::Q4yBTot>);
175175
using EMEventQvec = EMEventsQvec::iterator;
176176

177-
DECLARE_SOA_TABLE(EMSWTriggerBits, "AOD", "EMSWTRIGGERBIT", //!
178-
emevent::SWTAlias);
179-
using EMSWTriggerBit = EMSWTriggerBits::iterator;
177+
DECLARE_SOA_TABLE(EMSWTriggerInfos, "AOD", "EMSWTRIGGERINFO", //!
178+
emevent::SWTAlias, emevent::NInspectedTVX);
179+
using EMSWTriggerInfo = EMSWTriggerInfos::iterator;
180180

181181
DECLARE_SOA_TABLE(EMEventsNee, "AOD", "EMEVENTNEE", emevent::NeeULS, emevent::NeeLSpp, emevent::NeeLSmm); // joinable to EMEvents
182182
using EMEventNee = EMEventsNee::iterator;

PWGEM/Dilepton/TableProducer/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ o2physics_add_dpl_workflow(tree-creator-single-electron-qa
3232

3333
o2physics_add_dpl_workflow(skimmer-primary-electron
3434
SOURCES skimmerPrimaryElectron.cxx
35-
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore
35+
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::EventFilteringUtils
3636
COMPONENT_NAME Analysis)
3737

3838
o2physics_add_dpl_workflow(skimmer-primary-muon
3939
SOURCES skimmerPrimaryMuon.cxx
40-
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2::GlobalTracking
40+
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2::GlobalTracking O2Physics::EventFilteringUtils
4141
COMPONENT_NAME Analysis)
4242

4343
o2physics_add_dpl_workflow(skimmer-secondary-electron

0 commit comments

Comments
 (0)