1414// / \brief Analysis task for antineutron detection through cex interactions
1515// / \author Fabiola Lugo
1616// /
17- #include < Framework/AnalysisDataModel.h>
18- #include < Framework/AnalysisTask.h>
19- #include < Framework/Logger.h>
20- #include < Framework/runDataProcessing.h>
21-
2217#include < PWGLF/DataModel/LFAntinCexTables.h>
18+
2319#include < Common/DataModel/PIDResponseITS.h>
20+
2421#include < CommonConstants/MathConstants.h>
2522#include < DCAFitter/DCAFitterN.h>
2623#include < DetectorsBase/Propagator.h>
24+ #include < Framework/AnalysisDataModel.h>
25+ #include < Framework/AnalysisTask.h>
26+ #include < Framework/Logger.h>
27+ #include < Framework/runDataProcessing.h>
2728#include < ReconstructionDataFormats/TrackParametrization.h>
2829
30+ #include < TDatabasePDG.h>
2931#include < TMCProcess.h>
3032#include < TMath.h>
3133#include < TPDGCode.h>
32- #include < TDatabasePDG.h>
3334#include < TVector3.h>
3435
3536#include < algorithm>
@@ -44,7 +45,7 @@ using o2::constants::math::Rad2Deg;
4445struct NucleiAntineutronCex {
4546 // Slicing per colision
4647 Preslice<aod::McParticles> perMcByColl = aod::mcparticle::mcCollisionId;
47-
48+
4849 using TracksWCovMc = soa::Join<aod::TracksIU, aod::TracksExtra, aod::McTrackLabels, o2::aod::TracksCovIU>;
4950
5051 // === Cut values ===
@@ -100,11 +101,11 @@ struct NucleiAntineutronCex {
100101 histos.add (" pPz" , " p_{z};p_{z} (GeV/c);Entries" , kTH1F , {{100 , -10 ., 10 .}});
101102 histos.add (" pEta" , " Pseudorapidity;#eta;Entries" , kTH1F , {{100 , -10 ., 10 .}});
102103 histos.add (" pP_ITScuts" , " Momentum with ITS cuts;|p| (GeV/c);Entries" , kTH1F , {{100 , 0 ., 10 .}});
103-
104+
104105 // Process enum breakdown (secondary antiproton that anchors the SV)
105106 histos.add (" hProcEnumAP_CEX" , " procEnum of secondary #bar{p} (CEX);procEnum;Entries" , kTH1I , {{100 , -0.5 , 99.5 }});
106- histos.add (" hProcEnumAP_BG" , " procEnum of secondary #bar{p} (BG);procEnum;Entries" , kTH1I , {{100 , -0.5 , 99.5 }});
107-
107+ histos.add (" hProcEnumAP_BG" , " procEnum of secondary #bar{p} (BG);procEnum;Entries" , kTH1I , {{100 , -0.5 , 99.5 }});
108+
108109 // CEX pair from antineutron (MC)
109110 histos.add (" cexPairMcP" , " CEX pair total momentum;|p| (GeV/c);Entries" , kTH1F , {{100 , 0 ., 10 .}});
110111 histos.add (" cexPairMcPt" , " CEX pair p_{T};p_{T} (GeV/c);Entries" , kTH1F , {{100 , 0 ., 10 .}});
@@ -129,8 +130,8 @@ struct NucleiAntineutronCex {
129130 histos.add (" cexbg_pairmc_vtx" , " Background pair vertex;X (cm);Y (cm)" , kTH2F , {{200 , -60 ., 60 .}, {200 , -60 ., 60 .}});
130131 histos.add (" cexbg_pairmc_vtxz" , " Background secondary vertex Z;Z (cm);Entries" , kTH1F , {{200 , -60 ., 60 .}});
131132 histos.add (" cexbg_pairmc_pITScuts" , " Background momentum (ITS cuts);|p| (GeV/c);Entries" , kTH1F , {{100 , 0 ., 10 .}});
132-
133- // Pi0 events
133+
134+ // Pi0 events
134135 histos.add (" cexPairMcP_pi0" , " CEX pair total momentum;|p| (GeV/c);Entries" , kTH1F , {{100 , 0 ., 10 .}});
135136
136137 // CEX pair from antineutron (TRK)
@@ -366,10 +367,10 @@ struct NucleiAntineutronCex {
366367 break ;
367368 }
368369 }
369-
370+
370371 if (pionPlus || pionMinus)
371372 continue ;
372-
373+
373374 // Pion 0 count
374375 bool pion0 = false ;
375376 for (const auto & particle4 : mcPartsThis) {
@@ -728,7 +729,7 @@ struct NucleiAntineutronCex {
728729
729730 const TVector3 pv2sv (secX - pvtxX, secY - pvtxY, secZ - pvtxZ);
730731 const double pairPointingAngleDeg = pv2sv.Angle (total_trk_pVec) * Rad2Deg;
731-
732+
732733 const double pvsvThetaDeg = pv2sv.Theta () * Rad2Deg;
733734
734735 double pvsvPhiDeg = pv2sv.Phi () * Rad2Deg;
@@ -797,14 +798,14 @@ struct NucleiAntineutronCex {
797798 histos.fill (HIST (" vtxfit_mc_d3D" ), d3d);
798799
799800 const bool isCex = (motherPdg == -kNeutron );
800-
801+
801802 // Nature of the process
802803 if (isCex) {
803804 histos.fill (HIST (" hProcEnumAP_CEX" ), static_cast <int >(procEnum));
804805 } else {
805806 histos.fill (HIST (" hProcEnumAP_BG" ), static_cast <int >(procEnum));
806807 }
807-
808+
808809 const float vtxfitDX = secX - antipVx;
809810 const float vtxfitDY = secY - antipVy;
810811 const float vtxfitDZ = secZ - antipVz;
@@ -891,8 +892,7 @@ struct NucleiAntineutronCex {
891892
892893 antipTrkItsNSigmaPr,
893894 antipTrkItsPidValid,
894- antipTrkTgl
895- );
895+ antipTrkTgl);
896896 }
897897 }
898898 // ==== end DCAFitter2 ====
0 commit comments