2323#include " Common/Core/PID/TPCPIDResponse.h"
2424#include " Common/Core/RecoDecay.h"
2525#include " Common/Core/TrackSelection.h"
26- #include " Common/Core/trackUtilities.h"
2726#include " Common/Core/Zorro.h"
2827#include " Common/Core/ZorroSummary.h"
28+ #include " Common/Core/trackUtilities.h"
2929#include " Common/DataModel/Centrality.h"
3030#include " Common/DataModel/EventSelection.h"
3131#include " Common/DataModel/Multiplicity.h"
@@ -122,12 +122,12 @@ enum ParticleFlags {
122122};
123123
124124std::array<float , 3 > kDCAxyResolutionParams [static_cast <int >(Species::kAllSpecies )] = {
125- {0.0118 , 0.6889 , 0.0017 }, // He3
126- {0.0032 , 0.5206 , 0.0012 } // Pr
125+ {0.0118 , 0.6889 , 0.0017 }, // He3
126+ {0.0032 , 0.5206 , 0.0012 } // Pr
127127};
128128std::array<float , 3 > kDCAzResolutionParams [static_cast <int >(Species::kAllSpecies )] = {
129- {0.1014 , 1.7512 , 0.0024 }, // He3
130- {0.0021 , 1.1122 , 0.0021 } // Pr
129+ {0.1014 , 1.7512 , 0.0024 }, // He3
130+ {0.0021 , 1.1122 , 0.0021 } // Pr
131131};
132132
133133} // namespace
@@ -213,7 +213,7 @@ struct he3HadronFemto {
213213
214214 // Selections
215215 Configurable<int > settingHadPDGCode{" settingHadPDGCode" , 211 , " Hadron - PDG code" };
216-
216+
217217 Configurable<float > settingCutVertex{" settingCutVertex" , 10 .0f , " Accepted z-vertex range" };
218218 Configurable<float > settingCutRigidityMinHe3{" settingCutRigidityMinHe3" , 0 .8f , " Minimum rigidity for He3" };
219219 Configurable<float > settingCutEta{" settingCutEta" , 0 .9f , " Eta cut on daughter track" };
@@ -241,7 +241,7 @@ struct he3HadronFemto {
241241 Configurable<bool > settingEnableDCAfitter{" settingEnableDCAfitter" , false , " Enable DCA fitter" };
242242 Configurable<bool > settingSaveUSandLS{" settingSaveUSandLS" , true , " Save All Pairs" };
243243 Configurable<bool > settingIsMC{" settingIsMC" , false , " Run MC" };
244-
244+
245245 Configurable<bool > settingFillMultiplicity{" settingFillMultiplicity" , false , " Fill multiplicity table" };
246246 Configurable<bool > settingFillQa{" settingFillQa" , false , " Fill QA table" };
247247 Configurable<bool > settingFillPrimariesAndMixedMc{" settingFillPrimariesAndMixedMc" , false , " Fill primary MC tracks and mixed tracks (e.g. a primary track and one from Li4)" };
@@ -302,7 +302,7 @@ struct he3HadronFemto {
302302 {" hEvents" , " ; Events;" , {HistType::kTH1F , {{3 , -0.5 , 2.5 }}}},
303303 {" hEmptyPool" , " svPoolCreator did not find track pairs false/true" , {HistType::kTH1F , {{2 , -0.5 , 1.5 }}}},
304304 {" hhe3HadtInvMass" , " ; M(^{3}He + p) (GeV/#it{c}^{2})" , {HistType::kTH1F , {{300 , 3 .74f , 4 .34f }}}},
305-
305+
306306 {" He3/hDCAxyHe3" , " ^{3}He;DCA_{xy} (cm)" , {HistType::kTH1F , {{200 , -0 .5f , 0 .5f }}}},
307307 {" He3/hDCAzHe3" , " ^{3}He;DCA_{z} (cm)" , {HistType::kTH1F , {{200 , -1 .0f , 1 .0f }}}},
308308 {" He3/hNClsHe3ITS" , " ^{3}He;N_{ITS} Cluster" , {HistType::kTH1F , {{20 , -10 .0f , 10 .0f }}}},
@@ -313,7 +313,7 @@ struct he3HadronFemto {
313313 {" He3/h2NsigmaHe3TPC_preselection" , " NsigmaHe3 TPC distribution; #it{p}_{T} (GeV/#it{c}); n#sigma_{TPC}(^{3}He)" , {HistType::kTH2F , {{100 , -5 .0f , 5 .0f }, {400 , -10 .0f , 10 .0f }}}},
314314 {" He3/h2NSigmaHe3ITS_preselection" , " NsigmaHe3 ITS distribution; signed #it{p}_{T} (GeV/#it{c}); n#sigma_{ITS} ^{3}He" , {HistType::kTH2F , {{50 , -5 .0f , 5 .0f }, {120 , -3 .0f , 3 .0f }}}},
315315 {" He3/h2NSigmaHe3ITS" , " NsigmaHe3 ITS distribution; signed #it{p}_{T} (GeV/#it{c}); n#sigma_{ITS} ^{3}He" , {HistType::kTH2F , {{100 , -5 .0f , 5 .0f }, {120 , -3 .0f , 3 .0f }}}},
316-
316+
317317 {" Had/hNClsHadITS" , " had;N_{ITS} Cluster" , {HistType::kTH1F , {{20 , -10 .0f , 10 .0f }}}},
318318 {" Had/hChi2NClHadITS" , " had;Chi2_{ITS} Ncluster" , {HistType::kTH1F , {{100 , 0 , 100 .0f }}}},
319319 {" Had/hHadronPt" , " had; #it{p}_{T} (GeV/#it{c})" , {HistType::kTH1F , {{120 , -3 .0f , 3 .0f }}}},
@@ -469,22 +469,23 @@ struct he3HadronFemto {
469469 return true ;
470470 }
471471
472- float computeNsigmaDCA (const float pt, const float dca, const int iSpecies, const char * dcaType = " xy" ) {
473-
474- std::array<float , 3 > parameters;
475- if (std::strcmp (dcaType, " xy" ) == 0 ) {
476- parameters = kDCAxyResolutionParams [iSpecies];
477- } else if (std::strcmp (dcaType, " z" ) == 0 ) {
478- parameters = kDCAzResolutionParams [iSpecies];
479- } else {
480- LOG (error) << " Invalid dcaType. Accepted types are 'xy' 'z'" ;
481- parameters = {0 ., 0 ., 0 .};
472+ float computeNsigmaDCA (const float pt, const float dca, const int iSpecies, const char * dcaType = " xy" )
473+ {
474+
475+ std::array<float , 3 > parameters;
476+ if (std::strcmp (dcaType, " xy" ) == 0 ) {
477+ parameters = kDCAxyResolutionParams [iSpecies];
478+ } else if (std::strcmp (dcaType, " z" ) == 0 ) {
479+ parameters = kDCAzResolutionParams [iSpecies];
480+ } else {
481+ LOG (error) << " Invalid dcaType. Accepted types are 'xy' 'z'" ;
482+ parameters = {0 ., 0 ., 0 .};
483+ }
484+ const float sigma = parameters[0 ] *
485+ std::exp (-std::abs (pt) * parameters[1 ]) +
486+ parameters[2 ];
487+ return dca / sigma;
482488 }
483- const float sigma = parameters[0 ] *
484- std::exp (- std::abs (pt) * parameters[1 ]) +
485- parameters[2 ];
486- return dca / sigma;
487- }
488489
489490 template <typename Ttrack>
490491 bool selectDcaNsigmaCut (const Ttrack& candidate, const int ispecies)
@@ -1312,7 +1313,7 @@ struct he3HadronFemto {
13121313 {
13131314 if (!selectCollision</* isMC*/ false >(collision, bcs))
13141315 return ;
1315-
1316+
13161317 for (const auto & track : tracks) {
13171318
13181319 if (!selectTrack (track, Species::kHad ))
@@ -1329,13 +1330,13 @@ struct he3HadronFemto {
13291330 mQaRegistry .fill (HIST (" Had/h2NsigmaHadronTOF_preselection" ), track.pt (), tofNSigmaHad);
13301331 }
13311332 }
1332-
1333+
13331334 if (!selectTrack (track, Species::kHe3 ) || !selectDcaNsigmaCut (track, Species::kHe3 ))
13341335 continue ;
13351336
13361337 mQaRegistry .fill (HIST (" He3/hHe3Pt" ), track.pt () * 2 .f );
13371338 mQaRegistry .fill (HIST (" He3/hDCAxyHe3" ), track.dcaXY ());
1338- mQaRegistry .fill (HIST (" He3/hDCAzHe3" ), track.dcaZ ());
1339+ mQaRegistry .fill (HIST (" He3/hDCAzHe3" ), track.dcaZ ());
13391340
13401341 bool heliumPID = track.pidForTracking () == o2::track::PID::Helium3 || track.pidForTracking () == o2::track::PID::Alpha;
13411342 float correctedTPCinnerParam = (heliumPID && settingCompensatePIDinTracking) ? track.tpcInnerParam () / 2 .f : track.tpcInnerParam ();
@@ -1348,7 +1349,6 @@ struct he3HadronFemto {
13481349 }
13491350 }
13501351 PROCESS_SWITCH (he3HadronFemto, processPurity, " Process for purity studies" , false );
1351-
13521352};
13531353
13541354WorkflowSpec defineDataProcessing (const ConfigContext& cfgc)
0 commit comments