Skip to content

Commit

Permalink
[PWGEM/Photon] update prefilterPhoton.cxx (AliceO2Group#10257)
Browse files Browse the repository at this point in the history
  • Loading branch information
dsekihat authored Mar 1, 2025
1 parent 722aa42 commit 0fcf71d
Show file tree
Hide file tree
Showing 11 changed files with 455 additions and 155 deletions.
50 changes: 15 additions & 35 deletions PWGEM/PhotonMeson/Core/DalitzEECut.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
// Class for dilepton Cut
//

#include <utility>
#include <set>

#include "Framework/Logger.h"
#include "PWGEM/PhotonMeson/Core/DalitzEECut.h"

Expand Down Expand Up @@ -138,6 +141,12 @@ void DalitzEECut::SetTPCNsigmaPiRange(float min, float max)
LOG(info) << "DalitzEE Cut, set TPC n sigma Pi range: " << mMinTPCNsigmaPi << " - " << mMaxTPCNsigmaPi;
}

void DalitzEECut::SetTOFNsigmaElRange(float min, float max)
{
mMinTOFNsigmaEl = min;
mMaxTOFNsigmaEl = max;
LOG(info) << "DalitzEE Cut, set TOF n sigma El range: " << mMinTOFNsigmaEl << " - " << mMaxTOFNsigmaEl;
}
void DalitzEECut::RequireITSibAny(bool flag)
{
mRequireITSibAny = flag;
Expand All @@ -148,43 +157,14 @@ void DalitzEECut::RequireITSib1st(bool flag)
mRequireITSib1st = flag;
LOG(info) << "DalitzEE Cut, require ITS ib 1st: " << mRequireITSib1st;
}
void DalitzEECut::SetChi2TOF(float min, float max)
{
mMinChi2TOF = min;
mMaxChi2TOF = max;
LOG(info) << "Dielectron Cut, set chi2 TOF range: " << mMinChi2TOF << " - " << mMaxChi2TOF;
}
void DalitzEECut::SetPIDScheme(int scheme)
{
mPIDScheme = scheme;
LOG(info) << "DalitzEE Cut, PID scheme: " << static_cast<int>(mPIDScheme);
}

// void DalitzEECut::print() const
//{
// LOG(info) << "Dalitz EE Cut:";
// for (int i = 0; i < static_cast<int>(DalitzEECuts::kNCuts); i++) {
// switch (static_cast<DalitzEECuts>(i)) {
// case DalitzEECuts::kTrackPtRange:
// LOG(info) << mCutNames[i] << " in [" << mMinTrackPt << ", " << mMaxTrackPt << "]";
// break;
// case DalitzEECuts::kTrackEtaRange:
// LOG(info) << mCutNames[i] << " in [" << mMinTrackEta << ", " << mMaxTrackEta << "]";
// break;
// case DalitzEECuts::kTPCNCls:
// LOG(info) << mCutNames[i] << " > " << mMinNClustersTPC;
// break;
// case DalitzEECuts::kTPCCrossedRows:
// LOG(info) << mCutNames[i] << " > " << mMinNCrossedRowsTPC;
// break;
// case DalitzEECuts::kTPCCrossedRowsOverNCls:
// LOG(info) << mCutNames[i] << " > " << mMinNCrossedRowsOverFindableClustersTPC;
// break;
// case DalitzEECuts::kTPCChi2NDF:
// LOG(info) << mCutNames[i] << " < " << mMaxChi2PerClusterTPC;
// break;
// case DalitzEECuts::kDCAxy:
// LOG(info) << mCutNames[i] << " < " << mMaxDcaXY;
// break;
// case DalitzEECuts::kDCAz:
// LOG(info) << mCutNames[i] << " < " << mMaxDcaZ;
// break;
// default:
// LOG(fatal) << "Cut unknown!";
// }
// }
// }
34 changes: 23 additions & 11 deletions PWGEM/PhotonMeson/Core/DalitzEECut.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,8 @@ class DalitzEECut : public TNamed

enum class PIDSchemes : int {
kUnDef = -1,
kTPConly = 0,
kTOFif = 0,
kTPConly = 1,
};

template <typename T = int, typename TPair>
Expand Down Expand Up @@ -184,6 +185,9 @@ class DalitzEECut : public TNamed
case static_cast<int>(PIDSchemes::kTPConly):
return PassTPConly(track);

case static_cast<int>(PIDSchemes::kTOFif):
return PassTOFif(track);

case static_cast<int>(PIDSchemes::kUnDef):
return true;

Expand All @@ -200,6 +204,15 @@ class DalitzEECut : public TNamed
return is_el_included_TPC && is_pi_excluded_TPC;
}

template <typename T>
bool PassTOFif(T const& track) const
{
bool is_el_included_TPC = mMinTPCNsigmaEl < track.tpcNSigmaEl() && track.tpcNSigmaEl() < mMaxTPCNsigmaEl;
bool is_pi_excluded_TPC = track.tpcNSigmaPi() < mMinTPCNsigmaPi || mMaxTPCNsigmaPi < track.tpcNSigmaPi();
bool is_el_included_TOF = track.hasTOF() ? (mMinTOFNsigmaEl < track.tofNSigmaEl() && track.tofNSigmaEl() < mMaxTOFNsigmaEl && track.tofChi2() < mMaxChi2TOF) : true;
return is_el_included_TPC && is_pi_excluded_TPC && is_el_included_TOF;
}

template <typename T>
bool IsSelectedTrack(T const& track, const DalitzEECuts& cut) const
{
Expand All @@ -223,10 +236,10 @@ class DalitzEECut : public TNamed
return mMinChi2PerClusterTPC < track.tpcChi2NCl() && track.tpcChi2NCl() < mMaxChi2PerClusterTPC;

case DalitzEECuts::kDCAxy:
return abs(track.dcaXY()) <= ((mMaxDcaXYPtDep) ? mMaxDcaXYPtDep(track.pt()) : mMaxDcaXY);
return std::fabs(track.dcaXY()) <= ((mMaxDcaXYPtDep) ? mMaxDcaXYPtDep(track.pt()) : mMaxDcaXY);

case DalitzEECuts::kDCAz:
return abs(track.dcaZ()) <= mMaxDcaZ;
return std::fabs(track.dcaZ()) <= mMaxDcaZ;

case DalitzEECuts::kITSNCls:
return mMinNClustersITS <= track.itsNCls() && track.itsNCls() <= mMaxNClustersITS;
Expand Down Expand Up @@ -258,10 +271,12 @@ class DalitzEECut : public TNamed
void SetNClustersITS(int min, int max);
void SetChi2PerClusterITS(float min, float max);
void SetMeanClusterSizeITS(float min, float max);
void SetChi2TOF(float min, float max);

void SetPIDScheme(int scheme);
void SetTPCNsigmaElRange(float min = -1e+10, float max = 1e+10);
void SetTPCNsigmaPiRange(float min = -1e+10, float max = 1e+10);
void SetTPCNsigmaElRange(float min, float max);
void SetTPCNsigmaPiRange(float min, float max);
void SetTOFNsigmaElRange(float min, float max);
void RequireITSibAny(bool flag);
void RequireITSib1st(bool flag);

Expand All @@ -274,9 +289,6 @@ class DalitzEECut : public TNamed
// Getters
bool IsPhotonConversionSelected() const { return mSelectPC; }

/// @brief Print the track selection
// void print() const;

private:
static const std::pair<int8_t, std::set<uint8_t>> its_ib_any_Requirement;
static const std::pair<int8_t, std::set<uint8_t>> its_ib_1st_Requirement;
Expand Down Expand Up @@ -308,13 +320,13 @@ class DalitzEECut : public TNamed
std::function<float(float)> mMaxDcaXYPtDep{}; // max dca in xy plane as function of pT
bool mApplyPhiV{true};
float mMinMeanClusterSizeITS{-1e10f}, mMaxMeanClusterSizeITS{1e10f}; // max <its cluster size> x cos(Lmabda)
float mMinChi2TOF{-1e10f}, mMaxChi2TOF{1e10f}; // max tof chi2 per

// pid cuts
int mPIDScheme{-1};
float mMinTPCNsigmaEl{-1e+10}, mMaxTPCNsigmaEl{+1e+10};
float mMinTPCNsigmaPi{-1e+10}, mMaxTPCNsigmaPi{+1e+10};

o2::ml::OnnxModel* mPIDModel{nullptr};
float mMinTPCNsigmaPi{0}, mMaxTPCNsigmaPi{0};
float mMinTOFNsigmaEl{-1e+10}, mMaxTOFNsigmaEl{+1e+10};

ClassDef(DalitzEECut, 1);
};
Expand Down
22 changes: 14 additions & 8 deletions PWGEM/PhotonMeson/Core/Pi0EtaToGammaGamma.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,10 @@ using namespace o2::aod::pwgem::dilepton::utils;
using MyCollisions = soa::Join<aod::EMEvents, aod::EMEventsMult, aod::EMEventsCent, aod::EMEventsQvec, aod::EMEventsWeight>;
using MyCollision = MyCollisions::iterator;

using MyV0Photons = soa::Join<aod::V0PhotonsKF, aod::V0KFEMEventIds>;
using MyV0Photons = soa::Filtered<soa::Join<aod::V0PhotonsKF, aod::V0KFEMEventIds, aod::V0PhotonsKFPrefilterBitDerived>>;
using MyV0Photon = MyV0Photons::iterator;

using MyPrimaryElectrons = soa::Join<aod::EMPrimaryElectronsFromDalitz, aod::EMPrimaryElectronEMEventIds>;
using MyPrimaryElectrons = soa::Filtered<soa::Join<aod::EMPrimaryElectronsFromDalitz, aod::EMPrimaryElectronEMEventIds, aod::EMPrimaryElectronsPrefilterBitDerived>>;
using MyPrimaryElectron = MyPrimaryElectrons::iterator;

using MyEMCClusters = soa::Join<aod::SkimEMCClusters, aod::EMCEMEventIds>;
Expand Down Expand Up @@ -133,6 +133,8 @@ struct Pi0EtaToGammaGamma {
Configurable<bool> cfg_require_v0_with_tpconly{"cfg_require_v0_with_tpconly", false, "flag to select V0s with TPConly tracks"};
Configurable<bool> cfg_require_v0_on_wwire_ib{"cfg_require_v0_on_wwire_ib", false, "flag to select V0s on W wires ITSib"};
Configurable<float> cfg_min_pt_v0{"cfg_min_pt_v0", 0.1, "min pT for v0 photons at PV"};
Configurable<float> cfg_max_pt_v0{"cfg_max_pt_v0", 1e+10, "max pT for v0 photons at PV"};
Configurable<float> cfg_min_eta_v0{"cfg_min_eta_v0", -0.8, "min eta for v0 photons at PV"};
Configurable<float> cfg_max_eta_v0{"cfg_max_eta_v0", 0.8, "max eta for v0 photons at PV"};
Configurable<float> cfg_min_v0radius{"cfg_min_v0radius", 4.0, "min v0 radius"};
Configurable<float> cfg_max_v0radius{"cfg_max_v0radius", 90.0, "max v0 radius"};
Expand All @@ -143,6 +145,7 @@ struct Pi0EtaToGammaGamma {
Configurable<float> cfg_max_chi2kf{"cfg_max_chi2kf", 1e+10, "max chi2/ndf with KF"};
Configurable<bool> cfg_require_v0_with_correct_xz{"cfg_require_v0_with_correct_xz", true, "flag to select V0s with correct xz"};
Configurable<bool> cfg_reject_v0_on_itsib{"cfg_reject_v0_on_itsib", true, "flag to reject V0s on ITSib"};
Configurable<bool> cfg_apply_cuts_from_prefilter_derived{"cfg_apply_cuts_from_prefilter_derived", false, "flag to apply prefilter to V0"};

Configurable<int> cfg_min_ncluster_tpc{"cfg_min_ncluster_tpc", 10, "min ncluster tpc"};
Configurable<int> cfg_min_ncrossedrows{"cfg_min_ncrossedrows", 40, "min ncrossed rows"};
Expand All @@ -160,7 +163,6 @@ struct Pi0EtaToGammaGamma {
Configurable<float> cfg_min_mass{"cfg_min_mass", 0.0, "min mass"};
Configurable<float> cfg_max_mass{"cfg_max_mass", 0.1, "max mass"};
Configurable<bool> cfg_apply_phiv{"cfg_apply_phiv", true, "flag to apply phiv cut"};
Configurable<bool> cfg_apply_pf{"cfg_apply_pf", false, "flag to apply phiv prefilter"};
Configurable<bool> cfg_require_itsib_any{"cfg_require_itsib_any", false, "flag to require ITS ib any hits"};
Configurable<bool> cfg_require_itsib_1st{"cfg_require_itsib_1st", true, "flag to require ITS ib 1st hit"};
Configurable<float> cfg_phiv_slope{"cfg_phiv_slope", 0.0185, "slope for m vs. phiv"};
Expand All @@ -173,10 +175,11 @@ struct Pi0EtaToGammaGamma {
Configurable<int> cfg_min_ncrossedrows{"cfg_min_ncrossedrows", 70, "min ncrossed rows"};
Configurable<float> cfg_max_chi2tpc{"cfg_max_chi2tpc", 4.0, "max chi2/NclsTPC"};
Configurable<float> cfg_max_chi2its{"cfg_max_chi2its", 5.0, "max chi2/NclsITS"};
Configurable<float> cfg_max_dcaxy{"cfg_max_dcaxy", 1.0, "max dca XY for single track in cm"};
Configurable<float> cfg_max_dcaz{"cfg_max_dcaz", 1.0, "max dca Z for single track in cm"};
Configurable<float> cfg_max_dcaxy{"cfg_max_dcaxy", 0.05, "max dca XY for single track in cm"};
Configurable<float> cfg_max_dcaz{"cfg_max_dcaz", 0.05, "max dca Z for single track in cm"};
Configurable<bool> cfg_apply_cuts_from_prefilter_derived{"cfg_apply_cuts_from_prefilter_derived", false, "flag to apply prefilter to electron"};

Configurable<int> cfg_pid_scheme{"cfg_pid_scheme", static_cast<int>(DalitzEECut::PIDSchemes::kTPConly), "pid scheme [kTPConly : 0]"};
Configurable<int> cfg_pid_scheme{"cfg_pid_scheme", static_cast<int>(DalitzEECut::PIDSchemes::kTOFif), "pid scheme [kTOFif : 0, kTPConly : 1]"};
Configurable<float> cfg_min_TPCNsigmaEl{"cfg_min_TPCNsigmaEl", -2.0, "min. TPC n sigma for electron inclusion"};
Configurable<float> cfg_max_TPCNsigmaEl{"cfg_max_TPCNsigmaEl", +3.0, "max. TPC n sigma for electron inclusion"};
Configurable<float> cfg_min_TPCNsigmaPi{"cfg_min_TPCNsigmaPi", -3.0, "min. TPC n sigma for pion exclusion"};
Expand Down Expand Up @@ -340,8 +343,8 @@ struct Pi0EtaToGammaGamma {
fV0PhotonCut = V0PhotonCut("fV0PhotonCut", "fV0PhotonCut");

// for v0
fV0PhotonCut.SetV0PtRange(pcmcuts.cfg_min_pt_v0, 1e10f);
fV0PhotonCut.SetV0EtaRange(-pcmcuts.cfg_max_eta_v0, +pcmcuts.cfg_max_eta_v0);
fV0PhotonCut.SetV0PtRange(pcmcuts.cfg_min_pt_v0, pcmcuts.cfg_max_pt_v0);
fV0PhotonCut.SetV0EtaRange(pcmcuts.cfg_min_eta_v0, pcmcuts.cfg_max_eta_v0);
fV0PhotonCut.SetMinCosPA(pcmcuts.cfg_min_cospa);
fV0PhotonCut.SetMaxPCA(pcmcuts.cfg_max_pca);
fV0PhotonCut.SetMaxChi2KF(pcmcuts.cfg_max_chi2kf);
Expand Down Expand Up @@ -873,6 +876,9 @@ struct Pi0EtaToGammaGamma {
Filter collisionFilter_centrality = (cfgCentMin < o2::aod::cent::centFT0M && o2::aod::cent::centFT0M < cfgCentMax) || (cfgCentMin < o2::aod::cent::centFT0A && o2::aod::cent::centFT0A < cfgCentMax) || (cfgCentMin < o2::aod::cent::centFT0C && o2::aod::cent::centFT0C < cfgCentMax);
using FilteredMyCollisions = soa::Filtered<MyCollisions>;

Filter prefilter_pcm = ifnode(pcmcuts.cfg_apply_cuts_from_prefilter_derived.node(), o2::aod::v0photonkf::pfbderived == static_cast<uint16_t>(0), true);
Filter prefilter_primaryelectron = ifnode(dileptoncuts.cfg_apply_cuts_from_prefilter_derived.node(), o2::aod::emprimaryelectron::pfbderived == static_cast<uint16_t>(0), true);

int ndf = 0;
void processAnalysis(FilteredMyCollisions const& collisions, Types const&... args)
{
Expand Down
22 changes: 14 additions & 8 deletions PWGEM/PhotonMeson/Core/Pi0EtaToGammaGammaMC.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ using MyCollision = MyCollisions::iterator;
using MyMCCollisions = soa::Join<aod::EMMCEvents, aod::BinnedGenPts>;
using MyMCCollision = MyMCCollisions::iterator;

using MyV0Photons = soa::Join<aod::V0PhotonsKF, aod::V0KFEMEventIds>;
using MyV0Photons = soa::Filtered<soa::Join<aod::V0PhotonsKF, aod::V0KFEMEventIds, aod::V0PhotonsKFPrefilterBitDerived>>;
using MyV0Photon = MyV0Photons::iterator;

using MyEMCClusters = soa::Join<aod::SkimEMCClusters, aod::EMEMCClusterMCLabels, aod::EMCEMEventIds>;
Expand All @@ -74,7 +74,7 @@ using MyPHOSCluster = MyEMCClusters::iterator;
using MyMCV0Legs = soa::Join<aod::V0Legs, aod::V0LegMCLabels>;
using MyMCV0Leg = MyMCV0Legs::iterator;

using MyMCElectrons = soa::Join<aod::EMPrimaryElectronsFromDalitz, aod::EMPrimaryElectronEMEventIds, aod::EMPrimaryElectronMCLabels>;
using MyMCElectrons = soa::Filtered<soa::Join<aod::EMPrimaryElectronsFromDalitz, aod::EMPrimaryElectronEMEventIds, aod::EMPrimaryElectronsPrefilterBitDerived, aod::EMPrimaryElectronMCLabels>>;
using MyMCElectron = MyMCElectrons::iterator;

template <PairType pairtype, typename... Types>
Expand Down Expand Up @@ -120,6 +120,8 @@ struct Pi0EtaToGammaGammaMC {
Configurable<bool> cfg_require_v0_with_tpconly{"cfg_require_v0_with_tpconly", false, "flag to select V0s with TPConly tracks"};
Configurable<bool> cfg_require_v0_on_wwire_ib{"cfg_require_v0_on_wwire_ib", false, "flag to select V0s on W wires ITSib"};
Configurable<float> cfg_min_pt_v0{"cfg_min_pt_v0", 0.1, "min pT for v0 photons at PV"};
Configurable<float> cfg_max_pt_v0{"cfg_max_pt_v0", 1e+10, "max pT for v0 photons at PV"};
Configurable<float> cfg_min_eta_v0{"cfg_min_eta_v0", -0.8, "min eta for v0 photons at PV"};
Configurable<float> cfg_max_eta_v0{"cfg_max_eta_v0", 0.8, "max eta for v0 photons at PV"};
Configurable<float> cfg_min_v0radius{"cfg_min_v0radius", 4.0, "min v0 radius"};
Configurable<float> cfg_max_v0radius{"cfg_max_v0radius", 90.0, "max v0 radius"};
Expand All @@ -130,6 +132,7 @@ struct Pi0EtaToGammaGammaMC {
Configurable<float> cfg_max_chi2kf{"cfg_max_chi2kf", 1e+10, "max chi2/ndf with KF"};
Configurable<bool> cfg_require_v0_with_correct_xz{"cfg_require_v0_with_correct_xz", true, "flag to select V0s with correct xz"};
Configurable<bool> cfg_reject_v0_on_itsib{"cfg_reject_v0_on_itsib", true, "flag to reject V0s on ITSib"};
Configurable<bool> cfg_apply_cuts_from_prefilter_derived{"cfg_apply_cuts_from_prefilter_derived", false, "flag to apply prefilter to V0"};

Configurable<int> cfg_min_ncluster_tpc{"cfg_min_ncluster_tpc", 10, "min ncluster tpc"};
Configurable<int> cfg_min_ncrossedrows{"cfg_min_ncrossedrows", 40, "min ncrossed rows"};
Expand All @@ -147,7 +150,6 @@ struct Pi0EtaToGammaGammaMC {
Configurable<float> cfg_min_mass{"cfg_min_mass", 0.0, "min mass"};
Configurable<float> cfg_max_mass{"cfg_max_mass", 0.1, "max mass"};
Configurable<bool> cfg_apply_phiv{"cfg_apply_phiv", true, "flag to apply phiv cut"};
Configurable<bool> cfg_apply_pf{"cfg_apply_pf", false, "flag to apply phiv prefilter"};
Configurable<bool> cfg_require_itsib_any{"cfg_require_itsib_any", false, "flag to require ITS ib any hits"};
Configurable<bool> cfg_require_itsib_1st{"cfg_require_itsib_1st", true, "flag to require ITS ib 1st hit"};
Configurable<float> cfg_phiv_slope{"cfg_phiv_slope", 0.0185, "slope for m vs. phiv"};
Expand All @@ -160,10 +162,11 @@ struct Pi0EtaToGammaGammaMC {
Configurable<int> cfg_min_ncrossedrows{"cfg_min_ncrossedrows", 70, "min ncrossed rows"};
Configurable<float> cfg_max_chi2tpc{"cfg_max_chi2tpc", 4.0, "max chi2/NclsTPC"};
Configurable<float> cfg_max_chi2its{"cfg_max_chi2its", 5.0, "max chi2/NclsITS"};
Configurable<float> cfg_max_dcaxy{"cfg_max_dcaxy", 1.0, "max dca XY for single track in cm"};
Configurable<float> cfg_max_dcaz{"cfg_max_dcaz", 1.0, "max dca Z for single track in cm"};
Configurable<float> cfg_max_dcaxy{"cfg_max_dcaxy", 0.05, "max dca XY for single track in cm"};
Configurable<float> cfg_max_dcaz{"cfg_max_dcaz", 0.05, "max dca Z for single track in cm"};
Configurable<bool> cfg_apply_cuts_from_prefilter_derived{"cfg_apply_cuts_from_prefilter_derived", false, "flag to apply prefilter to electron"};

Configurable<int> cfg_pid_scheme{"cfg_pid_scheme", static_cast<int>(DalitzEECut::PIDSchemes::kTPConly), "pid scheme [kTPConly : 0]"};
Configurable<int> cfg_pid_scheme{"cfg_pid_scheme", static_cast<int>(DalitzEECut::PIDSchemes::kTOFif), "pid scheme [kTOFif : 0, kTPConly : 1]"};
Configurable<float> cfg_min_TPCNsigmaEl{"cfg_min_TPCNsigmaEl", -2.0, "min. TPC n sigma for electron inclusion"};
Configurable<float> cfg_max_TPCNsigmaEl{"cfg_max_TPCNsigmaEl", +3.0, "max. TPC n sigma for electron inclusion"};
Configurable<float> cfg_min_TPCNsigmaPi{"cfg_min_TPCNsigmaPi", -3.0, "min. TPC n sigma for pion exclusion"};
Expand Down Expand Up @@ -302,8 +305,8 @@ struct Pi0EtaToGammaGammaMC {
fV0PhotonCut = V0PhotonCut("fV0PhotonCut", "fV0PhotonCut");

// for v0
fV0PhotonCut.SetV0PtRange(pcmcuts.cfg_min_pt_v0, 1e10f);
fV0PhotonCut.SetV0EtaRange(-pcmcuts.cfg_max_eta_v0, +pcmcuts.cfg_max_eta_v0);
fV0PhotonCut.SetV0PtRange(pcmcuts.cfg_min_pt_v0, pcmcuts.cfg_max_pt_v0);
fV0PhotonCut.SetV0EtaRange(pcmcuts.cfg_min_eta_v0, pcmcuts.cfg_max_eta_v0);
fV0PhotonCut.SetMinCosPA(pcmcuts.cfg_min_cospa);
fV0PhotonCut.SetMaxPCA(pcmcuts.cfg_max_pca);
fV0PhotonCut.SetMaxChi2KF(pcmcuts.cfg_max_chi2kf);
Expand Down Expand Up @@ -697,6 +700,9 @@ struct Pi0EtaToGammaGammaMC {
Filter collisionFilter_centrality = (cfgCentMin < o2::aod::cent::centFT0M && o2::aod::cent::centFT0M < cfgCentMax) || (cfgCentMin < o2::aod::cent::centFT0A && o2::aod::cent::centFT0A < cfgCentMax) || (cfgCentMin < o2::aod::cent::centFT0C && o2::aod::cent::centFT0C < cfgCentMax);
using FilteredMyCollisions = soa::Filtered<MyCollisions>;

Filter prefilter_pcm = ifnode(pcmcuts.cfg_apply_cuts_from_prefilter_derived.node(), o2::aod::v0photonkf::pfbderived == static_cast<uint16_t>(0), true);
Filter prefilter_primaryelectron = ifnode(dileptoncuts.cfg_apply_cuts_from_prefilter_derived.node(), o2::aod::emprimaryelectron::pfbderived == static_cast<uint16_t>(0), true);

void processAnalysis(FilteredMyCollisions const& collisions, MyMCCollisions const& mccollisions, aod::EMMCParticles const& mcparticles, Types const&... args)
{
if constexpr (pairtype == PairType::kPCMPCM) {
Expand Down
3 changes: 2 additions & 1 deletion PWGEM/PhotonMeson/DataModel/gammaTables.h
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,8 @@ DECLARE_SOA_TABLE(EMPrimaryElectronsFromDalitz, "AOD", "EMPRIMARYELDA", //!
track::TPCNClsFindable, track::TPCNClsFindableMinusFound, track::TPCNClsFindableMinusCrossedRows,
track::TPCChi2NCl, track::TPCInnerParam,
track::TPCSignal, pidtpc::TPCNSigmaEl, pidtpc::TPCNSigmaPi,
track::ITSClusterSizes, track::ITSChi2NCl, track::DetectorMap, track::Tgl,
pidtofbeta::Beta, pidtof::TOFNSigmaEl, pidtof::TOFNSigmaPi,
track::ITSClusterSizes, track::ITSChi2NCl, track::TOFChi2, track::DetectorMap, track::Tgl,

// dynamic column
track::TPCNClsFound<track::TPCNClsFindable, track::TPCNClsFindableMinusFound>,
Expand Down
Loading

0 comments on commit 0fcf71d

Please sign in to comment.