@@ -152,9 +152,8 @@ struct LongrangeMaker {
152152 Configurable<float > maxChi2PerClusterITS{" maxChi2PerClusterITS" , 36 .f , " cut on maximum value of ITS chi2 per cluster" };
153153 Configurable<float > maxDcaZ{" maxDcaZ" , 2 .0f , " cut on maximum abs value of DCA z" };
154154 Configurable<float > maxDcaXY{" maxDcaXY" , 1 .0f , " cut on maximum abs value of DCA xy" };
155- Configurable<float > cfgLowEffCut{" cfgLowEffCut" , 0 .001f , " Low efficiency cut" };
156155 Configurable<bool > applyEffCorr{" applyEffCorr" , true , " Enable efficiency correction" };
157- Configurable<std::string> cfgEffccdbPath{" cfgEffccdbPath" , " /alice/data/CCDB/ Users/a/abmodak/OO/Efficiency " , " Browse track eff object from CCDB" };
156+ Configurable<std::string> cfgEffccdbPath{" cfgEffccdbPath" , " Users/a/abmodak/Efficiency/ OO/default " , " Browse track eff object from CCDB" };
158157 } cfgtrksel;
159158
160159 struct : ConfigurableGroup {
@@ -316,6 +315,7 @@ struct LongrangeMaker {
316315 histos.add (" FT0C_Channel_vs_Amp_gaincorrected" , " FT0C_Channel_vs_Amp_gaincorrected" , kTH2D , {cfgAxis.axisChannel , cfgAxis.axisAmplitude });
317316 histos.add (" FT0C_Channel_vs_eta" , " FT0C_Channel_vs_eta" , kTH2D , {cfgAxis.axisEta , cfgAxis.axisChannel });
318317 histos.add (" FT0C_Channel_vs_phi" , " FT0C_Channel_vs_phi" , kTH2D , {cfgAxis.axisPhi , cfgAxis.axisChannel });
318+ histos.add (" h3DVtxZetaPhi" , " " , kTH3D , {{20 , -10 , 10 }, {16 , -0.8 , +0.8 }, {100 , 0 ., TwoPI}});
319319
320320 myTrackFilter = getGlobalTrackSelectionRun3ITSMatch (TrackSelection::GlobalTrackRun3ITSMatching::Run3ITSibAny,
321321 TrackSelection::GlobalTrackRun3DCAxyCut::Default);
@@ -432,6 +432,7 @@ struct LongrangeMaker {
432432 track.dcaZ (),
433433 pid);
434434 }
435+ histos.fill (HIST (" h3DVtxZetaPhi" ), col.posZ (), track.eta (), track.phi ());
435436 }
436437
437438 // ft0 loop
@@ -855,6 +856,7 @@ struct LongrangeMaker {
855856 track.dcaZ (),
856857 pid);
857858 }
859+ histos.fill (HIST (" h3DVtxZetaPhi" ), RecCol.posZ (), track.eta (), track.phi ());
858860 }
859861
860862 // ft0 loop
@@ -1101,7 +1103,7 @@ struct LongrangeMaker {
11011103 float trkeff = 1 .0f ;
11021104 if (cfgtrksel.applyEffCorr )
11031105 trkeff = getTrkEffCorr (vz, track.eta (), track.pt ());
1104- nTrk += 1.0 / trkeff;
1106+ nTrk += trkeff;
11051107 }
11061108 return nTrk;
11071109 }
@@ -1394,19 +1396,17 @@ struct LongrangeMaker {
13941396
13951397 float getTrkEffCorr (float posZ, float eta, float pt)
13961398 {
1397- float eff = 1 .;
1398- if (hTrkEff) {
1399- int zBin = hTrkEff->GetXaxis ()->FindBin (posZ);
1400- int etaBin = hTrkEff->GetYaxis ()->FindBin (eta);
1401- int ptBin = hTrkEff->GetZaxis ()->FindBin (pt);
1402- eff = hTrkEff->GetBinContent (zBin, etaBin, ptBin);
1403- } else {
1404- eff = 1.0 ;
1399+ if (!cfgtrksel.applyEffCorr || !hTrkEff) {
1400+ return 1.0 ;
14051401 }
1406- if (eff < cfgtrksel.cfgLowEffCut )
1407- eff = 1.0 ;
1408-
1409- return eff;
1402+ int zBin = hTrkEff->GetXaxis ()->FindBin (posZ);
1403+ int etaBin = hTrkEff->GetYaxis ()->FindBin (eta);
1404+ int ptBin = hTrkEff->GetZaxis ()->FindBin (pt);
1405+ float effweight = 1.0 / hTrkEff->GetBinContent (zBin, etaBin, ptBin);
1406+ if (!std::isfinite (effweight) || effweight <= 0 ) {
1407+ return 1.0 ;
1408+ }
1409+ return effweight;
14101410 }
14111411
14121412 PROCESS_SWITCH (LongrangeMaker, processData, " process All collisions" , false );
0 commit comments