1818#include " PWGLF/DataModel/LFStrangenessTables.h"
1919
2020#include " Common/CCDB/EventSelectionParams.h"
21+ #include " Common/Core/TrackSelection.h"
22+ #include " Common/Core/TrackSelectionDefaults.h"
2123#include " Common/DataModel/Centrality.h"
2224#include " Common/DataModel/EventSelection.h"
2325#include " Common/DataModel/McCollisionExtra.h"
2426#include " Common/DataModel/Multiplicity.h"
2527#include " Common/DataModel/PIDResponseTPC.h"
2628#include " Common/DataModel/TrackSelectionTables.h"
27- #include " Common/Core/TrackSelection.h"
28- #include " Common/Core/TrackSelectionDefaults.h"
29+
2930#include < CommonConstants/MathConstants.h>
3031#include < Framework/AnalysisDataModel.h>
3132#include < Framework/AnalysisHelpers.h>
@@ -121,16 +122,14 @@ enum {
121122 kRecTrkTypeend
122123};
123124
124-
125125static constexpr TrackSelectionFlags::flagtype TrackSelectionIts =
126126 TrackSelectionFlags::kITSNCls | TrackSelectionFlags::kITSChi2NDF |
127127 TrackSelectionFlags::kITSHits ;
128128static constexpr TrackSelectionFlags::flagtype TrackSelectionTpc =
129129 TrackSelectionFlags::kTPCNCls |
130130 TrackSelectionFlags::kTPCCrossedRowsOverNCls |
131131 TrackSelectionFlags::kTPCChi2NDF ;
132- static constexpr TrackSelectionFlags::flagtype TrackSelectionDca =
133- TrackSelectionFlags::kDCAz | TrackSelectionFlags::kDCAxy ;
132+ // static constexpr TrackSelectionFlags::flagtype TrackSelectionDca = TrackSelectionFlags::kDCAz | TrackSelectionFlags::kDCAxy;
134133static constexpr TrackSelectionFlags::flagtype TrackSelectionDcaxyOnly =
135134 TrackSelectionFlags::kDCAxy ;
136135
@@ -194,7 +193,7 @@ struct HeavyionMultiplicity {
194193 ConfigurableAxis binsImpactPar{" binsImpactPar" , {VARIABLE_WIDTH , 0.0 , 3.00065 , 4.28798 , 6.14552 , 7.6196 , 8.90942 , 10.0897 , 11.2002 , 12.2709 , 13.3167 , 14.4173 , 23.2518 }, " Binning of the impact parameter axis" };
195194 ConfigurableAxis binsMult{" binsMult" , {500 , 0 .0f , +500 .0f }, " " };
196195 ConfigurableAxis binsDCA{" binsDCA" , {500 , -10 .0f , 10 .0f }, " " };
197-
196+
198197 Configurable<bool > isApplyTFcut{" isApplyTFcut" , true , " Enable TimeFrameBorder cut" };
199198 Configurable<bool > isApplyITSROcut{" isApplyITSROcut" , true , " Enable ITS ReadOutFrameBorder cut" };
200199 Configurable<bool > isApplySameBunchPileup{" isApplySameBunchPileup" , true , " Enable SameBunchPileup cut" };
@@ -220,17 +219,17 @@ struct HeavyionMultiplicity {
220219 Configurable<bool > selectCollidingBCs{" selectCollidingBCs" , true , " BC analysis: select colliding BCs" };
221220 Configurable<bool > selectTVX{" selectTVX" , true , " BC analysis: select TVX" };
222221 Configurable<bool > selectFV0OrA{" selectFV0OrA" , true , " BC analysis: select FV0OrA" };
223- Configurable<bool > isApplyDCAstandardcuts{" isApplyDCAstandardcuts" ,true , " Apply DCA standard run 2 cuts" };
222+ Configurable<bool > isApplyDCAstandardcuts{" isApplyDCAstandardcuts" , true , " Apply DCA standard run 2 cuts" };
224223 Configurable<bool > isApplyDCAcustomcuts{" isApplyDCAcustomcuts" , false , " Apply DCA custom cuts" };
225- Configurable<float > cDcazP0 {" cDcazP0" , 1 .0f ," dca parameter " };
226- Configurable<float > cDcazP1 {" cDcazP1" , 1 .0f ," dca parameter " };
227- Configurable<float > cDcazP2 {" cDcazP2" , 1 .0f ," dca parameter " };
228- Configurable<float > cDcaxyP0{" cDcaxyP0" ,1 .0f ," dca parameter " };
229- Configurable<float > cDcaxyP1{" cDcaxyP1" ,1 .0f ," dca parameter " };
230- Configurable<float > cDcaxyP2{" cDcaxyP2" ,1 .0f ," dca parameter " };
231-
224+ Configurable<float > cDcazP0{" cDcazP0" , 1 .0f , " dcaz parameter0 " };
225+ Configurable<float > cDcazP1{" cDcazP1" , 1 .0f , " dcaz parameter1 " };
226+ Configurable<float > cDcazP2{" cDcazP2" , 1 .0f , " dcaz parameter2 " };
227+ Configurable<float > cDcaxyP0{" cDcaxyP0" , 1 .0f , " dcaxy parameter0 " };
228+ Configurable<float > cDcaxyP1{" cDcaxyP1" , 1 .0f , " dcaxy parameter1 " };
229+ Configurable<float > cDcaxyP2{" cDcaxyP2" , 1 .0f , " dcaxy parameter2 " };
230+
232231 void init (InitContext const &)
233- {
232+ {
234233 AxisSpec axisMult = {multHistBin, " Mult" , " MultAxis" };
235234 AxisSpec axisPV = {pvHistBin, " PV" , " PVAxis" };
236235 AxisSpec axisFv0aMult = {fv0aMultHistBin, " fv0a" , " FV0AMultAxis" };
@@ -260,19 +259,18 @@ struct HeavyionMultiplicity {
260259 x->SetBinLabel (9 , " ApplyNoHighMultCollInPrevRof" );
261260 x->SetBinLabel (10 , " INEL > 0" );
262261
263-
264- if (doprocessDCAvsptData) {
262+ if (doprocessDCAvsptData) {
265263 histos.add (" hdcaxyvspt" , " dca to pv in the xy plane" , kTH2D , {dcaAxis, axisPt}, false );
266- histos.add (" hdcazvspt" , " dca to pv in the z axis" , kTH2D , {dcaAxis, axisPt}, false );
264+ histos.add (" hdcazvspt" , " dca to pv in the z axis" , kTH2D , {dcaAxis, axisPt}, false );
267265 }
268266
269- if (doprocessDCAvsptMC) {
267+ if (doprocessDCAvsptMC) {
270268 histos.add (" hdcaxyvsptMC" , " dca to pv in the xy plane MC" , kTH2D , {dcaAxis, axisPt}, false );
271269 histos.add (" hdcazvsptMC" , " dca to pv in the z axis MC" , kTH2D , {dcaAxis, axisPt}, false );
272270 histos.add (" hdcaxyvsptMCprimary" , " dca to pv in the xy plane MC primary particles" , kTH2D , {dcaAxis, axisPt}, false );
273271 histos.add (" hdcazvsptMCprimary" , " dca to pv in the z axis MC primary particles" , kTH2D , {dcaAxis, axisPt}, false );
274272 }
275-
273+
276274 if (doprocessData) {
277275 histos.add (" hdcaxy" , " dca to pv in the xy plane" , kTH1D , {dcaAxis}, false );
278276 histos.add (" hdcaz" , " dca to pv in the z axis" , kTH1D , {dcaAxis}, false );
@@ -507,11 +505,11 @@ struct HeavyionMultiplicity {
507505 template <typename CheckTrack>
508506 bool isTrackSelected (CheckTrack const & track)
509507 {
510- if (isApplyDCAcustomcuts) {
511- if (std::abs (track.dcaXY ()) > cDcaxyP0 + cDcaxyP1 / pow (track.pt (), cDcaxyP2))
512- return false ;
513- if (std::abs (track.dcaZ ()) > cDcazP0 + cDcazP1 / pow (track.pt (), cDcazP2))
514- return false ;
508+ if (isApplyDCAcustomcuts) {
509+ if (std::abs (track.dcaXY ()) > cDcaxyP0 + cDcaxyP1 / pow (track.pt (), cDcaxyP2))
510+ return false ;
511+ if (std::abs (track.dcaZ ()) > cDcazP0 + cDcazP1 / pow (track.pt (), cDcazP2))
512+ return false ;
515513 }
516514 if (std::abs (track.eta ()) >= etaRange) {
517515 return false ;
@@ -547,35 +545,30 @@ struct HeavyionMultiplicity {
547545 return true ;
548546 }
549547
550-
551-
552-
553-
554548 expressions::Filter trackSelectionProperMixed = ncheckbit(aod::track::v001::detectorMap, (uint8_t )o2::aod::track::ITS ) &&
555549 ncheckbit (aod::track::trackCutFlag, TrackSelectionIts) &&
556550 ifnode (ncheckbit(aod::track::v001::detectorMap, (uint8_t )o2::aod::track::TPC),
557551 ncheckbit(aod::track::trackCutFlag, TrackSelectionTpc), true) &&
558- ifnode(isApplyDCAstandardcuts.node(), nabs(aod::track::dcaZ) <= dcaZ && ncheckbit(aod::track::trackCutFlag, TrackSelectionDcaxyOnly), true);
559-
552+ ifnode(isApplyDCAstandardcuts.node(), nabs(aod::track::dcaZ) <= dcaZ && ncheckbit(aod::track::trackCutFlag, TrackSelectionDcaxyOnly), true);
560553
561- void processDCAvsptData (CollisionDataTable::iterator const & cols, FilTrackDataTable const & tracks) {
562- if (!isEventSelected (cols)) {
554+ void processDCAvsptData (CollisionDataTable::iterator const & cols, FilTrackDataTable const & tracks)
555+ {
556+ if (!isEventSelected (cols)) {
563557 return ;
564558 }
565559
566560 for (const auto & track : tracks) {
567-
568- if (!isTrackSelected (track))
561+
562+ if (!isTrackSelected (track))
569563 continue ;
570564
571- histos.fill (HIST (" hdcaxyvspt" ), track.dcaXY (), track.pt ());
572- histos.fill (HIST (" hdcazvspt" ), track.dcaZ (), track.pt ());
573-
565+ histos.fill (HIST (" hdcaxyvspt" ), track.dcaXY (), track.pt ());
566+ histos.fill (HIST (" hdcazvspt" ), track.dcaZ (), track.pt ());
574567 }
575-
576568 }
577569
578- void processDCAvsptMC (soa::Join<CollisionMCTrueTable, aod::McCollsExtra>::iterator const & mcCollision, CollisionMCRecTable const & RecCols, TrackMCTrueTable const &, FilTrackMCRecTable const & RecTracks) {
570+ void processDCAvsptMC (soa::Join<CollisionMCTrueTable, aod::McCollsExtra>::iterator const & mcCollision, CollisionMCRecTable const & RecCols, TrackMCTrueTable const &, FilTrackMCRecTable const & RecTracks)
571+ {
579572
580573 for (const auto & RecCol : RecCols) {
581574 if (!isEventSelected (RecCol)) {
@@ -589,30 +582,25 @@ struct HeavyionMultiplicity {
589582
590583 for (const auto & Rectrack : recTracksPart) {
591584
592- if (!isTrackSelected (Rectrack))
585+ if (!isTrackSelected (Rectrack))
593586 continue ;
594-
587+
595588 if (!Rectrack.has_mcParticle ())
596- continue ;
597-
598-
599- histos.fill (HIST (" hdcaxyvsptMC" ), Rectrack.dcaXY (), Rectrack.pt ());
600- histos.fill (HIST (" hdcazvsptMC" ), Rectrack.dcaZ (), Rectrack.pt ());
601-
602- auto mcpart = Rectrack.mcParticle ();
603-
604- if (!isGenTrackSelected (mcpart)) {
605- histos.fill (HIST (" hdcaxyvsptMCprimary" ), Rectrack.dcaXY (), Rectrack.pt ());
606- histos.fill (HIST (" hdcazvsptMCprimary" ), Rectrack.dcaZ (), Rectrack.pt ());
607- }
608- }
609- }
610- }
589+ continue ;
611590
591+ histos.fill (HIST (" hdcaxyvsptMC" ), Rectrack.dcaXY (), Rectrack.pt ());
592+ histos.fill (HIST (" hdcazvsptMC" ), Rectrack.dcaZ (), Rectrack.pt ());
612593
594+ auto mcpart = Rectrack.mcParticle ();
613595
596+ if (!isGenTrackSelected (mcpart)) {
597+ histos.fill (HIST (" hdcaxyvsptMCprimary" ), Rectrack.dcaXY (), Rectrack.pt ());
598+ histos.fill (HIST (" hdcazvsptMCprimary" ), Rectrack.dcaZ (), Rectrack.pt ());
599+ }
600+ }
601+ }
602+ }
614603
615-
616604 void processData (CollisionDataTable::iterator const & cols, FilTrackDataTable const & tracks)
617605 {
618606 if (!isEventSelected (cols)) {
@@ -1120,7 +1108,7 @@ struct HeavyionMultiplicity {
11201108 histos.fill (HIST (" BcCentFT0CHist" ), multbc.centFT0C ());
11211109 histos.fill (HIST (" BcCentFT0MHist" ), multbc.centFT0M ());
11221110 }
1123-
1111+
11241112 PROCESS_SWITCH (HeavyionMultiplicity, processDCAvsptData, " process DCA data" , false );
11251113 PROCESS_SWITCH (HeavyionMultiplicity, processDCAvsptMC, " process DCA MC" , false );
11261114 PROCESS_SWITCH (HeavyionMultiplicity, processData, " process data CentFT0C" , false );
0 commit comments