@@ -76,7 +76,7 @@ constexpr double kTrackPIDSettings[nParticles][nTrkSettings]{
7676 {1 , 0 , 4 , 70 , 4.0 , 0.5 , 100 , 0.50 , 5.0 , 3.0 , -1 , 0 , 100 , 2 ., 2 ., 0 ., 1000 , 70 , 1 },
7777 {1 , 0 , 4 , 75 , 4.0 , 0.5 , 100 , 0.50 , 5.0 , 5.0 , -1 , 0 , 100 , 2 ., 2 ., 0 ., 1000 , 70 , 1 },
7878 {1 , 0 , 4 , 70 , 4.0 , 0.5 , 100 , 0.50 , 5.0 , 5.0 , -1 , 0 , 100 , 2 ., 2 ., 0 ., 1000 , 70 , 1 }};
79-
79+
8080const int nTrkSettings2 = 3 ;
8181static const std::vector<std::string> trackPIDsettingsNames2{" useITSnsigma" , " minITSnsigma" , " maxITSnsigma" };
8282constexpr double kTrackPIDSettings2 [nParticles][nTrkSettings2]{
@@ -86,8 +86,7 @@ constexpr double kTrackPIDSettings2[nParticles][nTrkSettings2]{
8686 {1 , -5 , 4 },
8787 {1 , -5 , 4 },
8888 {1 , -5 , 4 }};
89-
90-
89+
9190struct PrimParticles {
9291 TString name;
9392 int pdgCode, charge;
@@ -186,7 +185,7 @@ struct NucleitpcPbPb {
186185 ConfigurableAxis axisITScls{" axisITScls" , {400 , 0 ., 200 .}, " ITScls axis" };
187186 ConfigurableAxis axisITSchi2{" axisITSchi2" , {400 , 0 ., 100 .}, " ITSchi2 axis" };
188187 ConfigurableAxis axisTPCchi2{" axisTPCchi2" , {400 , 0 ., 100 .}, " TPCchi2 axis" };
189-
188+
190189 // CCDB
191190 Service<o2::ccdb::BasicCCDBManager> ccdb;
192191 Configurable<double > bField{" bField" , -999 , " bz field, -999 is automatic" };
@@ -230,21 +229,21 @@ struct NucleitpcPbPb {
230229 histos.add (" histeta" , " histeta" , kTH1F , {axiseta});
231230 histos.add (" Tofsignal" , " Tofsignal" , kTH2F , {axisRigidity, {4000 , 0.2 , 1.2 , " #beta" }});
232231 histos.add (" Tpcsignal" , " Tpcsignal" , kTH2F , {axisRigidity, axisdEdx});
233-
232+
234233 hmass.resize (2 * nParticles + 2 );
235-
234+
236235 for (int i = 0 ; i < nParticles; i++) {
237236 TString histName = primaryParticles[i].name ;
238237 if (cfgFillmass) {
239238 hmass[2 * i] = histos.add <TH2 >(Form (" histmass_pt/histmass_%s" , histName.Data ()), " ;p_T{TPC} (GeV/#it{c}); mass^{2}" , HistType::kTH2F , {ptAxis, axismass});
240239 hmass[2 * i + 1 ] = histos.add <TH2 >(Form (" histmass_ptanti/histmass_%s" , histName.Data ()), " ;p_T{TPC} (GeV/#it{c}); mass^{2}" , HistType::kTH2F , {ptAxis, axismass});
241240 }
242241 }
243-
244- histos.add <THnSparse>(" hSpectra" ," " ,HistType::kTHnSparseF , {speciesBitAxis, ptAxis, nsigmaAxis,{5 , -2.5 , 2.5 },axisCent, axisRigidity, axisdEdx,axisDCA, axisDCA, nsigmaAxis});
245-
246- histos.add <THnSparse>(" hQAtest" ," " ,HistType::kTHnSparseF , {speciesBitAxis, ptAxis, {5 , -2.5 , 2.5 }, axisTPCcls, axisITScls, axisITSchi2, axisTPCchi2});
247-
242+
243+ histos.add <THnSparse>(" hSpectra" , " " , HistType::kTHnSparseF , {speciesBitAxis, ptAxis, nsigmaAxis, {5 , -2.5 , 2.5 }, axisCent, axisRigidity, axisdEdx, axisDCA, axisDCA, nsigmaAxis});
244+
245+ histos.add <THnSparse>(" hQAtest" , " " , HistType::kTHnSparseF , {speciesBitAxis, ptAxis, {5 , -2.5 , 2.5 }, axisTPCcls, axisITScls, axisITSchi2, axisTPCchi2});
246+
248247 if (doprocessMC) {
249248 histomc.add (" histVtxZgen" , " histVtxZgen" , kTH1F , {axisVtxZ});
250249 histomc.add (" ImptParameter" , " ImptParameter" , kTH1F , {axisImpt});
@@ -285,15 +284,19 @@ struct NucleitpcPbPb {
285284 if (std::abs (track.eta ()) > cfgCutEta && cfgetaRequire)
286285 continue ;
287286 for (size_t i = 0 ; i < primaryParticles.size (); i++) {
288-
287+
289288 float ptMomn;
290289 setTrackParCov (track, mTrackParCov );
291290 mTrackParCov .setPID (track.pidForTracking ());
292291 ptMomn = (i == he3 || i == he4) ? 2 * mTrackParCov .getPt () : mTrackParCov .getPt ();
293- int sign = 0 ;
294- if (track.sign () > 0 ) { sign = 1 ;}
295- if (track.sign () < 0 ) {sign = -1 ;} // <- This redeclares a new local variable!
296- if (cfgFillQAplots){
292+ int sign = 0 ;
293+ if (track.sign () > 0 ) {
294+ sign = 1 ;
295+ }
296+ if (track.sign () < 0 ) {
297+ sign = -1 ;
298+ } // <- This redeclares a new local variable!
299+ if (cfgFillQAplots) {
297300 histos.fill (HIST (" hQAtest" ), i, ptMomn, sign, track.tpcNClsFound (), track.itsNCls (), track.itsChi2NCl (), track.tpcChi2NCl ());
298301 }
299302 if (std::abs (getRapidity (track, i)) > cfgCutRapidity && cfgRapidityRequire)
@@ -309,7 +312,7 @@ struct NucleitpcPbPb {
309312 if (track.itsNCls () < cfgTrackPIDsettings->get (i, " minITSnCls" ) && cfgminITSnClsRequire)
310313 continue ;
311314 double cosheta = std::cosh (track.eta ());
312- if ((track.itsNCls ()/ cosheta) < cfgTrackPIDsettings->get (i, " minITSnClscos" ) && cfgminITSnClscosRequire)
315+ if ((track.itsNCls () / cosheta) < cfgTrackPIDsettings->get (i, " minITSnClscos" ) && cfgminITSnClscosRequire)
313316 continue ;
314317 if ((track.itsNClsInnerBarrel () < cfgTrackPIDsettings->get (i, " minReqClusterITSib" )) && cfgminReqClusterITSibRequire)
315318 continue ;
@@ -323,26 +326,26 @@ struct NucleitpcPbPb {
323326 bool insideDCAxy = (std::abs (track.dcaXY ()) <= (cfgTrackPIDsettings->get (i, " maxDcaXY" ) * (0 .0105f + 0 .0350f / std::pow (ptMomn, 1 .1f )))); // o2-linter: disable=magic-number (To be checked)
324327 if ((!(insideDCAxy) || std::abs (track.dcaZ ()) > dcazSigma (ptMomn, cfgTrackPIDsettings->get (i, " maxDcaZ" ))) && cfgDCAwithptRequire)
325328 continue ;
326-
329+
327330 float tpcNsigma = getTPCnSigma (track, primaryParticles.at (i));
328331 if ((std::abs (tpcNsigma) > cfgTrackPIDsettings->get (i, " maxTPCnSigma" )) && cfgmaxTPCnSigmaRequire)
329332 continue ;
330- float itsSigma = getITSnSigma (track, primaryParticles.at (i));
331-
333+ float itsSigma = getITSnSigma (track, primaryParticles.at (i));
334+
332335 if (itsSigma < cfgTrackPIDsettings2->get (i, " minITSnsigma" ) && cfgTrackPIDsettings2->get (i, " useITSnsigma" ) < 1 )
333336 continue ;
334337 if (itsSigma > cfgTrackPIDsettings2->get (i, " maxITSnsigma" ) && cfgTrackPIDsettings2->get (i, " useITSnsigma" ) < 1 )
335338 continue ;
336-
339+
337340 fillhmass (track, i);
338- if (cfgFillhspectra){
339- histos.fill (HIST (" hSpectra" ), i, ptMomn, tpcNsigma, sign, cent, getRigidity (track) * track.sign (), track.tpcSignal (),track.dcaZ (),track.dcaXY (), itsSigma);
340- }
341+ if (cfgFillhspectra) {
342+ histos.fill (HIST (" hSpectra" ), i, ptMomn, tpcNsigma, sign, cent, getRigidity (track) * track.sign (), track.tpcSignal (), track.dcaZ (), track.dcaXY (), itsSigma);
343+ }
341344 if (cfgRequirebetaplot) {
342345 histos.fill (HIST (" Tofsignal" ), getRigidity (track) * track.sign (), o2::pid::tof::Beta::GetBeta (track));
343346 }
344347 }
345- if (track.tpcNClsFound () < cfgtpcNClsFound || track.itsNCls () < cfgitsNCls){
348+ if (track.tpcNClsFound () < cfgtpcNClsFound || track.itsNCls () < cfgitsNCls) {
346349 histos.fill (HIST (" Tpcsignal" ), getRigidity (track) * track.sign (), track.tpcSignal ());
347350 }
348351 histos.fill (HIST (" histeta" ), track.eta ());
@@ -372,8 +375,8 @@ struct NucleitpcPbPb {
372375 histos.fill (HIST (" histCentFTOC_cut" ), collision.centFT0C ());
373376 const uint64_t collIdx = collision.globalIndex ();
374377 auto tracksByColl = tracksColl.sliceBy (perCollision, collIdx);
375-
376- findprimaryParticles (tracksByColl, tracks,collision.centFT0C ());
378+
379+ findprimaryParticles (tracksByColl, tracks, collision.centFT0C ());
377380 if (!collHasCandidate)
378381 continue ;
379382 }
@@ -481,62 +484,66 @@ struct NucleitpcPbPb {
481484 for (size_t i = 0 ; i < primaryParticles.size (); i++) {
482485 if (std::abs (pdg) != std::abs (particlePdgCodes.at (i)))
483486 continue ;
484-
485- float ptMomn;
486- setTrackParCov (track, mTrackParCov );
487- mTrackParCov .setPID (track.pidForTracking ());
488- ptMomn = (i == he3 || i == he4) ? 2 * mTrackParCov .getPt () : mTrackParCov .getPt ();
489- int sign = 0 ;
490- if (track.sign () > 0 ) { sign = 1 ;}
491- if (track.sign () < 0 ) {sign = -1 ;} // <- This redeclares a new local variable!
492- if (cfgFillQAplots){
493- histos.fill (HIST (" hQAtest" ), i, ptMomn, sign, track.tpcNClsFound (), track.itsNCls (), track.itsChi2NCl (), track.tpcChi2NCl ());
494- }
495- if (std::abs (getRapidity (track, i)) > cfgCutRapidity && cfgRapidityRequire)
496- continue ;
497- if (track.tpcNClsFound () < cfgTrackPIDsettings->get (i, " minTPCnCls" ) && cfgTPCNClsfoundRequire)
498- continue ;
499- if (((track.tpcNClsCrossedRows () < cfgTrackPIDsettings->get (i, " minTPCnClsCrossedRows" )) || track.tpcNClsCrossedRows () < 0.8 * track.tpcNClsFindable ()) && cfgTPCNClsCrossedRowsRequire) // o2-linter: disable=magic-number (To be checked)
500- continue ;
501- if (track.tpcChi2NCl () > cfgTrackPIDsettings->get (i, " maxTPCchi2" ) && cfgmaxTPCchi2Require)
502- continue ;
503- if (track.tpcChi2NCl () < cfgTrackPIDsettings->get (i, " minTPCchi2" ) && cfgminTPCchi2Require)
504- continue ;
505- if (track.itsNCls () < cfgTrackPIDsettings->get (i, " minITSnCls" ) && cfgminITSnClsRequire)
506- continue ;
507- double cosheta = std::cosh (track.eta ());
508- if ((track.itsNCls ()/ cosheta) < cfgTrackPIDsettings->get (i, " minITSnClscos" ) && cfgminITSnClscosRequire)
509- continue ;
510- if ((track.itsNClsInnerBarrel () < cfgTrackPIDsettings->get (i, " minReqClusterITSib" )) && cfgminReqClusterITSibRequire)
511- continue ;
512- if (track.itsChi2NCl () > cfgTrackPIDsettings->get (i, " maxITSchi2" ) && cfgmaxITSchi2Require)
513- continue ;
514- if (getMeanItsClsSize (track) < cfgTrackPIDsettings->get (i, " minITSclsSize" ) && cfgminGetMeanItsClsSizeRequire)
515- continue ;
516- if (getMeanItsClsSize (track) > cfgTrackPIDsettings->get (i, " maxITSclsSize" ) && cfgmaxGetMeanItsClsSizeRequire)
517- continue ;
518487
519- bool insideDCAxy = (std::abs (track.dcaXY ()) <= (cfgTrackPIDsettings->get (i, " maxDcaXY" ) * (0 .0105f + 0 .0350f / std::pow (ptMomn, 1 .1f )))); // o2-linter: disable=magic-number (To be checked)
520- if ((!(insideDCAxy) || std::abs (track.dcaZ ()) > dcazSigma (ptMomn, cfgTrackPIDsettings->get (i, " maxDcaZ" ))) && cfgDCAwithptRequire)
521- continue ;
522-
523- float tpcNsigma = getTPCnSigma (track, primaryParticles.at (i));
524- if ((std::abs (tpcNsigma) > cfgTrackPIDsettings->get (i, " maxTPCnSigma" )) && cfgmaxTPCnSigmaRequire)
525- continue ;
526- float itsSigma = getITSnSigma (track, primaryParticles.at (i));
527-
528- if (itsSigma < cfgTrackPIDsettings2->get (i, " minITSnsigma" ) && cfgTrackPIDsettings2->get (i, " useITSnsigma" ) < 1 )
529- continue ;
530- if (itsSigma > cfgTrackPIDsettings2->get (i, " maxITSnsigma" ) && cfgTrackPIDsettings2->get (i, " useITSnsigma" ) < 1 )
531- continue ;
488+ float ptMomn;
489+ setTrackParCov (track, mTrackParCov );
490+ mTrackParCov .setPID (track.pidForTracking ());
491+ ptMomn = (i == he3 || i == he4) ? 2 * mTrackParCov .getPt () : mTrackParCov .getPt ();
492+ int sign = 0 ;
493+ if (track.sign () > 0 ) {
494+ sign = 1 ;
495+ }
496+ if (track.sign () < 0 ) {
497+ sign = -1 ;
498+ } // <- This redeclares a new local variable!
499+ if (cfgFillQAplots) {
500+ histos.fill (HIST (" hQAtest" ), i, ptMomn, sign, track.tpcNClsFound (), track.itsNCls (), track.itsChi2NCl (), track.tpcChi2NCl ());
501+ }
502+ if (std::abs (getRapidity (track, i)) > cfgCutRapidity && cfgRapidityRequire)
503+ continue ;
504+ if (track.tpcNClsFound () < cfgTrackPIDsettings->get (i, " minTPCnCls" ) && cfgTPCNClsfoundRequire)
505+ continue ;
506+ if (((track.tpcNClsCrossedRows () < cfgTrackPIDsettings->get (i, " minTPCnClsCrossedRows" )) || track.tpcNClsCrossedRows () < 0.8 * track.tpcNClsFindable ()) && cfgTPCNClsCrossedRowsRequire) // o2-linter: disable=magic-number (To be checked)
507+ continue ;
508+ if (track.tpcChi2NCl () > cfgTrackPIDsettings->get (i, " maxTPCchi2" ) && cfgmaxTPCchi2Require)
509+ continue ;
510+ if (track.tpcChi2NCl () < cfgTrackPIDsettings->get (i, " minTPCchi2" ) && cfgminTPCchi2Require)
511+ continue ;
512+ if (track.itsNCls () < cfgTrackPIDsettings->get (i, " minITSnCls" ) && cfgminITSnClsRequire)
513+ continue ;
514+ double cosheta = std::cosh (track.eta ());
515+ if ((track.itsNCls () / cosheta) < cfgTrackPIDsettings->get (i, " minITSnClscos" ) && cfgminITSnClscosRequire)
516+ continue ;
517+ if ((track.itsNClsInnerBarrel () < cfgTrackPIDsettings->get (i, " minReqClusterITSib" )) && cfgminReqClusterITSibRequire)
518+ continue ;
519+ if (track.itsChi2NCl () > cfgTrackPIDsettings->get (i, " maxITSchi2" ) && cfgmaxITSchi2Require)
520+ continue ;
521+ if (getMeanItsClsSize (track) < cfgTrackPIDsettings->get (i, " minITSclsSize" ) && cfgminGetMeanItsClsSizeRequire)
522+ continue ;
523+ if (getMeanItsClsSize (track) > cfgTrackPIDsettings->get (i, " maxITSclsSize" ) && cfgmaxGetMeanItsClsSizeRequire)
524+ continue ;
532525
533- fillhmass (track, i);
534- if (cfgFillhspectra){
535- histos.fill (HIST (" hSpectra" ), i, ptMomn, tpcNsigma, sign, collision.centFT0C (), getRigidity (track) * track.sign (), track.tpcSignal (),track.dcaZ (),track.dcaXY (), itsSigma);
536- }
537- if (cfgRequirebetaplot) {
538- histos.fill (HIST (" Tofsignal" ), getRigidity (track) * track.sign (), o2::pid::tof::Beta::GetBeta (track));
539- }
526+ bool insideDCAxy = (std::abs (track.dcaXY ()) <= (cfgTrackPIDsettings->get (i, " maxDcaXY" ) * (0 .0105f + 0 .0350f / std::pow (ptMomn, 1 .1f )))); // o2-linter: disable=magic-number (To be checked)
527+ if ((!(insideDCAxy) || std::abs (track.dcaZ ()) > dcazSigma (ptMomn, cfgTrackPIDsettings->get (i, " maxDcaZ" ))) && cfgDCAwithptRequire)
528+ continue ;
529+
530+ float tpcNsigma = getTPCnSigma (track, primaryParticles.at (i));
531+ if ((std::abs (tpcNsigma) > cfgTrackPIDsettings->get (i, " maxTPCnSigma" )) && cfgmaxTPCnSigmaRequire)
532+ continue ;
533+ float itsSigma = getITSnSigma (track, primaryParticles.at (i));
534+
535+ if (itsSigma < cfgTrackPIDsettings2->get (i, " minITSnsigma" ) && cfgTrackPIDsettings2->get (i, " useITSnsigma" ) < 1 )
536+ continue ;
537+ if (itsSigma > cfgTrackPIDsettings2->get (i, " maxITSnsigma" ) && cfgTrackPIDsettings2->get (i, " useITSnsigma" ) < 1 )
538+ continue ;
539+
540+ fillhmass (track, i);
541+ if (cfgFillhspectra) {
542+ histos.fill (HIST (" hSpectra" ), i, ptMomn, tpcNsigma, sign, collision.centFT0C (), getRigidity (track) * track.sign (), track.tpcSignal (), track.dcaZ (), track.dcaXY (), itsSigma);
543+ }
544+ if (cfgRequirebetaplot) {
545+ histos.fill (HIST (" Tofsignal" ), getRigidity (track) * track.sign (), o2::pid::tof::Beta::GetBeta (track));
546+ }
540547
541548 /* ----------------------------------------------------------------------------------------------------------------*/
542549 float ptReco;
0 commit comments