@@ -50,6 +50,13 @@ static const std::vector<float> kNsigma = {3.5f, 3.f, 2.5f};
5050
5151} // namespace
5252
53+ namespace o2 ::aod
54+ {
55+ using FemtoWorldParticles = soa::Join<aod::FemtoDreamParticles,
56+ aod::FemtoDreamDebugParticles>;
57+ using FemtoWorldParticle = FemtoWorldParticles::iterator;
58+ } // namespace o2::aod
59+
5360struct femtoWorldPairTaskTrackTrack {
5461
5562 // / Particle selection part
@@ -59,26 +66,25 @@ struct femtoWorldPairTaskTrackTrack {
5966 Configurable<int > cfgNspecies{" ccfgNspecies" , 4 , " Number of particle spieces with PID info" };
6067
6168 // / Particle 1
62- Configurable<int > ConfPDGCodePartOne{" ConfPDGCodePartOne" , 2212 , " Particle 1 - PDG code" };
63- Configurable<uint32_t > ConfCutPartOne{" ConfCutPartOne" , 84035877 , " Particle 1 - Selection bit from cutCulator" };
69+ Configurable<int > ConfPDGCodePartOne{" ConfPDGCodePartOne" , 211 , " Particle 1 - PDG code" };
70+ Configurable<uint32_t > ConfCutPartOne{" ConfCutPartOne" , 84035878 , " Particle 1 - Selection bit from cutCulator" };
6471 Configurable<std::vector<int >> ConfPIDPartOne{" ConfPIDPartOne" , std::vector<int >{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>>
6572
6673 // / Partition for particle 1
67- Partition<aod::FemtoDreamParticles> partsOne = (aod::femtodreamparticle::partType == uint8_t (aod::femtodreamparticle::ParticleType::kTrack )) && ((aod::femtodreamparticle::cut & ConfCutPartOne) == ConfCutPartOne);
68-
74+ Partition<o2::aod::FemtoWorldParticles> partsOne = (aod::femtodreamparticle::partType == uint8_t (aod::femtodreamparticle::ParticleType::kTrack )) && ((aod::femtodreamparticle::cut & ConfCutPartOne) == ConfCutPartOne);
6975 // / Histogramming for particle 1
7076 FemtoWorldParticleHisto<aod::femtodreamparticle::ParticleType::kTrack , 1 > trackHistoPartOne;
7177
7278 // / Particle 2
7379 Configurable<bool > ConfIsSame{" ConfIsSame" , false , " Pairs of the same particle" };
74- Configurable<int > ConfPDGCodePartTwo{" ConfPDGCodePartTwo" , 2212 , " Particle 2 - PDG code" };
80+ Configurable<int > ConfPDGCodePartTwo{" ConfPDGCodePartTwo" , 211 , " Particle 2 - PDG code" };
7581 Configurable<uint32_t > ConfCutPartTwo{" ConfCutPartTwo" , 84035877 , " Particle 2 - Selection bit" };
7682 Configurable<std::vector<int >> ConfPIDPartTwo{" ConfPIDPartTwo" , std::vector<int >{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>>
7783
7884 // / Partition for particle 2
79- Partition<aod::FemtoDreamParticles > partsTwo = (aod::femtodreamparticle::partType == uint8_t (aod::femtodreamparticle::ParticleType::kTrack )) &&
80- // (aod::femtodreamparticle::pt < cfgCutTable->get("PartTwo", "MaxPt")) &&
81- ((aod::femtodreamparticle::cut & ConfCutPartTwo) == ConfCutPartTwo);
85+ Partition<o2:: aod::FemtoWorldParticles > partsTwo = (aod::femtodreamparticle::partType == uint8_t (aod::femtodreamparticle::ParticleType::kTrack )) &&
86+ // (aod::femtodreamparticle::pt < cfgCutTable->get("PartTwo", "MaxPt")) &&
87+ ((aod::femtodreamparticle::cut & ConfCutPartTwo) == ConfCutPartTwo);
8288
8389 // / Histogramming for particle 2
8490 FemtoWorldParticleHisto<aod::femtodreamparticle::ParticleType::kTrack , 2 > trackHistoPartTwo;
@@ -101,6 +107,7 @@ struct femtoWorldPairTaskTrackTrack {
101107 Configurable<bool > ConfCPRPlotPerRadii{" ConfCPRPlotPerRadii" , false , " Plot CPR per radii" };
102108 Configurable<int > ConfPhiBins{" ConfPhiBins" , 15 , " Number of phi bins in deta dphi" };
103109 Configurable<int > ConfEtaBins{" ConfEtaBins" , 15 , " Number of eta bins in deta dphi" };
110+ Configurable<int > ConfMInvBins{" ConfMInvBins" , 1000 , " Number of bins in mInv distribution" };
104111
105112 FemtoWorldContainer<femtoWorldContainer::EventType::same, femtoWorldContainer::Observable::kstar> sameEventCont;
106113
@@ -121,9 +128,9 @@ struct femtoWorldPairTaskTrackTrack {
121128 trackHistoPartTwo.init (&qaRegistry);
122129 }
123130
124- sameEventCont.init (&resultRegistry, CfgkstarBins, CfgMultBins, CfgkTBins, CfgmTBins, ConfPhiBins, ConfEtaBins);
131+ sameEventCont.init (&resultRegistry, CfgkstarBins, CfgMultBins, CfgkTBins, CfgmTBins, ConfPhiBins, ConfEtaBins, ConfMInvBins );
125132 sameEventCont.setPDGCodes (ConfPDGCodePartOne, ConfPDGCodePartTwo);
126- mixedEventCont.init (&resultRegistry, CfgkstarBins, CfgMultBins, CfgkTBins, CfgmTBins, ConfPhiBins, ConfEtaBins);
133+ mixedEventCont.init (&resultRegistry, CfgkstarBins, CfgMultBins, CfgkTBins, CfgmTBins, ConfPhiBins, ConfEtaBins, ConfMInvBins );
127134 mixedEventCont.setPDGCodes (ConfPDGCodePartOne, ConfPDGCodePartTwo);
128135 pairCleaner.init (&qaRegistry);
129136 if (ConfIsCPR) {
@@ -145,7 +152,7 @@ struct femtoWorldPairTaskTrackTrack {
145152 // / This function processes the same event and takes care of all the histogramming
146153 // / \todo the trivial loops over the tracks should be factored out since they will be common to all combinations of T-T, T-V0, V0-V0, ...
147154 void processSameEvent (o2::aod::FemtoDreamCollision& col,
148- o2::aod::FemtoDreamParticles & parts)
155+ o2::aod::FemtoWorldParticles & parts)
149156 {
150157 const auto & tmstamp = col.timestamp ();
151158 const auto & magFieldTesla = getMagneticFieldTesla (tmstamp, ccdb);
@@ -205,7 +212,7 @@ struct femtoWorldPairTaskTrackTrack {
205212 // / This function processes the mixed event
206213 // / \todo the trivial loops over the collisions and tracks should be factored out since they will be common to all combinations of T-T, T-V0, V0-V0, ...
207214 void processMixedEvent (o2::aod::FemtoDreamCollisions& cols,
208- o2::aod::FemtoDreamParticles & parts)
215+ o2::aod::FemtoWorldParticles & parts)
209216 {
210217
211218 ColumnBinningPolicy<aod::collision::PosZ, aod::femtodreamcollision::MultV0M> colBinning{{CfgVtxBins, CfgMultBins}, true };
0 commit comments