@@ -2380,13 +2380,14 @@ struct PidFlowPtCorr {
23802380 /* *
23812381 * @brief fill graphs like c22, c24, etc.
23822382 *
2383- * @tparam chars
2383+ * @tparam TName
23842384 * @param corrconf
23852385 * @param tarName graph name
23862386 * @param cent
23872387 */
2388- template <char ... chars>
2389- void fillProfile (const GFW ::CorrConfig& corrconf, const ConstStr<chars...>& tarName, const double & cent)
2388+ template <typename TName>
2389+ requires is_const_str<TName>::value
2390+ void fillProfile (const GFW ::CorrConfig& corrconf, const TName& tarName, const double & cent)
23902391 {
23912392 // calculate #sum exp{i * 0 (#phi_{i} - #phi_{j})} == N_{pairs}
23922393 // note that weight is ignored in the formula but not in the calculation, for c24 is similar
@@ -2453,16 +2454,17 @@ struct PidFlowPtCorr {
24532454 * @note why we need weightedc22? when calculating cov(v2,pt), we need N_{pair} * N_{charged} to be weight
24542455 * NOTICE!!! when filling weighted, value gave to param ptSum is nch, when filling diffpt, its just ptsum
24552456 *
2456- * @tparam chars
2457+ * @tparam TName
24572458 * @param corrconf
24582459 * @param tarName
24592460 * @param cent
24602461 * @param ptSum
24612462 * @param nch
24622463 * @param meanPt
24632464 */
2464- template <char ... chars>
2465- void fillProfilevnpt (const GFW ::CorrConfig& corrconf, const ConstStr<chars...>& tarName, const double & cent, const double & ptSum, const double & nch, const double & meanPt = 0 )
2465+ template <typename TName>
2466+ requires is_const_str<TName>::value
2467+ void fillProfilevnpt (const GFW ::CorrConfig& corrconf, const TName& tarName, const double & cent, const double & ptSum, const double & nch, const double & meanPt = 0 )
24662468 {
24672469 double dnx = 0.0 , val = 0.0 ;
24682470 dnx = fGFW ->Calculate (corrconf, 0 , true ).real ();
@@ -2475,8 +2477,9 @@ struct PidFlowPtCorr {
24752477 }
24762478 }
24772479
2478- template <char ... chars>
2479- void fillProfilePOIvnpt (const GFW ::CorrConfig& corrconf, const ConstStr<chars...>& tarName, const double & cent, const double & ptSum, const double & nch, const double & rndm)
2480+ template <typename TName>
2481+ requires is_const_str<TName>::value
2482+ void fillProfilePOIvnpt (const GFW ::CorrConfig& corrconf, const TName& tarName, const double & cent, const double & ptSum, const double & nch, const double & rndm)
24802483 {
24812484 double dnx = 0.0 , val = 0.0 ;
24822485 dnx = fGFW ->Calculate (corrconf, 0 , true ).real ();
@@ -2496,8 +2499,9 @@ struct PidFlowPtCorr {
24962499 * counts are added before division. The PID mean pT is only the profile
24972500 * coordinate, so the profile is weighted by the combined pair count alone.
24982501 */
2499- template <char ... chars>
2500- void fillProfilePOIvnpt (const GFW ::CorrConfig& corrconfA, const GFW ::CorrConfig& corrconfB, const ConstStr<chars...>& tarName, const double & cent, const double & ptSum, const double & nPid, const double & rndm)
2502+ template <typename TName>
2503+ requires is_const_str<TName>::value
2504+ void fillProfilePOIvnpt (const GFW ::CorrConfig& corrconfA, const GFW ::CorrConfig& corrconfB, const TName& tarName, const double & cent, const double & ptSum, const double & nPid, const double & rndm)
25012505 {
25022506 const double dnxA = fGFW ->Calculate (corrconfA, 0 , true ).real ();
25032507 const double dnxB = fGFW ->Calculate (corrconfB, 0 , true ).real ();
0 commit comments