@@ -102,13 +102,13 @@ struct sigmaHadCorrTask {
102102 Configurable<float > cutNSigmaTPC{" cutNSigmaTPC" , 3 , " TPC nSigma cut for hadron track" };
103103 Configurable<float > cutNSigmaTOF{" cutNSigmaTOF" , 3 , " TOF nSigma cut for hadron track" };
104104 Configurable<bool > applyTOFPIDKinkDaughter{" applyTOFPIDKinkDaughter" , false , " If true, apply TOF PID cut to the kink daughter track" };
105- Configurable<bool > matchSigmaToPions{ " matchSigmaToPions " , false , " If true, pair Sigma with pions instead of hadrons " };
105+ Configurable<bool > doSigmaPion{ " doSigmaPion " , false , " If true, pair Sigma with pions instead of protons " };
106106
107107 Configurable<float > cutMaxKStar{" cutMaxKStar" , 1.5 , " Maximum k* for Sigma-hadron pairs (GeV/c)" };
108- Configurable<bool > useRecalculatedSigmaMomentum{" useRecalculatedSigmaMomentum" , false , " If true, compute k* using Sigma momentum recalculated from daughter kinematics" };
108+ Configurable<bool > useRecalculatedSigmaMomentum{" useRecalculatedSigmaMomentum" , true , " If true, compute k* using Sigma momentum recalculated from daughter kinematics" };
109109
110110 Configurable<bool > fillOutputTree{" fillOutputTree" , true , " If true, fill the output tree with Sigma-hadron candidates" };
111- Configurable<bool > fillSparseInvMassKstar{" fillSparseInvMassKstar" , false , " If true, fill THnSparse with invmass, k*, sigma charge, proton charge, sigma decay radius, cosPA, sigma pt" };
111+ Configurable<bool > fillSparseInvMassKstar{" fillSparseInvMassKstar" , false , " If true, fill THn with invmass, k*, sigma charge, proton charge, sigma decay radius, cosPA, sigma pt" };
112112
113113 ConfigurableAxis CfgVtxBins{" CfgVtxBins" , {10 , -10 , 10 }, " Mixing bins - z-vertex" };
114114 ConfigurableAxis CfgMultBins{" CfgMultBins" , {VARIABLE_WIDTH, 0.0 , 40.0 , 80.0 , 500.0 }, " Mixing bins - number of contributor" };
@@ -124,14 +124,17 @@ struct sigmaHadCorrTask {
124124 const AxisSpec ptAxis{100 , -10 , 10 , " #it{p}_{T} (GeV/#it{c})" };
125125 const AxisSpec massResolutionAxis{100 , -0.1 , 0.1 , " m_{rec} - m_{gen} (GeV/#it{c}^{2})" };
126126 const AxisSpec nSigmaHadAxis{100 , -5 , 5 , " n#sigma_{had}" };
127- const AxisSpec sigmaMassAxis{100 , 1.1 , 1.3 , " m (GeV/#it{c}^{2})" };
127+ const AxisSpec sigmaMassAxis{50 , 1.1 , 1.3 , " m (GeV/#it{c}^{2})" };
128128 const AxisSpec kStarAxis {200 , 0.0 , 2 ., " k* (GeV/#it{c})" };
129129 const AxisSpec ptHadAxis{100 , 0.0 , 10.0 , " #it{p}_{T,had} (GeV/#it{c})" };
130130 const AxisSpec sigmaPtAxis{100 , 0.0 , 10.0 , " #it{p}_{T,#Sigma} (GeV/#it{c})" };
131+ const AxisSpec sigmaPtAxisCoarse{20 , 0.0 , 10.0 , " #it{p}_{T,#Sigma} (GeV/#it{c})" };
131132 const AxisSpec sigmaChargeAxis{2 , -1.5 , 1.5 , " #Sigma charge" };
132133 const AxisSpec hadronChargeAxis{2 , -1.5 , 1.5 , " Hadron charge" };
133134 const AxisSpec sigmaDecRadiusAxis{25 , 14.5 , 40.5 , " #Sigma decay radius (cm)" };
135+ const AxisSpec sigmaDecRadiusAxisCoarse{5 , 14.5 , 40.5 , " #Sigma decay radius (cm)" };
134136 const AxisSpec cosPAAxis{50 , 0.9 , 1.0 , " cos(PA)" };
137+ const AxisSpec cosPAAxisCoarse{5 , 0.9 , 1.0 , " cos(PA)" };
135138 const AxisSpec alphaAPAxis{100 , -1.0 , 1.0 , " #alpha_{AP}" };
136139 const AxisSpec qtAPAxis{100 , 0.0 , 0.5 , " q_{T,AP} (GeV/#it{c})" };
137140 const AxisSpec vertexZAxis{100 , -15 ., 15 ., " vrtx_{Z} [cm]" };
@@ -148,19 +151,19 @@ struct sigmaHadCorrTask {
148151
149152 if (fillSparseInvMassKstar) {
150153 rSigmaHad.add (" hSparseSigmaHad" ,
151- " 7D sparse : invmass, k*, sigma charge, hadron charge, sigma decay radius, cosPA, sigma pt" ,
152- {HistType::kTHnSparseF , {sigmaMassAxis, kStarAxis , sigmaChargeAxis, hadronChargeAxis, sigmaDecRadiusAxis, cosPAAxis, sigmaPtAxis }});
154+ " 7D THn : invmass, k*, sigma charge, hadron charge, sigma decay radius, cosPA, sigma pt" ,
155+ {HistType::kTHnF , {sigmaMassAxis, kStarAxis , sigmaChargeAxis, hadronChargeAxis, sigmaDecRadiusAxisCoarse, cosPAAxisCoarse, sigmaPtAxisCoarse }});
153156 rSigmaHad.add (" hSparseSigmaHadMC" ,
154- " 8D sparse (MC): invmass, k*, sigma charge, hadron charge, sigma decay radius, cosPA, sigma pt, k* gen" ,
155- {HistType::kTHnSparseF , {sigmaMassAxis, kStarAxis , sigmaChargeAxis, hadronChargeAxis, sigmaDecRadiusAxis, cosPAAxis, sigmaPtAxis , kStarAxis }});
157+ " 8D THn (MC): invmass, k*, sigma charge, hadron charge, sigma decay radius, cosPA, sigma pt, k* gen" ,
158+ {HistType::kTHnF , {sigmaMassAxis, kStarAxis , sigmaChargeAxis, hadronChargeAxis, sigmaDecRadiusAxisCoarse, cosPAAxisCoarse, sigmaPtAxisCoarse , kStarAxis }});
156159 }
157160
158161 LOG (info) << " Sigma-hadron correlation task initialized" ;
159162 LOG (info) << " Process SE enabled: " << doprocessSameEvent;
160163 LOG (info) << " Process ME enabled: " << doprocessMixedEvent;
161164 LOG (info) << " Process SE MC enabled: " << doprocessSameEventMC;
162165 LOG (info) << " Process ME MC enabled: " << doprocessMixedEventMC;
163- LOG (info) << " Pairing mode: " << (matchSigmaToPions ? " Sigma-pion" : " Sigma-hadron " );
166+ LOG (info) << " Pairing mode: " << (doSigmaPion ? " Sigma-pion" : " Sigma-proton " );
164167 }
165168
166169 float getAlphaAP (const std::array<float , 3 >& momMother, const std::array<float , 3 >& momKink)
@@ -254,7 +257,7 @@ struct sigmaHadCorrTask {
254257
255258 float getHadTrackMass ()
256259 {
257- return matchSigmaToPions ? o2::constants::physics::MassPionCharged : o2::constants::physics::MassProton;
260+ return doSigmaPion ? o2::constants::physics::MassPionCharged : o2::constants::physics::MassProton;
258261 }
259262
260263 float getSigmaMassForKstar ()
@@ -265,13 +268,13 @@ struct sigmaHadCorrTask {
265268 template <typename Ttrack>
266269 float getTPCNSigmaHad (const Ttrack& track)
267270 {
268- return matchSigmaToPions ? track.tpcNSigmaPi () : track.tpcNSigmaPr ();
271+ return doSigmaPion ? track.tpcNSigmaPi () : track.tpcNSigmaPr ();
269272 }
270273
271274 template <typename Ttrack>
272275 float getTOFNSigmaHad (const Ttrack& track)
273276 {
274- return matchSigmaToPions ? track.tofNSigmaPi () : track.tofNSigmaPr ();
277+ return doSigmaPion ? track.tofNSigmaPi () : track.tofNSigmaPr ();
275278 }
276279
277280 TLorentzVector trackSum, PartOneCMS, PartTwoCMS, trackRelK;
@@ -471,10 +474,8 @@ struct sigmaHadCorrTask {
471474
472475 float sigmaPtUsed = std::hypot (sigmaMomForKstar[0 ], sigmaMomForKstar[1 ]);
473476
474- rSigmaHad.fill (HIST (" h2PtHadNSigmaTPC" ), candidate.ptHad (), candidate.nSigmaTPCHad );
475477 rSigmaHad.fill (HIST (" QA/h2TPCNSigmaHadVsPtHad" ), candidate.ptHad (), candidate.nSigmaTPCHad );
476478 if (hadTrack.hasTOF ()) {
477- rSigmaHad.fill (HIST (" h2PtHadNSigmaTOF" ), candidate.ptHad (), candidate.nSigmaTOFHad );
478479 rSigmaHad.fill (HIST (" QA/h2TOFNSigmaHadVsPtHad" ), candidate.ptHad (), candidate.nSigmaTOFHad );
479480 }
480481 if (fillSparseInvMassKstar && !isMC) {
@@ -503,7 +504,7 @@ struct sigmaHadCorrTask {
503504 continue ;
504505 }
505506 rEventSelection.fill (HIST (" hVertexZRec" ), collision.posZ ());
506- fillTreeAndHistograms (kinkCands_c, tracks_c , tracks_c, collision, false );
507+ fillTreeAndHistograms (kinkCands_c, tracks , tracks_c, collision, false );
507508 if (fillOutputTree) {
508509 // Fill output table
509510 for (const auto & candidate : sigmaHadCandidates) {
@@ -550,7 +551,7 @@ struct sigmaHadCorrTask {
550551 auto kinkCands_c1 = kinkCands.sliceBy (kinkCandsPerCollisionPreslice, collision1.globalIndex ());
551552 auto tracks_c1 = tracks.sliceBy (tracksPerCollisionPreslice, collision1.globalIndex ());
552553 auto tracks_c2 = tracks.sliceBy (tracksPerCollisionPreslice, collision2.globalIndex ());
553- fillTreeAndHistograms (kinkCands_c1, tracks_c1 , tracks_c2, collision1, false );
554+ fillTreeAndHistograms (kinkCands_c1, tracks , tracks_c2, collision1, false );
554555
555556 if (fillOutputTree) {
556557 // Fill output table
@@ -589,7 +590,7 @@ struct sigmaHadCorrTask {
589590 continue ;
590591 }
591592 rEventSelection.fill (HIST (" hVertexZRec" ), collision.posZ ());
592- fillTreeAndHistograms (kinkCands_c, tracks_c , tracks_c, collision, true );
593+ fillTreeAndHistograms (kinkCands_c, tracks , tracks_c, collision, true );
593594 for (const auto & candidate : sigmaHadCandidates) {
594595 auto mcLabelSigma = tracks.rawIteratorAt (candidate.sigmaID );
595596 auto mcLabelSigmaDau = tracks.rawIteratorAt (candidate.kinkDauID );
@@ -670,7 +671,7 @@ struct sigmaHadCorrTask {
670671 auto kinkCands_c1 = kinkCands.sliceBy (kinkCandsPerCollisionPreslice, collision1.globalIndex ());
671672 auto tracks_c1 = tracks.sliceBy (tracksPerCollisionPreslice, collision1.globalIndex ());
672673 auto tracks_c2 = tracks.sliceBy (tracksPerCollisionPreslice, collision2.globalIndex ());
673- fillTreeAndHistograms (kinkCands_c1, tracks_c1 , tracks_c2, collision1, true );
674+ fillTreeAndHistograms (kinkCands_c1, tracks , tracks_c2, collision1, true );
674675
675676 for (const auto & candidate : sigmaHadCandidates) {
676677 auto mcLabelSigma = tracks.rawIteratorAt (candidate.sigmaID );
0 commit comments