1818// / \author Alicja Płachta, WUT Warsaw, alicja.plachta.stud@pw.edu.pl
1919
2020#include < vector>
21+ #include < string>
2122#include " Framework/AnalysisTask.h"
2223#include " Framework/runDataProcessing.h"
2324#include " Framework/HistogramRegistry.h"
@@ -52,9 +53,7 @@ static constexpr int nPart = 2;
5253static constexpr int nCuts = 5 ;
5354static const std::vector<std::string> partNames{" PartOne" , " PartTwo" };
5455static const std::vector<std::string> cutNames{" MaxPt" , " PIDthr" , " nSigmaTPC" , " nSigmaTPCTOF" , " MaxP" };
55- static const float cutsTable[nPart][nCuts]{
56- {4 .05f , 1 .f , 3 .f , 3 .f , 100 .f },
57- {4 .05f , 1 .f , 3 .f , 3 .f , 100 .f }};
56+ static const float cutsTable[nPart][nCuts]{{4 .05f , 1 .f , 3 .f , 3 .f , 100 .f }, {4 .05f , 1 .f , 3 .f , 3 .f , 100 .f }};
5857} // namespace
5958
6059struct femtoUniversePairTaskTrackTrackMultKtExtended {
@@ -119,15 +118,15 @@ struct femtoUniversePairTaskTrackTrackMultKtExtended {
119118 Configurable<int > ConfPDGCodePartOne{" ConfPDGCodePartOne" , 211 , " Particle 1 -- PDG code" };
120119 // Configurable<uint32_t> ConfCutPartOne{"ConfCutPartOne", 5542474, "Particle 1 -- Selection bit from cutCulator"};
121120 Configurable<int > ConfPIDPartOne{" ConfPIDPartOne" , 2 , " Particle 1 -- Read from cutCulator" }; // we also need the possibility to specify whether the bit is true/false ->std>>vector<std::pair<int, int>>int>>
122- Configurable<float > ConfpLowPart1{ " ConfpLowPart1 " , 0.14 , " Lower limit for Pt for the first particle" };
121+ Configurable<float > ConfPtLowPart1{ " ConfPtLowPart1 " , 0.14 , " Lower limit for Pt for the first particle" };
123122 Configurable<float > ConfPtHighPart1{" ConfPtHighPart1" , 1.5 , " Higher limit for Pt for the first particle" };
124123 Configurable<int > ConfChargePart1{" ConfChargePart1" , 1 , " Particle 1 sign" };
125124 } trackonefilter;
126125
127126 // / Partition for particle 1
128- Partition<FilteredFemtoFullParticles> partsOne = (aod::femtouniverseparticle::partType == uint8_t (aod::femtouniverseparticle::ParticleType::kTrack )) && aod::femtouniverseparticle::sign == trackonefilter.ConfChargePart1 && aod::femtouniverseparticle::pt < trackonefilter.ConfPtHighPart1 && aod::femtouniverseparticle::pt > trackonefilter.ConfpLowPart1 ;
127+ Partition<FilteredFemtoFullParticles> partsOne = (aod::femtouniverseparticle::partType == uint8_t (aod::femtouniverseparticle::ParticleType::kTrack )) && aod::femtouniverseparticle::sign == trackonefilter.ConfChargePart1 && aod::femtouniverseparticle::pt < trackonefilter.ConfPtHighPart1 && aod::femtouniverseparticle::pt > trackonefilter.ConfPtLowPart1 ;
129128
130- Partition<soa::Join<FilteredFemtoFullParticles, aod::FDMCLabels>> partsOneMC = (aod::femtouniverseparticle::partType == uint8_t (aod::femtouniverseparticle::ParticleType::kTrack )) && aod::femtouniverseparticle::sign == trackonefilter.ConfChargePart1 && aod::femtouniverseparticle::pt < trackonefilter.ConfPtHighPart1 && aod::femtouniverseparticle::pt > trackonefilter.ConfpLowPart1 ;
129+ Partition<soa::Join<FilteredFemtoFullParticles, aod::FDMCLabels>> partsOneMC = (aod::femtouniverseparticle::partType == uint8_t (aod::femtouniverseparticle::ParticleType::kTrack )) && aod::femtouniverseparticle::sign == trackonefilter.ConfChargePart1 && aod::femtouniverseparticle::pt < trackonefilter.ConfPtHighPart1 && aod::femtouniverseparticle::pt > trackonefilter.ConfPtLowPart1 ;
131130
132131 // / Histogramming for particle 1
133132 FemtoUniverseParticleHisto<aod::femtouniverseparticle::ParticleType::kTrack , 1 > trackHistoPartOne;
@@ -137,15 +136,15 @@ struct femtoUniversePairTaskTrackTrackMultKtExtended {
137136 Configurable<int > ConfPDGCodePartTwo{" ConfPDGCodePartTwo" , 211 , " Particle 2 -- PDG code" };
138137 // Configurable<uint32_t> ConfCutPartTwo{"ConfCutPartTwo", 5542474, "Particle 2 -- Selection bit"};
139138 Configurable<int > ConfPIDPartTwo{" ConfPIDPartTwo" , 2 , " Particle 2 -- Read from cutCulator" }; // we also need the possibility to specify whether the bit is true/false ->std>>vector<std::pair<int, int>>
140- Configurable<float > ConfpLowPart2{ " ConfpLowPart2 " , 0.14 , " Lower limit for Pt for the second particle" };
139+ Configurable<float > ConfPtLowPart2{ " ConfPtLowPart2 " , 0.14 , " Lower limit for Pt for the second particle" };
141140 Configurable<float > ConfPtHighPart2{" ConfPtHighPart2" , 1.5 , " Higher limit for Pt for the second particle" };
142141 Configurable<int > ConfChargePart2{" ConfChargePart2" , -1 , " Particle 2 sign" };
143142 } tracktwofilter;
144143
145144 // / Partition for particle 2
146- Partition<FilteredFemtoFullParticles> partsTwo = (aod::femtouniverseparticle::partType == uint8_t (aod::femtouniverseparticle::ParticleType::kTrack )) && (aod::femtouniverseparticle::sign == tracktwofilter.ConfChargePart2) && aod::femtouniverseparticle::pt < tracktwofilter.ConfPtHighPart2 && aod::femtouniverseparticle::pt > tracktwofilter.ConfpLowPart2 ;
145+ Partition<FilteredFemtoFullParticles> partsTwo = (aod::femtouniverseparticle::partType == uint8_t (aod::femtouniverseparticle::ParticleType::kTrack )) && (aod::femtouniverseparticle::sign == tracktwofilter.ConfChargePart2) && aod::femtouniverseparticle::pt < tracktwofilter.ConfPtHighPart2 && aod::femtouniverseparticle::pt > tracktwofilter.ConfPtLowPart2 ;
147146
148- Partition<soa::Join<FilteredFemtoFullParticles, aod::FDMCLabels>> partsTwoMC = aod::femtouniverseparticle::partType == uint8_t (aod::femtouniverseparticle::ParticleType::kTrack ) && (aod::femtouniverseparticle::sign == tracktwofilter.ConfChargePart2) && aod::femtouniverseparticle::pt < tracktwofilter.ConfPtHighPart2 && aod::femtouniverseparticle::pt > tracktwofilter.ConfpLowPart2 ;
147+ Partition<soa::Join<FilteredFemtoFullParticles, aod::FDMCLabels>> partsTwoMC = aod::femtouniverseparticle::partType == uint8_t (aod::femtouniverseparticle::ParticleType::kTrack ) && (aod::femtouniverseparticle::sign == tracktwofilter.ConfChargePart2) && aod::femtouniverseparticle::pt < tracktwofilter.ConfPtHighPart2 && aod::femtouniverseparticle::pt > tracktwofilter.ConfPtLowPart2 ;
149148
150149 // / Histogramming for particle 2
151150 FemtoUniverseParticleHisto<aod::femtouniverseparticle::ParticleType::kTrack , 2 > trackHistoPartTwo;
@@ -180,7 +179,7 @@ struct femtoUniversePairTaskTrackTrackMultKtExtended {
180179 ConfigurableAxis ConfmTBins3D{" ConfmTBins3D" , {VARIABLE_WIDTH, 1 .02f , 1 .14f , 1 .20f , 1 .26f , 1 .38f , 1 .56f , 1 .86f , 4 .50f }, " mT Binning for the 3Dimensional plot: k* vs multiplicity vs mT (set <<twotracksconfigs.ConfUse3D>> to true in order to use)" };
181180 ConfigurableAxis ConfmultBins3D{" ConfmultBins3D" , {VARIABLE_WIDTH, 0 .0f , 20 .0f , 30 .0f , 40 .0f , 99999 .0f }, " multiplicity Binning for the 3Dimensional plot: k* vs multiplicity vs mT (set <<twotracksconfigs.ConfUse3D>> to true in order to use)" };
182181
183- ColumnBinningPolicy<aod::collision::PosZ, aod::femtouniversecollision::MultNtr > colBinning{{ConfVtxBins, ConfMultBins}, true };
182+ ColumnBinningPolicy<aod::collision::PosZ, aod::femtouniversecollision::MultV0M > colBinning{{ConfVtxBins, ConfMultBins}, true };
184183
185184 ConfigurableAxis ConfkstarBins{" ConfkstarBins" , {1500 , 0 ., 6 .}, " binning kstar" };
186185 ConfigurableAxis ConfkTBins{" ConfkTBins" , {150 , 0 ., 9 .}, " binning kT" };
@@ -457,7 +456,7 @@ struct femtoUniversePairTaskTrackTrackMultKtExtended {
457456 template <typename CollisionType>
458457 void fillCollision (CollisionType col)
459458 {
460- MixQaRegistry.fill (HIST (" MixingQA/hSECollisionBins" ), colBinning.getBin ({col.posZ (), col.multNtr ()}));
459+ MixQaRegistry.fill (HIST (" MixingQA/hSECollisionBins" ), colBinning.getBin ({col.posZ (), col.multV0M ()}));
461460 eventHisto.fillQA (col);
462461 }
463462
@@ -612,13 +611,13 @@ struct femtoUniversePairTaskTrackTrackMultKtExtended {
612611 bool fillQA = true ;
613612
614613 if (cfgProcessPM) {
615- doSameEvent<false >(thegroupPartsOne, thegroupPartsTwo, parts, col.magField (), col.multNtr (), 1 , fillQA);
614+ doSameEvent<false >(thegroupPartsOne, thegroupPartsTwo, parts, col.magField (), col.multV0M (), 1 , fillQA);
616615 fillQA = false ;
617616 }
618617 if (cfgProcessPP)
619- doSameEvent<false >(thegroupPartsOne, thegroupPartsOne, parts, col.magField (), col.multNtr (), 2 , fillQA);
618+ doSameEvent<false >(thegroupPartsOne, thegroupPartsOne, parts, col.magField (), col.multV0M (), 2 , fillQA);
620619 if (cfgProcessMM)
621- doSameEvent<false >(thegroupPartsTwo, thegroupPartsTwo, parts, col.magField (), col.multNtr (), 3 , fillQA);
620+ doSameEvent<false >(thegroupPartsTwo, thegroupPartsTwo, parts, col.magField (), col.multV0M (), 3 , fillQA);
622621 }
623622 PROCESS_SWITCH (femtoUniversePairTaskTrackTrackMultKtExtended, processSameEvent, " Enable processing same event" , true );
624623
@@ -637,13 +636,13 @@ struct femtoUniversePairTaskTrackTrackMultKtExtended {
637636
638637 bool fillQA = true ;
639638 if (cfgProcessPM) {
640- doSameEvent<false >(thegroupPartsOne, thegroupPartsTwo, parts, col.magField (), col.multNtr (), 1 , fillQA);
639+ doSameEvent<false >(thegroupPartsOne, thegroupPartsTwo, parts, col.magField (), col.multV0M (), 1 , fillQA);
641640 fillQA = false ;
642641 }
643642 if (cfgProcessPP)
644- doSameEvent<true >(thegroupPartsOne, thegroupPartsOne, parts, col.magField (), col.multNtr (), 2 , fillQA);
643+ doSameEvent<true >(thegroupPartsOne, thegroupPartsOne, parts, col.magField (), col.multV0M (), 2 , fillQA);
645644 if (cfgProcessMM)
646- doSameEvent<true >(thegroupPartsTwo, thegroupPartsTwo, parts, col.magField (), col.multNtr (), 3 , fillQA);
645+ doSameEvent<true >(thegroupPartsTwo, thegroupPartsTwo, parts, col.magField (), col.multV0M (), 3 , fillQA);
647646 }
648647 PROCESS_SWITCH (femtoUniversePairTaskTrackTrackMultKtExtended, processSameEventMC, " Enable processing same event for Monte Carlo" , false );
649648
@@ -742,7 +741,7 @@ struct femtoUniversePairTaskTrackTrackMultKtExtended {
742741 {
743742 for (auto & [collision1, collision2] : soa::selfCombinations (colBinning, 5 , -1 , cols, cols)) {
744743
745- const int multiplicityCol = collision1.multNtr ();
744+ const int multiplicityCol = collision1.multV0M ();
746745 MixQaRegistry.fill (HIST (" MixingQA/hMECollisionBins" ), colBinning.getBin ({collision1.posZ (), multiplicityCol}));
747746
748747 const auto & magFieldTesla1 = collision1.magField ();
@@ -781,7 +780,7 @@ struct femtoUniversePairTaskTrackTrackMultKtExtended {
781780 {
782781 for (auto & [collision1, collision2] : soa::selfCombinations (colBinning, 5 , -1 , cols, cols)) {
783782
784- const int multiplicityCol = collision1.multNtr ();
783+ const int multiplicityCol = collision1.multV0M ();
785784 MixQaRegistry.fill (HIST (" MixingQA/hMECollisionBins" ), colBinning.getBin ({collision1.posZ (), multiplicityCol}));
786785
787786 const auto & magFieldTesla1 = collision1.magField ();
0 commit comments