2222#include " PWGEM/Dilepton/Core/EMEventCut.h"
2323#include " PWGEM/Dilepton/DataModel/dileptonTables.h"
2424#include " PWGEM/Dilepton/Utils/EMTrackUtilities.h"
25- #include " PWGEM/Dilepton/Utils/MlResponseDielectronSingleTrack.h"
2625#include " PWGEM/Dilepton/Utils/PairUtilities.h"
2726
2827#include " Common/CCDB/RCTSelectionFlags.h"
6564#include < utility>
6665#include < vector>
6766
68- using MyCollisions = o2::soa::Join<o2::aod::EMEvents, o2::aod::EMEventsMult, o2::aod::EMEventsCent, o2::aod::EMEventsQvec2, o2::aod::EMEventsQvec3 >;
67+ using MyCollisions = o2::soa::Join<o2::aod::EMEvents, o2::aod::EMEventsMult, o2::aod::EMEventsCent, o2::aod::EMEventsQvec2>;
6968using MyCollision = MyCollisions::iterator;
7069
7170using MyElectrons = o2::soa::Join<o2::aod::EMPrimaryElectrons, o2::aod::EMPrimaryElectronEMEventIds, o2::aod::EMAmbiguousElectronSelfIds, o2::aod::EMPrimaryElectronsPrefilterBit, o2::aod::EMPrimaryElectronsPrefilterBitDerived>;
7271using MyElectron = MyElectrons::iterator;
7372using FilteredMyElectrons = o2::soa::Filtered<MyElectrons>;
7473using FilteredMyElectron = FilteredMyElectrons::iterator;
7574
76- using MyMuons = o2::soa::Join<o2::aod::EMPrimaryMuons, o2::aod::EMPrimaryMuonEMEventIds, o2::aod::EMAmbiguousMuonSelfIds, o2::aod::EMGlobalMuonSelfIds>;
75+ using MyMuons = o2::soa::Join<o2::aod::EMPrimaryMuons, o2::aod::EMPrimaryMuonEMEventIds, o2::aod::EMAmbiguousMuonSelfIds, o2::aod::EMGlobalMuonSelfIds, o2::aod::EMPrimaryMuonsPrefilterBitDerived >;
7776using MyMuon = MyMuons::iterator;
7877using FilteredMyMuons = o2::soa::Filtered<MyMuons>;
7978using FilteredMyMuon = FilteredMyMuons::iterator;
@@ -251,7 +250,10 @@ struct DileptonProducer {
251250 o2::framework::Configurable<int > cfg_min_ncluster_mch{" cfg_min_ncluster_mch" , 5 , " min ncluster MCH" };
252251 o2::framework::Configurable<float > cfg_max_chi2{" cfg_max_chi2" , 1e+6 , " max chi2/ndf" };
253252 o2::framework::Configurable<float > cfg_max_chi2mft{" cfg_max_chi2mft" , 1e+6 , " max chi2/ndf" };
254- o2::framework::Configurable<float > cfg_max_matching_chi2_mftmch{" cfg_max_matching_chi2_mftmch" , 40 , " max chi2 for MFT-MCH matching" };
253+ // o2::framework::Configurable<float> cfg_max_matching_chi2_mftmch{"cfg_max_matching_chi2_mftmch", 40, "max chi2 for MFT-MCH matching"};
254+ o2::framework::Configurable<float > cfg_border_pt_for_chi2mchmft{" cfg_border_pt_for_chi2mchmft" , 0 , " border pt for different max chi2 for MFT-MCH matching" };
255+ o2::framework::Configurable<float > cfg_max_matching_chi2_mftmch_lowPt{" cfg_max_matching_chi2_mftmch_lowPt" , 8 , " max chi2 for MFT-MCH matching for low pT" };
256+ o2::framework::Configurable<float > cfg_max_matching_chi2_mftmch_highPt{" cfg_max_matching_chi2_mftmch_highPt" , 40 , " max chi2 for MFT-MCH matching for high pT" };
255257 o2::framework::Configurable<float > cfg_max_matching_chi2_mchmid{" cfg_max_matching_chi2_mchmid" , 1e+10 , " max chi2 for MCH-MID matching" };
256258 o2::framework::Configurable<float > cfg_max_dcaxy{" cfg_max_dcaxy" , 1e+10 , " max dca XY for single track in cm" };
257259 o2::framework::Configurable<float > cfg_min_rabs{" cfg_min_rabs" , 17.6 , " min Radius at the absorber end" };
@@ -291,7 +293,6 @@ struct DileptonProducer {
291293 engine = std::mt19937 (seed_gen ());
292294
293295 DefineEMEventCut ();
294- addhistograms ();
295296 if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron ) {
296297 DefineDielectronCut ();
297298 leptonM1 = o2::constants::physics::MassElectron;
@@ -346,13 +347,7 @@ struct DileptonProducer {
346347 fDielectronCut .SetTrackPhiPositionRange (dielectroncuts.cfg_min_phiposition_track , dielectroncuts.cfg_max_phiposition_track , dielectroncuts.cfgRefR , d_bz, dielectroncuts.cfg_mirror_phi_track );
347348 }
348349
349- ~DileptonProducer ()
350- {
351- }
352-
353- void addhistograms ()
354- {
355- }
350+ ~DileptonProducer () {}
356351
357352 void DefineEMEventCut ()
358353 {
@@ -376,7 +371,6 @@ struct DileptonProducer {
376371 fEMEventCut .SetRequireGoodITSLayersAll (eventcuts.cfgRequireGoodITSLayersAll );
377372 }
378373
379- o2::analysis::MlResponseDielectronSingleTrack<float > mlResponseSingleTrack;
380374 void DefineDielectronCut ()
381375 {
382376 fDielectronCut = DielectronCut (" fDielectronCut" , " fDielectronCut" );
@@ -456,7 +450,8 @@ struct DileptonProducer {
456450 fDimuonCut .SetNClustersMCHMID (dimuoncuts.cfg_min_ncluster_mch , 20 );
457451 fDimuonCut .SetChi2 (0 .f , dimuoncuts.cfg_max_chi2 );
458452 fDimuonCut .SetChi2MFT (0 .f , dimuoncuts.cfg_max_chi2mft );
459- fDimuonCut .SetMatchingChi2MCHMFT (0 .f , dimuoncuts.cfg_max_matching_chi2_mftmch );
453+ // fDimuonCut.SetMatchingChi2MCHMFT(0.f, dimuoncuts.cfg_max_matching_chi2_mftmch);
454+ fDimuonCut .SetMaxMatchingChi2MCHMFTPtDep ([&](float pt) { return (pt < dimuoncuts.cfg_border_pt_for_chi2mchmft ? dimuoncuts.cfg_max_matching_chi2_mftmch_lowPt : dimuoncuts.cfg_max_matching_chi2_mftmch_highPt ); });
460455 fDimuonCut .SetMatchingChi2MCHMID (0 .f , dimuoncuts.cfg_max_matching_chi2_mchmid );
461456 fDimuonCut .SetDCAxy (0 .f , dimuoncuts.cfg_max_dcaxy );
462457 fDimuonCut .SetRabs (dimuoncuts.cfg_min_rabs , dimuoncuts.cfg_max_rabs );
@@ -588,7 +583,7 @@ struct DileptonProducer {
588583 continue ;
589584 }
590585
591- float eventplanes_2_for_mix[6 ] = {collision.ep2ft0m (), collision.ep2ft0a (), collision.ep2ft0c (), collision.ep2btot (), collision.ep2bpos (), collision.ep2bneg ()};
586+ float eventplanes_2_for_mix[7 ] = {collision.ep2ft0m (), collision.ep2ft0a (), collision.ep2ft0c (), collision.ep2btot (), collision.ep2bpos (), collision.ep2bneg (), collision. ep2fv0a ()};
592587 float ep2 = eventplanes_2_for_mix[cfgEP2Estimator_for_Mix];
593588
594589 if (!fEMEventCut .IsSelected (collision)) {
@@ -627,7 +622,7 @@ struct DileptonProducer {
627622 }
628623
629624 if (nuls > 0 || nlspp > 0 || nlsmm > 0 ) {
630- eventTable (collision.runNumber (), collision.globalBC (), collision.timestamp (), collision.posZ (), collision.trackOccupancyInTimeRange (), collision.ft0cOccupancyInTimeRange (), collision. centFT0C () , ep2);
625+ eventTable (collision.runNumber (), collision.globalBC (), collision.timestamp (), collision.posZ (), collision.trackOccupancyInTimeRange (), collision.ft0cOccupancyInTimeRange (), centralities[cfgCentEstimator] , ep2);
631626 }
632627 } // end of collision loop
633628 } // end of DF
0 commit comments