@@ -91,6 +91,7 @@ struct Pi0EtaToGammaGammaMC {
9191 Configurable<float > cfgCentMax{" cfgCentMax" , 999 , " max. centrality" };
9292 Configurable<float > maxY_rec{" maxY_rec" , 0.9 , " maximum rapidity for reconstructed particles" };
9393 Configurable<std::string> fd_k0s_to_pi0{" fd_k0s_pi0" , " 1.0" , " feed down correction to pi0" };
94+ Configurable<bool > cfgRequireTrueAssociation{" cfgRequireTrueAssociation" , false , " flag to require true mc collision association" };
9495
9596 EMPhotonEventCut fEMEventCut ;
9697 struct : ConfigurableGroup {
@@ -118,7 +119,6 @@ struct Pi0EtaToGammaGammaMC {
118119 Configurable<bool > cfg_require_v0_with_itstpc{" cfg_require_v0_with_itstpc" , false , " flag to select V0s with ITS-TPC matched tracks" };
119120 Configurable<bool > cfg_require_v0_with_itsonly{" cfg_require_v0_with_itsonly" , false , " flag to select V0s with ITSonly tracks" };
120121 Configurable<bool > cfg_require_v0_with_tpconly{" cfg_require_v0_with_tpconly" , false , " flag to select V0s with TPConly tracks" };
121- 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" };
123123 Configurable<float > cfg_max_pt_v0{" cfg_max_pt_v0" , 1e+10 , " max pT for v0 photons at PV" };
124124 Configurable<float > cfg_min_eta_v0{" cfg_min_eta_v0" , -0.8 , " min eta for v0 photons at PV" };
@@ -216,8 +216,6 @@ struct Pi0EtaToGammaGammaMC {
216216 o2::aod::pwgem::photonmeson::utils::eventhistogram::addEventHistograms (&fRegistry );
217217 if constexpr (pairtype == PairType::kPCMDalitzEE ) {
218218 o2::aod::pwgem::photonmeson::utils::nmhistogram::addNMHistograms (&fRegistry , true , " ee#gamma" );
219- } else if constexpr (pairtype == PairType::kPCMDalitzMuMu ) {
220- o2::aod::pwgem::photonmeson::utils::nmhistogram::addNMHistograms (&fRegistry , true , " #mu#mu#gamma" );
221219 } else {
222220 o2::aod::pwgem::photonmeson::utils::nmhistogram::addNMHistograms (&fRegistry , true , " #gamma#gamma" );
223221 }
@@ -322,38 +320,14 @@ struct Pi0EtaToGammaGammaMC {
322320 fV0PhotonCut .SetChi2PerClusterTPC (0.0 , pcmcuts.cfg_max_chi2tpc );
323321 fV0PhotonCut .SetTPCNsigmaElRange (pcmcuts.cfg_min_TPCNsigmaEl , pcmcuts.cfg_max_TPCNsigmaEl );
324322 fV0PhotonCut .SetChi2PerClusterITS (-1e+10 , pcmcuts.cfg_max_chi2its );
325- fV0PhotonCut .SetDisableITSonly (pcmcuts.cfg_disable_itsonly_track );
326- fV0PhotonCut .SetDisableTPConly (pcmcuts.cfg_disable_tpconly_track );
327-
328- if (pcmcuts.cfg_reject_v0_on_itsib ) {
329- fV0PhotonCut .SetNClustersITS (2 , 4 );
330- } else {
331- fV0PhotonCut .SetNClustersITS (0 , 7 );
332- }
323+ fV0PhotonCut .SetNClustersITS (0 , 7 );
333324 fV0PhotonCut .SetMeanClusterSizeITSob (0.0 , 16.0 );
334325 fV0PhotonCut .SetIsWithinBeamPipe (pcmcuts.cfg_require_v0_with_correct_xz );
335-
336- if (pcmcuts.cfg_require_v0_with_itstpc ) {
337- fV0PhotonCut .SetRequireITSTPC (true );
338- fV0PhotonCut .SetMaxPCA (1.0 );
339- fV0PhotonCut .SetRxyRange (4 , 40 );
340- }
341- if (pcmcuts.cfg_require_v0_with_itsonly ) {
342- fV0PhotonCut .SetRequireITSonly (true );
343- fV0PhotonCut .SetMaxPCA (1.0 );
344- fV0PhotonCut .SetRxyRange (4 , 24 );
345- }
346- if (pcmcuts.cfg_require_v0_with_tpconly ) {
347- fV0PhotonCut .SetRequireTPConly (true );
348- fV0PhotonCut .SetMaxPCA (3.0 );
349- fV0PhotonCut .SetRxyRange (36 , 90 );
350- }
351- if (pcmcuts.cfg_require_v0_on_wwire_ib ) {
352- fV0PhotonCut .SetMaxPCA (0.3 );
353- fV0PhotonCut .SetOnWwireIB (true );
354- fV0PhotonCut .SetOnWwireOB (false );
355- fV0PhotonCut .SetRxyRange (7 , 14 );
356- }
326+ fV0PhotonCut .SetDisableITSonly (pcmcuts.cfg_disable_itsonly_track );
327+ fV0PhotonCut .SetDisableTPConly (pcmcuts.cfg_disable_tpconly_track );
328+ fV0PhotonCut .SetRequireITSTPC (pcmcuts.cfg_require_v0_with_itstpc );
329+ fV0PhotonCut .SetRequireITSonly (pcmcuts.cfg_require_v0_with_itsonly );
330+ fV0PhotonCut .SetRequireTPConly (pcmcuts.cfg_require_v0_with_tpconly );
357331 }
358332
359333 void DefineDileptonCut ()
@@ -538,9 +512,15 @@ struct Pi0EtaToGammaGammaMC {
538512
539513 if (pi0id > 0 ) {
540514 auto pi0mc = mcparticles.iteratorAt (pi0id);
515+ if (cfgRequireTrueAssociation && (pi0mc.emmceventId () != collision.emmceventId ())) {
516+ continue ;
517+ }
541518 o2::aod::pwgem::photonmeson::utils::nmhistogram::fillTruePairInfo (&fRegistry , v12, pi0mc, mcparticles, mccollisions, f1fd_k0s_to_pi0, collision.weight ());
542519 } else if (etaid > 0 ) {
543520 auto etamc = mcparticles.iteratorAt (etaid);
521+ if (cfgRequireTrueAssociation && (etamc.emmceventId () != collision.emmceventId ())) {
522+ continue ;
523+ }
544524 o2::aod::pwgem::photonmeson::utils::nmhistogram::fillTruePairInfo (&fRegistry , v12, etamc, mcparticles, mccollisions, f1fd_k0s_to_pi0, collision.weight ());
545525 }
546526 } // end of pairing loop
@@ -598,9 +578,15 @@ struct Pi0EtaToGammaGammaMC {
598578 }
599579 if (pi0id > 0 ) {
600580 auto pi0mc = mcparticles.iteratorAt (pi0id);
581+ if (cfgRequireTrueAssociation && (pi0mc.emmceventId () != collision.emmceventId ())) {
582+ continue ;
583+ }
601584 o2::aod::pwgem::photonmeson::utils::nmhistogram::fillTruePairInfo (&fRegistry , veeg, pi0mc, mcparticles, mccollisions, f1fd_k0s_to_pi0, collision.weight ());
602585 } else if (etaid > 0 ) {
603586 auto etamc = mcparticles.iteratorAt (etaid);
587+ if (cfgRequireTrueAssociation && (etamc.emmceventId () != collision.emmceventId ())) {
588+ continue ;
589+ }
604590 o2::aod::pwgem::photonmeson::utils::nmhistogram::fillTruePairInfo (&fRegistry , veeg, etamc, mcparticles, mccollisions, f1fd_k0s_to_pi0, collision.weight ());
605591 }
606592 } // end of dielectron loop
0 commit comments