Skip to content

Commit a46eb20

Browse files
committed
added custom DCA cut pT dependent
1 parent e0a0f31 commit a46eb20

1 file changed

Lines changed: 20 additions & 5 deletions

File tree

PWGLF/Tasks/GlobalEventProperties/heavyionMultiplicity.cxx

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@
2424
#include "Common/DataModel/Multiplicity.h"
2525
#include "Common/DataModel/PIDResponseTPC.h"
2626
#include "Common/DataModel/TrackSelectionTables.h"
27-
27+
#include "Common/Core/TrackSelection.h"
28+
#include "Common/Core/TrackSelectionDefaults.h"
2829
#include <CommonConstants/MathConstants.h>
2930
#include <Framework/AnalysisDataModel.h>
3031
#include <Framework/AnalysisHelpers.h>
@@ -120,6 +121,7 @@ enum {
120121
kRecTrkTypeend
121122
};
122123

124+
123125
static constexpr TrackSelectionFlags::flagtype TrackSelectionIts =
124126
TrackSelectionFlags::kITSNCls | TrackSelectionFlags::kITSChi2NDF |
125127
TrackSelectionFlags::kITSHits;
@@ -159,7 +161,7 @@ struct HeavyionMultiplicity {
159161

160162
Configurable<float> etaRange{"etaRange", 1.0f, "Eta range to consider"};
161163
Configurable<float> vtxRange{"vtxRange", 10.0f, "Vertex Z range to consider"};
162-
Configurable<float> dcaZ{"dcaZ", 0.2f, "Custom DCA Z cut (ignored if negative)"};
164+
Configurable<float> dcaZ{"dcaZ", 0.2f, "Custom DCA Z cut"};
163165
Configurable<float> v0radiusK0SCut{"v0radiusK0SCut", 1.2f, "K0S RadiusCut"};
164166
Configurable<float> dcapostopvK0SCut{"dcapostopvK0SCut", 0.05f, "K0S dcapostopvCut"};
165167
Configurable<float> dcanegtopvK0SCut{"dcanegtopvK0SCut", 0.05f, "K0S dcanegtopvCut"};
@@ -219,9 +221,16 @@ struct HeavyionMultiplicity {
219221
Configurable<bool> selectTVX{"selectTVX", true, "BC analysis: select TVX"};
220222
Configurable<bool> selectFV0OrA{"selectFV0OrA", true, "BC analysis: select FV0OrA"};
221223
Configurable<bool> isApplyDCAstandardcuts{"isApplyDCAstandardcuts",true, "Apply DCA standard run 2 cuts"};
224+
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"};
222231

223232
void init(InitContext const&)
224-
{
233+
{
225234
AxisSpec axisMult = {multHistBin, "Mult", "MultAxis"};
226235
AxisSpec axisPV = {pvHistBin, "PV", "PVAxis"};
227236
AxisSpec axisFv0aMult = {fv0aMultHistBin, "fv0a", "FV0AMultAxis"};
@@ -498,6 +507,12 @@ struct HeavyionMultiplicity {
498507
template <typename CheckTrack>
499508
bool isTrackSelected(CheckTrack const& track)
500509
{
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;
515+
}
501516
if (std::abs(track.eta()) >= etaRange) {
502517
return false;
503518
}
@@ -540,7 +555,7 @@ struct HeavyionMultiplicity {
540555
ncheckbit(aod::track::trackCutFlag, TrackSelectionIts) &&
541556
ifnode(ncheckbit(aod::track::v001::detectorMap, (uint8_t)o2::aod::track::TPC),
542557
ncheckbit(aod::track::trackCutFlag, TrackSelectionTpc), true) &&
543-
ifnode(isApplyDCAstandardcuts.node() /*&& (dcaZ.node() > 0.f)*/, nabs(aod::track::dcaZ) <= dcaZ && ncheckbit(aod::track::trackCutFlag, TrackSelectionDcaxyOnly), true);
558+
ifnode(isApplyDCAstandardcuts.node(), nabs(aod::track::dcaZ) <= dcaZ && ncheckbit(aod::track::trackCutFlag, TrackSelectionDcaxyOnly), true);
544559

545560

546561
void processDCAvsptData(CollisionDataTable::iterator const& cols, FilTrackDataTable const& tracks) {
@@ -586,7 +601,7 @@ struct HeavyionMultiplicity {
586601

587602
auto mcpart = Rectrack.mcParticle();
588603

589-
if (mcpart.isPhysicalPrimary()) {
604+
if (!isGenTrackSelected(mcpart)) {
590605
histos.fill(HIST("hdcaxyvsptMCprimary"), Rectrack.dcaXY(), Rectrack.pt());
591606
histos.fill(HIST("hdcazvsptMCprimary"), Rectrack.dcaZ(), Rectrack.pt());
592607
}

0 commit comments

Comments
 (0)