@@ -60,11 +60,6 @@ enum RunType {
6060// Structure to handle net charge fluctuation analysis
6161struct NetchargeFluctuations {
6262
63- // Macro to define configurable parameters with default values and help text
64-
65- #define O2_DEFINE_CONFIGURABLE (NAME, TYPE, DEFAULT, HELP ) \
66- Configurable<TYPE > NAME {#NAME , (DEFAULT ), (HELP )};
67-
6863 // Services for PDG and CCDB (Calibration and Condition Database)
6964 Service<o2::framework::O2DatabasePDG> pdgService{}; // Particle data group service
7065 Service<o2::ccdb::BasicCCDBManager> ccdb{}; // CCDB manager service
@@ -140,15 +135,17 @@ struct NetchargeFluctuations {
140135 Configurable<bool > cPVcont{" cPVcont" , false , " primary vertex contributor" };
141136
142137 // Configurable to enable multiplicity correlation cuts
143- O2_DEFINE_CONFIGURABLE ( cfgEvSelMultCorrelation, bool , false , " Multiplicity correlation cut" )
138+ Configurable< bool > cfgEvSelMultCorrelation{ " cfgEvSelMultCorrelation " , false , " Multiplicity correlation cut" };
144139
145140 // Struct grouping multiplicity vs centrality/vertex cuts and related parameters
146141 struct : ConfigurableGroup {
147142
148143 // Flags to enable specific multiplicity correlation cuts
149- O2_DEFINE_CONFIGURABLE (cfgMultPVT0CCutEnabled, bool , true , " Enable PV multiplicity vs T0C centrality cut" )
150- O2_DEFINE_CONFIGURABLE (cfgMultGlobalFT0CCutEnabled, bool , true , " Enable globalTracks vs FT0C multiplicity cut" )
151- O2_DEFINE_CONFIGURABLE (cfgMultGlobalPVCutEnabled, bool , true , " Enable globalTracks vs PV multiplicity cut" )
144+ Configurable<bool > cfgMultPVT0CCutEnabled{" cfgMultPVT0CCutEnabled" , true , " Enable PV multiplicity vs T0C centrality cut" };
145+
146+ Configurable<bool > cfgMultGlobalFT0CCutEnabled{" cfgMultGlobalFT0CCutEnabled" , true , " Enable globalTracks vs FT0C multiplicity cut" };
147+
148+ Configurable<bool > cfgMultGlobalPVCutEnabled{" cfgMultGlobalPVCutEnabled" , true , " Enable globalTracks vs PV multiplicity cut" };
152149
153150 // Parameter values for PV multiplicity vs FT0C centrality cut (polynomial coefficients, etc.)
154151 Configurable<std::vector<double >> cfgMultPVT0CCutPars{" cfgMultPVT0CCutPars" ,
@@ -450,8 +447,8 @@ struct NetchargeFluctuations {
450447 ccdb->setLocalObjectValidityChecking ();
451448
452449 auto * list = ccdb->getForTimeStamp <TList>(cfgPathCCDB.value , 1 );
453- efficiencyPos = static_cast <TH2D *>(list->FindObject (" efficiency_Pos" ));
454- efficiencyNeg = static_cast <TH2D *>(list->FindObject (" efficiency_Neg" ));
450+ efficiencyPos = dynamic_cast <TH2D *>(list->FindObject (" efficiency_Pos" ));
451+ efficiencyNeg = dynamic_cast <TH2D *>(list->FindObject (" efficiency_Neg" ));
455452 // Log fatal error if efficiency histogram is not found
456453 if (!efficiencyPos || !efficiencyNeg) {
457454 LOGF (info, " FATAL!! Could not find required histograms in CCDB" );
@@ -463,26 +460,31 @@ struct NetchargeFluctuations {
463460 {
464461 if (cfgFunCoeff.cfgMultPVT0CCutEnabled ) {
465462
466- if (pvTrack < cfgFunCoeff.fMultPVT0CCutLow ->Eval (centrality))
463+ if (pvTrack < cfgFunCoeff.fMultPVT0CCutLow ->Eval (centrality)) {
467464 return false ;
468- if (pvTrack > cfgFunCoeff.fMultPVT0CCutHigh ->Eval (centrality))
465+ }
466+ if (pvTrack > cfgFunCoeff.fMultPVT0CCutHigh ->Eval (centrality)) {
469467 return false ;
468+ }
470469 }
471-
472470 if (cfgFunCoeff.cfgMultGlobalFT0CCutEnabled ) {
473471
474- if (globalNch < cfgFunCoeff.fMultGlobalFT0CCutLow ->Eval (centrality))
472+ if (globalNch < cfgFunCoeff.fMultGlobalFT0CCutLow ->Eval (centrality)) {
475473 return false ;
476- if (globalNch > cfgFunCoeff.fMultGlobalFT0CCutHigh ->Eval (centrality))
474+ }
475+ if (globalNch > cfgFunCoeff.fMultGlobalFT0CCutHigh ->Eval (centrality)) {
477476 return false ;
477+ }
478478 }
479479
480480 if (cfgFunCoeff.cfgMultGlobalPVCutEnabled ) {
481481
482- if (globalNch < cfgFunCoeff.fMultGlobalPVCutLow ->Eval (pvTrack))
482+ if (globalNch < cfgFunCoeff.fMultGlobalPVCutLow ->Eval (pvTrack)) {
483483 return false ;
484- if (globalNch > cfgFunCoeff.fMultGlobalPVCutHigh ->Eval (pvTrack))
484+ }
485+ if (globalNch > cfgFunCoeff.fMultGlobalPVCutHigh ->Eval (pvTrack)) {
485486 return false ;
487+ }
486488 }
487489
488490 return true ;
@@ -492,8 +494,9 @@ struct NetchargeFluctuations {
492494 bool selCollision (C const & coll, float & cent, float & mult)
493495 {
494496
495- if (std::abs (coll.posZ ()) >= vertexZcut)
497+ if (std::abs (coll.posZ ()) >= vertexZcut) {
496498 return false ;
499+ }
497500 if constexpr (run == kRun3 ) {
498501 if (cSel8Trig && !coll.sel8 ()) {
499502 return false ;
@@ -517,19 +520,24 @@ struct NetchargeFluctuations {
517520 mult = coll.multFV0M (); // multiplicity for run2
518521 }
519522
520- if (cNoItsROBorder && !coll.selection_bit (aod::evsel::kNoITSROFrameBorder ))
523+ if (cNoItsROBorder && !coll.selection_bit (aod::evsel::kNoITSROFrameBorder )) {
521524 return false ;
522- if (cTFBorder && !coll.selection_bit (aod::evsel::kNoTimeFrameBorder ))
525+ }
526+ if (cTFBorder && !coll.selection_bit (aod::evsel::kNoTimeFrameBorder )) {
523527 return false ;
524- if (cPileupReject && !coll.selection_bit (aod::evsel::kNoSameBunchPileup ))
528+ }
529+ if (cPileupReject && !coll.selection_bit (aod::evsel::kNoSameBunchPileup )) {
525530 return false ;
526- if (cZVtxTimeDiff && !coll.selection_bit (aod::evsel::kIsGoodZvtxFT0vsPV ))
531+ }
532+ if (cZVtxTimeDiff && !coll.selection_bit (aod::evsel::kIsGoodZvtxFT0vsPV )) {
527533 return false ;
528- if (cItsTpcVtx && !coll.selection_bit (aod::evsel::kIsVertexITSTPC ))
534+ }
535+ if (cItsTpcVtx && !coll.selection_bit (aod::evsel::kIsVertexITSTPC )) {
529536 return false ;
530- if (cfgUseGoodItsLayerAllCut && !(coll.selection_bit (aod::evsel::kIsGoodITSLayersAll )))
537+ }
538+ if (cfgUseGoodItsLayerAllCut && !(coll.selection_bit (aod::evsel::kIsGoodITSLayersAll ))) {
531539 return false ;
532-
540+ }
533541 return true ;
534542 }
535543
@@ -564,26 +572,36 @@ struct NetchargeFluctuations {
564572 template <typename T>
565573 bool selTrack (T const & track)
566574 {
567- if (!track.isGlobalTrack ())
575+ if (!track.isGlobalTrack ()) {
568576 return false ;
569- if (cPVcont && !track.isPVContributor ())
577+ }
578+ if (cPVcont && !track.isPVContributor ()) {
570579 return false ;
571- if (std::fabs (track.eta ()) >= etaCut)
580+ }
581+ if (std::fabs (track.eta ()) >= etaCut) {
572582 return false ;
573- if (track.pt () <= ptMinCut || track.pt () >= ptMaxCut)
583+ }
584+ if (track.pt () <= ptMinCut || track.pt () >= ptMaxCut) {
574585 return false ;
575- if (track.sign () == 0 )
586+ }
587+ if (track.sign () == 0 ) {
576588 return false ;
577- if (cDcaXy && std::fabs (track.dcaXY ()) >= dcaXYCut)
589+ }
590+ if (cDcaXy && std::fabs (track.dcaXY ()) >= dcaXYCut) {
578591 return false ;
579- if (cDcaZ && std::fabs (track.dcaZ ()) >= dcaZCut)
592+ }
593+ if (cDcaZ && std::fabs (track.dcaZ ()) >= dcaZCut) {
580594 return false ;
581- if (cTpcCr && track.tpcNClsCrossedRows () <= tpcCrossCut)
595+ }
596+ if (cTpcCr && track.tpcNClsCrossedRows () <= tpcCrossCut) {
582597 return false ;
583- if (cItsChi && track.itsChi2NCl () >= itsChiCut)
598+ }
599+ if (cItsChi && track.itsChi2NCl () >= itsChiCut) {
584600 return false ;
585- if (cTpcChi && track.tpcChi2NCl () >= tpcChiCut)
601+ }
602+ if (cTpcChi && track.tpcChi2NCl () >= tpcChiCut) {
586603 return false ;
604+ }
587605
588606 return true ;
589607 }
@@ -653,7 +671,7 @@ struct NetchargeFluctuations {
653671 return ;
654672 }
655673
656- float globalNch = tracks.size ();
674+ auto globalNch = tracks.size ();
657675 float pvTrack = coll.multNTracksPV ();
658676
659677 histogramRegistry.fill (HIST (" QA/hCentFT0C" ), cent);
@@ -752,8 +770,8 @@ struct NetchargeFluctuations {
752770 return ;
753771 }
754772
755- int globalNch = inputTracks.size ();
756- int pvTrack = coll.multNTracksPV ();
773+ auto globalNch = inputTracks.size ();
774+ float pvTrack = coll.multNTracksPV ();
757775
758776 histogramRegistry.fill (HIST (" QA/hCentFT0C" ), cent);
759777 histogramRegistry.fill (HIST (" QA/hNchGlobal" ), globalNch);
@@ -948,13 +966,13 @@ struct NetchargeFluctuations {
948966 return ;
949967 }
950968
951- int globalNch = tracks.size ();
952- int pvTrack = coll.multNTracksPV ();
969+ auto globalNch = tracks.size ();
970+ float pvTrack = coll.multNTracksPV ();
953971 if (cfgEvSelMultCorrelation && !eventSelected (globalNch, pvTrack, cent)) {
954972 return ;
955973 }
956974
957- if (!( cent >= centMin && cent < centMax) ) {
975+ if (cent < centMin || cent >= centMax) {
958976 return ;
959977 }
960978 histogramRegistry.fill (HIST (" data/delta_eta_cent" ), cent);
@@ -1070,15 +1088,16 @@ struct NetchargeFluctuations {
10701088 return ;
10711089 }
10721090
1073- int globalNch = inputTracks.size ();
1074- int pvTrack = coll.multNTracksPV ();
1091+ auto globalNch = inputTracks.size ();
1092+ float pvTrack = coll.multNTracksPV ();
10751093 if (cfgEvSelMultCorrelation && !eventSelected (globalNch, pvTrack, cent)) {
10761094 return ;
10771095 }
10781096
1079- if (!( cent >= centMin && cent < centMax) ) {
1097+ if (cent < centMin || cent >= centMax) {
10801098 return ;
10811099 }
1100+
10821101 histogramRegistry.fill (HIST (" data/delta_eta_cent" ), cent);
10831102
10841103 float deltaEtaWidth = deta2 - deta1 + 1e-5f ;
0 commit comments