@@ -57,7 +57,6 @@ struct myAnalysis {
5757 Configurable<bool > cfgDataHists{" cfgDataHists" , true , " Enables DataHists" };
5858 Configurable<std::string> trackSelections{" trackSelections" , " globalTracks" , " set track selections" };
5959 // Others configure
60- Configurable<int > cDebugLevel{" cDebugLevel" , 1 , " Resolution of Debug" };
6160 Configurable<float > cfgVtxCut{" cfgVtxCut" , 10.0 , " V_z cut selection" };
6261 Configurable<float > cfgjetPtMin{" cfgjetPtMin" , 0.0 , " minimum jet pT cut" };
6362 Configurable<float > cfgjetR{" cfgjetR" , 0.4 , " jet resolution parameter" };
@@ -86,14 +85,7 @@ struct myAnalysis {
8685 Configurable<float > maxChi2ITS{" maxChi2ITS" , 36 .0f , " max chi2 per cluster ITS" };
8786 Configurable<float > etaMin{" etaMin" , -0 .8f , " eta min track" };
8887 Configurable<float > etaMax{" etaMax" , +0 .8f , " eta max track" };
89- Configurable<float > ptMin_V0_proton{" ptMin_V0_proton" , 0 .3f , " pt min of proton from V0" };
90- Configurable<float > ptMax_V0_proton{" ptMax_V0_proton" , 10 .0f , " pt max of proton from V0" };
91- Configurable<float > ptMin_V0_pion{" ptMin_V0_pion" , 0 .1f , " pt min of pion from V0" };
92- Configurable<float > ptMax_V0_pion{" ptMax_V0_pion" , 1 .5f , " pt max of pion from V0" };
93- Configurable<float > ptMin_K0_pion{" ptMin_K0_pion" , 0 .3f , " pt min of pion from K0" };
94- Configurable<float > ptMax_K0_pion{" ptMax_K0_pion" , 10 .0f , " pt max of pion from K0" };
9588 Configurable<float > minimumV0Radius{" minimumV0Radius" , 0 .2f , " Minimum V0 Radius" };
96- Configurable<float > maximumV0Radius{" maximumV0Radius" , 40 .0f , " Maximum V0 Radius" };
9789 Configurable<float > nsigmaTPCmin{" nsigmaTPCmin" , -5 .0f , " Minimum nsigma TPC" };
9890 Configurable<float > nsigmaTPCmax{" nsigmaTPCmax" , +5 .0f , " Maximum nsigma TPC" };
9991 Configurable<float > nsigmaTOFmin{" nsigmaTOFmin" , -5 .0f , " Minimum nsigma TOF" };
@@ -102,6 +94,8 @@ struct myAnalysis {
10294 Configurable<float > yMax{" yMax" , +0 .5f , " maximum y" };
10395 Configurable<float > v0rejLambda{" v0rejLambda" , 0.01 , " V0 rej K0s" };
10496 Configurable<float > CtauLambda{" ctauLambda" , 30 , " C tau Lambda (cm)" };
97+ Configurable<bool > ifpasslambda{" passedLambdaSelection" , 1 , " passedLambdaSelection" };
98+ Configurable<bool > ifpassantilambda{" passedANtiLambdaSelection" , 1 , " passedAntiLambdaSelection" };
10599 // Event Selection/////////////////////////////////
106100 Configurable<float > cutzvertex{" cutzvertex" , 10 .0f , " Accepted z-vertex range (cm)" };
107101 Configurable<bool > sel8{" sel8" , 0 , " Apply sel8 event selection" };
@@ -322,6 +316,30 @@ struct myAnalysis {
322316 return false ;
323317 return true ;
324318 }
319+
320+ // init Selection
321+ template <typename Lambda, typename TrackPos, typename TrackNeg>
322+ bool passedInitLambdaSelection (const Lambda& v0, const TrackPos& ptrack, const TrackNeg& ntrack)
323+ {
324+ if (v0.v0radius () < minimumV0Radius || v0.v0cosPA () < v0cospa ||
325+ TMath::Abs (ptrack.eta ()) > etaMax ||
326+ TMath::Abs (ntrack.eta ()) > etaMax) {
327+ return false ;
328+ }
329+ if (v0.dcaV0daughters () > dcav0dau) {
330+ return false ;
331+ }
332+
333+ if (TMath::Abs (v0.dcanegtopv ()) < dcanegtopv) {
334+ return false ;
335+ }
336+
337+ if (TMath::Abs (v0.dcapostopv ()) < dcapostopv) {
338+ return false ;
339+ }
340+ return true ;
341+ }
342+
325343 // Lambda Selections
326344 template <typename Lambda, typename TrackPos, typename TrackNeg>
327345 bool passedLambdaSelection (const Lambda& v0, const TrackPos& ptrack, const TrackNeg& ntrack)
@@ -575,31 +593,58 @@ struct myAnalysis {
575593 const auto & pos = v0.posTrack_as <TrackCandidates>();
576594 const auto & neg = v0.negTrack_as <TrackCandidates>();
577595 V0NumbersPerEvent = V0NumbersPerEvent + 1 ;
578- if (passedLambdaSelection (v0, pos, neg) && ctauLambda < CtauLambda) {
596+ if (passedLambdaSelection (v0, pos, neg) && ctauLambda < CtauLambda && ifpasslambda) {
597+ JEhistos.fill (HIST (" hPt" ), v0.pt ());
598+ JEhistos.fill (HIST (" V0Radius" ), v0.v0radius ());
599+ JEhistos.fill (HIST (" CosPA" ), v0.v0cosPA ());
600+ JEhistos.fill (HIST (" V0DCANegToPV" ), v0.dcanegtopv ());
601+ JEhistos.fill (HIST (" V0DCAPosToPV" ), v0.dcapostopv ());
602+ JEhistos.fill (HIST (" V0DCAV0Daughters" ), v0.dcaV0daughters ());
603+ } else if (passedInitLambdaSelection (v0, pos, neg)) {
579604 JEhistos.fill (HIST (" hPt" ), v0.pt ());
580605 JEhistos.fill (HIST (" V0Radius" ), v0.v0radius ());
581606 JEhistos.fill (HIST (" CosPA" ), v0.v0cosPA ());
582607 JEhistos.fill (HIST (" V0DCANegToPV" ), v0.dcanegtopv ());
583608 JEhistos.fill (HIST (" V0DCAPosToPV" ), v0.dcapostopv ());
584609 JEhistos.fill (HIST (" V0DCAV0Daughters" ), v0.dcaV0daughters ());
585610 }
586- if (passedLambdaSelection (v0, pos, neg) && ctauAntiLambda < CtauLambda) {
611+ if (passedLambdaSelection (v0, pos, neg) && ctauAntiLambda < CtauLambda && ifpasslambda ) {
587612
588613 V0LambdaNumbers = V0LambdaNumbers + 1 ;
589614 JEhistos.fill (HIST (" hMassVsPtLambda" ), v0.pt (), v0.mLambda ());
590615 JEhistos.fill (HIST (" hMassLambda" ), v0.mLambda ());
591616 JEhistos.fill (HIST (" TPCNSigmaPosPr" ), pos.tpcNSigmaPr ());
592617 JEhistos.fill (HIST (" TPCNSigmaNegPi" ), neg.tpcNSigmaPi ());
593618
619+ JEhistos.fill (HIST (" v0Lambdapx" ), v0.px ());
620+ JEhistos.fill (HIST (" v0Lambdapy" ), v0.py ());
621+ JEhistos.fill (HIST (" v0Lambdapz" ), v0.pz ());
622+ myTable (outputCollisionsV0.lastIndex (), v0.collisionId (), v0.px (), v0.py (), v0.pz (), v0.pt (), v0.mLambda (), pos.px (), pos.py (), pos.pz ());
623+ JEhistos.fill (HIST (" hV0Lambda" ), nEventsV0, v0.px (), v0.py (), v0.pz (), v0.mLambda (), pos.px (), pos.py (), pos.pz ());
624+ } else if (passedInitLambdaSelection (v0, pos, neg)) {
625+ V0LambdaNumbers = V0LambdaNumbers + 1 ;
626+ JEhistos.fill (HIST (" hMassVsPtLambda" ), v0.pt (), v0.mLambda ());
627+ JEhistos.fill (HIST (" hMassLambda" ), v0.mLambda ());
628+ JEhistos.fill (HIST (" TPCNSigmaPosPr" ), pos.tpcNSigmaPr ());
629+ JEhistos.fill (HIST (" TPCNSigmaNegPi" ), neg.tpcNSigmaPi ());
630+
594631 JEhistos.fill (HIST (" v0Lambdapx" ), v0.px ());
595632 JEhistos.fill (HIST (" v0Lambdapy" ), v0.py ());
596633 JEhistos.fill (HIST (" v0Lambdapz" ), v0.pz ());
597634 myTable (outputCollisionsV0.lastIndex (), v0.collisionId (), v0.px (), v0.py (), v0.pz (), v0.pt (), v0.mLambda (), pos.px (), pos.py (), pos.pz ());
598635 JEhistos.fill (HIST (" hV0Lambda" ), nEventsV0, v0.px (), v0.py (), v0.pz (), v0.mLambda (), pos.px (), pos.py (), pos.pz ());
599636 }
637+ if (passedAntiLambdaSelection (v0, pos, neg) && ifpassantilambda) {
600638
601- if (passedAntiLambdaSelection (v0, pos, neg)) {
639+ JEhistos.fill (HIST (" hMassVsPtAntiLambda" ), v0.pt (), v0.mAntiLambda ());
640+ JEhistos.fill (HIST (" hMassAntiLambda" ), v0.mAntiLambda ());
641+ JEhistos.fill (HIST (" TPCNSigmaPosPi" ), pos.tpcNSigmaPi ());
642+ JEhistos.fill (HIST (" TPCNSigmaNegPr" ), neg.tpcNSigmaPr ());
602643
644+ JEhistos.fill (HIST (" v0AntiLambdapx" ), v0.px ());
645+ JEhistos.fill (HIST (" v0AntiLambdapy" ), v0.py ());
646+ JEhistos.fill (HIST (" v0AntiLambdapz" ), v0.pz ());
647+ } else if (passedInitLambdaSelection (v0, pos, neg)) {
603648 JEhistos.fill (HIST (" hMassVsPtAntiLambda" ), v0.pt (), v0.mAntiLambda ());
604649 JEhistos.fill (HIST (" hMassAntiLambda" ), v0.mAntiLambda ());
605650 JEhistos.fill (HIST (" TPCNSigmaPosPi" ), pos.tpcNSigmaPi ());
0 commit comments