3232#include < Framework/AnalysisDataModel.h>
3333#include < Framework/AnalysisHelpers.h>
3434#include < Framework/AnalysisTask.h>
35+ #include < Framework/Concepts.h>
3536#include < Framework/Configurable.h>
36- #include < Framework/DataTypes.h>
3737#include < Framework/HistogramRegistry.h>
3838#include < Framework/HistogramSpec.h>
3939#include < Framework/InitContext.h>
4040#include < Framework/OutputObjHeader.h>
4141#include < Framework/runDataProcessing.h>
42+ #include < PID/PIDTOFParamService.h>
43+ #include < ReconstructionDataFormats/DCA.h>
44+ #include < ReconstructionDataFormats/PID.h>
4245
4346#include < Math/Vector4D.h> // IWYU pragma: keep (do not replace with Math/Vector4Dfwd.h)
4447#include < Math/Vector4Dfwd.h>
@@ -94,7 +97,7 @@ struct skimmerPrimaryElectronFromDalitzEE {
9497 Preslice<aod::TrackAssoc> trackIndicesPerCollision = aod::track_association::collisionId;
9598 Produces<aod::EMPrimaryElectronsFromDalitz> emprimaryelectrons;
9699 Produces<aod::EMPrimaryElectronsDeDxMC> emprimaryelectronsDeDxMC;
97- Service<o2::pid::tof::TOFResponse> mTOFResponse ;
100+ Service<o2::pid::tof::TOFResponse> mTOFResponse {} ;
98101
99102 Produces<aod::EMTOFNSigmas> emtofs;
100103
@@ -216,11 +219,11 @@ struct skimmerPrimaryElectronFromDalitzEE {
216219 fRegistry .add (" Pair/uls/hMCutMvsPt" , " m_{ee} vs. p_{T,ee};m_{ee} (GeV/c^{2});p_{T,ee} (GeV/c)" , kTH2F , {{100 , 0 , 0.1 }, {200 , 0 , 2 }}, false );
217220 fRegistry .add (" Pair/uls/hMPhiCutMvsPt" , " m_{ee} vs. p_{T,ee};m_{ee} (GeV/c^{2});p_{T,ee} (GeV/c)" , kTH2F , {{100 , 0 , 0.1 }, {200 , 0 , 2 }}, false );
218221
219- fRegistry .add (" Pair/uls/hTrackMvsPhiV" , " m_{ee} vs. #varphi_{V};#varphi_{V} (rad.);m_{ee} (GeV/c^{2})" , kTH2F , {{180 , 0 , M_PI }, {100 , 0 , 0.1 }}, false );
220- fRegistry .add (" Pair/uls/hCheckEMvsPhiV" , " m_{ee} vs. #varphi_{V};#varphi_{V} (rad.);m_{ee} (GeV/c^{2})" , kTH2F , {{180 , 0 , M_PI }, {100 , 0 , 0.1 }}, false );
221- fRegistry .add (" Pair/uls/hMvsPhiV" , " m_{ee} vs. #varphi_{V};#varphi_{V} (rad.);m_{ee} (GeV/c^{2})" , kTH2F , {{180 , 0 , M_PI }, {100 , 0 , 0.1 }}, false );
222- fRegistry .add (" Pair/uls/hMCutMvsPhiV" , " m_{ee} vs. #varphi_{V};#varphi_{V} (rad.);m_{ee} (GeV/c^{2})" , kTH2F , {{180 , 0 , M_PI }, {100 , 0 , 0.1 }}, false );
223- fRegistry .add (" Pair/uls/hMPhiCutMvsPhiV" , " m_{ee} vs. #varphi_{V};#varphi_{V} (rad.);m_{ee} (GeV/c^{2})" , kTH2F , {{180 , 0 , M_PI }, {100 , 0 , 0.1 }}, false );
222+ fRegistry .add (" Pair/uls/hTrackMvsPhiV" , " m_{ee} vs. #varphi_{V};#varphi_{V} (rad.);m_{ee} (GeV/c^{2})" , kTH2F , {{180 , 0 , o2::constants::math:: PI }, {100 , 0 , 0.1 }}, false );
223+ fRegistry .add (" Pair/uls/hCheckEMvsPhiV" , " m_{ee} vs. #varphi_{V};#varphi_{V} (rad.);m_{ee} (GeV/c^{2})" , kTH2F , {{180 , 0 , o2::constants::math:: PI }, {100 , 0 , 0.1 }}, false );
224+ fRegistry .add (" Pair/uls/hMvsPhiV" , " m_{ee} vs. #varphi_{V};#varphi_{V} (rad.);m_{ee} (GeV/c^{2})" , kTH2F , {{180 , 0 , o2::constants::math:: PI }, {100 , 0 , 0.1 }}, false );
225+ fRegistry .add (" Pair/uls/hMCutMvsPhiV" , " m_{ee} vs. #varphi_{V};#varphi_{V} (rad.);m_{ee} (GeV/c^{2})" , kTH2F , {{180 , 0 , o2::constants::math:: PI }, {100 , 0 , 0.1 }}, false );
226+ fRegistry .add (" Pair/uls/hMPhiCutMvsPhiV" , " m_{ee} vs. #varphi_{V};#varphi_{V} (rad.);m_{ee} (GeV/c^{2})" , kTH2F , {{180 , 0 , o2::constants::math:: PI }, {100 , 0 , 0.1 }}, false );
224227
225228 fRegistry .addClone (" Pair/uls/" , " Pair/lspp/" );
226229 fRegistry .addClone (" Pair/uls/" , " Pair/lsmm/" );
@@ -288,7 +291,7 @@ struct skimmerPrimaryElectronFromDalitzEE {
288291 if (track.hasTOF () && track.has_collision ()) { // TTCA may use orphan tracks.
289292 auto bcTrack = track.template collision_as <TCollisions>().template bc_as <TBCs>();
290293 float tofNSigmaEl = mTOFResponse ->nSigma <o2::track::PID ::Electron>(track.tofSignalInAnotherBC (bcTrack.globalBC (), bcCollision.globalBC ()), track.tofExpMom (), track.length (), track.p (), track.eta (), mapCollisionTime[collision.globalIndex ()], mapCollisionTimeError[collision.globalIndex ()]);
291- float beta = track.length () / (track.tofSignalInAnotherBC (bcTrack.globalBC (), bcCollision.globalBC ()) - mapCollisionTime[collision.globalIndex ()]) / (TMath::C () * 1e+2 * 1e-12 );
294+ float beta = track.length () / (track.tofSignalInAnotherBC (bcTrack.globalBC (), bcCollision.globalBC ()) - mapCollisionTime[collision.globalIndex ()]) / (o2::constants::physics::LightSpeedCm2S * 1e-12 );
292295 mapTOFNsigmaReassociated[std::make_pair (collision.globalIndex (), track.globalIndex ())] = tofNSigmaEl;
293296 mapTOFBetaReassociated[std::make_pair (collision.globalIndex (), track.globalIndex ())] = beta;
294297 emtofs (collision.globalIndex (), track.globalIndex (), mapTOFBetaReassociated[std::make_pair (collision.globalIndex (), track.globalIndex ())], mapTOFNsigmaReassociated[std::make_pair (collision.globalIndex (), track.globalIndex ())]);
@@ -377,7 +380,7 @@ struct skimmerPrimaryElectronFromDalitzEE {
377380 return false ;
378381 }
379382
380- if (!includeITSsa && ( !track.hasITS () || !track. hasTPC () )) {
383+ if (!includeITSsa && !track.hasTPC ()) {
381384 return false ;
382385 }
383386
@@ -698,7 +701,6 @@ struct skimmerPrimaryElectronFromDalitzEE {
698701 std::vector<int > acceptedPosTrackIds_per_collision;
699702 std::vector<int > acceptedNegTrackIds_per_collision;
700703 std::vector<int > acceptedTrackIds_per_collision;
701- std::vector<std::pair<int , int >> stored_trackIds;
702704 // Filter trackFilter = minpt < o2::aod::track::pt && nabs(o2::aod::track::eta) < maxeta && o2::aod::track::itsChi2NCl < maxchi2its && ncheckbit(aod::track::v001::detectorMap, (uint8_t)o2::aod::track::ITS) == true && nabs(o2::aod::track::dcaXY) < dca_xy_max && nabs(o2::aod::track::dcaZ) < dca_z_max;
703705 // Filter trackFilter
704706 // using MyFilteredTracks = soa::Filtered<MyTracks>;
@@ -718,11 +720,8 @@ struct skimmerPrimaryElectronFromDalitzEE {
718720 mTOFResponse ->processSetup (bcs.iteratorAt (0 ));
719721
720722 for (const auto & track : tracks) {
721- if (mapCollisionTime.find (track.collisionId ()) == mapCollisionTime.end ()) {
722- // LOGF(info, "track.collisionId() = %d, track.tofEvTime() = %f, track.tofEvTimeErr() = %f", track.collisionId(), track.tofEvTime(), track.tofEvTimeErr());
723- mapCollisionTime[track.collisionId ()] = track.tofEvTime ();
724- mapCollisionTimeError[track.collisionId ()] = track.tofEvTimeErr ();
725- }
723+ mapCollisionTime.try_emplace (track.collisionId (), track.tofEvTime ());
724+ mapCollisionTimeError.try_emplace (track.collisionId (), track.tofEvTimeErr ());
726725 }
727726 calculateTOFNSigmaWithReassociation<true >(collisions, bcs, tracks, trackIndices);
728727
@@ -772,11 +771,8 @@ struct skimmerPrimaryElectronFromDalitzEE {
772771
773772 // mTOFResponse->processSetup(bcs.iteratorAt(0));
774773 // for (const auto& track : tracks) {
775- // if (mapCollisionTime.find(track.collisionId()) == mapCollisionTime.end()) {
776- // // LOGF(info, "track.collisionId() = %d, track.tofEvTime() = %f, track.tofEvTimeErr() = %f", track.collisionId(), track.tofEvTime(), track.tofEvTimeErr());
777- // mapCollisionTime[track.collisionId()] = track.tofEvTime();
778- // mapCollisionTimeError[track.collisionId()] = track.tofEvTimeErr();
779- // }
774+ // mapCollisionTime.try_emplace(track.collisionId(), track.tofEvTime());
775+ // mapCollisionTimeError.try_emplace(track.collisionId(), track.tofEvTimeErr());
780776 // }
781777 // calculateTOFNSigmaWithReassociation<true>(collisions, bcs, tracks, trackIndices);
782778
@@ -840,11 +836,8 @@ struct skimmerPrimaryElectronFromDalitzEE {
840836
841837 mTOFResponse ->processSetup (bcs.iteratorAt (0 ));
842838 for (const auto & track : tracks) {
843- if (mapCollisionTime.find (track.collisionId ()) == mapCollisionTime.end ()) {
844- // LOGF(info, "track.collisionId() = %d, track.tofEvTime() = %f, track.tofEvTimeErr() = %f", track.collisionId(), track.tofEvTime(), track.tofEvTimeErr());
845- mapCollisionTime[track.collisionId ()] = track.tofEvTime ();
846- mapCollisionTimeError[track.collisionId ()] = track.tofEvTimeErr ();
847- }
839+ mapCollisionTime.try_emplace (track.collisionId (), track.tofEvTime ());
840+ mapCollisionTimeError.try_emplace (track.collisionId (), track.tofEvTimeErr ());
848841 }
849842 calculateTOFNSigmaWithReassociation<true >(collisions, bcs, tracks, trackIndices);
850843
0 commit comments