Skip to content

Commit 0fcf71d

Browse files
authored
[PWGEM/Photon] update prefilterPhoton.cxx (#10257)
1 parent 722aa42 commit 0fcf71d

File tree

11 files changed

+455
-155
lines changed

11 files changed

+455
-155
lines changed

PWGEM/PhotonMeson/Core/DalitzEECut.cxx

Lines changed: 15 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
// Class for dilepton Cut
1414
//
1515

16+
#include <utility>
17+
#include <set>
18+
1619
#include "Framework/Logger.h"
1720
#include "PWGEM/PhotonMeson/Core/DalitzEECut.h"
1821

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

144+
void DalitzEECut::SetTOFNsigmaElRange(float min, float max)
145+
{
146+
mMinTOFNsigmaEl = min;
147+
mMaxTOFNsigmaEl = max;
148+
LOG(info) << "DalitzEE Cut, set TOF n sigma El range: " << mMinTOFNsigmaEl << " - " << mMaxTOFNsigmaEl;
149+
}
141150
void DalitzEECut::RequireITSibAny(bool flag)
142151
{
143152
mRequireITSibAny = flag;
@@ -148,43 +157,14 @@ void DalitzEECut::RequireITSib1st(bool flag)
148157
mRequireITSib1st = flag;
149158
LOG(info) << "DalitzEE Cut, require ITS ib 1st: " << mRequireITSib1st;
150159
}
160+
void DalitzEECut::SetChi2TOF(float min, float max)
161+
{
162+
mMinChi2TOF = min;
163+
mMaxChi2TOF = max;
164+
LOG(info) << "Dielectron Cut, set chi2 TOF range: " << mMinChi2TOF << " - " << mMaxChi2TOF;
165+
}
151166
void DalitzEECut::SetPIDScheme(int scheme)
152167
{
153168
mPIDScheme = scheme;
154169
LOG(info) << "DalitzEE Cut, PID scheme: " << static_cast<int>(mPIDScheme);
155170
}
156-
157-
// void DalitzEECut::print() const
158-
//{
159-
// LOG(info) << "Dalitz EE Cut:";
160-
// for (int i = 0; i < static_cast<int>(DalitzEECuts::kNCuts); i++) {
161-
// switch (static_cast<DalitzEECuts>(i)) {
162-
// case DalitzEECuts::kTrackPtRange:
163-
// LOG(info) << mCutNames[i] << " in [" << mMinTrackPt << ", " << mMaxTrackPt << "]";
164-
// break;
165-
// case DalitzEECuts::kTrackEtaRange:
166-
// LOG(info) << mCutNames[i] << " in [" << mMinTrackEta << ", " << mMaxTrackEta << "]";
167-
// break;
168-
// case DalitzEECuts::kTPCNCls:
169-
// LOG(info) << mCutNames[i] << " > " << mMinNClustersTPC;
170-
// break;
171-
// case DalitzEECuts::kTPCCrossedRows:
172-
// LOG(info) << mCutNames[i] << " > " << mMinNCrossedRowsTPC;
173-
// break;
174-
// case DalitzEECuts::kTPCCrossedRowsOverNCls:
175-
// LOG(info) << mCutNames[i] << " > " << mMinNCrossedRowsOverFindableClustersTPC;
176-
// break;
177-
// case DalitzEECuts::kTPCChi2NDF:
178-
// LOG(info) << mCutNames[i] << " < " << mMaxChi2PerClusterTPC;
179-
// break;
180-
// case DalitzEECuts::kDCAxy:
181-
// LOG(info) << mCutNames[i] << " < " << mMaxDcaXY;
182-
// break;
183-
// case DalitzEECuts::kDCAz:
184-
// LOG(info) << mCutNames[i] << " < " << mMaxDcaZ;
185-
// break;
186-
// default:
187-
// LOG(fatal) << "Cut unknown!";
188-
// }
189-
// }
190-
// }

PWGEM/PhotonMeson/Core/DalitzEECut.h

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,8 @@ class DalitzEECut : public TNamed
6767

6868
enum class PIDSchemes : int {
6969
kUnDef = -1,
70-
kTPConly = 0,
70+
kTOFif = 0,
71+
kTPConly = 1,
7172
};
7273

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

188+
case static_cast<int>(PIDSchemes::kTOFif):
189+
return PassTOFif(track);
190+
187191
case static_cast<int>(PIDSchemes::kUnDef):
188192
return true;
189193

@@ -200,6 +204,15 @@ class DalitzEECut : public TNamed
200204
return is_el_included_TPC && is_pi_excluded_TPC;
201205
}
202206

207+
template <typename T>
208+
bool PassTOFif(T const& track) const
209+
{
210+
bool is_el_included_TPC = mMinTPCNsigmaEl < track.tpcNSigmaEl() && track.tpcNSigmaEl() < mMaxTPCNsigmaEl;
211+
bool is_pi_excluded_TPC = track.tpcNSigmaPi() < mMinTPCNsigmaPi || mMaxTPCNsigmaPi < track.tpcNSigmaPi();
212+
bool is_el_included_TOF = track.hasTOF() ? (mMinTOFNsigmaEl < track.tofNSigmaEl() && track.tofNSigmaEl() < mMaxTOFNsigmaEl && track.tofChi2() < mMaxChi2TOF) : true;
213+
return is_el_included_TPC && is_pi_excluded_TPC && is_el_included_TOF;
214+
}
215+
203216
template <typename T>
204217
bool IsSelectedTrack(T const& track, const DalitzEECuts& cut) const
205218
{
@@ -223,10 +236,10 @@ class DalitzEECut : public TNamed
223236
return mMinChi2PerClusterTPC < track.tpcChi2NCl() && track.tpcChi2NCl() < mMaxChi2PerClusterTPC;
224237

225238
case DalitzEECuts::kDCAxy:
226-
return abs(track.dcaXY()) <= ((mMaxDcaXYPtDep) ? mMaxDcaXYPtDep(track.pt()) : mMaxDcaXY);
239+
return std::fabs(track.dcaXY()) <= ((mMaxDcaXYPtDep) ? mMaxDcaXYPtDep(track.pt()) : mMaxDcaXY);
227240

228241
case DalitzEECuts::kDCAz:
229-
return abs(track.dcaZ()) <= mMaxDcaZ;
242+
return std::fabs(track.dcaZ()) <= mMaxDcaZ;
230243

231244
case DalitzEECuts::kITSNCls:
232245
return mMinNClustersITS <= track.itsNCls() && track.itsNCls() <= mMaxNClustersITS;
@@ -258,10 +271,12 @@ class DalitzEECut : public TNamed
258271
void SetNClustersITS(int min, int max);
259272
void SetChi2PerClusterITS(float min, float max);
260273
void SetMeanClusterSizeITS(float min, float max);
274+
void SetChi2TOF(float min, float max);
261275

262276
void SetPIDScheme(int scheme);
263-
void SetTPCNsigmaElRange(float min = -1e+10, float max = 1e+10);
264-
void SetTPCNsigmaPiRange(float min = -1e+10, float max = 1e+10);
277+
void SetTPCNsigmaElRange(float min, float max);
278+
void SetTPCNsigmaPiRange(float min, float max);
279+
void SetTOFNsigmaElRange(float min, float max);
265280
void RequireITSibAny(bool flag);
266281
void RequireITSib1st(bool flag);
267282

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

277-
/// @brief Print the track selection
278-
// void print() const;
279-
280292
private:
281293
static const std::pair<int8_t, std::set<uint8_t>> its_ib_any_Requirement;
282294
static const std::pair<int8_t, std::set<uint8_t>> its_ib_1st_Requirement;
@@ -308,13 +320,13 @@ class DalitzEECut : public TNamed
308320
std::function<float(float)> mMaxDcaXYPtDep{}; // max dca in xy plane as function of pT
309321
bool mApplyPhiV{true};
310322
float mMinMeanClusterSizeITS{-1e10f}, mMaxMeanClusterSizeITS{1e10f}; // max <its cluster size> x cos(Lmabda)
323+
float mMinChi2TOF{-1e10f}, mMaxChi2TOF{1e10f}; // max tof chi2 per
311324

312325
// pid cuts
313326
int mPIDScheme{-1};
314327
float mMinTPCNsigmaEl{-1e+10}, mMaxTPCNsigmaEl{+1e+10};
315-
float mMinTPCNsigmaPi{-1e+10}, mMaxTPCNsigmaPi{+1e+10};
316-
317-
o2::ml::OnnxModel* mPIDModel{nullptr};
328+
float mMinTPCNsigmaPi{0}, mMaxTPCNsigmaPi{0};
329+
float mMinTOFNsigmaEl{-1e+10}, mMaxTOFNsigmaEl{+1e+10};
318330

319331
ClassDef(DalitzEECut, 1);
320332
};

PWGEM/PhotonMeson/Core/Pi0EtaToGammaGamma.h

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,10 @@ using namespace o2::aod::pwgem::dilepton::utils;
7272
using MyCollisions = soa::Join<aod::EMEvents, aod::EMEventsMult, aod::EMEventsCent, aod::EMEventsQvec, aod::EMEventsWeight>;
7373
using MyCollision = MyCollisions::iterator;
7474

75-
using MyV0Photons = soa::Join<aod::V0PhotonsKF, aod::V0KFEMEventIds>;
75+
using MyV0Photons = soa::Filtered<soa::Join<aod::V0PhotonsKF, aod::V0KFEMEventIds, aod::V0PhotonsKFPrefilterBitDerived>>;
7676
using MyV0Photon = MyV0Photons::iterator;
7777

78-
using MyPrimaryElectrons = soa::Join<aod::EMPrimaryElectronsFromDalitz, aod::EMPrimaryElectronEMEventIds>;
78+
using MyPrimaryElectrons = soa::Filtered<soa::Join<aod::EMPrimaryElectronsFromDalitz, aod::EMPrimaryElectronEMEventIds, aod::EMPrimaryElectronsPrefilterBitDerived>>;
7979
using MyPrimaryElectron = MyPrimaryElectrons::iterator;
8080

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

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

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

342345
// for v0
343-
fV0PhotonCut.SetV0PtRange(pcmcuts.cfg_min_pt_v0, 1e10f);
344-
fV0PhotonCut.SetV0EtaRange(-pcmcuts.cfg_max_eta_v0, +pcmcuts.cfg_max_eta_v0);
346+
fV0PhotonCut.SetV0PtRange(pcmcuts.cfg_min_pt_v0, pcmcuts.cfg_max_pt_v0);
347+
fV0PhotonCut.SetV0EtaRange(pcmcuts.cfg_min_eta_v0, pcmcuts.cfg_max_eta_v0);
345348
fV0PhotonCut.SetMinCosPA(pcmcuts.cfg_min_cospa);
346349
fV0PhotonCut.SetMaxPCA(pcmcuts.cfg_max_pca);
347350
fV0PhotonCut.SetMaxChi2KF(pcmcuts.cfg_max_chi2kf);
@@ -873,6 +876,9 @@ struct Pi0EtaToGammaGamma {
873876
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);
874877
using FilteredMyCollisions = soa::Filtered<MyCollisions>;
875878

879+
Filter prefilter_pcm = ifnode(pcmcuts.cfg_apply_cuts_from_prefilter_derived.node(), o2::aod::v0photonkf::pfbderived == static_cast<uint16_t>(0), true);
880+
Filter prefilter_primaryelectron = ifnode(dileptoncuts.cfg_apply_cuts_from_prefilter_derived.node(), o2::aod::emprimaryelectron::pfbderived == static_cast<uint16_t>(0), true);
881+
876882
int ndf = 0;
877883
void processAnalysis(FilteredMyCollisions const& collisions, Types const&... args)
878884
{

PWGEM/PhotonMeson/Core/Pi0EtaToGammaGammaMC.h

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ using MyCollision = MyCollisions::iterator;
6262
using MyMCCollisions = soa::Join<aod::EMMCEvents, aod::BinnedGenPts>;
6363
using MyMCCollision = MyMCCollisions::iterator;
6464

65-
using MyV0Photons = soa::Join<aod::V0PhotonsKF, aod::V0KFEMEventIds>;
65+
using MyV0Photons = soa::Filtered<soa::Join<aod::V0PhotonsKF, aod::V0KFEMEventIds, aod::V0PhotonsKFPrefilterBitDerived>>;
6666
using MyV0Photon = MyV0Photons::iterator;
6767

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

77-
using MyMCElectrons = soa::Join<aod::EMPrimaryElectronsFromDalitz, aod::EMPrimaryElectronEMEventIds, aod::EMPrimaryElectronMCLabels>;
77+
using MyMCElectrons = soa::Filtered<soa::Join<aod::EMPrimaryElectronsFromDalitz, aod::EMPrimaryElectronEMEventIds, aod::EMPrimaryElectronsPrefilterBitDerived, aod::EMPrimaryElectronMCLabels>>;
7878
using MyMCElectron = MyMCElectrons::iterator;
7979

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

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

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

304307
// for v0
305-
fV0PhotonCut.SetV0PtRange(pcmcuts.cfg_min_pt_v0, 1e10f);
306-
fV0PhotonCut.SetV0EtaRange(-pcmcuts.cfg_max_eta_v0, +pcmcuts.cfg_max_eta_v0);
308+
fV0PhotonCut.SetV0PtRange(pcmcuts.cfg_min_pt_v0, pcmcuts.cfg_max_pt_v0);
309+
fV0PhotonCut.SetV0EtaRange(pcmcuts.cfg_min_eta_v0, pcmcuts.cfg_max_eta_v0);
307310
fV0PhotonCut.SetMinCosPA(pcmcuts.cfg_min_cospa);
308311
fV0PhotonCut.SetMaxPCA(pcmcuts.cfg_max_pca);
309312
fV0PhotonCut.SetMaxChi2KF(pcmcuts.cfg_max_chi2kf);
@@ -697,6 +700,9 @@ struct Pi0EtaToGammaGammaMC {
697700
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);
698701
using FilteredMyCollisions = soa::Filtered<MyCollisions>;
699702

703+
Filter prefilter_pcm = ifnode(pcmcuts.cfg_apply_cuts_from_prefilter_derived.node(), o2::aod::v0photonkf::pfbderived == static_cast<uint16_t>(0), true);
704+
Filter prefilter_primaryelectron = ifnode(dileptoncuts.cfg_apply_cuts_from_prefilter_derived.node(), o2::aod::emprimaryelectron::pfbderived == static_cast<uint16_t>(0), true);
705+
700706
void processAnalysis(FilteredMyCollisions const& collisions, MyMCCollisions const& mccollisions, aod::EMMCParticles const& mcparticles, Types const&... args)
701707
{
702708
if constexpr (pairtype == PairType::kPCMPCM) {

PWGEM/PhotonMeson/DataModel/gammaTables.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,8 @@ DECLARE_SOA_TABLE(EMPrimaryElectronsFromDalitz, "AOD", "EMPRIMARYELDA", //!
286286
track::TPCNClsFindable, track::TPCNClsFindableMinusFound, track::TPCNClsFindableMinusCrossedRows,
287287
track::TPCChi2NCl, track::TPCInnerParam,
288288
track::TPCSignal, pidtpc::TPCNSigmaEl, pidtpc::TPCNSigmaPi,
289-
track::ITSClusterSizes, track::ITSChi2NCl, track::DetectorMap, track::Tgl,
289+
pidtofbeta::Beta, pidtof::TOFNSigmaEl, pidtof::TOFNSigmaPi,
290+
track::ITSClusterSizes, track::ITSChi2NCl, track::TOFChi2, track::DetectorMap, track::Tgl,
290291

291292
// dynamic column
292293
track::TPCNClsFound<track::TPCNClsFindable, track::TPCNClsFindableMinusFound>,

0 commit comments

Comments
 (0)