@@ -75,11 +75,11 @@ struct FlowGfwTask {
7575 O2_DEFINE_CONFIGURABLE (cfgTrackSel, bool , false , " ITS and TPC cluster selection" )
7676 O2_DEFINE_CONFIGURABLE (cfgMinCentFT0C, float , 0 .0f , " Minimum FT0C Centrality" )
7777 O2_DEFINE_CONFIGURABLE (cfgMaxCentFT0C, float , 100 .0f , " Maximum FT0C Centrality" )
78- O2_DEFINE_CONFIGURABLE (cfgcentEstFt0c , bool , false , " Centrality estimator based on FT0C signal" )
79- O2_DEFINE_CONFIGURABLE (cfgcentEstFt0a , bool , false , " Centrality estimator based on FT0A signal" )
80- O2_DEFINE_CONFIGURABLE (cfgcentEstFt0m , bool , false , " A centrality estimator based on FT0A+FT0C signals." )
81- O2_DEFINE_CONFIGURABLE (cfgcentEstFv0a , bool , false , " Centrality estimator based on FV0A signal" )
82- O2_DEFINE_CONFIGURABLE (cfgcentEstFt0cVariant1 , bool , false , " A variant of FT0C" )
78+ O2_DEFINE_CONFIGURABLE (cfgCentEstFt0c , bool , false , " Centrality estimator based on FT0C signal" )
79+ O2_DEFINE_CONFIGURABLE (cfgCentEstFt0a , bool , false , " Centrality estimator based on FT0A signal" )
80+ O2_DEFINE_CONFIGURABLE (cfgCentEstFt0m , bool , false , " A centrality estimator based on FT0A+FT0C signals." )
81+ O2_DEFINE_CONFIGURABLE (cfgCentEstFv0a , bool , false , " Centrality estimator based on FV0A signal" )
82+ O2_DEFINE_CONFIGURABLE (cfgCentEstFt0cVariant1 , bool , false , " A variant of FT0C" )
8383 O2_DEFINE_CONFIGURABLE (cfgUseAdditionalEventCut, bool , false , " Use additional event cut on mult correlations" )
8484 O2_DEFINE_CONFIGURABLE (cfgUseAdditionalTrackCut, bool , false , " Use additional track cut on phi" )
8585 O2_DEFINE_CONFIGURABLE (cfgTrackSelRun3ITSMatch, bool , false , " Track selection for ITS matches" )
@@ -94,7 +94,7 @@ struct FlowGfwTask {
9494 O2_DEFINE_CONFIGURABLE (cfgCutOccupancyLow, int , 0 , " Low cut on TPC occupancy" )
9595 O2_DEFINE_CONFIGURABLE (cfgCutDCAz, float , 2 , " Custom DCA Z cut" )
9696 O2_DEFINE_CONFIGURABLE (cfgCutDCAxy, float , 0 .2f , " Custom DCA XY cut" )
97- O2_DEFINE_CONFIGURABLE (cfgDCAzPt, bool , false , " switch for DCAz pt dependent" )
97+ O2_DEFINE_CONFIGURABLE (cfgDCAzPt, bool , true , " switch for DCAz pt dependent" )
9898 O2_DEFINE_CONFIGURABLE (cfgNoTimeFrameBorder, bool , false , " kNoTimeFrameBorder" );
9999 O2_DEFINE_CONFIGURABLE (cfgNoITSROFrameBorder, bool , false , " kNoITSROFrameBorder" );
100100 O2_DEFINE_CONFIGURABLE (cfgNoSameBunchPileup, bool , false , " kNoSameBunchPileup" );
@@ -187,6 +187,8 @@ struct FlowGfwTask {
187187 kc32Nch05,
188188 kc32Nch05etagap,
189189 kc34Nch05,
190+ kc22etagapft0c,
191+ kc32etagapft0c,
190192
191193 // Count the total number of enum
192194 kCount_ExtraProfile
@@ -400,6 +402,9 @@ struct FlowGfwTask {
400402 registry.add (" c32Nch05" , " ;N_{ch 0-5%}(|#eta| < 0.8) ; C_{3}{2} " , {HistType::kTProfile , {axisNch}});
401403 registry.add (" c32Nch05etagap" , " ;N_{ch 0-5%}(|#eta| < 0.8) ; C_{3}{2} (|#eta| < 0.8) " , {HistType::kTProfile , {axisNch}});
402404 registry.add (" c34Nch05" , " ;N_{ch 0-5%}(|#eta| < 0.8) ; C_{3}{4} " , {HistType::kTProfile , {axisNch}});
405+
406+ registry.add (" c22etagapft0c" , " ;FT0C Amplitude ; C_{2}{2} (|#eta| < 0.8) " , {HistType::kTProfile , {axisFT0CAmp}});
407+ registry.add (" c32etagapft0c" , " ;FT0C Amplitude ; C_{3}{2} (|#eta| < 0.8) " , {HistType::kTProfile , {axisFT0CAmp}});
403408 } // End doprocessData
404409
405410 const AxisSpec axisZpos{48 , -12 ., 12 ., " Vtx_{z} (cm)" };
@@ -480,6 +485,9 @@ struct FlowGfwTask {
480485 bootstrapArray[i][kc32Nch05] = registry.add <TProfile>(Form (" BootstrapContainer_%d/c32Nch05" , i), " ;N_ch05(|#eta| < 0.8) ; C_{3}{2}" , {HistType::kTProfile , {axisNch}});
481486 bootstrapArray[i][kc32Nch05etagap] = registry.add <TProfile>(Form (" BootstrapContainer_%d/c32Nch05etagap" , i), " ;N_ch05(|#eta| < 0.8) ; C_{3}{2} (|#eta| < 0.8)" , {HistType::kTProfile , {axisNch}});
482487 bootstrapArray[i][kc34Nch05] = registry.add <TProfile>(Form (" BootstrapContainer_%d/c34Nch05" , i), " ;N_ch05(|#eta| < 0.8) ; C_{3}{4}" , {HistType::kTProfile , {axisNch}});
488+
489+ bootstrapArray[i][kc22etagapft0c] = registry.add <TProfile>(Form (" BootstrapContainer_%d/c22etagapftoc" , i), " ;FT0C Amplitude ; C_{2}{2} (|#eta| < 0.8)" , {HistType::kTProfile , {axisFT0CAmp}});
490+ bootstrapArray[i][kc32etagapft0c] = registry.add <TProfile>(Form (" BootstrapContainer_%d/c32etagapftoc" , i), " ;FT0C Amplitude ; C_{3}{2} (|#eta| < 0.8)" , {HistType::kTProfile , {axisFT0CAmp}});
483491 }
484492
485493 o2::framework::AxisSpec axis = axisPt;
@@ -718,11 +726,11 @@ struct FlowGfwTask {
718726 registry.fill (HIST (" hEventCount" ), kISGOODITSLAYERSALL );
719727 }
720728
721- float vtxz = -999 ;
729+ float vtxz = -999 , zResmin = 0.25 , maxContrib = 20 ;
722730 if (collision.numContrib () > 1 ) {
723731 vtxz = collision.posZ ();
724732 float zRes = std::sqrt (collision.covZZ ());
725- if (zRes > 0.25 && collision.numContrib () < 20 )
733+ if (zRes > zResmin && collision.numContrib () < maxContrib )
726734 vtxz = -999 ;
727735 }
728736
@@ -744,8 +752,9 @@ struct FlowGfwTask {
744752 }
745753
746754 // V0A T0A 5 sigma cut
755+ float five = 5 ;
747756 if (cfgV0AT0A5Sigma) {
748- if (std::abs (collision.multFV0A () - fT0AV0AMean ->Eval (collision.multFT0A ())) > 5 * fT0AV0ASigma ->Eval (collision.multFT0A ()))
757+ if (std::abs (collision.multFV0A () - fT0AV0AMean ->Eval (collision.multFT0A ())) > five * fT0AV0ASigma ->Eval (collision.multFT0A ()))
749758 return false ;
750759 }
751760
@@ -828,27 +837,27 @@ struct FlowGfwTask {
828837
829838 // Choose centrality estimator -- Only one can be true
830839 auto centrality = -1 ;
831- if (cfgcentEstFt0c ) {
840+ if (cfgCentEstFt0c ) {
832841 centrality = collision.centFT0C ();
833842 registry.fill (HIST (" hCentEstimators" ), kCentFT0C );
834843 registry.fill (HIST (" hCentFT0C" ), centrality);
835844 }
836- if (cfgcentEstFt0a ) {
845+ if (cfgCentEstFt0a ) {
837846 centrality = collision.centFT0A ();
838847 registry.fill (HIST (" hCentEstimators" ), kCentFT0A );
839848 registry.fill (HIST (" hCentFT0A" ), centrality);
840849 }
841- if (cfgcentEstFt0m ) {
850+ if (cfgCentEstFt0m ) {
842851 centrality = collision.centFT0M ();
843852 registry.fill (HIST (" hCentEstimators" ), kCentFT0M );
844853 registry.fill (HIST (" hCentFT0M" ), centrality);
845854 }
846- if (cfgcentEstFv0a ) {
855+ if (cfgCentEstFv0a ) {
847856 centrality = collision.centFV0A ();
848857 registry.fill (HIST (" hCentEstimators" ), kCentFV0A );
849858 registry.fill (HIST (" hCentFV0A" ), centrality);
850859 }
851- if (cfgcentEstFt0cVariant1 ) {
860+ if (cfgCentEstFt0cVariant1 ) {
852861 centrality = collision.centFT0CVariant1 ();
853862 registry.fill (HIST (" hCentEstimators" ), kCentFT0CVariant1 );
854863 registry.fill (HIST (" hCentFT0CVariant1" ), centrality);
@@ -925,19 +934,29 @@ struct FlowGfwTask {
925934
926935 registry.fill (HIST (" ZNvsZEMcoll" ), aZEM1 + aZEM2, aZNA + aZNC);
927936
928- if (centrality >= 0 && centrality <= 5 ) {
937+ // Draft notation for centrality limits
938+ float zero = 0 , five = 5 , ten = 10 , twenty = 20 , thirty = 30 ;
939+ if (centrality >= zero && centrality <= five) {
929940 registry.fill (HIST (" ZNvsZEMcoll05" ), aZEM1 + aZEM2, aZNA + aZNC);
930- } else if (centrality > 5 && centrality <= 10 ) {
941+ } else if (centrality > five && centrality <= ten ) {
931942 registry.fill (HIST (" ZNvsZEMcoll510" ), aZEM1 + aZEM2, aZNA + aZNC);
932- } else if (centrality > 10 && centrality <= 20 ) {
943+ } else if (centrality > ten && centrality <= twenty ) {
933944 registry.fill (HIST (" ZNvsZEMcoll1020" ), aZEM1 + aZEM2, aZNA + aZNC);
934- } else if (centrality > 20 && centrality <= 30 ) {
945+ } else if (centrality > twenty && centrality <= thirty ) {
935946 registry.fill (HIST (" ZNvsZEMcoll2030" ), aZEM1 + aZEM2, aZNA + aZNC);
936947 } else {
937948 registry.fill (HIST (" ZNvsZEMcollrest" ), aZEM1 + aZEM2, aZNA + aZNC);
938949 }
939950 } // End of ZDC
940951
952+ // Use for c22 vs ft0 amplitude
953+ double ft0cAmp = 0 ;
954+ if (foundBC.has_ft0 ()) {
955+ for (const auto & amplitude : foundBC.ft0 ().amplitudeC ()) {
956+ ft0cAmp += amplitude;
957+ }
958+ }
959+
941960 float vtxz = collision.posZ ();
942961 float lRandom = fRndm ->Rndm ();
943962 registry.fill (HIST (" hVtxZ" ), vtxz);
@@ -1046,7 +1065,7 @@ struct FlowGfwTask {
10461065 registry.fill (HIST (" Events_per_Centrality_Bin" ), centrality);
10471066 registry.fill (HIST (" Tracks_per_Centrality_Bin" ), centrality, nch);
10481067
1049- // Filling c22 with ROOT TProfile
1068+ // Filling Cumulants with ROOT TProfile
10501069 fillProfile (corrconfigs.at (0 ), HIST (" c22" ), centrality);
10511070 fillProfile (corrconfigs.at (1 ), HIST (" c24" ), centrality);
10521071 fillProfile (corrconfigs.at (2 ), HIST (" c26" ), centrality);
@@ -1066,7 +1085,8 @@ struct FlowGfwTask {
10661085 fillProfile (corrconfigs.at (7 ), HIST (" c34Nch" ), nch);
10671086
10681087 // 0-5% centrality Nch
1069- if (centrality >= 0 && centrality <= 5 ) {
1088+ float zero = 0 , five = 5 ;
1089+ if (centrality >= zero && centrality <= five) {
10701090 fillProfile (corrconfigs.at (0 ), HIST (" c22Nch05" ), nch);
10711091 fillProfile (corrconfigs.at (1 ), HIST (" c24Nch05" ), nch);
10721092 fillProfile (corrconfigs.at (2 ), HIST (" c26Nch05" ), nch);
@@ -1077,6 +1097,10 @@ struct FlowGfwTask {
10771097 fillProfile (corrconfigs.at (7 ), HIST (" c34Nch05" ), nch);
10781098 }
10791099
1100+ // C22 and C32 vs FT0C amplitude
1101+ fillProfile (corrconfigs.at (4 ), HIST (" c22etagapft0c" ), ft0cAmp);
1102+ fillProfile (corrconfigs.at (6 ), HIST (" c32etagapft0c" ), ft0cAmp);
1103+
10801104 // Filling Bootstrap Samples
10811105 int sampleIndex = static_cast <int >(cfgNbootstrap * lRandom);
10821106 fillProfile (corrconfigs.at (0 ), bootstrapArray[sampleIndex][kc22], centrality);
@@ -1097,7 +1121,7 @@ struct FlowGfwTask {
10971121 fillProfile (corrconfigs.at (6 ), bootstrapArray[sampleIndex][kc32Nchetagap], nch);
10981122 fillProfile (corrconfigs.at (7 ), bootstrapArray[sampleIndex][kc34Nch], nch);
10991123
1100- if (centrality >= 0 && centrality <= 5 ) {
1124+ if (centrality >= zero && centrality <= five ) {
11011125 fillProfile (corrconfigs.at (0 ), bootstrapArray[sampleIndex][kc22Nch05], nch);
11021126 fillProfile (corrconfigs.at (1 ), bootstrapArray[sampleIndex][kc24Nch05], nch);
11031127 fillProfile (corrconfigs.at (2 ), bootstrapArray[sampleIndex][kc26Nch05], nch);
@@ -1112,6 +1136,10 @@ struct FlowGfwTask {
11121136
11131137 registry.fill (HIST (" Nch" ), nch);
11141138
1139+ // Filling Bootstrap Samples for FT0C Amplitudes
1140+ fillProfile (corrconfigs.at (4 ), bootstrapArray[sampleIndex][kc22etagapft0c], ft0cAmp);
1141+ fillProfile (corrconfigs.at (6 ), bootstrapArray[sampleIndex][kc32etagapft0c], ft0cAmp);
1142+
11151143 // Filling Flow Container
11161144 for (uint l_ind = 0 ; l_ind < corrconfigs.size (); l_ind++) {
11171145 fillFC (corrconfigs.at (l_ind), centrality, lRandom);
@@ -1169,7 +1197,8 @@ struct FlowGfwTask {
11691197 registry.fill (HIST (" hCenMCRec" ), centrality);
11701198 registry.fill (HIST (" hPtNchMCRec" ), track.pt (), track.size ());
11711199
1172- if (centrality >= 0 && centrality <= 5 ) {
1200+ float zero = 0 , five = 5 ;
1201+ if (centrality >= zero && centrality <= five) {
11731202 registry.fill (HIST (" hPtMCRec05" ), track.pt ());
11741203 registry.fill (HIST (" hCenMCRec05" ), centrality);
11751204 registry.fill (HIST (" hPtNchMCRec05" ), track.pt (), track.size ());
@@ -1233,7 +1262,8 @@ struct FlowGfwTask {
12331262 registry.fill (HIST (" hPtMCGen" ), particle.pt ());
12341263 registry.fill (HIST (" hCenMCGen" ), centrality);
12351264
1236- if (centrality >= 0 && centrality <= 5 ) {
1265+ float zero = 0 , five = 5 ;
1266+ if (centrality >= zero && centrality <= five) {
12371267 registry.fill (HIST (" hPtMCGen05" ), particle.pt ());
12381268 registry.fill (HIST (" hCenMCGen05" ), centrality);
12391269 registry.fill (HIST (" hPtNchMCGen05" ), particle.pt (), numberOfTracks[0 ]);
@@ -1247,7 +1277,8 @@ struct FlowGfwTask {
12471277 for (const auto & track : groupedTracksReco) {
12481278
12491279 registry.fill (HIST (" hCorr" ), numberOfTracks[0 ], track.size ());
1250- if (centrality >= 0 && centrality <= 5 ) {
1280+ float zero = 0 , five = 5 ;
1281+ if (centrality >= zero && centrality <= five) {
12511282 registry.fill (HIST (" hCorr05" ), numberOfTracks[0 ], track.size ());
12521283 }
12531284 }
0 commit comments