@@ -175,33 +175,34 @@ struct UpcRhoAnalysis {
175175 const std::vector<int > runNumbers = {544013 , 544028 , 544032 , 544091 , 544095 , 544098 , 544116 , 544121 , 544122 , 544123 , 544124 , 544184 , 544185 , 544389 , 544390 , 544391 , 544392 , 544451 , 544454 , 544474 , 544475 , 544476 , 544477 , 544490 , 544491 , 544492 , 544508 , 544510 , 544511 , 544512 , 544514 , 544515 , 544518 , 544548 , 544549 , 544550 , 544551 , 544564 , 544565 , 544567 , 544568 , 544580 , 544582 , 544583 , 544585 , 544614 , 544640 , 544652 , 544653 , 544672 , 544674 , 544692 , 544693 , 544694 , 544696 , 544739 , 544742 , 544754 , 544767 , 544794 , 544795 , 544797 , 544813 , 544868 , 544886 , 544887 , 544896 , 544911 , 544913 , 544914 , 544917 , 544931 , 544947 , 544961 , 544963 , 544964 , 544968 , 544991 , 544992 , 545004 , 545008 , 545009 , 545041 , 545042 , 545044 , 545047 , 545060 , 545062 , 545063 , 545064 , 545066 , 545086 , 545103 , 545117 , 545171 , 545184 , 545185 , 545210 , 545222 , 545223 , 545246 , 545249 , 545262 , 545289 , 545291 , 545294 , 545295 , 545296 , 545311 , 545312 , 545332 , 545345 , 545367 };
176176 AxisSpec runNumberAxis = {static_cast <int >(runNumbers.size ()), 0.5 , static_cast <double >(runNumbers.size ()) + 0.5 , " run number" };
177177
178- Configurable<bool > isPO{" isPO" , false , " process proton-oxygen data" };
178+ Configurable<bool > isPO{" isPO" , false , " processing p-O data? " };
179179
180- Configurable<bool > cutGapSide{" cutGapSide" , true , " apply gap side cut" };
180+ Configurable<bool > cutGapSide{" cutGapSide" , true , " apply gap side cut? " };
181181 Configurable<int > gapSide{" gapSide" , 2 , " required gap side" };
182- Configurable<bool > useTrueGap{" useTrueGap" , false , " use true gap" };
182+ Configurable<bool > useTrueGap{" useTrueGap" , false , " use true gap? " };
183183 Configurable<float > cutTrueGapSideFV0{" cutTrueGapSideFV0" , 180000 , " FV0A threshold for SG selector" };
184184 Configurable<float > cutTrueGapSideFT0A{" cutTrueGapSideFT0A" , 150 ., " FT0A threshold for SG selector" };
185185 Configurable<float > cutTrueGapSideFT0C{" cutTrueGapSideFT0C" , 50 ., " FT0C threshold for SG selector" };
186186 Configurable<float > cutTrueGapSideZDC{" cutTrueGapSideZDC" , 10000 ., " ZDC threshold for SG selector. 0 is <1n, 4.2 is <2n, 6.7 is <3n, 9.5 is <4n, 12.5 is <5n" };
187187
188- Configurable<bool > requireTof{" requireTof" , false , " require TOF signal" };
189- Configurable<bool > useRecoFlag{" useRecoFlag" , false , " use reco flag for event selection" };
188+ Configurable<bool > requireTof{" requireTof" , false , " require TOF signal? " };
189+ Configurable<bool > useRecoFlag{" useRecoFlag" , false , " use UPC/STD reconstruction flag for event selection? " };
190190 Configurable<int > cutRecoFlag{" cutRecoFlag" , 1 , " 0 = std mode, 1 = upc mode" };
191- Configurable<bool > useRctFlag{" useRctFlag" , false , " use RCT flags for event selection" };
191+ Configurable<bool > useRctFlag{" useRctFlag" , false , " use RCT flags for event selection? " };
192192 Configurable<int > cutRctFlag{" cutRctFlag" , 0 , " 0 = off, 1 = CBT, 2 = CBT+ZDC, 3 = CBThadron, 4 = CBThadron+ZDC" };
193193
194- Configurable<bool > selectRuns{" selectRuns" , false , " select runs from the list " };
194+ Configurable<bool > selectRuns{" selectRuns" , false , " select runs? " };
195195 Configurable<std::vector<int >> selectedRuns{" selectedRuns" , {544013 , 544028 , 544032 , 544091 , 544095 , 544098 , 544116 , 544121 , 544122 , 544123 , 544124 , 544184 , 544185 , 544389 , 544390 , 544391 , 544392 , 544451 , 544454 , 544474 , 544475 , 544476 , 544477 , 544490 , 544491 , 544492 , 544508 , 544510 , 544511 , 544512 , 544514 , 544515 , 544518 , 544548 , 544549 , 544550 , 544551 , 544564 , 544565 , 544567 , 544568 , 544580 , 544582 , 544583 , 544585 , 544614 , 544640 , 544652 , 544653 , 544672 , 544674 , 544692 , 544693 , 544694 , 544696 , 544739 , 544742 , 544754 , 544767 , 544794 , 544795 , 544797 , 544813 , 544868 , 544886 , 544887 , 544896 , 544913 , 544914 , 544917 , 544931 , 544947 , 544961 , 544963 , 544964 , 544968 , 544992 , 545009 , 545044 , 545047 , 545063 , 545064 , 545066 , 545185 , 545210 , 545223 , 545249 , 545291 , 545294 , 545295 , 545296 , 545312 }, " list of selected runs" };
196196
197197 Configurable<float > collisionsPosZMaxCut{" collisionsPosZMaxCut" , 10.0 , " max Z position cut on collisions" };
198- Configurable<bool > cutNumContribs{" cutNumContribs" , true , " cut on number of contributors" };
198+ Configurable<bool > cutNumContribs{" cutNumContribs" , true , " cut on number of contributors? " };
199199 Configurable<int > collisionsNumContribsMaxCut{" collisionsNumContribsMaxCut" , 2 , " max number of contributors cut on collisions" };
200- Configurable<float > znCommonEnergyCut{" znCommonEnergyCut" , 0.0 , " ZN common energy cut" };
201- Configurable<float > znTimeCut{" znTimeCut" , 2.0 , " ZN time cut" };
200+ Configurable<float > znTimeCut{" znTimeCut" , 2.0 , " ZN time cut (ns)" };
201+ Configurable<bool > cutOccupancy{" cutOccupancy" , true , " cut on collision occupancy?" };
202+ Configurable<float > occupancyCut{" occupancyCut" , 1000.0 , " occupancy cut" };
202203
203204 Configurable<float > tracksTpcNSigmaPiCut{" tracksTpcNSigmaPiCut" , 3.0 , " TPC nSigma pion cut" };
204- Configurable<bool > rejectLowerProbPairs{" rejectLowerProbPairs" , true , " reject track pairs with lower El or Ka PID radii" };
205+ Configurable<bool > rejectLowerProbPairs{" rejectLowerProbPairs" , true , " reject track pairs with smaller El/Ka/Pr PID radii? " };
205206 Configurable<float > tracksDcaMaxCut{" tracksDcaMaxCut" , 1.0 , " max DCA cut on tracks" };
206207 Configurable<int > tracksMinItsNClsCut{" tracksMinItsNClsCut" , 4 , " min ITS clusters cut" };
207208 Configurable<float > tracksMaxItsChi2NClCut{" tracksMaxItsChi2NClCut" , 3.0 , " max ITS chi2/Ncls cut" };
@@ -226,7 +227,7 @@ struct UpcRhoAnalysis {
226227 ConfigurableAxis deltaPhiAxis{" deltaPhiAxis" , {182 , -o2::constants::math::PI, o2::constants::math::PI}, " #Delta#it{#phi} (rad)" };
227228 ConfigurableAxis znCommonEnergyAxis{" znCommonEnergyAxis" , {250 , -5.0 , 20.0 }, " ZN common energy (TeV)" };
228229 ConfigurableAxis znTimeAxis{" znTimeAxis" , {200 , -10.0 , 10.0 }, " ZN time (ns)" };
229- ConfigurableAxis nSigmaAxis{" nSigmaAxis" , {600 , -30 .0 , 30 .0 }, " TPC #it{n#sigma}" };
230+ ConfigurableAxis nSigmaAxis{" nSigmaAxis" , {400 , -20 .0 , 20 .0 }, " TPC #it{n#sigma}" };
230231 ConfigurableAxis resolutionAxis{" resolutionAxis" , {2000 , -1.0 , 1.0 }, " resolution" };
231232
232233 HistogramRegistry rQC{" rQC" , {}, OutputObjHandlingPolicy::AnalysisObject};
@@ -251,35 +252,37 @@ struct UpcRhoAnalysis {
251252 rQC.add (" QC/collisions/all/hTotalFV0AmplitudeA" , " ;FV0A amplitude;counts" , kTH1D , {{300 , 0.0 , 300.0 }});
252253 rQC.add (" QC/collisions/all/hTotalFDDAmplitudeA" , " ;FDDA amplitude;counts" , kTH1D , {{160 , 0.0 , 160.0 }});
253254 rQC.add (" QC/collisions/all/hTotalFDDAmplitudeC" , " ;FDDC amplitude;counts" , kTH1D , {{50 , 0.0 , 50.0 }});
254- rQC.add (" QC/collisions/all/hTimeFT0A" , " ;FT0A time (ns);counts" , kTH1D , {{500 , -10 .0 , 40 .0 }});
255- rQC.add (" QC/collisions/all/hTimeFT0C" , " ;FT0C time (ns);counts" , kTH1D , {{500 , -10 .0 , 40 .0 }});
256- rQC.add (" QC/collisions/all/hTimeFV0A" , " ;FV0A time (ns);counts" , kTH1D , {{500 , -10 .0 , 40 .0 }});
257- rQC.add (" QC/collisions/all/hTimeFDDA" , " ;FDDA time (ns);counts" , kTH1D , {{500 , -10 .0 , 40 .0 }});
258- rQC.add (" QC/collisions/all/hTimeFDDC" , " ;FDDC time (ns);counts" , kTH1D , {{500 , -10 .0 , 40 .0 }});
259- rQC.add (" QC/collisions/all/hOccupancyInTime" , " ;occupancy in time;counts" , kTH1D , {{1100 , - 100 .0 , 1000 .0 }});
255+ rQC.add (" QC/collisions/all/hTimeFT0A" , " ;FT0A time (ns);counts" , kTH1D , {{400 , -5 .0 , 35 .0 }});
256+ rQC.add (" QC/collisions/all/hTimeFT0C" , " ;FT0C time (ns);counts" , kTH1D , {{400 , -5 .0 , 35 .0 }});
257+ rQC.add (" QC/collisions/all/hTimeFV0A" , " ;FV0A time (ns);counts" , kTH1D , {{400 , -5 .0 , 35 .0 }});
258+ rQC.add (" QC/collisions/all/hTimeFDDA" , " ;FDDA time (ns);counts" , kTH1D , {{400 , -5 .0 , 35 .0 }});
259+ rQC.add (" QC/collisions/all/hTimeFDDC" , " ;FDDC time (ns);counts" , kTH1D , {{400 , -5 .0 , 35 .0 }});
260+ rQC.add (" QC/collisions/all/hOccupancyInTime" , " ;occupancy in time;counts" , kTH1D , {{1100 , 0 .0 , 1100 .0 }});
260261 // events with selected rho candidates
261262 rQC.addClone (" QC/collisions/all/" , " QC/collisions/trackSelections/" );
262263 rQC.addClone (" QC/collisions/all/" , " QC/collisions/systemSelections/" );
263264
264- std::vector<std::string> collisionSelectionCounterLabels = {" all collisions" , " rapidity gap" , " ITS-TPC vertex" , " same bunch pile-up" , " ITS ROF border" , " TF border" , " #it{z} position" , " number of contributors" , " RCT selections" , " reco flag selection" };
265+ std::vector<std::string> collisionSelectionCounterLabels = {" all collisions" , " rapidity gap" , " ITS-TPC vertex" , " same bunch pile-up" , " ITS ROF border" , " TF border" , " #it{z} position" , " number of contributors" , " RCT selections" , " reco flag selection" , " occupancy selection " };
265266 rQC.add (" QC/collisions/hSelectionCounter" , " ;;collisions passing selections" , kTH1D , {{static_cast <int >(collisionSelectionCounterLabels.size ()), -0.5 , static_cast <float >(collisionSelectionCounterLabels.size ()) - 0.5 }});
266267 rQC.add (" QC/collisions/hSelectionCounterPerRun" , " ;;run number;collisions passing selections" , kTH2D , {{static_cast <int >(collisionSelectionCounterLabels.size ()), -0.5 , static_cast <float >(collisionSelectionCounterLabels.size ()) - 0.5 }, runNumberAxis});
267268 for (int i = 0 ; i < static_cast <int >(collisionSelectionCounterLabels.size ()); ++i) {
268269 rQC.get <TH1>(HIST (" QC/collisions/hSelectionCounter" ))->GetXaxis ()->SetBinLabel (i + 1 , collisionSelectionCounterLabels[i].c_str ());
269270 rQC.get <TH2>(HIST (" QC/collisions/hSelectionCounterPerRun" ))->GetXaxis ()->SetBinLabel (i + 1 , collisionSelectionCounterLabels[i].c_str ());
270271 }
272+ for (int i = 0 ; i < static_cast <int >(runNumbers.size ()); ++i)
273+ rQC.get <TH2>(HIST (" QC/collisions/hSelectionCounterPerRun" ))->GetYaxis ()->SetBinLabel (i + 1 , std::to_string (runNumbers[i]).c_str ());
271274 // tracks
272275 rQC.add (" QC/tracks/all/hTpcNSigmaPi" , " ;TPC #it{n#sigma}(#pi);counts" , kTH1D , {nSigmaAxis});
273276 rQC.add (" QC/tracks/all/hTpcNSigmaEl" , " ;TPC #it{n#sigma}(e);counts" , kTH1D , {nSigmaAxis});
274277 rQC.add (" QC/tracks/all/hTpcNSigmaKa" , " ;TPC #it{n#sigma}(K);counts" , kTH1D , {nSigmaAxis});
275278 rQC.add (" QC/tracks/all/hTpcNSigmaPr" , " ;TPC #it{n#sigma}(p);counts" , kTH1D , {nSigmaAxis});
276279 rQC.add (" QC/tracks/all/hDcaXYZ" , " ;track #it{DCA}_{z} (cm);track #it{DCA}_{xy} (cm);counts" , kTH2D , {{1000 , -5.0 , 5.0 }, {400 , -2.0 , 2.0 }});
277- rQC.add (" QC/tracks/all/hItsNCls" , " ;ITS #it{N}_{cls};counts" , kTH1D , {{11 , -0.5 , 10 .5 }});
278- rQC.add (" QC/tracks/all/hItsChi2NCl" , " ;ITS #it{#chi}^{2}/#it{N}_{cls};counts" , kTH1D , {{200 , 0.0 , 20 .0 }});
279- rQC.add (" QC/tracks/all/hTpcChi2NCl" , " ;TPC #it{#chi}^{2}/#it{N}_{cls};counts" , kTH1D , {{200 , 0.0 , 20 .0 }});
280+ rQC.add (" QC/tracks/all/hItsNCls" , " ;ITS #it{N}_{cls};counts" , kTH1D , {{9 , -0.5 , 8 .5 }});
281+ rQC.add (" QC/tracks/all/hItsChi2NCl" , " ;ITS #it{#chi}^{2}/#it{N}_{cls};counts" , kTH1D , {{150 , 0.0 , 15 .0 }});
282+ rQC.add (" QC/tracks/all/hTpcChi2NCl" , " ;TPC #it{#chi}^{2}/#it{N}_{cls};counts" , kTH1D , {{150 , 0.0 , 15 .0 }});
280283 rQC.add (" QC/tracks/all/hTpcNCls" , " ;found TPC #it{N}_{cls};counts" , kTH1D , {{160 , 0.0 , 160.0 }}); // tpcNClsFindable() - track.tpcNClsFindableMinusFound
281284 rQC.add (" QC/tracks/all/hTpcNClsCrossedRows" , " ;TPC crossed rows;counts" , kTH1D , {{160 , 0.0 , 160.0 }});
282- rQC.add (" QC/tracks/all/hTpcNClsCrossedRowsOverNClsFindable" , " ;TPC crossed rows/findable #it{N}_{cls};counts" , kTH1D , {{300 , 0.5 , 2.5 }});
285+ rQC.add (" QC/tracks/all/hTpcNClsCrossedRowsOverNClsFindable" , " ;TPC crossed rows/findable #it{N}_{cls};counts" , kTH1D , {{160 , 0.6 , 2.2 }});
283286 rQC.add (" QC/tracks/all/hPt" , " ;#it{p}_{T} (GeV/#it{c});counts" , kTH1D , {ptAxis});
284287 rQC.add (" QC/tracks/all/hEta" , " ;#it{#eta};counts" , kTH1D , {etaAxis});
285288 rQC.add (" QC/tracks/all/hPhi" , " ;#it{#phi} (rad);counts" , kTH1D , {phiAxis});
@@ -400,14 +403,14 @@ struct UpcRhoAnalysis {
400403 rResolution.add (" MC/resolution/collisions/hPosZ" , " ;vertex #it{z}_{reco} - vertex #it{z}_{true} (cm);counts" , kTH1D , {resolutionAxis});
401404 // track matching and resolutions
402405 rResolution.add (" MC/resolution/tracks/hMatch" , " ;matched;counts" , kTH1D , {{2 , -0.5 , 1.5 }});
403- rResolution.add (" MC/resolution/tracks/hPt" , " ;#it{p}_{T, reco} - #it{p}_{T, true} (GeV/#it{c});counts" , kTH1D , {resolutionAxis});
406+ rResolution.add (" MC/resolution/tracks/hPt" , " ;1/ #it{p}_{T, reco} - 1/ #it{p}_{T, true} (1/( GeV/#it{c}) );counts" , kTH1D , {resolutionAxis});
404407 rResolution.add (" MC/resolution/tracks/hEta" , " ;#it{#eta}_{reco} - #it{#eta}_{true};counts" , kTH1D , {resolutionAxis});
405408 rResolution.add (" MC/resolution/tracks/hPhi" , " ;#it{#phi}_{reco} - #it{#phi}_{true} (rad);counts" , kTH1D , {resolutionAxis});
406409 // dipion system resolutions (1D and 2D)
407410 rResolution.add (" MC/resolution/system/1D/hM" , " ;#it{m}_{reco} - #it{m}_{true} (GeV/#it{c}^{2});counts" , kTH1D , {resolutionAxis});
408411 rResolution.add (" MC/resolution/system/2D/hMVsM" , " ;#it{m}_{true} (GeV/#it{c}^{2});#it{m}_{reco} (GeV/#it{c}^{2});counts" , kTH2D , {mAxis , mAxis });
409- rResolution.add (" MC/resolution/system/1D/hPt" , " ;#it{p}_{T, reco} - #it{p}_{T, true} (GeV/#it{c});counts" , kTH1D , {resolutionAxis});
410- rResolution.add (" MC/resolution/system/2D/hPtVsPt" , " ;#it{p}_{T, true} (GeV/#it{c});#it{p}_{T, reco} (GeV/#it{c});counts" , kTH2D , {ptAxis, ptAxis});
412+ rResolution.add (" MC/resolution/system/1D/hPt" , " ;1/ #it{p}_{T, reco} - 1/ #it{p}_{T, true} (1/( GeV/#it{c}) );counts" , kTH1D , {resolutionAxis});
413+ rResolution.add (" MC/resolution/system/2D/hPtVsPt" , " ;1/ #it{p}_{T, true} (GeV/#it{c});#it{p}_{T, reco} (GeV/#it{c});counts" , kTH2D , {ptAxis, ptAxis});
411414 rResolution.add (" MC/resolution/system/1D/hY" , " ;#it{y}_{reco} - #it{y}_{true};counts" , kTH1D , {resolutionAxis});
412415 rResolution.add (" MC/resolution/system/2D/hYVsY" , " ;#it{y}_{true};#it{y}_{reco};counts" , kTH2D , {yAxis, yAxis});
413416 rResolution.add (" MC/resolution/system/1D/hDeltaPhi" , " ;#Delta#it{#phi}_{reco} - #Delta#it{#phi}_{true} (rad);counts" , kTH1D , {resolutionAxis});
@@ -451,6 +454,7 @@ struct UpcRhoAnalysis {
451454 rQC.fill (HIST (" QC/tracks/" ) + HIST (AppliedSelections[cuts]) + HIST (" hTpcNSigmaPi" ), track.tpcNSigmaPi ());
452455 rQC.fill (HIST (" QC/tracks/" ) + HIST (AppliedSelections[cuts]) + HIST (" hTpcNSigmaEl" ), track.tpcNSigmaEl ());
453456 rQC.fill (HIST (" QC/tracks/" ) + HIST (AppliedSelections[cuts]) + HIST (" hTpcNSigmaKa" ), track.tpcNSigmaKa ());
457+ rQC.fill (HIST (" QC/tracks/" ) + HIST (AppliedSelections[cuts]) + HIST (" hTpcNSigmaPr" ), track.tpcNSigmaPr ());
454458 rQC.fill (HIST (" QC/tracks/" ) + HIST (AppliedSelections[cuts]) + HIST (" hDcaXYZ" ), track.dcaZ (), track.dcaXY ());
455459 rQC.fill (HIST (" QC/tracks/" ) + HIST (AppliedSelections[cuts]) + HIST (" hItsNCls" ), track.itsNCls ());
456460 rQC.fill (HIST (" QC/tracks/" ) + HIST (AppliedSelections[cuts]) + HIST (" hItsChi2NCl" ), track.itsChi2NCl ());
@@ -585,6 +589,13 @@ struct UpcRhoAnalysis {
585589 rQC.fill (HIST (" QC/collisions/hSelectionCounterPerRun" ), 9 , runIndex);
586590 }
587591
592+ if (cutOccupancy) {
593+ if (collision.occupancyInTime () > occupancyCut)
594+ return false ;
595+ rQC.fill (HIST (" QC/collisions/hSelectionCounter" ), 10 );
596+ rQC.fill (HIST (" QC/collisions/hSelectionCounterPerRun" ), 10 , runIndex);
597+ }
598+
588599 // if all selections passed
589600 return true ;
590601 }
@@ -805,20 +816,19 @@ struct UpcRhoAnalysis {
805816 if (std::isinf (timeZNC))
806817 timeZNC = -999 ;
807818
808- if (energyCommonZNA <= znCommonEnergyCut && energyCommonZNC <= znCommonEnergyCut ) {
819+ if (std::abs (timeZNA) > znTimeCut && std::abs (timeZNC) > znTimeCut ) {
809820 onon = true ;
810821 neutronClass = 0 ;
811822 }
812- if (energyCommonZNA > znCommonEnergyCut && std::abs (timeZNA) <= znTimeCut && energyCommonZNC <= znCommonEnergyCut ) {
823+ if (std::abs (timeZNA) <= znTimeCut && std::abs (timeZNC) > znTimeCut ) {
813824 xnon = true ;
814825 neutronClass = 1 ;
815826 }
816- if (energyCommonZNA <= znCommonEnergyCut && energyCommonZNC > znCommonEnergyCut && std::abs (timeZNC) <= znTimeCut) {
827+ if (std::abs (timeZNA) > znTimeCut && std::abs (timeZNC) <= znTimeCut) {
817828 onxn = true ;
818829 neutronClass = 2 ;
819830 }
820- if (energyCommonZNA > znCommonEnergyCut && std::abs (timeZNA) <= znTimeCut &&
821- energyCommonZNC > znCommonEnergyCut && std::abs (timeZNC) <= znTimeCut) {
831+ if (std::abs (timeZNA) <= znTimeCut && std::abs (timeZNC) <= znTimeCut) {
822832 xnxn = true ;
823833 neutronClass = 3 ;
824834 }
@@ -1145,7 +1155,7 @@ struct UpcRhoAnalysis {
11451155 auto mcParticle = track.udMcParticle ();
11461156 if (std::abs (mcParticle.pdgCode ()) != kPiPlus && !mcParticle.isPhysicalPrimary ())
11471157 continue ;
1148- rResolution.fill (HIST (" MC/resolution/tracks/hPt" ), pt (track.px (), track.py ()) - pt (mcParticle.px (), mcParticle.py ()));
1158+ rResolution.fill (HIST (" MC/resolution/tracks/hPt" ), 1.0 / pt (track.px (), track.py ()) - 1.0 / pt (mcParticle.px (), mcParticle.py ()));
11491159 rResolution.fill (HIST (" MC/resolution/tracks/hEta" ), eta (track.px (), track.py (), track.pz ()) - eta (mcParticle.px (), mcParticle.py (), mcParticle.pz ()));
11501160 rResolution.fill (HIST (" MC/resolution/tracks/hPhi" ), phi (track.px (), track.py ()) - phi (mcParticle.px (), mcParticle.py ()));
11511161 truePionLVs.push_back (ROOT::Math::PxPyPzMVector (mcParticle.px (), mcParticle.py (), mcParticle.pz (), o2::constants::physics::MassPionCharged));
@@ -1164,7 +1174,7 @@ struct UpcRhoAnalysis {
11641174
11651175 rResolution.fill (HIST (" MC/resolution/system/1D/hM" ), recoSystem.M () - trueSystem.M ());
11661176 rResolution.fill (HIST (" MC/resolution/system/2D/hMVsM" ), trueSystem.M (), recoSystem.M ());
1167- rResolution.fill (HIST (" MC/resolution/system/1D/hPt" ), recoSystem.Pt () - trueSystem.Pt ());
1177+ rResolution.fill (HIST (" MC/resolution/system/1D/hPt" ), 1.0 / recoSystem.Pt () - 1.0 / trueSystem.Pt ());
11681178 rResolution.fill (HIST (" MC/resolution/system/2D/hPtVsPt" ), trueSystem.Pt (), recoSystem.Pt ());
11691179 rResolution.fill (HIST (" MC/resolution/system/1D/hY" ), recoSystem.Rapidity () - trueSystem.Rapidity ());
11701180 rResolution.fill (HIST (" MC/resolution/system/2D/hYVsY" ), trueSystem.Rapidity (), recoSystem.Rapidity ());
0 commit comments