@@ -123,6 +123,11 @@ struct derivedCascadeAnalysis {
123123 Configurable<bool > doNTOFSigmaProtonCut{" doNTOFSigmaProtonCut" , true , " Enable n sigma TOF PID cut for proton from V0" };
124124 Configurable<bool > doNTOFSigmaV0PionCut{" doNTOFSigmaV0PionCut" , false , " Enable n sigma TOF PID cut for pion from V0" };
125125 Configurable<bool > doNTOFSigmaBachelorCut{" doNTOFSigmaBachelorCut" , false , " Enable n sigma TOF PID cut for bachelor track" };
126+ Configurable<bool > doFillNsigmaTPCHistPionBach{" doFillNsigmaTPCHistPionBach" , false , " " };
127+ Configurable<bool > doFillNsigmaTPCHistKaonBach{" doFillNsigmaTPCHistKaonBach" , false , " " };
128+ Configurable<bool > doFillNsigmaTPCHistProton{" doFillNsigmaTPCHistProton" , false , " " };
129+ Configurable<bool > doFillNsigmaTPCHistV0Pion{" doFillNsigmaTPCHistV0Pion" , false , " " };
130+ Configurable<int > nPtBinsForNsigmaTPC{" nPtBinsForNsigmaTPC" , 100 , " " };
126131
127132 Configurable<float > cosPApar0{" cosPApar0" , 0.2 , " const par for pt dep cosPA cut" };
128133 Configurable<float > cosPApar1{" cosPApar1" , -0.022 , " linear par for pt dep cosPA cut" };
@@ -157,13 +162,20 @@ struct derivedCascadeAnalysis {
157162 histos.add (" hCandidate" , " hCandidate" , HistType::kTH1D , {{22 , -0.5 , 21.5 }});
158163 histos.add (" hCutValue" , " hCutValue" , HistType::kTH2D , {{22 , -0.5 , 21.5 }, {300 , 0 , 3.01 }});
159164
160- histos.add (" hNsigmaProton" , " hNsigmaProton" , HistType::kTH3D , {{175 , -7 , 7 }, {100 , 0 , 10 }, {100 , 0 , 100 }});
161- histos.add (" hNsigmaPionPos" , " hNsigmaPionPos" , HistType::kTH3D , {{175 , -7 , 7 }, {100 , 0 , 10 }, {100 , 0 , 100 }});
162- histos.add (" hNsigmaPionPosBach" , " hNsigmaPionPosBach" , HistType::kTH3D , {{175 , -7 , 7 }, {100 , 0 , 10 }, {100 , 0 , 100 }});
163- histos.add (" hNsigmaProtonNeg" , " hNsigmaProtonNeg" , HistType::kTH3D , {{175 , -7 , 7 }, {100 , 0 , 10 }, {100 , 0 , 100 }});
164- histos.add (" hNsigmaPionNeg" , " hNsigmaPionNeg" , HistType::kTH3D , {{175 , -7 , 7 }, {100 , 0 , 10 }, {100 , 0 , 100 }});
165- histos.add (" hNsigmaPionNegBach" , " hNsigmaPionNegBach" , HistType::kTH3D , {{175 , -7 , 7 }, {100 , 0 , 10 }, {100 , 0 , 100 }});
166- histos.add (" hNsigmaKaon" , " hNsigmaKaon" , HistType::kTH3D , {{175 , -7 , 7 }, {100 , 0 , 10 }, {100 , 0 , 100 }});
165+ if (doFillNsigmaTPCHistProton) {
166+ histos.add (" hNsigmaProton" , " hNsigmaProton" , HistType::kTH3D , {{280 , -7 , 7 }, {nPtBinsForNsigmaTPC, 0 , 6 }, {100 , 0 , 100 }});
167+ histos.add (" hNsigmaProtonNeg" , " hNsigmaProtonNeg" , HistType::kTH3D , {{280 , -7 , 7 }, {nPtBinsForNsigmaTPC, 0 , 6 }, {100 , 0 , 100 }});
168+ }
169+ if (doFillNsigmaTPCHistV0Pion) {
170+ histos.add (" hNsigmaPionNeg" , " hNsigmaPionNeg" , HistType::kTH3D , {{280 , -7 , 7 }, {nPtBinsForNsigmaTPC, 0 , 2 }, {100 , 0 , 100 }});
171+ histos.add (" hNsigmaPionPos" , " hNsigmaPionPos" , HistType::kTH3D , {{280 , -7 , 7 }, {nPtBinsForNsigmaTPC, 0 , 2 }, {100 , 0 , 100 }});
172+ }
173+ if (doFillNsigmaTPCHistPionBach) {
174+ histos.add (" hNsigmaPionPosBach" , " hNsigmaPionPosBach" , HistType::kTH3D , {{280 , -7 , 7 }, {nPtBinsForNsigmaTPC, 0 , 2 }, {100 , 0 , 100 }});
175+ histos.add (" hNsigmaPionNegBach" , " hNsigmaPionNegBach" , HistType::kTH3D , {{280 , -7 , 7 }, {nPtBinsForNsigmaTPC, 0 , 2 }, {100 , 0 , 100 }});
176+ }
177+ if (doFillNsigmaTPCHistKaonBach)
178+ histos.add (" hNsigmaKaon" , " hNsigmaKaon" , HistType::kTH3D , {{280 , -7 , 7 }, {nPtBinsForNsigmaTPC, 0 , 6 }, {100 , 0 , 100 }});
167179
168180 if (doNTOFSigmaProtonCut)
169181 histos.add (" hNsigmaTOFProton" , " " , HistType::kTH3D , {{70 , -7 , 7 }, {100 , 0 , 10 }, {100 , 0 , 100 }});
@@ -605,6 +617,11 @@ struct derivedCascadeAnalysis {
605617 auto poseta = RecoDecay::eta (std::array{casc.pxpos (), casc.pypos (), casc.pzpos ()});
606618 auto negeta = RecoDecay::eta (std::array{casc.pxneg (), casc.pyneg (), casc.pzneg ()});
607619 auto bacheta = RecoDecay::eta (std::array{casc.pxbach (), casc.pybach (), casc.pzbach ()});
620+
621+ auto fullMomentumPosDaugh = TMath::Sqrt (TMath::Power (casc.pxpos (), 2 ) + TMath::Power (casc.pypos (), 2 ) + TMath::Power (casc.pzpos (), 2 ));
622+ auto fullmomentumNegDaugh = TMath::Sqrt (TMath::Power (casc.pxneg (), 2 ) + TMath::Power (casc.pyneg (), 2 ) + TMath::Power (casc.pzneg (), 2 ));
623+ auto fullmomentumBachelor = TMath::Sqrt (TMath::Power (casc.pxbach (), 2 ) + TMath::Power (casc.pybach (), 2 ) + TMath::Power (casc.pzbach (), 2 ));
624+
608625 float cut = etaDauCut;
609626 histos.fill (HIST (" hCutValue" ), counter + 1 , cut);
610627 if (TMath::Abs (poseta) > etaDauCut || TMath::Abs (negeta) > etaDauCut || TMath::Abs (bacheta) > etaDauCut)
@@ -629,22 +646,43 @@ struct derivedCascadeAnalysis {
629646 ++counter;
630647 }
631648
632- if (doNTPCSigmaCut) {
633- if (casc.sign () < 0 ) {
634- histos.fill (HIST (" hNsigmaProton" ), posExtra.tpcNSigmaPr (), TMath::Sqrt (TMath::Power (casc.pxpos (), 2 ) + TMath::Power (casc.pypos (), 2 ) + TMath::Power (casc.pzpos (), 2 )), coll.centFT0C ());
635- histos.fill (HIST (" hNsigmaPionNeg" ), negExtra.tpcNSigmaPi (), TMath::Sqrt (TMath::Power (casc.pxneg (), 2 ) + TMath::Power (casc.pyneg (), 2 ) + TMath::Power (casc.pzneg (), 2 )), coll.centFT0C ());
649+ if (casc.sign () < 0 ) {
650+ if (doFillNsigmaTPCHistProton)
651+ histos.fill (HIST (" hNsigmaProton" ), posExtra.tpcNSigmaPr (), fullMomentumPosDaugh, coll.centFT0C ());
652+ if (doFillNsigmaTPCHistV0Pion)
653+ histos.fill (HIST (" hNsigmaPionNeg" ), negExtra.tpcNSigmaPi (), fullmomentumNegDaugh, coll.centFT0C ());
654+ if (doFillNsigmaTPCHistPionBach && isXi)
655+ histos.fill (HIST (" hNsigmaPionNegBach" ), bachExtra.tpcNSigmaPi (), fullmomentumBachelor, coll.centFT0C ());
656+ if (doFillNsigmaTPCHistPionBach && !isXi)
657+ histos.fill (HIST (" hNsigmaKaon" ), bachExtra.tpcNSigmaPi (), fullmomentumBachelor, coll.centFT0C ());
658+
659+ } else if (casc.sign () > 0 ) {
660+ if (doFillNsigmaTPCHistV0Pion)
661+ histos.fill (HIST (" hNsigmaPionPos" ), posExtra.tpcNSigmaPi (), fullMomentumPosDaugh, coll.centFT0C ());
662+ if (doFillNsigmaTPCHistProton)
663+ histos.fill (HIST (" hNsigmaProtonNeg" ), negExtra.tpcNSigmaPr (), fullmomentumNegDaugh, coll.centFT0C ());
664+ if (doFillNsigmaTPCHistPionBach && isXi)
665+ histos.fill (HIST (" hNsigmaPionPosBach" ), bachExtra.tpcNSigmaPi (), fullmomentumBachelor, coll.centFT0C ());
666+ if (doFillNsigmaTPCHistPionBach && !isXi)
667+ histos.fill (HIST (" hNsigmaKaon" ), bachExtra.tpcNSigmaPi (), fullmomentumBachelor, coll.centFT0C ());
668+ }
669+
670+ if (casc.sign () < 0 ) {
671+ if (doNTPCSigmaCut) {
636672 if (TMath::Abs (posExtra.tpcNSigmaPr ()) > nsigmatpcPr || TMath::Abs (negExtra.tpcNSigmaPi ()) > nsigmatpcPi)
637673 continue ;
638674 histos.fill (HIST (" hCandidate" ), ++counter);
639- } else if (casc.sign () > 0 ) {
640- histos.fill (HIST (" hNsigmaPionPos" ), posExtra.tpcNSigmaPi (), TMath::Sqrt (TMath::Power (casc.pxpos (), 2 ) + TMath::Power (casc.pypos (), 2 ) + TMath::Power (casc.pzpos (), 2 )), coll.centFT0C ());
641- histos.fill (HIST (" hNsigmaProtonNeg" ), negExtra.tpcNSigmaPr (), TMath::Sqrt (TMath::Power (casc.pxneg (), 2 ) + TMath::Power (casc.pyneg (), 2 ) + TMath::Power (casc.pzneg (), 2 )), coll.centFT0C ());
675+ } else {
676+ ++counter;
677+ }
678+ } else if (casc.sign () > 0 ) {
679+ if (doNTPCSigmaCut) {
642680 if (TMath::Abs (posExtra.tpcNSigmaPi ()) > nsigmatpcPi || TMath::Abs (negExtra.tpcNSigmaPr ()) > nsigmatpcPr)
643681 continue ;
644682 histos.fill (HIST (" hCandidate" ), ++counter);
683+ } else {
684+ ++counter;
645685 }
646- } else {
647- ++counter;
648686 }
649687
650688 if (posExtra.tpcCrossedRows () < mintpccrrows || negExtra.tpcCrossedRows () < mintpccrrows || bachExtra.tpcCrossedRows () < mintpccrrows)
@@ -672,41 +710,36 @@ struct derivedCascadeAnalysis {
672710 cut = ctau;
673711 histos.fill (HIST (" hCutValue" ), 22 , cut);
674712
675- double fullmomentum;
676-
677713 if (posExtra.hasTOF ()) {
678- fullmomentum = TMath::Sqrt ( TMath::Power (casc. pxpos (), 2 ) + TMath::Power (casc. pypos (), 2 ) + TMath::Power (casc. pzpos (), 2 ));
714+
679715 if (doNTOFSigmaProtonCut && casc.sign () < 0 ) {
680- histos.fill (HIST (" hNsigmaTOFProton" ), casc.tofNSigmaXiLaPr (), fullmomentum , coll.centFT0C ());
681- if (TMath::Abs (casc.tofNSigmaXiLaPr ()) > nsigmatofPr && fullmomentum > 0.6 )
716+ histos.fill (HIST (" hNsigmaTOFProton" ), casc.tofNSigmaXiLaPr (), fullMomentumPosDaugh , coll.centFT0C ());
717+ if (TMath::Abs (casc.tofNSigmaXiLaPr ()) > nsigmatofPr && fullMomentumPosDaugh > 0.6 )
682718 continue ;
683719 }
684720 if (doNTOFSigmaV0PionCut && casc.sign () > 0 ) {
685- histos.fill (HIST (" hNsigmaTOFV0Pion" ), casc.tofNSigmaXiLaPi (), fullmomentum , coll.centFT0C ());
721+ histos.fill (HIST (" hNsigmaTOFV0Pion" ), casc.tofNSigmaXiLaPi (), fullMomentumPosDaugh , coll.centFT0C ());
686722 if (TMath::Abs (casc.tofNSigmaXiLaPi ()) > nsigmatofPion)
687723 continue ;
688724 }
689725 }
690726
691727 if (negExtra.hasTOF ()) {
692- fullmomentum = TMath::Sqrt ( TMath::Power (casc. pxneg (), 2 ) + TMath::Power (casc. pyneg (), 2 ) + TMath::Power (casc. pzneg (), 2 ));
728+
693729 if (doNTOFSigmaProtonCut && casc.sign () > 0 ) {
694- histos.fill (HIST (" hNsigmaTOFProton" ), casc.tofNSigmaXiLaPr (), fullmomentum , coll.centFT0C ());
695- if (TMath::Abs (casc.tofNSigmaXiLaPr ()) > nsigmatofPr && fullmomentum > 0.6 )
730+ histos.fill (HIST (" hNsigmaTOFProton" ), casc.tofNSigmaXiLaPr (), fullmomentumNegDaugh , coll.centFT0C ());
731+ if (TMath::Abs (casc.tofNSigmaXiLaPr ()) > nsigmatofPr && fullmomentumNegDaugh > 0.6 )
696732 continue ;
697733 }
698734 if (doNTOFSigmaV0PionCut && casc.sign () < 0 ) {
699- histos.fill (HIST (" hNsigmaTOFV0Pion" ), casc.tofNSigmaXiLaPi (), fullmomentum , coll.centFT0C ());
735+ histos.fill (HIST (" hNsigmaTOFV0Pion" ), casc.tofNSigmaXiLaPi (), fullmomentumNegDaugh , coll.centFT0C ());
700736 if (TMath::Abs (casc.tofNSigmaXiLaPi ()) > nsigmatofPion)
701737 continue ;
702738 }
703739 }
704740
705741 if (isXi) {
706- if (casc.sign () < 0 )
707- histos.fill (HIST (" hNsigmaPionNegBach" ), bachExtra.tpcNSigmaPi (), TMath::Sqrt (TMath::Power (casc.pxbach (), 2 ) + TMath::Power (casc.pybach (), 2 ) + TMath::Power (casc.pzbach (), 2 )), coll.centFT0C ());
708- else
709- histos.fill (HIST (" hNsigmaPionPosBach" ), bachExtra.tpcNSigmaPi (), TMath::Sqrt (TMath::Power (casc.pxbach (), 2 ) + TMath::Power (casc.pybach (), 2 ) + TMath::Power (casc.pzbach (), 2 )), coll.centFT0C ());
742+
710743 if (doNTPCSigmaCut) {
711744 if (TMath::Abs (bachExtra.tpcNSigmaPi ()) > nsigmatpcPi)
712745 continue ;
@@ -716,7 +749,7 @@ struct derivedCascadeAnalysis {
716749 }
717750
718751 if (bachExtra.hasTOF () && doNTOFSigmaBachelorCut) {
719- histos.fill (HIST (" hNsigmaTOFBachelorPion" ), casc.tofNSigmaXiPi (), TMath::Sqrt ( TMath::Power (casc. pxbach (), 2 ) + TMath::Power (casc. pybach (), 2 ) + TMath::Power (casc. pzbach (), 2 )) , coll.centFT0C ());
752+ histos.fill (HIST (" hNsigmaTOFBachelorPion" ), casc.tofNSigmaXiPi (), fullmomentumBachelor , coll.centFT0C ());
720753 if (TMath::Abs (casc.tofNSigmaXiPi ()) > nsigmatofBachPion)
721754 continue ;
722755 }
@@ -730,7 +763,6 @@ struct derivedCascadeAnalysis {
730763 ++counter;
731764 }
732765 } else {
733- histos.fill (HIST (" hNsigmaKaon" ), bachExtra.tpcNSigmaKa (), TMath::Sqrt (TMath::Power (casc.pxbach (), 2 ) + TMath::Power (casc.pybach (), 2 ) + TMath::Power (casc.pzbach (), 2 )), coll.centFT0C ());
734766 if (doNTPCSigmaCut) {
735767 if (TMath::Abs (bachExtra.tpcNSigmaKa ()) > nsigmatpcKa)
736768 continue ;
@@ -843,6 +875,11 @@ struct derivedCascadeAnalysis {
843875 auto poseta = RecoDecay::eta (std::array{casc.pxpos (), casc.pypos (), casc.pzpos ()});
844876 auto negeta = RecoDecay::eta (std::array{casc.pxneg (), casc.pyneg (), casc.pzneg ()});
845877 auto bacheta = RecoDecay::eta (std::array{casc.pxbach (), casc.pybach (), casc.pzbach ()});
878+
879+ auto fullMomentumPosDaugh = TMath::Sqrt (TMath::Power (casc.pxpos (), 2 ) + TMath::Power (casc.pypos (), 2 ) + TMath::Power (casc.pzpos (), 2 ));
880+ auto fullmomentumNegDaugh = TMath::Sqrt (TMath::Power (casc.pxneg (), 2 ) + TMath::Power (casc.pyneg (), 2 ) + TMath::Power (casc.pzneg (), 2 ));
881+ auto fullmomentumBachelor = TMath::Sqrt (TMath::Power (casc.pxbach (), 2 ) + TMath::Power (casc.pybach (), 2 ) + TMath::Power (casc.pzbach (), 2 ));
882+
846883 if (TMath::Abs (poseta) > etaDauCut || TMath::Abs (negeta) > etaDauCut || TMath::Abs (bacheta) > etaDauCut)
847884 continue ;
848885 histos.fill (HIST (" hCandidate" ), ++counter);
@@ -863,22 +900,44 @@ struct derivedCascadeAnalysis {
863900 ++counter;
864901 }
865902
866- if (doNTPCSigmaCut) {
867- if (casc.sign () < 0 ) {
868- histos.fill (HIST (" hNsigmaProton" ), posExtra.tpcNSigmaPr (), TMath::Sqrt (TMath::Power (casc.pxpos (), 2 ) + TMath::Power (casc.pypos (), 2 ) + TMath::Power (casc.pzpos (), 2 )), coll.centFT0C ());
869- histos.fill (HIST (" hNsigmaPionNeg" ), negExtra.tpcNSigmaPi (), TMath::Sqrt (TMath::Power (casc.pxneg (), 2 ) + TMath::Power (casc.pyneg (), 2 ) + TMath::Power (casc.pzneg (), 2 )), coll.centFT0C ());
903+ if (casc.sign () < 0 ) {
904+ if (doFillNsigmaTPCHistProton)
905+ histos.fill (HIST (" hNsigmaProton" ), posExtra.tpcNSigmaPr (), fullMomentumPosDaugh, coll.centFT0C ());
906+ if (doFillNsigmaTPCHistV0Pion)
907+ histos.fill (HIST (" hNsigmaPionNeg" ), negExtra.tpcNSigmaPi (), fullmomentumNegDaugh, coll.centFT0C ());
908+ if (doFillNsigmaTPCHistPionBach && isXi)
909+ histos.fill (HIST (" hNsigmaPionNegBach" ), bachExtra.tpcNSigmaPi (), fullmomentumBachelor, coll.centFT0C ());
910+ if (doFillNsigmaTPCHistPionBach && !isXi)
911+ histos.fill (HIST (" hNsigmaKaon" ), bachExtra.tpcNSigmaPi (), fullmomentumBachelor, coll.centFT0C ());
912+
913+ } else if (casc.sign () > 0 ) {
914+ if (doFillNsigmaTPCHistV0Pion)
915+ histos.fill (HIST (" hNsigmaPionPos" ), posExtra.tpcNSigmaPi (), fullMomentumPosDaugh, coll.centFT0C ());
916+ if (doFillNsigmaTPCHistProton)
917+ histos.fill (HIST (" hNsigmaProtonNeg" ), negExtra.tpcNSigmaPr (), fullmomentumNegDaugh, coll.centFT0C ());
918+ if (doFillNsigmaTPCHistPionBach && isXi)
919+ histos.fill (HIST (" hNsigmaPionPosBach" ), bachExtra.tpcNSigmaPi (), fullmomentumBachelor, coll.centFT0C ());
920+ if (doFillNsigmaTPCHistPionBach && !isXi)
921+ histos.fill (HIST (" hNsigmaKaon" ), bachExtra.tpcNSigmaPi (), fullmomentumBachelor, coll.centFT0C ());
922+ }
923+
924+ if (casc.sign () < 0 ) {
925+ if (doNTPCSigmaCut) {
870926 if (TMath::Abs (posExtra.tpcNSigmaPr ()) > nsigmatpcPr || TMath::Abs (negExtra.tpcNSigmaPi ()) > nsigmatpcPi)
871927 continue ;
872928 histos.fill (HIST (" hCandidate" ), ++counter);
873- } else if (casc.sign () > 0 ) {
874- histos.fill (HIST (" hNsigmaProtonNeg" ), negExtra.tpcNSigmaPr (), TMath::Sqrt (TMath::Power (casc.pxneg (), 2 ) + TMath::Power (casc.pyneg (), 2 ) + TMath::Power (casc.pzneg (), 2 )), coll.centFT0C ());
875- histos.fill (HIST (" hNsigmaPionPos" ), posExtra.tpcNSigmaPi (), TMath::Sqrt (TMath::Power (casc.pxpos (), 2 ) + TMath::Power (casc.pypos (), 2 ) + TMath::Power (casc.pzpos (), 2 )), coll.centFT0C ());
929+ } else {
930+ ++counter;
931+ }
932+
933+ } else if (casc.sign () > 0 ) {
934+ if (doNTPCSigmaCut) {
876935 if (TMath::Abs (posExtra.tpcNSigmaPi ()) > nsigmatpcPi || TMath::Abs (negExtra.tpcNSigmaPr ()) > nsigmatpcPr)
877936 continue ;
878937 histos.fill (HIST (" hCandidate" ), ++counter);
938+ } else {
939+ ++counter;
879940 }
880- } else {
881- ++counter;
882941 }
883942
884943 if (posExtra.tpcCrossedRows () < mintpccrrows || negExtra.tpcCrossedRows () < mintpccrrows || bachExtra.tpcCrossedRows () < mintpccrrows)
@@ -903,41 +962,34 @@ struct derivedCascadeAnalysis {
903962 float cascpos = std::hypot (casc.x () - coll.posX (), casc.y () - coll.posY (), casc.z () - coll.posZ ());
904963 float cascptotmom = std::hypot (casc.px (), casc.py (), casc.pz ());
905964 float ctau = -10 ;
906- double fullmomentum;
907965
908966 if (posExtra.hasTOF ()) {
909- fullmomentum = TMath::Sqrt (TMath::Power (casc.pxpos (), 2 ) + TMath::Power (casc.pypos (), 2 ) + TMath::Power (casc.pzpos (), 2 ));
910967 if (doNTOFSigmaProtonCut && casc.sign () < 0 ) {
911- histos.fill (HIST (" hNsigmaTOFProton" ), casc.tofNSigmaXiLaPr (), fullmomentum , coll.centFT0C ());
912- if (TMath::Abs (casc.tofNSigmaXiLaPr ()) > nsigmatofPr && fullmomentum > 0.6 )
968+ histos.fill (HIST (" hNsigmaTOFProton" ), casc.tofNSigmaXiLaPr (), fullMomentumPosDaugh , coll.centFT0C ());
969+ if (TMath::Abs (casc.tofNSigmaXiLaPr ()) > nsigmatofPr && fullMomentumPosDaugh > 0.6 )
913970 continue ;
914971 }
915972 if (doNTOFSigmaV0PionCut && casc.sign () > 0 ) {
916- histos.fill (HIST (" hNsigmaTOFV0Pion" ), casc.tofNSigmaXiLaPi (), fullmomentum , coll.centFT0C ());
973+ histos.fill (HIST (" hNsigmaTOFV0Pion" ), casc.tofNSigmaXiLaPi (), fullMomentumPosDaugh , coll.centFT0C ());
917974 if (TMath::Abs (casc.tofNSigmaXiLaPi ()) > nsigmatofPion)
918975 continue ;
919976 }
920977 }
921978
922979 if (negExtra.hasTOF ()) {
923- fullmomentum = TMath::Sqrt (TMath::Power (casc.pxneg (), 2 ) + TMath::Power (casc.pyneg (), 2 ) + TMath::Power (casc.pzneg (), 2 ));
924980 if (doNTOFSigmaProtonCut && casc.sign () > 0 ) {
925- histos.fill (HIST (" hNsigmaTOFProton" ), casc.tofNSigmaXiLaPr (), fullmomentum , coll.centFT0C ());
926- if (TMath::Abs (casc.tofNSigmaXiLaPr ()) > nsigmatofPr && fullmomentum > 0.6 )
981+ histos.fill (HIST (" hNsigmaTOFProton" ), casc.tofNSigmaXiLaPr (), fullmomentumNegDaugh , coll.centFT0C ());
982+ if (TMath::Abs (casc.tofNSigmaXiLaPr ()) > nsigmatofPr && fullmomentumNegDaugh > 0.6 )
927983 continue ;
928984 }
929985 if (doNTOFSigmaV0PionCut && casc.sign () < 0 ) {
930- histos.fill (HIST (" hNsigmaTOFV0Pion" ), casc.tofNSigmaXiLaPi (), fullmomentum , coll.centFT0C ());
986+ histos.fill (HIST (" hNsigmaTOFV0Pion" ), casc.tofNSigmaXiLaPi (), fullmomentumNegDaugh , coll.centFT0C ());
931987 if (TMath::Abs (casc.tofNSigmaXiLaPi ()) > nsigmatofPion)
932988 continue ;
933989 }
934990 }
935991
936992 if (isXi) {
937- if (casc.sign () < 0 )
938- histos.fill (HIST (" hNsigmaPionNegBach" ), bachExtra.tpcNSigmaPi (), TMath::Sqrt (TMath::Power (casc.pxbach (), 2 ) + TMath::Power (casc.pybach (), 2 ) + TMath::Power (casc.pzbach (), 2 )), coll.centFT0C ());
939- else
940- histos.fill (HIST (" hNsigmaPionPosBach" ), bachExtra.tpcNSigmaPi (), TMath::Sqrt (TMath::Power (casc.pxbach (), 2 ) + TMath::Power (casc.pybach (), 2 ) + TMath::Power (casc.pzbach (), 2 )), coll.centFT0C ());
941993 if (doNTPCSigmaCut) {
942994 if (TMath::Abs (bachExtra.tpcNSigmaPi ()) > nsigmatpcPi)
943995 continue ;
@@ -947,7 +999,7 @@ struct derivedCascadeAnalysis {
947999 }
9481000
9491001 if (bachExtra.hasTOF () && doNTOFSigmaBachelorCut) {
950- histos.fill (HIST (" hNsigmaTOFBachelorPion" ), casc.tofNSigmaXiPi (), TMath::Sqrt ( TMath::Power (casc. pxbach (), 2 ) + TMath::Power (casc. pybach (), 2 ) + TMath::Power (casc. pzbach (), 2 )) , coll.centFT0C ());
1002+ histos.fill (HIST (" hNsigmaTOFBachelorPion" ), casc.tofNSigmaXiPi (), fullmomentumBachelor , coll.centFT0C ());
9511003 if (TMath::Abs (casc.tofNSigmaXiPi ()) > nsigmatofBachPion)
9521004 continue ;
9531005 }
@@ -963,7 +1015,6 @@ struct derivedCascadeAnalysis {
9631015
9641016 invmass = casc.mXi ();
9651017 } else {
966- histos.fill (HIST (" hNsigmaKaon" ), bachExtra.tpcNSigmaKa (), TMath::Sqrt (TMath::Power (casc.pxbach (), 2 ) + TMath::Power (casc.pybach (), 2 ) + TMath::Power (casc.pzbach (), 2 )), coll.centFT0C ());
9671018 if (doNTPCSigmaCut) {
9681019 if (TMath::Abs (bachExtra.tpcNSigmaKa ()) > nsigmatpcKa)
9691020 continue ;
@@ -973,7 +1024,7 @@ struct derivedCascadeAnalysis {
9731024 }
9741025
9751026 if (bachExtra.hasTOF () && doNTOFSigmaBachelorCut) {
976- histos.fill (HIST (" hNsigmaTOFBachelorKaon" ), casc.tofNSigmaOmKa (), TMath::Sqrt ( TMath::Power (casc. pxbach (), 2 ) + TMath::Power (casc. pybach (), 2 ) + TMath::Power (casc. pzbach (), 2 )) , coll.centFT0C ());
1027+ histos.fill (HIST (" hNsigmaTOFBachelorKaon" ), casc.tofNSigmaOmKa (), fullmomentumBachelor , coll.centFT0C ());
9771028 if (TMath::Abs (casc.tofNSigmaOmKa ()) > nsigmatofBachKaon)
9781029 continue ;
9791030 }
0 commit comments