@@ -104,6 +104,7 @@ struct CascadeSelector {
104104 Configurable<int > minTPCCrossedRows{" minTPCCrossedRows" , 80 , " min N TPC crossed rows" }; // TODO: finetune! 80 > 159/2, so no split tracks?
105105 Configurable<int > minITSClusters{" minITSClusters" , 4 , " minimum number of ITS clusters" };
106106 Configurable<float > etaTracks{" etaTracks" , 1.0 , " min/max of eta for tracks" };
107+ Configurable<float > etaCascades{" etaCascades" , 0.8 , " min/max of eta for cascades" };
107108
108109 // Selection criteria - compatible with core wagon autodetect - copied from cascadeanalysis.cxx
109110 // *+-+*+-+*+-+*+-+*+-+*+-+*+-+*+-+*+-+*+-+*+-+*+-+*+-+*+-+*+-+*+-+*
@@ -181,8 +182,9 @@ struct CascadeSelector {
181182 h->GetXaxis ()->SetBinLabel (3 , " nITS OK" );
182183 h->GetXaxis ()->SetBinLabel (4 , " Topo OK" );
183184 h->GetXaxis ()->SetBinLabel (5 , " Track eta OK" );
184- h->GetXaxis ()->SetBinLabel (6 , " V0 PID OK" );
185- h->GetXaxis ()->SetBinLabel (7 , " Bach PID OK" );
185+ h->GetXaxis ()->SetBinLabel (6 , " Cascade eta OK" );
186+ h->GetXaxis ()->SetBinLabel (7 , " V0 PID OK" );
187+ h->GetXaxis ()->SetBinLabel (8 , " Bach PID OK" );
186188
187189 auto hEventSel = registry.add <TH1>(" hEventSel" , " hEventSel" , HistType::kTH1I , {{10 , 0 , 10 , " selection criteria" }});
188190 hEventSel->GetXaxis ()->SetBinLabel (1 , " All" );
@@ -300,6 +302,12 @@ struct CascadeSelector {
300302 }
301303 registry.fill (HIST (" hSelectionStatus" ), 4 ); // passes track eta
302304
305+ if (TMath::Abs (casc.eta ()) > etaCascades) {
306+ cascflags (0 );
307+ continue ;
308+ }
309+ registry.fill (HIST (" hSelectionStatus" ), 5 ); // passes candidate eta
310+
303311 // TODO: TOF (for pT > 2 GeV per track?)
304312
305313 // // TPC PID ////
@@ -327,15 +335,15 @@ struct CascadeSelector {
327335 continue ;
328336 }
329337 }
330- registry.fill (HIST (" hSelectionStatus" ), 5 ); // passes V0 daughters PID
338+ registry.fill (HIST (" hSelectionStatus" ), 6 ); // passes V0 daughters PID
331339 // registry.fill(HIST("hMassXi4"), casc.mXi(), casc.pt());
332340
333341 // Bachelor check
334342 if (TMath::Abs (bachTrack.tpcNSigmaPi ()) < tpcNsigmaBachelor) {
335343 if (TMath::Abs (bachTrack.tpcNSigmaKa ()) < tpcNsigmaBachelor) {
336344 // consistent with both!
337345 cascflags (2 );
338- registry.fill (HIST (" hSelectionStatus" ), 6 ); // passes bach PID
346+ registry.fill (HIST (" hSelectionStatus" ), 7 ); // passes bach PID
339347 // registry.fill(HIST("hMassXi5"), casc.mXi(), casc.pt());
340348 if (casc.sign () < 0 ) {
341349 registry.fill (HIST (" hMassXiMinus" ), casc.mXi (), casc.pt (), casc.yXi ());
@@ -347,7 +355,7 @@ struct CascadeSelector {
347355 continue ;
348356 }
349357 cascflags (1 );
350- registry.fill (HIST (" hSelectionStatus" ), 6 ); // passes bach PID
358+ registry.fill (HIST (" hSelectionStatus" ), 7 ); // passes bach PID
351359 // registry.fill(HIST("hMassXi5"), casc.mXi(), casc.pt());
352360 if (casc.sign () < 0 ) {
353361 registry.fill (HIST (" hMassXiMinus" ), casc.mXi (), casc.pt (), casc.yXi ());
@@ -357,7 +365,7 @@ struct CascadeSelector {
357365 continue ;
358366 } else if (TMath::Abs (bachTrack.tpcNSigmaKa ()) < tpcNsigmaBachelor) {
359367 cascflags (3 );
360- registry.fill (HIST (" hSelectionStatus" ), 6 ); // passes bach PID
368+ registry.fill (HIST (" hSelectionStatus" ), 7 ); // passes bach PID
361369 if (casc.sign () < 0 ) {
362370 registry.fill (HIST (" hMassOmegaMinus" ), casc.mOmega (), casc.pt (), casc.yOmega ());
363371 } else {
@@ -427,10 +435,10 @@ struct CascadeCorrelations {
427435 mCounter .mSelectPrimaries = true ;
428436 }
429437
430- double getEfficiency (TH1D * h, double pT)
431- { // TODO: make 2D (rapidity)
438+ double getEfficiency (TH1 * h, double pT, double y = 0 )
439+ {
432440 // This function returns the value of histogram h corresponding to the x-coordinate pT
433- return h->GetBinContent (h->GetXaxis ()-> FindFixBin (pT));
441+ return h->GetBinContent (h->FindFixBin (pT, y ));
434442 }
435443
436444 HistogramRegistry registry{
0 commit comments