99// granted to it by virtue of its status as an Intergovernmental Organization
1010// or submit itself to any jurisdiction.
1111
12- // / \file femtoDreamTripletTaskTrackTrackTrack .cxx
12+ // / \file femtoDreamTripletTaskTrackTrackTrackPbPb .cxx
1313// / \brief Tasks that reads the track tables and creates track triplets; only three identical particles can be used
1414// / \author Laura Serksnyte, TU München, laura.serksnyte@tum.de
1515
@@ -40,7 +40,7 @@ using namespace o2::framework;
4040using namespace o2 ::framework::expressions;
4141using namespace o2 ::soa;
4242
43- struct femtoDreamTripletTaskTrackTrackTrack {
43+ struct femtoDreamTripletTaskTrackTrackTrackPbPb {
4444 SliceCache cache;
4545 Preslice<aod::FDParticles> perCol = aod::femtodreamparticle::fdCollisionId;
4646
@@ -51,7 +51,7 @@ struct femtoDreamTripletTaskTrackTrackTrack {
5151 using FilteredFDCollisions = soa::Filtered<aod::FDCollisions>;
5252 using FilteredFDCollision = FilteredFDCollisions::iterator;
5353
54- using MaskedCollisions = soa::Join<FilteredFDCollisions , aod::FDColMasks>;
54+ using MaskedCollisions = soa::Filtered<soa:: Join<aod::FDCollisions , aod::FDColMasks> >;
5555 using MaskedCollision = MaskedCollisions::iterator;
5656 aod::femtodreamcollision::BitMaskType MaskBit = -1 ;
5757 float mMassOne = -999 , mMassTwo = -999 , mMassThree = -999 ;
@@ -163,7 +163,7 @@ struct femtoDreamTripletTaskTrackTrackTrack {
163163 ThreeBodyQARegistry.add (" TrackMC_QA/hMazzachi" , " ;gen;(reco-gen)/gen" , kTH2F , {{100 , ConfMinpT, ConfMaxpT}, {300 , -1 , 1 }});
164164 }
165165 ThreeBodyQARegistry.add (" TripletTaskQA/hCentrality" , " ;Centrality; Q3" , kTH2F , {{100 , 0 , 100 }, ConfQ3Bins});
166- ThreeBodyQARegistry.add (" TripletTaskQA/hCentralityME" , " ;Centrality;" , kTH1F , {{100 , 0.0 , 100.0 }});
166+ ThreeBodyQARegistry.add (" TripletTaskQA/hCentralityME" , " ;Centrality;Entries " , kTH1F , {{100 , 0.0 , 100.0 }});
167167
168168 sameEventCont.init (&resultRegistry, ConfQ3Bins, ConfMultBins, ConfIsMC);
169169 mixedEventCont.init (&resultRegistry, ConfQ3Bins, ConfMultBins, ConfIsMC);
@@ -185,7 +185,7 @@ struct femtoDreamTripletTaskTrackTrackTrack {
185185 int index = 0 ;
186186 auto & workflows = context.services ().get <RunningWorkflowInfo const >();
187187 for (DeviceSpec const & device : workflows.devices ) {
188- if (device.name .find (" femto-dream-triplet-task-track-track-track" ) != std::string::npos) {
188+ if (device.name .find (" femto-dream-triplet-task-track-track-track-pb-pb " ) != std::string::npos) {
189189 if (containsNameValuePair (device.options , " ConfCutPart" , ConfCutPart.value ) &&
190190 containsNameValuePair (device.options , " ConfTPCPIDBit" , ConfTPCPIDBit.value ) &&
191191 containsNameValuePair (device.options , " ConfTPCTOFPIDBit" , ConfTPCTOFPIDBit.value ) &&
@@ -295,7 +295,7 @@ struct femtoDreamTripletTaskTrackTrackTrack {
295295 }
296296 doSameEvent<false >(thegroupSelectedParts, parts, col.magField (), col.multNtr (), col.multV0M ());
297297 }
298- PROCESS_SWITCH (femtoDreamTripletTaskTrackTrackTrack , processSameEvent, " Enable processing same event" , true );
298+ PROCESS_SWITCH (femtoDreamTripletTaskTrackTrackTrackPbPb , processSameEvent, " Enable processing same event" , true );
299299
300300 // / process function to call doSameEvent with Data which has a mask for containing particles or not
301301 // / \param col subscribe to the collision table (Data)
@@ -312,7 +312,7 @@ struct femtoDreamTripletTaskTrackTrackTrack {
312312 }
313313 doSameEvent<false >(thegroupSelectedParts, parts, col.magField (), col.multNtr (), col.multV0M ());
314314 }
315- PROCESS_SWITCH (femtoDreamTripletTaskTrackTrackTrack , processSameEventMasked, " Enable processing same event with masks" , false );
315+ PROCESS_SWITCH (femtoDreamTripletTaskTrackTrackTrackPbPb , processSameEventMasked, " Enable processing same event with masks" , false );
316316
317317 // / process function for to call doSameEvent with Monte Carlo
318318 // / \param col subscribe to the collision table (Monte Carlo Reconstructed reconstructed)
@@ -333,7 +333,7 @@ struct femtoDreamTripletTaskTrackTrackTrack {
333333 }
334334 doSameEvent<true >(thegroupSelectedParts, parts, col.magField (), col.multNtr (), col.multV0M ());
335335 }
336- PROCESS_SWITCH (femtoDreamTripletTaskTrackTrackTrack , processSameEventMC, " Enable processing same event for Monte Carlo" , false );
336+ PROCESS_SWITCH (femtoDreamTripletTaskTrackTrackTrackPbPb , processSameEventMC, " Enable processing same event for Monte Carlo" , false );
337337
338338 // / process function for to call doSameEvent with Monte Carlo which has a mask for containing particles or not
339339 // / \param col subscribe to the collision table (Monte Carlo Reconstructed reconstructed)
@@ -354,7 +354,7 @@ struct femtoDreamTripletTaskTrackTrackTrack {
354354 }
355355 doSameEvent<true >(thegroupSelectedParts, parts, col.magField (), col.multNtr (), col.multV0M ());
356356 }
357- PROCESS_SWITCH (femtoDreamTripletTaskTrackTrackTrack , processSameEventMCMasked, " Enable processing same event for Monte Carlo" , false );
357+ PROCESS_SWITCH (femtoDreamTripletTaskTrackTrackTrackPbPb , processSameEventMCMasked, " Enable processing same event for Monte Carlo" , false );
358358
359359 // / This function processes the mixed event
360360 // / \tparam PartitionType
@@ -417,7 +417,7 @@ struct femtoDreamTripletTaskTrackTrackTrack {
417417 doMixedEvent<false >(groupPartsOne, groupPartsTwo, groupPartsThree, parts, magFieldTesla1, multiplicityCol);
418418 }
419419 }
420- PROCESS_SWITCH (femtoDreamTripletTaskTrackTrackTrack , processMixedEvent, " Enable processing mixed events" , true );
420+ PROCESS_SWITCH (femtoDreamTripletTaskTrackTrackTrackPbPb , processMixedEvent, " Enable processing mixed events" , true );
421421
422422 // / process function for to call doMixedEvent with Data which has a mask for containing particles or not
423423 // / @param cols subscribe to the collisions table (Data)
@@ -429,10 +429,12 @@ struct femtoDreamTripletTaskTrackTrackTrack {
429429 (ConfTracksInMixedEvent == 3 && (aod::femtodreamcollision::bitmaskTrackThree & MaskBit) == MaskBit);
430430
431431 PartitionMaskedCol1.bindTable (cols);
432-
433432 for (auto & [collision1, collision2, collision3] : soa::selfCombinations (colBinning, ConfNEventsMix, -1 , *PartitionMaskedCol1.mFiltered , *PartitionMaskedCol1.mFiltered , *PartitionMaskedCol1.mFiltered )) {
434433 const int multiplicityCol = collision1.multNtr ();
435434 ThreeBodyQARegistry.fill (HIST (" TripletTaskQA/hMECollisionBins" ), colBinning.getBin ({collision1.posZ (), multiplicityCol}));
435+ ThreeBodyQARegistry.fill (HIST (" TripletTaskQA/hCentralityME" ), collision1.multV0M ());
436+ ThreeBodyQARegistry.fill (HIST (" TripletTaskQA/hCentralityME" ), collision2.multV0M ());
437+ ThreeBodyQARegistry.fill (HIST (" TripletTaskQA/hCentralityME" ), collision3.multV0M ());
436438
437439 auto groupPartsOne = SelectedParts->sliceByCached (aod::femtodreamparticle::fdCollisionId, collision1.globalIndex (), cache);
438440 auto groupPartsTwo = SelectedParts->sliceByCached (aod::femtodreamparticle::fdCollisionId, collision2.globalIndex (), cache);
@@ -449,7 +451,7 @@ struct femtoDreamTripletTaskTrackTrackTrack {
449451 doMixedEvent<false >(groupPartsOne, groupPartsTwo, groupPartsThree, parts, magFieldTesla1, multiplicityCol);
450452 }
451453 }
452- PROCESS_SWITCH (femtoDreamTripletTaskTrackTrackTrack , processMixedEventMasked, " Enable processing mixed events" , false );
454+ PROCESS_SWITCH (femtoDreamTripletTaskTrackTrackTrackPbPb , processMixedEventMasked, " Enable processing mixed events" , false );
453455
454456 // / brief process function for to call doMixedEvent with Monte Carlo
455457 // / @param cols subscribe to the collisions table (Monte Carlo Reconstructed reconstructed)
@@ -480,7 +482,7 @@ struct femtoDreamTripletTaskTrackTrackTrack {
480482 doMixedEvent<true >(groupPartsOne, groupPartsTwo, groupPartsThree, parts, magFieldTesla1, multiplicityCol);
481483 }
482484 }
483- PROCESS_SWITCH (femtoDreamTripletTaskTrackTrackTrack , processMixedEventMC, " Enable processing mixed events MC" , false );
485+ PROCESS_SWITCH (femtoDreamTripletTaskTrackTrackTrackPbPb , processMixedEventMC, " Enable processing mixed events MC" , false );
484486
485487 // / brief process function for to call doMixedEvent with Monte Carlo which has a mask for containing particles or not
486488 // / @param cols subscribe to the collisions table (Monte Carlo Reconstructed reconstructed)
@@ -516,13 +518,13 @@ struct femtoDreamTripletTaskTrackTrackTrack {
516518 doMixedEvent<true >(groupPartsOne, groupPartsTwo, groupPartsThree, parts, magFieldTesla1, multiplicityCol);
517519 }
518520 }
519- PROCESS_SWITCH (femtoDreamTripletTaskTrackTrackTrack , processMixedEventMCMasked, " Enable processing mixed events MC" , false );
521+ PROCESS_SWITCH (femtoDreamTripletTaskTrackTrackTrackPbPb , processMixedEventMCMasked, " Enable processing mixed events MC" , false );
520522};
521523
522524WorkflowSpec defineDataProcessing (ConfigContext const & cfgc)
523525{
524526 WorkflowSpec workflow{
525- adaptAnalysisTask<femtoDreamTripletTaskTrackTrackTrack >(cfgc),
527+ adaptAnalysisTask<femtoDreamTripletTaskTrackTrackTrackPbPb >(cfgc),
526528 };
527529 return workflow;
528530}
0 commit comments