Skip to content

Commit 471032d

Browse files
authored
improved kshort selection and thnsparse bining (#7004)
* improve event mix * Add time frame cut in pp phi * fix momentum cut * Add new thnsparse * Fix histogram name * Add rapidity bin in THnsparse * Q vector bining * Add shift correction * Add acceptance cut for generated * Fix costheta range * Preliminary task highmass lambda * Fix lorentz vector * Add decay length * add rotational background * Add Q vector amplitude information * Fix hnsparse * Modify PID and track sel * Remove fake track from mommentum correlation * Add small centrality for callibration * Update track selection * PID improve for Flow * Add improveddca variable * Improvement track cut * Add occupancy * Optimization * fix histo * Fix dca bin * THnsparse dimmension * Modify v2 * Update PID * Improved dca cut * fix pt boundary * dca cut * Fix rotational bkg and typo of phi v2 * pt bining * Add sum of dca between daughters * Add sign of v0 dca to PV * Add new event selection + modify PID and occupancy bining * Improve PID + change THnsparse axes + switch for v2 method * Reduce number of configurable + improved dca bining * Add occupancy dependence in EP resolution * Modify PID selection * Occupancy dependent mixed event * high mass lambda task with svertexer * fix header * improved kshort selection and thnsparse bining
1 parent 39c39e6 commit 471032d

1 file changed

Lines changed: 22 additions & 11 deletions

File tree

PWGLF/Tasks/Resonances/highmasslambdasvx.cxx

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -112,18 +112,21 @@ struct highmasslambdasvx {
112112
Configurable<float> cfgCutDCAxy{"cfgCutDCAxy", 0.1f, "DCAxy range for tracks"};
113113
Configurable<float> cfgCutDCAz{"cfgCutDCAz", 1.0f, "DCAz range for tracks"};
114114
Configurable<int> cfgITScluster{"cfgITScluster", 5, "Number of ITS cluster"};
115+
Configurable<int> cfgITSclusterInnerlayer{"cfgITSclusterInnerlayer", 1, "Minimum Number of ITS cluster in inner barrel"};
115116
Configurable<int> cfgTPCcluster{"cfgTPCcluster", 70, "Number of TPC cluster"};
116117
Configurable<bool> ispTdepPID{"ispTdepPID", true, "pT dependent PID"};
117118
Configurable<float> nsigmaCutTPC{"nsigmacutTPC", 3.0, "Value of the TPC Nsigma cut"};
118119
Configurable<float> nsigmaCutTOF{"nsigmacutTOF", 3.0, "Value of the TOF Nsigma cut"};
119120
Configurable<float> nsigmaCutTPCPre{"nsigmacutTPCPre", 5.0, "Value of the TPC Nsigma cut Pre filter"};
120121
// Configs for V0
122+
Configurable<float> ConfV0decaylengthmin{"ConfV0decaylengthmin", 2, "Minimum V0 decay length"};
123+
Configurable<float> ConfV0decaylengthmax{"ConfV0decaylengthmax", 100, "Maximum V0 decay length"};
121124
Configurable<float> ConfV0PtMin{"ConfV0PtMin", 0.f, "Minimum transverse momentum of V0"};
122125
Configurable<double> ConfV0DCADaughMax{"ConfV0DCADaughMax", 0.2f, "Maximum DCA between the V0 daughters"};
123126
Configurable<double> ConfV0CPAMin{"ConfV0CPAMin", 0.9998f, "Minimum CPA of V0"};
124127
Configurable<float> ConfV0TranRadV0Min{"ConfV0TranRadV0Min", 1.5f, "Minimum transverse radius"};
125128
Configurable<float> ConfV0TranRadV0Max{"ConfV0TranRadV0Max", 100.f, "Maximum transverse radius"};
126-
Configurable<double> cMaxV0DCA{"cMaxV0DCA", 0.2, "Maximum V0 DCA to PV"};
129+
Configurable<double> cMaxV0DCA{"cMaxV0DCA", 0.1, "Maximum V0 DCA to PV"};
127130
Configurable<float> cMaxV0LifeTime{"cMaxV0LifeTime", 20, "Maximum V0 life time"};
128131
Configurable<float> cSigmaMassKs0{"cSigmaMassKs0", 0.006, "Sigma cut on KS0 mass"};
129132
// config for V0 daughters
@@ -145,6 +148,7 @@ struct highmasslambdasvx {
145148
ConfigurableAxis configThnAxisSA{"configThnAxisSA", {100, -1, 1}, "SA"};
146149
ConfigurableAxis configThnAxisPhiminusPsi{"configThnAxisPhiminusPsi", {6, 0.0, TMath::Pi()}, "#phi - #psi"};
147150
ConfigurableAxis configThnAxisCentrality{"configThnAxisCentrality", {1, 30., 50}, "Centrality"};
151+
ConfigurableAxis configThnAxisDecayLength{"configThnAxisDecayLength", {100, 0.0, 0.1}, "Decay length"};
148152

149153
Filter collisionFilter = nabs(aod::collision::posZ) < cfgCutVertex;
150154
Filter centralityFilter = (nabs(aod::cent::centFT0C) < cfgCutCentralityMax && nabs(aod::cent::centFT0C) > cfgCutCentralityMin);
@@ -174,7 +178,7 @@ struct highmasslambdasvx {
174178
// std::vector<double> decaylengthBinning = {0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 80.0, 100.0, 150.0, 200.0, 500.0, 10000.0, 20000.0};
175179
std::vector<double> ptLambdaBinning = {2.0, 3.0, 4.0, 5.0, 8.0, 16.0};
176180
AxisSpec phiAxis = {500, -6.28, 6.28, "phi"};
177-
AxisSpec decaulengthAxis = {300, 0.0, 0.3, "decaylength"};
181+
AxisSpec decaylengthAxis = {configThnAxisDecayLength, "decaylength"};
178182
AxisSpec resAxis = {1000, -10, 10, "Res"};
179183
AxisSpec centAxis = {8, 0, 80, "V0M (%)"};
180184
const AxisSpec thnAxisInvMass{configThnAxisInvMass, "#it{M} (GeV/#it{c}^{2})"};
@@ -187,15 +191,16 @@ struct highmasslambdasvx {
187191
// AxisSpec ctauAxis = {ctauBinning, "ctau"};
188192
// const AxisSpec thnAxisSA{configThnAxisSA, "SA"};
189193

190-
histos.add("hSparseV2SASameEvent_V2_EP", "hSparseV2SASameEvent_V2_EP", HistType::kTHnSparseF, {thnAxisInvMass, ptAxis, thnAxisV2, dcaAxis, decaulengthAxis, occupancyAxis});
191-
histos.add("hSparseV2SASameEventRotational_V2_EP", "hSparseV2SASameEventRotational_V2_EP", HistType::kTHnSparseF, {thnAxisInvMass, ptAxis, thnAxisV2, dcaAxis, decaulengthAxis, occupancyAxis});
192-
histos.add("hSparseV2SAMixedEvent_V2_EP", "hSparseV2SAMixedEvent_V2_EP", HistType::kTHnSparseF, {thnAxisInvMass, ptAxis, thnAxisV2, dcaAxis, decaulengthAxis, occupancyAxis});
194+
histos.add("hSparseV2SASameEvent_V2_EP", "hSparseV2SASameEvent_V2_EP", HistType::kTHnSparseF, {thnAxisInvMass, ptAxis, thnAxisV2, dcaAxis, decaylengthAxis, occupancyAxis});
195+
histos.add("hSparseV2SASameEventRotational_V2_EP", "hSparseV2SASameEventRotational_V2_EP", HistType::kTHnSparseF, {thnAxisInvMass, ptAxis, thnAxisV2, dcaAxis, decaylengthAxis, occupancyAxis});
196+
histos.add("hSparseV2SAMixedEvent_V2_EP", "hSparseV2SAMixedEvent_V2_EP", HistType::kTHnSparseF, {thnAxisInvMass, ptAxis, thnAxisV2, dcaAxis, decaylengthAxis, occupancyAxis});
193197

194-
histos.add("hSparseV2SASameEvent_V2_IOP", "hSparseV2SASameEvent_V2_IOP", HistType::kTHnSparseF, {thnAxisInvMass, ptAxis, thnAxisPhiminusPsi, dcaAxis, decaulengthAxis, occupancyAxis});
195-
histos.add("hSparseV2SASameEventRotational_V2_IOP", "hSparseV2SASameEventRotational_V2_IOP", HistType::kTHnSparseF, {thnAxisInvMass, ptAxis, thnAxisPhiminusPsi, dcaAxis, decaulengthAxis, occupancyAxis});
196-
histos.add("hSparseV2SAMixedEvent_V2_IOP", "hSparseV2SAMixedEvent_V2_IOP", HistType::kTHnSparseF, {thnAxisInvMass, ptAxis, thnAxisPhiminusPsi, dcaAxis, decaulengthAxis, occupancyAxis});
198+
histos.add("hSparseV2SASameEvent_V2_IOP", "hSparseV2SASameEvent_V2_IOP", HistType::kTHnSparseF, {thnAxisInvMass, ptAxis, thnAxisPhiminusPsi, dcaAxis, decaylengthAxis, occupancyAxis});
199+
histos.add("hSparseV2SASameEventRotational_V2_IOP", "hSparseV2SASameEventRotational_V2_IOP", HistType::kTHnSparseF, {thnAxisInvMass, ptAxis, thnAxisPhiminusPsi, dcaAxis, decaylengthAxis, occupancyAxis});
200+
histos.add("hSparseV2SAMixedEvent_V2_IOP", "hSparseV2SAMixedEvent_V2_IOP", HistType::kTHnSparseF, {thnAxisInvMass, ptAxis, thnAxisPhiminusPsi, dcaAxis, decaylengthAxis, occupancyAxis});
197201

198202
histos.add("hRejectPID", "hRejectPID", kTH1F, {{2, 0.0f, 2.0f}});
203+
histos.add("hV0decaylength", "hV0decaylength", kTH1F, {{1000, 0.0f, 1000.0f}});
199204
histos.add("hMomCorr", "hMomCorr", kTH3F, {{200, -10.0f, 10.0f}, {200, -10.0f, 10.0f}, {8, 0.0f, 80.0f}});
200205
histos.add("hInvMassKs0", "hInvMassKs0", kTH1F, {{200, 0.4f, 0.6f}});
201206
histos.add("hchi2PCA", "hchi2PCA", kTH1F, {{10000, 0.0f, 10000.f}});
@@ -247,7 +252,7 @@ struct highmasslambdasvx {
247252
template <typename T>
248253
bool selectionTrack(const T& candidate)
249254
{
250-
if (!(candidate.isGlobalTrackWoDCA() && candidate.itsNCls() > cfgITScluster && candidate.tpcNClsFound() > cfgTPCcluster)) {
255+
if (!(candidate.isGlobalTrackWoDCA() && candidate.itsNCls() > cfgITScluster && candidate.tpcNClsFound() > cfgTPCcluster && candidate.itsNClsInnerBarrel() >= cfgITSclusterInnerlayer)) {
251256
return false;
252257
}
253258
if (candidate.pt() > 0.0 && candidate.pt() < 0.5 && TMath::Abs(candidate.dcaXY()) < cfgCutDCAxymin1) {
@@ -370,14 +375,17 @@ struct highmasslambdasvx {
370375
const float tranRad = candidate.v0radius();
371376
const double dcaDaughv0 = TMath::Abs(candidate.dcaV0daughters());
372377
const double cpav0 = candidate.v0cosPA();
373-
378+
float decaylength = TMath::Sqrt(TMath::Power(collision.posX() - candidate.x(), 2.0) + TMath::Power(collision.posY() - candidate.y(), 2.0) + TMath::Power(collision.posZ() - candidate.z(), 2.0));
374379
float CtauK0s = candidate.distovertotmom(collision.posX(), collision.posY(), collision.posZ()) * TDatabasePDG::Instance()->GetParticle(kK0Short)->Mass(); // FIXME: Get from the common header
375380
float lowmasscutks0 = 0.497 - 2.0 * cSigmaMassKs0;
376381
float highmasscutks0 = 0.497 + 2.0 * cSigmaMassKs0;
377382

378383
if (pT < ConfV0PtMin) {
379384
return false;
380385
}
386+
if ((decaylength < ConfV0decaylengthmin) || (decaylength > ConfV0decaylengthmax)) {
387+
return false;
388+
}
381389
if (dcaDaughv0 > ConfV0DCADaughMax) {
382390
return false;
383391
}
@@ -549,7 +557,10 @@ struct highmasslambdasvx {
549557
if (track1ID == negtrack.globalIndex()) {
550558
continue;
551559
}
552-
560+
auto v0decaylength = TMath::Sqrt(TMath::Power(collision.posX() - v0.x(), 2.0) + TMath::Power(collision.posY() - v0.y(), 2.0) + TMath::Power(collision.posZ() - v0.z(), 2.0));
561+
if (firstprimarytrack == 0) {
562+
histos.fill(HIST("hV0decaylength"), v0decaylength);
563+
}
553564
float v0x, v0y, v0z, v0px, v0py, v0pz;
554565
// float v0PosPx, v0PosPy, v0PosPz, v0NegPx, v0NegPy, v0NegPz;
555566
// float dcaV0dau, dcaPosToPV, dcaNegToPV, v0cosPA;

0 commit comments

Comments
 (0)