Skip to content

Commit e226a4c

Browse files
sawankumawatSawan Sawan
andauthored
[PWGLF] Code optimisation (#12546)
Co-authored-by: Sawan Sawan <sawan.sawan@cern.ch>
1 parent c173489 commit e226a4c

File tree

1 file changed

+72
-16
lines changed

1 file changed

+72
-16
lines changed

PWGLF/Tasks/Resonances/kstarqa.cxx

Lines changed: 72 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ struct Kstarqa {
120120
Configurable<bool> isApplyCutsOnMother{"isApplyCutsOnMother", false, "Enable additional cuts on Kstar mother"};
121121
Configurable<float> cMaxPtMotherCut{"cMaxPtMotherCut", 15.0, "Maximum pt of mother cut"};
122122
Configurable<float> cMaxMinvMotherCut{"cMaxMinvMotherCut", 1.5, "Maximum mass of mother cut"};
123+
Configurable<float> rapidityMotherData{"rapidityMotherData", 0.5, "Maximum rapidity of mother"};
123124
Configurable<bool> isPDGCheckMC{"isPDGCheckMC", true, "Check PDG code in MC (false for MC closure test)"};
124125

125126
// PID selections
@@ -135,7 +136,7 @@ struct Kstarqa {
135136
// Other fixed variables
136137
float lowPtCutPID = 0.5;
137138
int noOfDaughters = 2;
138-
float rapidityMotherData = 0.5;
139+
// float rapidityMotherData = 0.5;
139140

140141
} selectionConfig;
141142

@@ -170,7 +171,7 @@ struct Kstarqa {
170171
Configurable<bool> onlyTOFHIT{"onlyTOFHIT", false, "accept only TOF hit tracks at high pt"};
171172
Configurable<bool> onlyTPC{"onlyTPC", true, "only TPC tracks"};
172173
Configurable<int> cRotations{"cRotations", 3, "Number of random rotations in the rotational background"};
173-
Configurable<int> cSelectMultEstimator{"cSelectMultEstimator", 0, "Select multiplicity estimator: 0 - FT0M, 1 - FT0A, 2 - FT0C"};
174+
Configurable<int> cSelectMultEstimator{"cSelectMultEstimator", 0, "Select multiplicity estimator: 0 - FT0M, 1 - FT0A, 2 - FT0C, 3 - FV0A"};
174175
Configurable<bool> applyRecMotherRapidity{"applyRecMotherRapidity", true, "Apply rapidity cut on reconstructed mother track"};
175176
Configurable<bool> applypTdepPID{"applypTdepPID", false, "Apply pT dependent PID"};
176177

@@ -696,7 +697,7 @@ struct Kstarqa {
696697

697698
auto cosThetaStarHelicityRot = motherRot.Vect().Dot(daughterRotCM.Vect()) / (std::sqrt(daughterRotCM.Vect().Mag2()) * std::sqrt(motherRot.Vect().Mag2()));
698699

699-
if (calcRotational && motherRot.Rapidity() < selectionConfig.rapidityMotherData)
700+
if (calcRotational && std::abs(motherRot.Rapidity()) < selectionConfig.rapidityMotherData)
700701
hInvMass.fill(HIST("h3KstarInvMassRotated"), multiplicity, motherRot.Pt(), motherRot.M(), cosThetaStarHelicityRot);
701702
}
702703
} else if (isMix && std::abs(mother.Rapidity()) < selectionConfig.rapidityMotherData) {
@@ -1004,34 +1005,34 @@ struct Kstarqa {
10041005
ConfigurableAxis axisMultiplicity{"axisMultiplicity", {2000, 0, 10000}, "TPC multiplicity axis for ME mixing"};
10051006

10061007
// using BinningTypeTPCMultiplicity = ColumnBinningPolicy<aod::collision::PosZ, aod::mult::MultTPC>;
1007-
using BinningTypeCentralityM = ColumnBinningPolicy<aod::collision::PosZ, aod::cent::CentFT0C>;
1008-
using BinningTypeVertexContributor = ColumnBinningPolicy<aod::collision::PosZ, aod::cent::CentFT0M>;
1008+
using BinningTypeFT0M = ColumnBinningPolicy<aod::collision::PosZ, aod::cent::CentFT0M>;
10091009
using BinningTypeFT0A = ColumnBinningPolicy<aod::collision::PosZ, aod::cent::CentFT0A>;
1010+
using BinningTypeFT0C = ColumnBinningPolicy<aod::collision::PosZ, aod::cent::CentFT0C>;
10101011
using BinningTypeFV0A = ColumnBinningPolicy<aod::collision::PosZ, aod::cent::CentFV0A>;
10111012

10121013
using BinningTypeMCFT0M = ColumnBinningPolicy<aod::collision::PosZ, aod::cent::CentFT0M>;
10131014
using BinningTypeMCFT0A = ColumnBinningPolicy<aod::collision::PosZ, aod::cent::CentFT0A>;
10141015
using BinningTypeMCFT0C = ColumnBinningPolicy<aod::collision::PosZ, aod::cent::CentFT0C>;
10151016
using BinningTypeMCFV0A = ColumnBinningPolicy<aod::collision::PosZ, aod::cent::CentFV0A>;
10161017

1017-
BinningTypeVertexContributor binningOnPositions{{axisVertex, axisMultiplicity}, true};
1018-
BinningTypeCentralityM binningOnCentrality{{axisVertex, axisMultiplicity}, true};
1018+
BinningTypeFT0M binningOnFT0M{{axisVertex, axisMultiplicity}, true};
10191019
BinningTypeFT0A binningOnFT0A{{axisVertex, axisMultiplicity}, true};
1020+
BinningTypeFT0C binningOnFT0C{{axisVertex, axisMultiplicity}, true};
10201021
BinningTypeFV0A binningOnFV0A{{axisVertex, axisMultiplicity}, true};
10211022

10221023
BinningTypeMCFT0M binningOnMCFT0M{{axisVertex, axisMultiplicity}, true};
10231024
BinningTypeMCFT0A binningOnMCFT0A{{axisVertex, axisMultiplicity}, true};
10241025
BinningTypeMCFT0C binningOnMCFT0C{{axisVertex, axisMultiplicity}, true};
10251026
BinningTypeMCFV0A binningOnMCFV0A{{axisVertex, axisMultiplicity}, true};
10261027

1027-
SameKindPair<EventCandidates, TrackCandidates, BinningTypeVertexContributor> pair1{binningOnPositions, selectionConfig.cfgNoMixedEvents, -1, &cache};
1028-
SameKindPair<EventCandidates, TrackCandidates, BinningTypeCentralityM> pair2{binningOnCentrality, selectionConfig.cfgNoMixedEvents, -1, &cache};
1029-
SameKindPair<EventCandidates, TrackCandidates, BinningTypeFT0A> pair3{binningOnFT0A, selectionConfig.cfgNoMixedEvents, -1, &cache};
1028+
SameKindPair<EventCandidates, TrackCandidates, BinningTypeFT0M> pair1{binningOnFT0M, selectionConfig.cfgNoMixedEvents, -1, &cache};
1029+
SameKindPair<EventCandidates, TrackCandidates, BinningTypeFT0A> pair2{binningOnFT0A, selectionConfig.cfgNoMixedEvents, -1, &cache};
1030+
SameKindPair<EventCandidates, TrackCandidates, BinningTypeFT0C> pair3{binningOnFT0C, selectionConfig.cfgNoMixedEvents, -1, &cache};
10301031
SameKindPair<EventCandidates, TrackCandidates, BinningTypeFV0A> pair4{binningOnFV0A, selectionConfig.cfgNoMixedEvents, -1, &cache};
10311032

10321033
SameKindPair<EventCandidatesMC, TrackCandidatesMC, BinningTypeMCFT0M> pairmc1{binningOnMCFT0M, selectionConfig.cfgNoMixedEvents, -1, &cache};
1033-
SameKindPair<EventCandidatesMC, TrackCandidatesMC, BinningTypeMCFT0C> pairmc2{binningOnMCFT0C, selectionConfig.cfgNoMixedEvents, -1, &cache};
1034-
SameKindPair<EventCandidatesMC, TrackCandidatesMC, BinningTypeMCFT0A> pairmc3{binningOnMCFT0A, selectionConfig.cfgNoMixedEvents, -1, &cache};
1034+
SameKindPair<EventCandidatesMC, TrackCandidatesMC, BinningTypeMCFT0A> pairmc2{binningOnMCFT0A, selectionConfig.cfgNoMixedEvents, -1, &cache};
1035+
SameKindPair<EventCandidatesMC, TrackCandidatesMC, BinningTypeMCFT0C> pairmc3{binningOnMCFT0C, selectionConfig.cfgNoMixedEvents, -1, &cache};
10351036
SameKindPair<EventCandidatesMC, TrackCandidatesMC, BinningTypeMCFV0A> pairmc4{binningOnMCFV0A, selectionConfig.cfgNoMixedEvents, -1, &cache};
10361037

10371038
void processME(EventCandidatesMix const&, TrackCandidates const&)
@@ -1430,7 +1431,19 @@ struct Kstarqa {
14301431
if (!selectionEvent(collision, true)) {
14311432
continue;
14321433
}
1433-
multiplicity = collision.centFT0M();
1434+
// multiplicity = collision.centFT0M();
1435+
1436+
if (cSelectMultEstimator == kFT0M) {
1437+
multiplicity = collision.centFT0M();
1438+
} else if (cSelectMultEstimator == kFT0A) {
1439+
multiplicity = collision.centFT0A();
1440+
} else if (cSelectMultEstimator == kFT0C) {
1441+
multiplicity = collision.centFT0C();
1442+
} else if (cSelectMultEstimator == kFV0A) {
1443+
multiplicity = collision.centFV0A();
1444+
} else {
1445+
multiplicity = collision.centFT0M(); // default
1446+
}
14341447
hInvMass.fill(HIST("h1GenMult"), multiplicity);
14351448

14361449
int occupancy = collision.trackOccupancyInTimeRange();
@@ -1527,7 +1540,20 @@ struct Kstarqa {
15271540
for (const auto& RecCollision : recCollisions) {
15281541
if (!selectionEvent(RecCollision, false))
15291542
continue;
1530-
multiplicity1 = RecCollision.centFT0M();
1543+
// multiplicity1 = RecCollision.centFT0M();
1544+
1545+
if (cSelectMultEstimator == kFT0M) {
1546+
multiplicity1 = RecCollision.centFT0M();
1547+
} else if (cSelectMultEstimator == kFT0A) {
1548+
multiplicity1 = RecCollision.centFT0A();
1549+
} else if (cSelectMultEstimator == kFT0C) {
1550+
multiplicity1 = RecCollision.centFT0C();
1551+
} else if (cSelectMultEstimator == kFV0A) {
1552+
multiplicity1 = RecCollision.centFV0A();
1553+
} else {
1554+
multiplicity1 = RecCollision.centFT0M(); // default
1555+
}
1556+
15311557
isSelectedEvent = true;
15321558
}
15331559

@@ -1561,7 +1587,22 @@ struct Kstarqa {
15611587
if (selectionConfig.isINELgt0 && !collision.isInelGt0()) {
15621588
return;
15631589
}
1564-
multiplicity = collision.centFT0M();
1590+
// multiplicity = collision.centFT0M();
1591+
1592+
multiplicity = -1.0;
1593+
1594+
if (cSelectMultEstimator == kFT0M) {
1595+
multiplicity = collision.centFT0M();
1596+
} else if (cSelectMultEstimator == kFT0A) {
1597+
multiplicity = collision.centFT0A();
1598+
} else if (cSelectMultEstimator == kFT0C) {
1599+
multiplicity = collision.centFT0C();
1600+
} else if (cSelectMultEstimator == kFV0A) {
1601+
multiplicity = collision.centFV0A();
1602+
} else {
1603+
multiplicity = collision.centFT0M(); // default
1604+
}
1605+
15651606
hInvMass.fill(HIST("hAllRecCollisions"), multiplicity);
15661607

15671608
if (!selectionEvent(collision, false)) {
@@ -1592,7 +1633,22 @@ struct Kstarqa {
15921633
// return;
15931634
// }
15941635

1595-
multiplicity = collision.centFT0M();
1636+
// multiplicity = collision.centFT0M();
1637+
1638+
multiplicity = -1.0;
1639+
1640+
if (cSelectMultEstimator == kFT0M) {
1641+
multiplicity = collision.centFT0M();
1642+
} else if (cSelectMultEstimator == kFT0A) {
1643+
multiplicity = collision.centFT0A();
1644+
} else if (cSelectMultEstimator == kFT0C) {
1645+
multiplicity = collision.centFT0C();
1646+
} else if (cSelectMultEstimator == kFV0A) {
1647+
multiplicity = collision.centFV0A();
1648+
} else {
1649+
multiplicity = collision.centFT0M(); // default
1650+
}
1651+
15961652
hInvMass.fill(HIST("h1RecMult"), multiplicity);
15971653

15981654
auto oldindex = -999;

0 commit comments

Comments
 (0)