@@ -156,6 +156,7 @@ struct cascadeFlow {
156156 Configurable<bool > isQVecT0C{" isQVecT0C" , 1 , " " };
157157 Configurable<bool > isQVecT0M{" isQVecT0M" , 0 , " " };
158158 Configurable<bool > isQVecV0A{" isQVecV0A" , 0 , " " };
159+ Configurable<bool > isCollisionCentrality{" isCollisionCentrality" , 0 , " " }; // 0: FT0C, 1: FT0M (implemented only for Lambda analysis in OO)
159160
160161 // Output filling criteria
161162 struct : ConfigurableGroup {
@@ -258,6 +259,7 @@ struct cascadeFlow {
258259 Configurable<float > v0radiusMax{" v0radiusMax" , 1E5 , " maximum V0 radius (cm)" };
259260 Configurable<float > rapidityLambda{" rapidityLambda" , 0.5 , " rapidityLambda" };
260261 Configurable<float > etaLambda{" etaLambda" , 0.8 , " etaLambda" };
262+ Configurable<float > dauTrackV0Eta{" dauTrackV0Eta" , 0.8 , " dauTrackV0Eta" };
261263 } V0Configs;
262264
263265 Configurable<double > sideBandStart{" sideBandStart" , 5 , " Start of the sideband region in number of sigmas" };
@@ -428,6 +430,10 @@ struct cascadeFlow {
428430 return false ;
429431
430432 counter++;
433+
434+ // eta daughters)
435+ // if (abs(posExtra.eta()) > V0Configs.dauTrackV0Eta || abs(negExtra.y()) > V0Configs.dauTrackV0Eta) return false;
436+
431437 return true ;
432438 }
433439 template <typename TDaughter>
@@ -760,6 +766,11 @@ struct cascadeFlow {
760766 }
761767 histos.add (" hEventVertexZ" , " hEventVertexZ" , kTH1F , {{120 , -12 ., 12 .}});
762768 histos.add (" hEventCentrality" , " hEventCentrality" , kTH1F , {{101 , 0 , 101 }});
769+ histos.add (" hEventCentralityBefEvSel" , " hEventCentralityBefEvSel" , kTH1F , {{101 , 0 , 101 }});
770+ histos.add (" hEventCentralityBefEPSel" , " hEventCentralityBefEPSel" , kTH1F , {{101 , 0 , 101 }});
771+ histos.add (" hEventCentralityT0M" , " hEventCentralityT0M" , kTH1F , {{101 , 0 , 101 }});
772+ histos.add (" hEventCentralityBefEvSelT0M" , " hEventCentralityBefEvSelT0M" , kTH1F , {{101 , 0 , 101 }});
773+ histos.add (" hEventCentralityBefEPSelT0M" , " hEventCentralityBefEPSelT0M" , kTH1F , {{101 , 0 , 101 }});
763774 histos.add (" hPsiT0C" , " hPsiT0C" , HistType::kTH1D , {{100 , -o2::constants::math::PI, o2::constants::math::PI}});
764775 histos.add (" hPsiT0CvsCentFT0C" , " hPsiT0CvsCentFT0C" , HistType::kTH2D , {CentAxis, {100 , -o2::constants::math::PI, o2::constants::math::PI}});
765776 histos.add (" hPsiZDCA_vs_ZDCC" , " hPsiZDCA_vs_ZDCC" , HistType::kTH2D , {{100 , -o2::constants::math::PI, o2::constants::math::PI}, {100 , -o2::constants::math::PI, o2::constants::math::PI}});
@@ -1653,6 +1664,16 @@ struct cascadeFlow {
16531664 void processAnalyseLambdaEP2CentralFW (CollEventPlaneCentralFW const & coll, V0Candidates const & V0s, DauTracks const &)
16541665 {
16551666
1667+ histos.fill (HIST (" hEventCentralityBefEvSel" ), coll.centFT0C ());
1668+ histos.fill (HIST (" hEventCentralityBefEvSelT0M" ), coll.centFT0M ());
1669+
1670+ Float_t collisionCentrality = 0 ;
1671+ if (isCollisionCentrality == 0 ) { // T0C
1672+ collisionCentrality = coll.centFT0C ();
1673+ } else if (isCollisionCentrality == 1 ) { // T0M
1674+ collisionCentrality = coll.centFT0M ();
1675+ }
1676+
16561677 if (!AcceptEvent (coll, 1 )) {
16571678 return ;
16581679 }
@@ -1671,6 +1692,8 @@ struct cascadeFlow {
16711692 qvecIm = coll.qvecFV0AIm ();
16721693 }
16731694
1695+ histos.fill (HIST (" hEventCentralityBefEPSel" ), collisionCentrality);
1696+ histos.fill (HIST (" hEventCentralityBefEPSelT0M" ), coll.centFT0M ());
16741697 // select only events used for the calibration of the event plane
16751698 if (isGoodEventEP) {
16761699 if (std::abs (qvecRe) > 990 || std::abs (qvecIm) > 990 || std::abs (coll.qvecBNegRe ()) > 990 || std::abs (coll.qvecBNegIm ()) > 990 || std::abs (coll.qvecBPosRe ()) > 990 || std::abs (coll.qvecBPosIm ()) > 990 ) {
@@ -1683,10 +1706,11 @@ struct cascadeFlow {
16831706
16841707 histos.fill (HIST (" hNEvents" ), 9.5 );
16851708 histos.fill (HIST (" hEventNchCorrelationAfterEP" ), coll.multNTracksPVeta1 (), coll.multNTracksGlobal ());
1686- histos.fill (HIST (" hEventPVcontributorsVsCentralityAfterEP" ), coll. centFT0C () , coll.multNTracksPVeta1 ());
1687- histos.fill (HIST (" hEventGlobalTracksVsCentralityAfterEP" ), coll. centFT0C () , coll.multNTracksGlobal ());
1709+ histos.fill (HIST (" hEventPVcontributorsVsCentralityAfterEP" ), collisionCentrality , coll.multNTracksPVeta1 ());
1710+ histos.fill (HIST (" hEventGlobalTracksVsCentralityAfterEP" ), collisionCentrality , coll.multNTracksGlobal ());
16881711
1689- histos.fill (HIST (" hEventCentrality" ), coll.centFT0C ());
1712+ histos.fill (HIST (" hEventCentrality" ), collisionCentrality);
1713+ histos.fill (HIST (" hEventCentralityT0M" ), coll.centFT0M ());
16901714 histos.fill (HIST (" hEventVertexZ" ), coll.posZ ());
16911715
16921716 ROOT::Math::XYZVector eventplaneVecT0C{qvecRe, qvecIm, 0 };
@@ -1698,14 +1722,14 @@ struct cascadeFlow {
16981722 const float psiTPCC = std::atan2 (coll.qvecBNegIm (), coll.qvecBNegRe ()) * 0 .5f ;
16991723 float psiT0CCorr = psiT0C;
17001724 for (int ishift = 1 ; ishift <= 10 ; ishift++) {
1701- histos.fill (HIST (" ShiftFT0C" ), coll. centFT0C () , 0.5 , ishift - 0.5 , std::sin (ishift * 2 * psiT0C));
1702- histos.fill (HIST (" ShiftFT0C" ), coll. centFT0C () , 1.5 , ishift - 0.5 , std::cos (ishift * 2 * psiT0C));
1725+ histos.fill (HIST (" ShiftFT0C" ), collisionCentrality , 0.5 , ishift - 0.5 , std::sin (ishift * 2 * psiT0C));
1726+ histos.fill (HIST (" ShiftFT0C" ), collisionCentrality , 1.5 , ishift - 0.5 , std::cos (ishift * 2 * psiT0C));
17031727
1704- histos.fill (HIST (" ShiftTPCL" ), coll. centFT0C () , 0.5 , ishift - 0.5 , std::sin (ishift * 2 * psiTPCA));
1705- histos.fill (HIST (" ShiftTPCL" ), coll. centFT0C () , 1.5 , ishift - 0.5 , std::cos (ishift * 2 * psiTPCA));
1728+ histos.fill (HIST (" ShiftTPCL" ), collisionCentrality , 0.5 , ishift - 0.5 , std::sin (ishift * 2 * psiTPCA));
1729+ histos.fill (HIST (" ShiftTPCL" ), collisionCentrality , 1.5 , ishift - 0.5 , std::cos (ishift * 2 * psiTPCA));
17061730
1707- histos.fill (HIST (" ShiftTPCR" ), coll. centFT0C () , 0.5 , ishift - 0.5 , std::sin (ishift * 2 * psiTPCC));
1708- histos.fill (HIST (" ShiftTPCR" ), coll. centFT0C () , 1.5 , ishift - 0.5 , std::cos (ishift * 2 * psiTPCC));
1731+ histos.fill (HIST (" ShiftTPCR" ), collisionCentrality , 0.5 , ishift - 0.5 , std::sin (ishift * 2 * psiTPCC));
1732+ histos.fill (HIST (" ShiftTPCR" ), collisionCentrality , 1.5 , ishift - 0.5 , std::cos (ishift * 2 * psiTPCC));
17091733 }
17101734
17111735 if (ShiftConfigs.cfgShiftCorr ) {
@@ -1727,14 +1751,14 @@ struct cascadeFlow {
17271751 }
17281752
17291753 histos.fill (HIST (" hPsiT0C" ), psiT0CCorr);
1730- histos.fill (HIST (" hPsiT0CvsCentFT0C" ), coll. centFT0C () , psiT0CCorr);
1754+ histos.fill (HIST (" hPsiT0CvsCentFT0C" ), collisionCentrality , psiT0CCorr);
17311755
1732- resolution.fill (HIST (" QVectorsT0CTPCA" ), eventplaneVecT0C.Dot (eventplaneVecTPCA), coll. centFT0C () );
1733- resolution.fill (HIST (" QVectorsT0CTPCC" ), eventplaneVecT0C.Dot (eventplaneVecTPCC), coll. centFT0C () );
1734- resolution.fill (HIST (" QVectorsTPCAC" ), eventplaneVecTPCA.Dot (eventplaneVecTPCC), coll. centFT0C () );
1735- resolution.fill (HIST (" QVectorsNormT0CTPCA" ), eventplaneVecT0C.Dot (eventplaneVecTPCA) / (coll.qTPCR () * coll.sumAmplFT0C ()), coll. centFT0C () );
1736- resolution.fill (HIST (" QVectorsNormT0CTPCC" ), eventplaneVecT0C.Dot (eventplaneVecTPCC) / (coll.qTPCL () * coll.sumAmplFT0C ()), coll. centFT0C () );
1737- resolution.fill (HIST (" QVectorsNormTPCAC" ), eventplaneVecTPCA.Dot (eventplaneVecTPCC) / (coll.qTPCR () * coll.qTPCL ()), coll. centFT0C () );
1756+ resolution.fill (HIST (" QVectorsT0CTPCA" ), eventplaneVecT0C.Dot (eventplaneVecTPCA), collisionCentrality );
1757+ resolution.fill (HIST (" QVectorsT0CTPCC" ), eventplaneVecT0C.Dot (eventplaneVecTPCC), collisionCentrality );
1758+ resolution.fill (HIST (" QVectorsTPCAC" ), eventplaneVecTPCA.Dot (eventplaneVecTPCC), collisionCentrality );
1759+ resolution.fill (HIST (" QVectorsNormT0CTPCA" ), eventplaneVecT0C.Dot (eventplaneVecTPCA) / (coll.qTPCR () * coll.sumAmplFT0C ()), collisionCentrality );
1760+ resolution.fill (HIST (" QVectorsNormT0CTPCC" ), eventplaneVecT0C.Dot (eventplaneVecTPCC) / (coll.qTPCL () * coll.sumAmplFT0C ()), collisionCentrality );
1761+ resolution.fill (HIST (" QVectorsNormTPCAC" ), eventplaneVecTPCA.Dot (eventplaneVecTPCC) / (coll.qTPCR () * coll.qTPCL ()), collisionCentrality );
17381762
17391763 std::vector<float > bdtScore[nParticles];
17401764 for (auto const & v0 : V0s) {
@@ -1841,25 +1865,25 @@ struct cascadeFlow {
18411865 cosThetaLambda = cosThetaStarProton[0 ] / cascadev2::AlphaLambda[0 ] / meanCos2ThetaProtonFromLambda;
18421866 }
18431867
1844- histos.fill (HIST (" hv2CEPvsFT0C" ), coll. centFT0C () , v2CEP);
1868+ histos.fill (HIST (" hv2CEPvsFT0C" ), collisionCentrality , v2CEP);
18451869 histos.fill (HIST (" hv2CEPvsv2CSP" ), v2CSP, v2CEP);
18461870 histos.fill (HIST (" hLambdaPhi" ), v0.phi ());
18471871 histos.fill (HIST (" hlambdaminuspsiT0C" ), lambdaminuspsiT0C);
18481872
18491873 if (fillingConfigs.isFillTHNLambda ) {
18501874 if (fillingConfigs.isFillTHN_V2 )
1851- histos.get <THn>(HIST (" hLambdaV2" ))->Fill (coll. centFT0C () , chargeIndex, v0.pt (), v0.mLambda (), v2CEP);
1875+ histos.get <THn>(HIST (" hLambdaV2" ))->Fill (collisionCentrality , chargeIndex, v0.pt (), v0.mLambda (), v2CEP);
18521876 if (fillingConfigs.isFillTHN_Pz ) {
1853- histos.get <THn>(HIST (" hLambdaPzs2" ))->Fill (coll. centFT0C () , chargeIndex, v0.pt (), v0.mLambda (), pzs2Lambda);
1877+ histos.get <THn>(HIST (" hLambdaPzs2" ))->Fill (collisionCentrality , chargeIndex, v0.pt (), v0.mLambda (), pzs2Lambda);
18541878 }
18551879 if (fillingConfigs.isFillTHN_Acc )
1856- histos.get <THn>(HIST (" hLambdaCos2Theta" ))->Fill (coll. centFT0C () , chargeIndex, v0.eta (), v0.pt (), v0.mLambda (), cos2ThetaLambda);
1880+ histos.get <THn>(HIST (" hLambdaCos2Theta" ))->Fill (collisionCentrality , chargeIndex, v0.eta (), v0.pt (), v0.mLambda (), cos2ThetaLambda);
18571881 }
18581882 if (fillingConfigs.isFillTHNLambda_PzVsPsi ) {
18591883 if (fillingConfigs.isFillTHN_Pz )
1860- histos.get <THn>(HIST (" hLambdaPzVsPsi" ))->Fill (coll. centFT0C () , chargeIndex, v0.pt (), v0.mLambda (), cosThetaLambda, 2 * lambdaminuspsiT0C);
1884+ histos.get <THn>(HIST (" hLambdaPzVsPsi" ))->Fill (collisionCentrality , chargeIndex, v0.pt (), v0.mLambda (), cosThetaLambda, 2 * lambdaminuspsiT0C);
18611885 if (fillingConfigs.isFillTHN_Acc )
1862- histos.get <THn>(HIST (" hLambdaCos2ThetaVsPsi" ))->Fill (coll. centFT0C () , chargeIndex, v0.eta (), v0.pt (), v0.mLambda (), cos2ThetaLambda, 2 * lambdaminuspsiT0C);
1886+ histos.get <THn>(HIST (" hLambdaCos2ThetaVsPsi" ))->Fill (collisionCentrality , chargeIndex, v0.eta (), v0.pt (), v0.mLambda (), cos2ThetaLambda, 2 * lambdaminuspsiT0C);
18631887 }
18641888
18651889 double invMassLambda = 0 ;
0 commit comments