@@ -52,13 +52,11 @@ using namespace o2::aod::track;
5252using namespace o2 ::aod::evsel;
5353
5454using CollisionDataTable = soa::Join<aod::Collisions, aod::EvSels, aod::Mults, aod::PVMults, aod::CentFT0Cs, aod::CentFV0As, aod::CentFT0CVariant1s, aod::CentFT0CVariant2s, aod::CentFT0Ms, aod::CentNGlobals, aod::CentMFTs>;
55- using ColDataTablepp = soa::Join<aod::Collisions, aod::EvSels, aod::Mults, aod::PVMults, aod::CentFT0Ms>;
5655using TrackDataTable = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, aod::TrackSelection>;
5756using FilTrackDataTable = soa::Filtered<TrackDataTable>;
5857using CollisionMCTrueTable = aod::McCollisions;
5958using TrackMCTrueTable = aod::McParticles;
6059using CollisionMCRecTable = soa::SmallGroups<soa::Join<aod::McCollisionLabels, aod::Collisions, aod::EvSels, aod::Mults, aod::PVMults, aod::CentFT0Cs, aod::CentFV0As, aod::CentFT0CVariant1s, aod::CentFT0CVariant2s, aod::CentFT0Ms, aod::CentNGlobals, aod::CentMFTs>>;
61- using ColMCRecTablepp = soa::SmallGroups<soa::Join<aod::McCollisionLabels, aod::Collisions, aod::EvSels, aod::Mults, aod::PVMults, aod::CentFT0Ms>>;
6260using TrackMCRecTable = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, aod::McTrackLabels, aod::TrackSelection>;
6361using FilTrackMCRecTable = soa::Filtered<TrackMCRecTable>;
6462using V0TrackCandidates = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, aod::TrackSelection, aod::pidTPCFullPi, aod::pidTPCFullPr>;
@@ -251,7 +249,7 @@ struct HeavyionMultiplicity {
251249 histos.add (" hdatadndetaMB" , " hdatadndetaMB" , kTHnSparseD , {axisVtxZ, axisEta, axisPhi}, false );
252250 }
253251
254- if (doprocessMonteCarlo || doprocessMCpTefficiency || doprocessMCcheckFakeTracks) {
252+ if (doprocessMonteCarlo || doprocessMCcheckFakeTracks) {
255253 histos.add (" CentPercentileMCRecHist" , " CentPercentileMCRecHist" , kTH1D , {axisCent}, false );
256254 histos.add (" hmczvtxcent" , " hmczvtxcent" , kTH3D , {axisVtxZ, centAxis, axisOccupancy}, false );
257255 }
@@ -266,11 +264,6 @@ struct HeavyionMultiplicity {
266264 histos.add (" hmcgendndetaMB" , " hmcgendndetaMB" , kTHnSparseD , {axisVtxZ, axisEta, axisPhi, axisSpecies}, false );
267265 }
268266
269- if (doprocessMCpTefficiency) {
270- histos.add (" hmcrecdndpt" , " hmcrecdndpt" , kTHnSparseD , {centAxis, axisOccupancy, axisTrackType, axisPt}, false );
271- histos.add (" hmcgendndpt" , " hmcgendndpt" , kTHnSparseD , {centAxis, axisPt, axisGenPtVary}, false );
272- }
273-
274267 if (doprocessMCcheckFakeTracks) {
275268 histos.add (" hTracksCount" , " hTracksCount" , kTHnSparseD , {centAxis, axisTracks}, false );
276269 auto htrack = histos.get <THnSparse>(HIST (" hTracksCount" ));
@@ -300,21 +293,6 @@ struct HeavyionMultiplicity {
300293 histos.add (" AntiLambdaCentEtaMass" , " AntiLambdaCentEtaMass" , kTH3D , {centAxis, axisEta, axisMassLambda}, false );
301294 }
302295
303- if (doprocessppData) {
304- histos.add (" MultPercentileHist" , " MultPercentileHist" , kTH1D , {axisCent}, false );
305- histos.add (" hdatazvtxmultpp" , " hdatazvtxmultpp" , kTH2D , {axisVtxZ, centAxis}, false );
306- histos.add (" PhiVsEtaHistpp" , " PhiVsEtaHistpp" , kTH2D , {axisPhi2, axisEta}, false );
307- histos.add (" hdatadndetapp" , " hdatadndetapp" , kTHnSparseD , {axisVtxZ, centAxis, axisEta, axisPhi, axisTrackType}, false );
308- }
309-
310- if (doprocessppMonteCarlo) {
311- histos.add (" MultPercentileMCRecHist" , " MultPercentileMCRecHist" , kTH1D , {axisCent}, false );
312- histos.add (" hmczvtxmultpp" , " hmczvtxmultpp" , kTH2D , {axisVtxZ, centAxis}, false );
313- histos.add (" MCrecPhiVsEtaHistpp" , " MCrecPhiVsEtaHistpp" , kTH2D , {axisPhi2, axisEta}, false );
314- histos.add (" hmcrecdndetapp" , " hmcrecdndetapp" , kTHnSparseD , {axisVtxZ, centAxis, axisEta, axisPhi, axisSpecies, axisTrackType}, false );
315- histos.add (" hmcgendndetapp" , " hmcgendndetapp" , kTHnSparseD , {axisVtxZ, centAxis, axisEta, axisPhi, axisSpecies, axisGenPtVary}, false );
316- }
317-
318296 if (doprocessGen) {
319297 histos.add (" MultBarrelEta10_vs_FT0A" , " MultBarrelEta10_vs_FT0A" , kTH2F , {axisMult, axisFt0aMult}, true );
320298 histos.add (" MultBarrelEta10_vs_FT0C" , " MultBarrelEta10_vs_FT0C" , kTH2F , {axisMult, axisFt0cMult}, true );
@@ -685,53 +663,6 @@ struct HeavyionMultiplicity {
685663 } // collision loop
686664 }
687665
688- void processMCpTefficiency (CollisionMCTrueTable::iterator const &, CollisionMCRecTable const & RecCols, TrackMCTrueTable const & GenParticles, FilTrackMCRecTable const & RecTracks)
689- {
690- for (const auto & RecCol : RecCols) {
691- if (!isEventSelected (RecCol)) {
692- continue ;
693- }
694- if (std::abs (RecCol.posZ ()) >= vtxRange) {
695- continue ;
696- }
697- histos.fill (HIST (" VtxZHist" ), RecCol.posZ ());
698- histos.fill (HIST (" CentPercentileMCRecHist" ), selColCent (RecCol));
699- histos.fill (HIST (" hmczvtxcent" ), RecCol.posZ (), selColCent (RecCol), selColOccu (RecCol));
700-
701- auto recTracksPart = RecTracks.sliceBy (perCollision, RecCol.globalIndex ());
702- for (const auto & Rectrack : recTracksPart) {
703- if (std::abs (Rectrack.eta ()) >= etaRange) {
704- continue ;
705- }
706- if (Rectrack.has_mcParticle ()) {
707- auto mcpart = Rectrack.mcParticle ();
708- if (mcpart.isPhysicalPrimary ()) {
709- histos.fill (HIST (" hmcrecdndpt" ), selColCent (RecCol), selColOccu (RecCol), kGlobalplusITS , mcpart.pt ());
710- if (Rectrack.hasTPC ()) {
711- histos.fill (HIST (" hmcrecdndpt" ), selColCent (RecCol), selColOccu (RecCol), kGlobalonly , mcpart.pt ());
712- } else {
713- histos.fill (HIST (" hmcrecdndpt" ), selColCent (RecCol), selColOccu (RecCol), kITSonly , mcpart.pt ());
714- }
715- }
716- }
717- }
718-
719- for (const auto & particle : GenParticles) {
720- if (!isGenTrackSelected (particle)) {
721- continue ;
722- }
723- histos.fill (HIST (" hmcgendndpt" ), selColCent (RecCol), particle.pt (), kNoGenpTVar );
724- if (particle.pt () < KminPtCut) {
725- histos.fill (HIST (" hmcgendndpt" ), selColCent (RecCol), particle.pt (), kGenpTup , -10.0 * particle.pt () + 2 );
726- histos.fill (HIST (" hmcgendndpt" ), selColCent (RecCol), particle.pt (), kGenpTdown , 5.0 * particle.pt () + 0.5 );
727- } else {
728- histos.fill (HIST (" hmcgendndpt" ), selColCent (RecCol), particle.pt (), kGenpTup );
729- histos.fill (HIST (" hmcgendndpt" ), selColCent (RecCol), particle.pt (), kGenpTdown );
730- }
731- }
732- }
733- }
734-
735666 void processMCcheckFakeTracks (CollisionMCTrueTable::iterator const &, CollisionMCRecTable const & RecCols, FilTrackMCRecTable const & RecTracks)
736667 {
737668 for (const auto & RecCol : RecCols) {
@@ -798,125 +729,6 @@ struct HeavyionMultiplicity {
798729 }
799730 }
800731
801- void processppData (ColDataTablepp::iterator const & cols, FilTrackDataTable const & tracks)
802- {
803- if (!isEventSelected (cols)) {
804- return ;
805- }
806-
807- histos.fill (HIST (" VtxZHist" ), cols.posZ ());
808- histos.fill (HIST (" MultPercentileHist" ), cols.centFT0M ());
809- histos.fill (HIST (" hdatazvtxmultpp" ), cols.posZ (), cols.centFT0M ());
810-
811- for (const auto & track : tracks) {
812- if (!isTrackSelected (track)) {
813- continue ;
814- }
815- histos.fill (HIST (" PhiVsEtaHistpp" ), track.phi (), track.eta ());
816- histos.fill (HIST (" hdatadndetapp" ), cols.posZ (), cols.centFT0M (), track.eta (), track.phi (), kGlobalplusITS );
817- if (track.hasTPC ()) {
818- histos.fill (HIST (" hdatadndetapp" ), cols.posZ (), cols.centFT0M (), track.eta (), track.phi (), kGlobalonly );
819- } else {
820- histos.fill (HIST (" hdatadndetapp" ), cols.posZ (), cols.centFT0M (), track.eta (), track.phi (), kITSonly );
821- }
822- } // track loop
823- }
824-
825- void processppMonteCarlo (CollisionMCTrueTable::iterator const &, ColMCRecTablepp const & RecCols, TrackMCTrueTable const & GenParticles, FilTrackMCRecTable const & RecTracks)
826- {
827- for (const auto & RecCol : RecCols) {
828- if (!isEventSelected (RecCol)) {
829- continue ;
830- }
831- auto recTracksPart = RecTracks.sliceBy (perCollision, RecCol.globalIndex ());
832- std::vector<int > mclabels;
833-
834- histos.fill (HIST (" VtxZHist" ), RecCol.posZ ());
835- histos.fill (HIST (" MultPercentileMCRecHist" ), RecCol.centFT0M ());
836- histos.fill (HIST (" hmczvtxmultpp" ), RecCol.posZ (), RecCol.centFT0M ());
837-
838- for (const auto & Rectrack : recTracksPart) {
839- if (!isTrackSelected (Rectrack)) {
840- continue ;
841- }
842- histos.fill (HIST (" MCrecPhiVsEtaHistpp" ), Rectrack.phi (), Rectrack.eta ());
843- histos.fill (HIST (" hmcrecdndetapp" ), RecCol.posZ (), RecCol.centFT0M (), Rectrack.eta (), Rectrack.phi (), static_cast <double >(kSpAll ), kGlobalplusITS );
844- if (Rectrack.hasTPC ()) {
845- histos.fill (HIST (" hmcrecdndetapp" ), RecCol.posZ (), RecCol.centFT0M (), Rectrack.eta (), Rectrack.phi (), static_cast <double >(kSpAll ), kGlobalonly );
846- } else {
847- histos.fill (HIST (" hmcrecdndetapp" ), RecCol.posZ (), RecCol.centFT0M (), Rectrack.eta (), Rectrack.phi (), static_cast <double >(kSpAll ), kITSonly );
848- }
849-
850- if (Rectrack.has_mcParticle ()) {
851- int pid = kBkg ;
852- auto mcpart = Rectrack.template mcParticle_as <aod::McParticles>();
853- if (mcpart.isPhysicalPrimary ()) {
854- switch (std::abs (mcpart.pdgCode ())) {
855- case PDG_t::kPiPlus :
856- pid = kSpPion ;
857- break ;
858- case PDG_t::kKPlus :
859- pid = kSpKaon ;
860- break ;
861- case PDG_t::kProton :
862- pid = kSpProton ;
863- break ;
864- default :
865- pid = kSpOther ;
866- break ;
867- }
868- } else {
869- pid = kSpNotPrimary ;
870- }
871- if (mcpart.has_mothers ()) {
872- auto mcpartMother = mcpart.template mothers_as <aod::McParticles>().front ();
873- if (mcpartMother.pdgCode () == PDG_t::kK0Short || std::abs (mcpartMother.pdgCode ()) == PDG_t::kLambda0 ) {
874- pid = kSpStrangeDecay ;
875- }
876- }
877- if (find (mclabels.begin (), mclabels.end (), Rectrack.mcParticleId ()) != mclabels.end ()) {
878- pid = kBkg ;
879- }
880- mclabels.push_back (Rectrack.mcParticleId ());
881- histos.fill (HIST (" hmcrecdndetapp" ), RecCol.posZ (), RecCol.centFT0M (), Rectrack.eta (), Rectrack.phi (), static_cast <double >(pid), kGlobalplusITS );
882- } else {
883- histos.fill (HIST (" hmcrecdndetapp" ), RecCol.posZ (), RecCol.centFT0M (), Rectrack.eta (), Rectrack.phi (), static_cast <double >(kBkg ), kGlobalplusITS );
884- }
885- } // track (mcrec) loop
886-
887- for (const auto & particle : GenParticles) {
888- if (!isGenTrackSelected (particle)) {
889- continue ;
890- }
891- histos.fill (HIST (" hmcgendndetapp" ), RecCol.posZ (), RecCol.centFT0M (), particle.eta (), particle.phi (), static_cast <double >(kSpAll ), kNoGenpTVar );
892- if (particle.pt () < KminPtCut) {
893- histos.fill (HIST (" hmcgendndetapp" ), RecCol.posZ (), RecCol.centFT0M (), particle.eta (), particle.phi (), static_cast <double >(kSpAll ), kGenpTup , -10.0 * particle.pt () + 2 );
894- histos.fill (HIST (" hmcgendndetapp" ), RecCol.posZ (), RecCol.centFT0M (), particle.eta (), particle.phi (), static_cast <double >(kSpAll ), kGenpTdown , 5.0 * particle.pt () + 0.5 );
895- } else {
896- histos.fill (HIST (" hmcgendndetapp" ), RecCol.posZ (), RecCol.centFT0M (), particle.eta (), particle.phi (), static_cast <double >(kSpAll ), kGenpTup );
897- histos.fill (HIST (" hmcgendndetapp" ), RecCol.posZ (), RecCol.centFT0M (), particle.eta (), particle.phi (), static_cast <double >(kSpAll ), kGenpTdown );
898- }
899-
900- int pid = 0 ;
901- switch (std::abs (particle.pdgCode ())) {
902- case PDG_t::kPiPlus :
903- pid = kSpPion ;
904- break ;
905- case PDG_t::kKPlus :
906- pid = kSpKaon ;
907- break ;
908- case PDG_t::kProton :
909- pid = kSpProton ;
910- break ;
911- default :
912- pid = kSpOther ;
913- break ;
914- }
915- histos.fill (HIST (" hmcgendndetapp" ), RecCol.posZ (), RecCol.centFT0M (), particle.eta (), particle.phi (), static_cast <double >(pid), kNoGenpTVar );
916- } // track (mcgen) loop
917- } // collision loop
918- }
919-
920732 void processGen (aod::McCollisions::iterator const &, aod::McParticles const & GenParticles)
921733 {
922734
@@ -1166,11 +978,8 @@ struct HeavyionMultiplicity {
1166978 PROCESS_SWITCH (HeavyionMultiplicity, processData, " process data CentFT0C" , false );
1167979 PROCESS_SWITCH (HeavyionMultiplicity, processCorrelation, " do correlation study in data" , false );
1168980 PROCESS_SWITCH (HeavyionMultiplicity, processMonteCarlo, " process MC CentFT0C" , false );
1169- PROCESS_SWITCH (HeavyionMultiplicity, processMCpTefficiency, " process MC pTefficiency" , false );
1170981 PROCESS_SWITCH (HeavyionMultiplicity, processMCcheckFakeTracks, " Check Fake tracks" , false );
1171982 PROCESS_SWITCH (HeavyionMultiplicity, processStrangeYield, " Strange particle yield" , false );
1172- PROCESS_SWITCH (HeavyionMultiplicity, processppData, " process pp data" , false );
1173- PROCESS_SWITCH (HeavyionMultiplicity, processppMonteCarlo, " process pp MC" , false );
1174983 PROCESS_SWITCH (HeavyionMultiplicity, processGen, " process pure MC gen" , false );
1175984 PROCESS_SWITCH (HeavyionMultiplicity, processEvtLossSigLossMC, " process Signal Loss, Event Loss" , false );
1176985 PROCESS_SWITCH (HeavyionMultiplicity, processMCeff, " process extra efficiency function" , false );
0 commit comments