Skip to content

Commit 8605499

Browse files
authored
PWGEM/PhotonMeson: remove unnecessary min pin cut for eID (#5621)
* PWGEM/PhotonMeson: remove unnecessary min pin cut for eID * PWGEM/PhotonMeson: improve mixing event
1 parent e516373 commit 8605499

File tree

7 files changed

+38
-58
lines changed

7 files changed

+38
-58
lines changed

PWGEM/PhotonMeson/Core/CutsLibrary.cxx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -465,7 +465,7 @@ DalitzEECut* o2::aod::pwgem::photon::dalitzeecuts::GetCut(const char* cutName)
465465
cut->SetMaxDcaZ(1.0);
466466

467467
// for PID
468-
cut->SetPIDScheme(DalitzEECut::PIDSchemes::kTPConly_lowB);
468+
cut->SetPIDScheme(DalitzEECut::PIDSchemes::kTPConly);
469469
cut->SetTOFbetaRange(true, 0.0, 0.95);
470470
cut->SetTPCNsigmaElRange(-3, +3);
471471
cut->SetTPCNsigmaPiRange(0, 0);
@@ -540,14 +540,14 @@ DalitzEECut* o2::aod::pwgem::photon::dalitzeecuts::GetCut(const char* cutName)
540540
if (nameStr.find("mee") != std::string::npos) { // for electron
541541
if (nameStr.find("tpchadrejortofreq_lowB") != std::string::npos) {
542542
// for PID
543-
cut->SetPIDScheme(DalitzEECut::PIDSchemes::kTPChadrejORTOFreq_lowB);
543+
cut->SetPIDScheme(DalitzEECut::PIDSchemes::kTPChadrejORTOFreq);
544544
cut->SetTOFbetaRange(true, 0.0, 0.95);
545545
cut->SetTPCNsigmaElRange(-2, +3);
546-
cut->SetTOFNsigmaElRange(-3, +3);
547546
cut->SetTPCNsigmaMuRange(-2, +2);
548547
cut->SetTPCNsigmaPiRange(-3, +3);
549548
cut->SetTPCNsigmaKaRange(-3, +3);
550549
cut->SetTPCNsigmaPrRange(-3, +3);
550+
cut->SetTOFNsigmaElRange(-3, +3);
551551
cut->SetMuonExclusionTPC(true);
552552
return cut;
553553
} else if (nameStr.find("tpchadrejortofreq") != std::string::npos) {
@@ -562,7 +562,7 @@ DalitzEECut* o2::aod::pwgem::photon::dalitzeecuts::GetCut(const char* cutName)
562562
return cut;
563563
} else if (nameStr.find("tpconly_lowB") != std::string::npos) {
564564
// for PID
565-
cut->SetPIDScheme(DalitzEECut::PIDSchemes::kTPConly_lowB);
565+
cut->SetPIDScheme(DalitzEECut::PIDSchemes::kTPConly);
566566
cut->SetTOFbetaRange(true, 0.0, 0.95);
567567
cut->SetTPCNsigmaElRange(-2, +3);
568568
cut->SetTPCNsigmaPiRange(-3, +3);

PWGEM/PhotonMeson/Core/DalitzEECut.h

Lines changed: 1 addition & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -69,18 +69,11 @@ class DalitzEECut : public TNamed
6969

7070
enum class PIDSchemes : int {
7171
kUnDef = -1,
72-
// for nominal B analysis
7372
kTOFreq = 0,
7473
kTPChadrej = 1,
7574
kTPChadrejORTOFreq = 2,
7675
kTPConly = 3,
77-
78-
// for low B analysis
79-
kTOFreq_lowB = 4,
80-
kTPChadrej_lowB = 5,
81-
kTPChadrejORTOFreq_lowB = 6,
82-
kTPConly_lowB = 7,
83-
kMuon_lowB = 8,
76+
kMuon_lowB = 4,
8477
};
8578

8679
template <class TLeg, typename TPair>
@@ -223,18 +216,6 @@ class DalitzEECut : public TNamed
223216
case PIDSchemes::kTPConly:
224217
return PassTPConly(track);
225218

226-
case PIDSchemes::kTOFreq_lowB:
227-
return PassTOFreq(track);
228-
229-
case PIDSchemes::kTPChadrej_lowB:
230-
return PassTPChadrej_lowB(track);
231-
232-
case PIDSchemes::kTPChadrejORTOFreq_lowB:
233-
return PassTPChadrej_lowB(track) || PassTOFreq_lowB(track);
234-
235-
case PIDSchemes::kTPConly_lowB:
236-
return PassTPConly_lowB(track);
237-
238219
case PIDSchemes::kMuon_lowB:
239220
return PassMuon_lowB(track);
240221

@@ -274,34 +255,6 @@ class DalitzEECut : public TNamed
274255
return is_el_included_TPC && is_pi_excluded_TPC;
275256
}
276257

277-
template <typename T>
278-
bool PassTOFreq_lowB(T const& track) const
279-
{
280-
bool is_el_included_TPC = mMinTPCNsigmaEl < track.tpcNSigmaEl() && track.tpcNSigmaEl() < mMaxTPCNsigmaEl;
281-
bool is_pi_excluded_TPC = track.tpcInnerParam() < 0.4 ? true : (track.tpcNSigmaPi() < mMinTPCNsigmaPi || mMaxTPCNsigmaPi < track.tpcNSigmaPi());
282-
bool is_el_included_TOF = mMinTOFNsigmaEl < track.tofNSigmaEl() && track.tofNSigmaEl() < mMaxTOFNsigmaEl;
283-
return is_el_included_TPC && is_pi_excluded_TPC && is_el_included_TOF;
284-
}
285-
286-
template <typename T>
287-
bool PassTPChadrej_lowB(T const& track) const
288-
{
289-
bool is_el_included_TPC = mMinTPCNsigmaEl < track.tpcNSigmaEl() && track.tpcNSigmaEl() < mMaxTPCNsigmaEl;
290-
bool is_mu_excluded_TPC = mMuonExclusionTPC ? track.tpcNSigmaMu() < mMinTPCNsigmaMu || mMaxTPCNsigmaMu < track.tpcNSigmaMu() : true;
291-
bool is_pi_excluded_TPC = track.tpcInnerParam() < 0.4 ? true : (track.tpcNSigmaPi() < mMinTPCNsigmaPi || mMaxTPCNsigmaPi < track.tpcNSigmaPi());
292-
bool is_ka_excluded_TPC = track.tpcNSigmaKa() < mMinTPCNsigmaKa || mMaxTPCNsigmaKa < track.tpcNSigmaKa();
293-
bool is_pr_excluded_TPC = track.tpcNSigmaPr() < mMinTPCNsigmaPr || mMaxTPCNsigmaPr < track.tpcNSigmaPr();
294-
return is_el_included_TPC && is_mu_excluded_TPC && is_pi_excluded_TPC && is_ka_excluded_TPC && is_pr_excluded_TPC;
295-
}
296-
297-
template <typename T>
298-
bool PassTPConly_lowB(T const& track) const
299-
{
300-
bool is_el_included_TPC = mMinTPCNsigmaEl < track.tpcNSigmaEl() && track.tpcNSigmaEl() < mMaxTPCNsigmaEl;
301-
bool is_pi_excluded_TPC = track.tpcInnerParam() < 0.4 ? true : (track.tpcNSigmaPi() < mMinTPCNsigmaPi || mMaxTPCNsigmaPi < track.tpcNSigmaPi());
302-
return is_el_included_TPC && is_pi_excluded_TPC;
303-
}
304-
305258
template <typename T>
306259
bool PassMuon_lowB(T const& track) const
307260
{

PWGEM/PhotonMeson/TableProducer/skimmerDalitzEE.cxx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,19 @@ struct skimmerDalitzEE {
233233
} // end of collision loop
234234
}
235235
PROCESS_SWITCH(skimmerDalitzEE, processCEFP, "Process dalitz ee for CEFP", false); // for central event filter processing
236+
237+
void processOnlyNee(soa::Join<aod::EMEvents, aod::EMEventsMult, aod::EMEventsCent> const& collisions)
238+
{
239+
for (auto& collision : collisions) {
240+
float centralities[3] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C()};
241+
if (centralities[cfgCentEstimator] < cfgCentMin || cfgCentMax < centralities[cfgCentEstimator]) {
242+
event_nee(0, 0, 0);
243+
continue;
244+
}
245+
event_nee(0, 0, 0);
246+
} // end of collision loop
247+
}
248+
PROCESS_SWITCH(skimmerDalitzEE, processOnlyNee, "Process only nee", false); // for central event filter processing
236249
};
237250

238251
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)

PWGEM/PhotonMeson/TableProducer/skimmerDalitzMuMu.cxx

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ struct skimmerDalitzMuMu {
170170

171171
Partition<MyTracks> posTracks = minpt < o2::aod::track::pt && o2::aod::track::pt < maxpt && nabs(o2::aod::track::eta) < maxeta && o2::aod::emprimarymuon::sign > 0 && minTPCNsigmaMu < o2::aod::pidtpc::tpcNSigmaMu&& o2::aod::pidtpc::tpcNSigmaMu < maxTPCNsigmaMu;
172172
Partition<MyTracks> negTracks = minpt < o2::aod::track::pt && o2::aod::track::pt < maxpt && nabs(o2::aod::track::eta) < maxeta && o2::aod::emprimarymuon::sign < 0 && minTPCNsigmaMu < o2::aod::pidtpc::tpcNSigmaMu && o2::aod::pidtpc::tpcNSigmaMu < maxTPCNsigmaMu;
173-
void process(MyCollisions const& collisions, MyTracks const& tracks)
173+
void processAnalysis(MyCollisions const& collisions, MyTracks const& tracks)
174174
{
175175
for (auto& collision : collisions) {
176176
float centralities[3] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C()};
@@ -191,6 +191,20 @@ struct skimmerDalitzMuMu {
191191
event_nmumu(npair_uls, npair_lspp, npair_lsmm);
192192
} // end of collision loop
193193
}
194+
PROCESS_SWITCH(skimmerDalitzMuMu, processAnalysis, "Process dalitz mumu for analysis", true);
195+
196+
void processOnlyNmumu(soa::Join<aod::EMEvents, aod::EMEventsMult, aod::EMEventsCent> const& collisions)
197+
{
198+
for (auto& collision : collisions) {
199+
float centralities[3] = {collision.centFT0M(), collision.centFT0A(), collision.centFT0C()};
200+
if (centralities[cfgCentEstimator] < cfgCentMin || cfgCentMax < centralities[cfgCentEstimator]) {
201+
event_nmumu(0, 0, 0);
202+
continue;
203+
}
204+
event_nmumu(0, 0, 0);
205+
} // end of collision loop
206+
}
207+
PROCESS_SWITCH(skimmerDalitzMuMu, processOnlyNmumu, "Process only nmumu", false); // for central event filter processing
194208
};
195209

196210
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)

PWGEM/PhotonMeson/Tasks/PhotonHBT.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ using namespace o2::soa;
4343
using namespace o2::aod::photonpair;
4444
using namespace o2::aod::pwgem::photon;
4545

46-
using MyCollisions = soa::Join<aod::EMEvents, aod::EMEventsMult, aod::EMEventsCent, aod::EMEventsNgPCM>;
46+
using MyCollisions = soa::Join<aod::EMEvents, aod::EMEventsMult, aod::EMEventsCent, aod::EMEventsNgPCM, aod::EMEventsNee>;
4747
using MyCollision = MyCollisions::iterator;
4848

4949
using MyV0Photons = soa::Join<aod::V0PhotonsKF, aod::V0KFEMEventIds>;
@@ -569,7 +569,7 @@ struct PhotonHBT {
569569

570570
Filter collisionFilter_common = nabs(o2::aod::collision::posZ) < 10.f && o2::aod::collision::numContrib > (uint16_t)0 && o2::aod::evsel::sel8 == true;
571571
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);
572-
Filter collisionFilter_subsys = (o2::aod::emevent::ngpcm >= 1);
572+
Filter collisionFilter_subsys = ((o2::aod::emevent::ngpcm >= 1) && (o2::aod::emevent::neeuls >= 1)) || (o2::aod::emevent::ngpcm >= 2) || (o2::aod::emevent::neeuls >= 2);
573573
using MyFilteredCollisions = soa::Filtered<MyCollisions>;
574574

575575
void processPCMPCM(MyCollisions const& collisions, MyFilteredCollisions const& filtered_collisions, MyV0Photons const& v0photons, aod::V0Legs const& legs)

PWGEM/PhotonMeson/Tasks/Pi0EtaToGammaGamma.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ using namespace o2::soa;
4747
using namespace o2::aod::photonpair;
4848
using namespace o2::aod::pwgem::photon;
4949

50-
using MyCollisions = soa::Join<aod::EMEvents, aod::EMEventsMult, aod::EMEventsCent, aod::EMEventsNgPCM, aod::EMEventsNgPHOS, aod::EMEventsNgEMC>;
50+
using MyCollisions = soa::Join<aod::EMEvents, aod::EMEventsMult, aod::EMEventsCent, aod::EMEventsNgPCM, aod::EMEventsNgPHOS, aod::EMEventsNgEMC, aod::EMEventsNee>;
5151
using MyCollision = MyCollisions::iterator;
5252

5353
using MyV0Photons = soa::Join<aod::V0PhotonsKF, aod::V0KFEMEventIds>;
@@ -645,7 +645,7 @@ struct Pi0EtaToGammaGamma {
645645
Partition<MyCollisions> grouped_collisions = (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); // this goes to same event.
646646
Filter collisionFilter_common = nabs(o2::aod::collision::posZ) < 10.f && o2::aod::collision::numContrib > (uint16_t)0 && o2::aod::evsel::sel8 == true;
647647
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);
648-
Filter collisionFilter_subsys = (o2::aod::emevent::ngpcm >= 1) || (o2::aod::emevent::ngphos >= 1) || (o2::aod::emevent::ngemc >= 1);
648+
Filter collisionFilter_subsys = (o2::aod::emevent::ngpcm >= 1) || (o2::aod::emevent::ngphos >= 1) || (o2::aod::emevent::ngemc >= 1) || (aod::emevent::neeuls >= 1);
649649
using MyFilteredCollisions = soa::Filtered<MyCollisions>; // this goes to mixed event.
650650

651651
void processPCMPCM(MyCollisions const& collisions, MyFilteredCollisions const& filtered_collisions, MyV0Photons const& v0photons, aod::V0Legs const& legs)

PWGEM/PhotonMeson/Tasks/TaggingPi0.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -453,7 +453,7 @@ struct TaggingPi0 {
453453
Partition<MyCollisions> grouped_collisions = (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); // this goes to same event.
454454
Filter collisionFilter_common = nabs(o2::aod::collision::posZ) < 10.f && o2::aod::collision::numContrib > (uint16_t)0 && o2::aod::evsel::sel8 == true;
455455
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);
456-
Filter collisionFilter_subsys = (o2::aod::emevent::ngpcm >= 1) || (o2::aod::emevent::ngphos >= 1) || (o2::aod::emevent::ngemc >= 1);
456+
Filter collisionFilter_subsys = (o2::aod::emevent::ngpcm >= 1) && ((o2::aod::emevent::ngphos >= 1) || (o2::aod::emevent::ngemc >= 1) || (o2::aod::emevent::neeuls >= 1));
457457
using MyFilteredCollisions = soa::Filtered<MyCollisions>;
458458

459459
Filter DalitzEEFilter = o2::aod::dalitzee::sign == 0; // analyze only uls

0 commit comments

Comments
 (0)