@@ -122,7 +122,7 @@ using DauTracks = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, aod::
122122// using V0Candidates = soa::Join<aod::V0CollRefs, aod::V0Cores, aod::V0Extras, aod::V0TOFPIDs, aod::V0TOFNSigmas>;
123123// using V0CandidatesSimple = soa::Join<aod::V0CollRefs, aod::V0Cores, aod::V0Extras>; // No TOF
124124
125- using PseudoJetTracks = soa::Join<aod::Tracks, aod::TracksIU, aod::TracksExtra, aod::TracksDCA>; // Simpler tracks access. (TODO: Should I include TracksIU and TracksCovIU? I don't use any getters from them! )
125+ using PseudoJetTracks = soa::Join<aod::Tracks, aod::TracksIU, aod::TracksExtra, aod::TracksDCA>; // Simpler tracks access. (Not using TracksIU and TracksCovIU. Did not use their info for now )
126126 // , aod::pidTOFFullPi, aod::pidTOFFullKa, aod::pidTOFFullPr>; // Not using TOF right now due to some possible mismatches
127127// using SimCollisions = soa::Join<aod::McCollisionLabels, aod::Collisions, aod::EvSels>;
128128// using DauTracksMC = soa::Join<DaughterTracks, aod::McTrackLabels>;
@@ -167,7 +167,7 @@ struct lambdajetpolarizationions {
167167
168168 // ///////////////////////////////////////////
169169 Configurable<bool > doEventQA{" doEventQA" , false , " do event QA histograms" };
170- Configurable<bool > qaCentrality{" qaCentrality" , false , " qa centrality flag: check base raw values" };
170+ // Configurable<bool> qaCentrality{"qaCentrality", false, "qa centrality flag: check base raw values"};
171171 Configurable<bool > doCompleteTopoQA{" doCompleteTopoQA" , false , " do topological variables QA histograms" }; // Includes doPlainTopoQA from derivedlambdakzeroanalysis
172172 Configurable<bool > doV0KinematicQA{" doV0KinematicQA" , false , " do kinematic variables QA histograms" };
173173 Configurable<bool > doArmenterosQA{" doArmenterosQA" , false , " do Armenteros QA histograms" };
@@ -524,8 +524,8 @@ struct lambdajetpolarizationions {
524524 histos.get <TH1>(HIST (" hEventSelection" ))->GetXaxis ()->SetBinLabel (20 , " Above max IR" );
525525 histos.get <TH1>(HIST (" hEventSelection" ))->GetXaxis ()->SetBinLabel (21 , " RCT flags" );
526526
527- histos.add (" hEventCentrality" , " hEventCentrality" , kTH1D , {{101 , 0 .0f , 101 .0f }});
528- histos.add (" hCentralityVsNch" , " hCentralityVsNch" , kTH2D , {{101 , 0 .0f , 101 .0f }, axisConfigurations.axisNch });
527+ histos.add (" Centrality/ hEventCentrality" , " hEventCentrality" , kTH1D , {{101 , 0 .0f , 101 .0f }});
528+ histos.add (" Centrality/ hCentralityVsNch" , " hCentralityVsNch" , kTH2D , {{101 , 0 .0f , 101 .0f }, axisConfigurations.axisNch });
529529 if (doEventQA) {
530530 histos.add (" hEventSelectionVsCentrality" , " hEventSelectionVsCentrality" , kTH2D , {{21 , -0 .5f , +20 .5f }, {101 , 0 .0f , 101 .0f }});
531531 histos.get <TH2>(HIST (" hEventSelectionVsCentrality" ))->GetXaxis ()->SetBinLabel (1 , " All collisions" );
@@ -555,16 +555,16 @@ struct lambdajetpolarizationions {
555555 histos.get <TH2>(HIST (" hEventSelectionVsCentrality" ))->GetXaxis ()->SetBinLabel (20 , " Above max IR" );
556556 histos.get <TH2>(HIST (" hEventSelectionVsCentrality" ))->GetXaxis ()->SetBinLabel (21 , " RCT flags" );
557557
558- histos.add (" hCentralityVsNGlobal" , " hCentralityVsNGlobal" , kTH2D , {{101 , 0 .0f , 101 .0f }, axisConfigurations.axisNch });
559- histos.add (" hEventCentVsMultFT0M" , " hEventCentVsMultFT0M" , kTH2D , {{101 , 0 .0f , 101 .0f }, axisConfigurations.axisMultFT0M });
560- histos.add (" hEventCentVsMultFT0C" , " hEventCentVsMultFT0C" , kTH2D , {{101 , 0 .0f , 101 .0f }, axisConfigurations.axisMultFT0C });
561- histos.add (" hEventCentVsMultNGlobal" , " hEventCentVsMultNGlobal" , kTH2D , {{101 , 0 .0f , 101 .0f }, axisConfigurations.axisNch });
562- histos.add (" hEventCentVsMultFV0A" , " hEventCentVsMultFV0A" , kTH2D , {{101 , 0 .0f , 101 .0f }, axisConfigurations.axisMultFV0A });
563- histos.add (" hEventMultFT0MvsMultNGlobal" , " hEventMultFT0MvsMultNGlobal" , kTH2D , {axisConfigurations.axisMultFT0M , axisConfigurations.axisNch });
564- histos.add (" hEventMultFT0CvsMultNGlobal" , " hEventMultFT0CvsMultNGlobal" , kTH2D , {axisConfigurations.axisMultFT0C , axisConfigurations.axisNch });
565- histos.add (" hEventMultFV0AvsMultNGlobal" , " hEventMultFV0AvsMultNGlobal" , kTH2D , {axisConfigurations.axisMultFV0A , axisConfigurations.axisNch });
566- histos.add (" hEventMultPVvsMultNGlobal" , " hEventMultPVvsMultNGlobal" , kTH2D , {axisConfigurations.axisNch , axisConfigurations.axisNch });
567- histos.add (" hEventMultFT0CvsMultFV0A" , " hEventMultFT0CvsMultFV0A" , kTH2D , {axisConfigurations.axisMultFT0C , axisConfigurations.axisMultFV0A });
558+ histos.add (" Centrality/ hCentralityVsNGlobal" , " hCentralityVsNGlobal" , kTH2D , {{101 , 0 .0f , 101 .0f }, axisConfigurations.axisNch });
559+ histos.add (" Centrality/ hEventCentVsMultFT0M" , " hEventCentVsMultFT0M" , kTH2D , {{101 , 0 .0f , 101 .0f }, axisConfigurations.axisMultFT0M });
560+ histos.add (" Centrality/ hEventCentVsMultFT0C" , " hEventCentVsMultFT0C" , kTH2D , {{101 , 0 .0f , 101 .0f }, axisConfigurations.axisMultFT0C });
561+ histos.add (" Centrality/ hEventCentVsMultNGlobal" , " hEventCentVsMultNGlobal" , kTH2D , {{101 , 0 .0f , 101 .0f }, axisConfigurations.axisNch });
562+ histos.add (" Centrality/ hEventCentVsMultFV0A" , " hEventCentVsMultFV0A" , kTH2D , {{101 , 0 .0f , 101 .0f }, axisConfigurations.axisMultFV0A });
563+ histos.add (" Centrality/ hEventMultFT0MvsMultNGlobal" , " hEventMultFT0MvsMultNGlobal" , kTH2D , {axisConfigurations.axisMultFT0M , axisConfigurations.axisNch });
564+ histos.add (" Centrality/ hEventMultFT0CvsMultNGlobal" , " hEventMultFT0CvsMultNGlobal" , kTH2D , {axisConfigurations.axisMultFT0C , axisConfigurations.axisNch });
565+ histos.add (" Centrality/ hEventMultFV0AvsMultNGlobal" , " hEventMultFV0AvsMultNGlobal" , kTH2D , {axisConfigurations.axisMultFV0A , axisConfigurations.axisNch });
566+ histos.add (" Centrality/ hEventMultPVvsMultNGlobal" , " hEventMultPVvsMultNGlobal" , kTH2D , {axisConfigurations.axisNch , axisConfigurations.axisNch });
567+ histos.add (" Centrality/ hEventMultFT0CvsMultFV0A" , " hEventMultFT0CvsMultFV0A" , kTH2D , {axisConfigurations.axisMultFT0C , axisConfigurations.axisMultFV0A });
568568 }
569569
570570 histos.add (" hEventPVz" , " hEventPVz" , kTH1D , {{100 , -20 .0f , +20 .0f }});
@@ -579,12 +579,12 @@ struct lambdajetpolarizationions {
579579 histos.add (" hInteractionRateVsOccupancy" , " hInteractionRateVsOccupancy" , kTH2D , {axisConfigurations.axisIRBinning , axisConfigurations.axisOccupancy });
580580
581581 // for QA and test purposes
582- auto hRawCentrality = histos.add <TH1>(" hRawCentrality" , " hRawCentrality" , kTH1D , {axisConfigurations.axisRawCentrality });
582+ // auto hRawCentrality = histos.add<TH1>("Centrality/ hRawCentrality", "hRawCentrality", kTH1D, {axisConfigurations.axisRawCentrality});
583583
584- for (int ii = 1 ; ii < 101 ; ii++) {
585- float value = 100 .5f - static_cast <float >(ii);
586- hRawCentrality->SetBinContent (ii, value);
587- }
584+ // for (int ii = 1; ii < 101; ii++) {
585+ // float value = 100.5f - static_cast<float>(ii);
586+ // hRawCentrality->SetBinContent(ii, value);
587+ // }
588588
589589 // ////////////////////////////////////////////////////////////
590590 // / Lambda / AntiLambda V0 selection QA
@@ -616,10 +616,10 @@ struct lambdajetpolarizationions {
616616 {p + " DCA_{#pi} to PV" , true },
617617 {p + " TPC PID p" , v0Selections.tpcPidNsigmaCut > 0 },
618618 {p + " TPC PID #pi" , v0Selections.tpcPidNsigmaCut > 0 },
619- {p + " TOF #Delta t p" , v0Selections.maxDeltaTimeProton < 1e8 },
620- {p + " TOF #Delta t #pi" , v0Selections.maxDeltaTimePion < 1e8 },
621- {p + " TOF PID p" , v0Selections.tofPidNsigmaCutLaPr < 1e8 },
622- {p + " TOF PID #pi" , v0Selections.tofPidNsigmaCutLaPi < 1e8 },
619+ {p + " TOF #Delta t p" , v0Selections.maxDeltaTimeProton < 1e+9 },
620+ {p + " TOF #Delta t #pi" , v0Selections.maxDeltaTimePion < 1e+9 },
621+ {p + " TOF PID p" , v0Selections.tofPidNsigmaCutLaPr < 1e+6 },
622+ {p + " TOF PID #pi" , v0Selections.tofPidNsigmaCutLaPi < 1e+6 },
623623 {p + " c#tau" , v0Selections.lambdaLifetimeCut > 0 }
624624 });
625625 };
@@ -914,10 +914,12 @@ struct lambdajetpolarizationions {
914914 // Minimal helper to fill the hSelectionV0s histogram without having to deal with bins by myself
915915 // (CAUTION! If you change selection order, change this too!)
916916 struct V0SelectionFlowCounter { // Using struct to keep internal bin counter over different functions
917- int binValue = 0 ; // Starts at x=0, which is bin 1 in the definition of hSelectionV0s
917+ int binValue = -1 ; // Starts at x=-1, which will go to bin 0 (underflow) in the definition of hSelectionV0s
918+ // Made it like this because we use ++binValue when filling, so the first filled
919+ // bin will always be x=0 due to operator precedence.
918920 HistogramRegistry* histos = nullptr ; // Had to pass the histos group to this struct, as it was not visible to the members of this struct
919921
920- void resetForNewV0 (){binValue = 0 ;}
922+ void resetForNewV0 (){binValue = - 1 ;}
921923 void fill (){histos->fill (HIST (" GeneralQA/hSelectionV0s" ), ++binValue);} // Hardcoded hSelectionV0s histogram, as it will not change. Increments before filling, by default
922924 };
923925 V0SelectionFlowCounter V0SelCounter{0 , &histos};
@@ -933,23 +935,23 @@ struct lambdajetpolarizationions {
933935 template <typename TCollision>
934936 void fillCentralityProperties (TCollision const & collision, float centrality)
935937 {
936- if (qaCentrality) {
937- auto hRawCentrality = histos.get <TH1>(HIST (" hRawCentrality" ));
938- centrality = hRawCentrality->GetBinContent (hRawCentrality->FindBin (doPPAnalysis ? collision.multFT0A () + collision.multFT0C () : collision.multFT0C ()));
939- }
940- histos.fill (HIST (" hEventCentrality" ), centrality);
941- histos.fill (HIST (" hCentralityVsNch" ), centrality, collision.multNTracksPVeta1 ());
938+ // if (qaCentrality) {
939+ // auto hRawCentrality = histos.get<TH1>(HIST("Centrality/ hRawCentrality"));
940+ // centrality = hRawCentrality->GetBinContent(hRawCentrality->FindBin(doPPAnalysis ? collision.multFT0A() + collision.multFT0C() : collision.multFT0C()));
941+ // }
942+ histos.fill (HIST (" Centrality/ hEventCentrality" ), centrality);
943+ histos.fill (HIST (" Centrality/ hCentralityVsNch" ), centrality, collision.multNTracksPVeta1 ());
942944 if (doEventQA) {
943- histos.fill (HIST (" hCentralityVsNGlobal" ), centrality, collision.multNTracksGlobal ());
944- histos.fill (HIST (" hEventCentVsMultFT0M" ), collision.centFT0M (), collision.multFT0A () + collision.multFT0C ());
945- histos.fill (HIST (" hEventCentVsMultFT0C" ), collision.centFT0C (), collision.multFT0C ());
946- histos.fill (HIST (" hEventCentVsMultNGlobal" ), collision.centNGlobal (), collision.multNTracksGlobal ());
947- histos.fill (HIST (" hEventCentVsMultFV0A" ), collision.centFV0A (), collision.multFV0A ());
948- histos.fill (HIST (" hEventMultFT0MvsMultNGlobal" ), collision.multFT0A () + collision.multFT0C (), collision.multNTracksGlobal ());
949- histos.fill (HIST (" hEventMultFT0CvsMultNGlobal" ), collision.multFT0C (), collision.multNTracksGlobal ());
950- histos.fill (HIST (" hEventMultFV0AvsMultNGlobal" ), collision.multFV0A (), collision.multNTracksGlobal ());
951- histos.fill (HIST (" hEventMultPVvsMultNGlobal" ), collision.multNTracksPVeta1 (), collision.multNTracksGlobal ());
952- histos.fill (HIST (" hEventMultFT0CvsMultFV0A" ), collision.multFT0C (), collision.multFV0A ());
945+ histos.fill (HIST (" Centrality/ hCentralityVsNGlobal" ), centrality, collision.multNTracksGlobal ());
946+ histos.fill (HIST (" Centrality/ hEventCentVsMultFT0M" ), collision.centFT0M (), collision.multFT0A () + collision.multFT0C ());
947+ histos.fill (HIST (" Centrality/ hEventCentVsMultFT0C" ), collision.centFT0C (), collision.multFT0C ());
948+ histos.fill (HIST (" Centrality/ hEventCentVsMultNGlobal" ), collision.centNGlobal (), collision.multNTracksGlobal ());
949+ histos.fill (HIST (" Centrality/ hEventCentVsMultFV0A" ), collision.centFV0A (), collision.multFV0A ());
950+ histos.fill (HIST (" Centrality/ hEventMultFT0MvsMultNGlobal" ), collision.multFT0A () + collision.multFT0C (), collision.multNTracksGlobal ());
951+ histos.fill (HIST (" Centrality/ hEventMultFT0CvsMultNGlobal" ), collision.multFT0C (), collision.multNTracksGlobal ());
952+ histos.fill (HIST (" Centrality/ hEventMultFV0AvsMultNGlobal" ), collision.multFV0A (), collision.multNTracksGlobal ());
953+ histos.fill (HIST (" Centrality/ hEventMultPVvsMultNGlobal" ), collision.multNTracksPVeta1 (), collision.multNTracksGlobal ());
954+ histos.fill (HIST (" Centrality/ hEventMultFT0CvsMultFV0A" ), collision.multFT0C (), collision.multFV0A ());
953955 }
954956 return ;
955957 }
@@ -1524,7 +1526,7 @@ struct lambdajetpolarizationions {
15241526
15251527 // Had to include DauTracks in subscription, even though I don't loop in it, for the indices to resolve, avoiding " Exception while running: Index pointing to Tracks is not bound!"
15261528 void processV0sData (SelCollisions::iterator const & collision, V0CandidatesWithTOF const & fullV0s, aod::BCsWithTimestamps const & bcs, DauTracks const & V0DauTracks){
1527- const float centrality = getCentrality (collision);
1529+ float centrality = getCentrality (collision);
15281530 histos.fill (HIST (" hEventSelection" ), 0 . /* all collisions */ );
15291531 histos.fill (HIST (" hEventSelectionVsCentrality" ), 0 . /* all collisions */ , centrality);
15301532
0 commit comments