@@ -80,6 +80,7 @@ struct PidFlowPtCorr {
8080 // track quality selections for daughter track
8181 O2_DEFINE_CONFIGURABLE (cfgITSNCls, int , 5 , " check minimum number of ITS clusters" )
8282 O2_DEFINE_CONFIGURABLE (cfgTPCNCls, int , 50 , " check minimum number of TPC hits" )
83+ O2_DEFINE_CONFIGURABLE (cfgTPCCrossedRows, int , 70 , " check minimum number of TPC crossed rows" )
8384 O2_DEFINE_CONFIGURABLE (cfgITSChi2NDF, double , 2.5 , " check ITS Chi2NDF" )
8485 O2_DEFINE_CONFIGURABLE (cfgCheckGlobalTrack, bool , false , " check global track" )
8586 } trkQualityOpts;
@@ -94,7 +95,8 @@ struct PidFlowPtCorr {
9495 O2_DEFINE_CONFIGURABLE (cfgDoNoCollInTimeRangeStandard, bool , true , " check kNoCollInTimeRangeStandard" )
9596 O2_DEFINE_CONFIGURABLE (cfgDoIsGoodITSLayersAll, bool , true , " check kIsGoodITSLayersAll" )
9697 O2_DEFINE_CONFIGURABLE (cfgCutOccupancyHigh, int , 3000 , " High cut on TPC occupancy" )
97- O2_DEFINE_CONFIGURABLE (cfgMultPVCut, int , 5 , " Use apassX MultPVCut function or not (-1)" )
98+ O2_DEFINE_CONFIGURABLE (cfgDoMultPVCut, bool , true , " do multNTracksPV vs cent cut" )
99+ O2_DEFINE_CONFIGURABLE (cfgMultPVCut, std::vector<float >, (std::vector<float >{3074.43 , -106.192 , 1.46176 , -0.00968364 , 2.61923e-05 , 182.128 , -7.43492 , 0.193901 , -0.00256715 , 1.22594e-05 }), " Used MultPVCut function parameter" )
98100 O2_DEFINE_CONFIGURABLE (cfgDoV0AT0Acut, bool , true , " do V0A-T0A cut" )
99101 O2_DEFINE_CONFIGURABLE (cfgCutminIR, float , -1 , " cut min IR" )
100102 O2_DEFINE_CONFIGURABLE (cfgCutmaxIR, float , 3000 , " cut max IR" )
@@ -121,8 +123,10 @@ struct PidFlowPtCorr {
121123 ConfigurableAxis cfgaxisMeanPt{" cfgaxisMeanPt" , {300 , 0 , 3 }, " pt (GeV)" };
122124 ConfigurableAxis cfgaxisNch{" cfgaxisNch" , {3000 , 0.5 , 3000.5 }, " Nch" };
123125 ConfigurableAxis cfgaxisLocalDensity{" cfgaxisLocalDensity" , {200 , 0 , 600 }, " local density" };
124-
125- AxisSpec axisMultiplicity{{0 , 5 , 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 }, " Centrality (%)" };
126+ Configurable<std::vector<double >> cfgTrackDensityP0{" cfgTrackDensityP0" , std::vector<double >{0.7217476707 , 0.7384792571 , 0.7542625668 , 0.7640680200 , 0.7701951667 , 0.7755299053 , 0.7805901710 , 0.7849446786 , 0.7957356586 , 0.8113039262 , 0.8211968966 , 0.8280558878 , 0.8329342135 }, " parameter 0 for track density efficiency correction" };
127+ Configurable<std::vector<double >> cfgTrackDensityP1{" cfgTrackDensityP1" , std::vector<double >{-2.169488e-05 , -2.191913e-05 , -2.295484e-05 , -2.556538e-05 , -2.754463e-05 , -2.816832e-05 , -2.846502e-05 , -2.843857e-05 , -2.705974e-05 , -2.477018e-05 , -2.321730e-05 , -2.203315e-05 , -2.109474e-05 }, " parameter 1 for track density efficiency correction" };
128+
129+ AxisSpec axisMultiplicity{{0 , 5 , 10 , 15 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 }, " Centrality (%)" };
126130
127131 Filter collisionFilter = nabs(aod::collision::posZ) < cfgCutVertex;
128132 Filter trackFilter = (nabs(aod::track::eta) < trkQualityOpts.cfgCutEta.value) && ((requireGlobalTrackInFilter()) || (aod::track::isGlobalTrackSDD == (uint8_t ) true )) && (aod::track::tpcChi2NCl < cfgCutChi2prTPCcls);
@@ -146,6 +150,7 @@ struct PidFlowPtCorr {
146150 std::vector<GFW::CorrConfig> corrconfigs;
147151 std::vector<std::string> cfgAcceptance;
148152 std::vector<std::string> cfgEfficiency;
153+ std::vector<float > cfgMultPVCutPara;
149154 std::vector<float > cfgNSigma;
150155 std::vector<float > cfgMeanPt;
151156 std::vector<int > runNumbers;
@@ -178,6 +183,12 @@ struct PidFlowPtCorr {
178183
179184 TAxis* fMultAxis = nullptr ;
180185
186+ std::vector<TF1*> funcEff;
187+ TH1D* hFindPtBin;
188+ TF1* funcV2;
189+ TF1* funcV3;
190+ TF1* funcV4;
191+
181192 void init (InitContext const &) // Initialization
182193 {
183194 ccdb->setURL (cfgurl.value );
@@ -188,6 +199,7 @@ struct PidFlowPtCorr {
188199 cfgEfficiency = cfgEfficiencyPath;
189200 cfgNSigma = cfgNSigmapid;
190201 cfgMeanPt = cfgMeanPtcent;
202+ cfgMultPVCutPara = evtSeleOpts.cfgMultPVCut ;
191203
192204 // Set the pt, mult and phi Axis;
193205 o2::framework::AxisSpec axisPt = cfgaxisPt;
@@ -212,7 +224,7 @@ struct PidFlowPtCorr {
212224 registry.add (" MC/hCentvsMultTPCMC" , " " , {HistType::kTH2D , {{18 , 0 , 90 }, cfgaxisNch}});
213225 registry.add (" hPt" , " " , {HistType::kTH1D , {cfgaxisPt}});
214226 registry.add (" hEtaPhiVtxzREF" , " " , {HistType::kTH3D , {cfgaxisPhi, cfgaxisEta, {20 , -10 , 10 }}});
215- registry.add (" hNTracksPVvsCentrality" , " " , {HistType::kTH2D , {{500 , 0 , 500 }, axisMultiplicity}});
227+ registry.add (" hNTracksPVvsCentrality" , " " , {HistType::kTH2D , {{5000 , 0 , 5000 }, axisMultiplicity}});
216228
217229 if (cfgOutputrunbyrun) {
218230 runNumbers = cfgRunNumbers;
@@ -251,6 +263,11 @@ struct PidFlowPtCorr {
251263 registry.add (" c24" , " ;Centrality (%) ; C_{2}{2} " , {HistType::kTProfile , {axisMultiplicity}});
252264 registry.add (" c34" , " ;Centrality (%) ; C_{2}{2} " , {HistType::kTProfile , {axisMultiplicity}});
253265 registry.add (" c22Full" , " ;Centrality (%) ; C_{2}{2} " , {HistType::kTProfile , {axisMultiplicity}});
266+ registry.add (" c22TrackWeight" , " ;Centrality (%) ; C_{2}{2} " , {HistType::kTProfile , {axisMultiplicity}});
267+ registry.add (" c32TrackWeight" , " ;Centrality (%) ; C_{2}{2} " , {HistType::kTProfile , {axisMultiplicity}});
268+ registry.add (" c24TrackWeight" , " ;Centrality (%) ; C_{2}{2} " , {HistType::kTProfile , {axisMultiplicity}});
269+ registry.add (" c34TrackWeight" , " ;Centrality (%) ; C_{2}{2} " , {HistType::kTProfile , {axisMultiplicity}});
270+ registry.add (" c22FullTrackWeight" , " ;Centrality (%) ; C_{2}{2} " , {HistType::kTProfile , {axisMultiplicity}});
254271
255272 registry.add (" pi/c22" , " ;Centrality (%) ; C_{2}{2} " , {HistType::kTProfile , {axisMultiplicity}});
256273 registry.add (" ka/c22" , " ;Centrality (%) ; C_{2}{2} " , {HistType::kTProfile , {axisMultiplicity}});
@@ -264,6 +281,18 @@ struct PidFlowPtCorr {
264281 registry.add (" pi/c34" , " ;Centrality (%) ; C_{2}{4} " , {HistType::kTProfile , {axisMultiplicity}});
265282 registry.add (" ka/c34" , " ;Centrality (%) ; C_{2}{4} " , {HistType::kTProfile , {axisMultiplicity}});
266283 registry.add (" pr/c34" , " ;Centrality (%) ; C_{2}{4} " , {HistType::kTProfile , {axisMultiplicity}});
284+ registry.add (" pi/c22TrackWeight" , " ;Centrality (%) ; C_{2}{2} " , {HistType::kTProfile , {axisMultiplicity}});
285+ registry.add (" ka/c22TrackWeight" , " ;Centrality (%) ; C_{2}{2} " , {HistType::kTProfile , {axisMultiplicity}});
286+ registry.add (" pr/c22TrackWeight" , " ;Centrality (%) ; C_{2}{2} " , {HistType::kTProfile , {axisMultiplicity}});
287+ registry.add (" pi/c24TrackWeight" , " ;Centrality (%) ; C_{2}{4} " , {HistType::kTProfile , {axisMultiplicity}});
288+ registry.add (" ka/c24TrackWeight" , " ;Centrality (%) ; C_{2}{4} " , {HistType::kTProfile , {axisMultiplicity}});
289+ registry.add (" pr/c24TrackWeight" , " ;Centrality (%) ; C_{2}{4} " , {HistType::kTProfile , {axisMultiplicity}});
290+ registry.add (" pi/c32TrackWeight" , " ;Centrality (%) ; C_{2}{2} " , {HistType::kTProfile , {axisMultiplicity}});
291+ registry.add (" ka/c32TrackWeight" , " ;Centrality (%) ; C_{2}{2} " , {HistType::kTProfile , {axisMultiplicity}});
292+ registry.add (" pr/c32TrackWeight" , " ;Centrality (%) ; C_{2}{2} " , {HistType::kTProfile , {axisMultiplicity}});
293+ registry.add (" pi/c34TrackWeight" , " ;Centrality (%) ; C_{2}{4} " , {HistType::kTProfile , {axisMultiplicity}});
294+ registry.add (" ka/c34TrackWeight" , " ;Centrality (%) ; C_{2}{4} " , {HistType::kTProfile , {axisMultiplicity}});
295+ registry.add (" pr/c34TrackWeight" , " ;Centrality (%) ; C_{2}{4} " , {HistType::kTProfile , {axisMultiplicity}});
267296
268297 // vn-pt corr
269298 registry.add (" covV2Pt" , " ;Centrality (%) ; cov(v_{2}^{2}{2}, P_{T}) " , {HistType::kTProfile , {axisMultiplicity}});
@@ -364,20 +393,10 @@ struct PidFlowPtCorr {
364393 fGFW ->CreateRegions (); // finalize the initialization
365394
366395 // used for event selection
367- int caseapass4 = 4 ;
368- int caseapass5 = 5 ;
369- if (evtSeleOpts.cfgMultPVCut .value == caseapass4) {
370- fMultPVCutLow = new TF1 (" fMultPVCutLow" , " [0]+[1]*x+[2]*x*x+[3]*x*x*x+[4]*x*x*x*x - 3.5*([5]+[6]*x+[7]*x*x+[8]*x*x*x+[9]*x*x*x*x)" , 0 , 100 );
371- fMultPVCutLow ->SetParameters (3257.29 , -121.848 , 1.98492 , -0.0172128 , 6.47528e-05 , 154.756 , -1.86072 , -0.0274713 , 0.000633499 , -3.37757e-06 );
372- fMultPVCutHigh = new TF1 (" fMultPVCutHigh" , " [0]+[1]*x+[2]*x*x+[3]*x*x*x+[4]*x*x*x*x + 3.5*([5]+[6]*x+[7]*x*x+[8]*x*x*x+[9]*x*x*x*x)" , 0 , 100 );
373- fMultPVCutHigh ->SetParameters (3257.29 , -121.848 , 1.98492 , -0.0172128 , 6.47528e-05 , 154.756 , -1.86072 , -0.0274713 , 0.000633499 , -3.37757e-06 );
374- }
375- if (evtSeleOpts.cfgMultPVCut .value == caseapass5) {
376- fMultPVCutLow = new TF1 (" fMultPVCutLow" , " [0]+[1]*x+[2]*x*x+[3]*x*x*x+[4]*x*x*x*x - 3.5*([5]+[6]*x+[7]*x*x+[8]*x*x*x+[9]*x*x*x*x)" , 0 , 100 );
377- fMultPVCutLow ->SetParameters (3074.43 , -106.192 , 1.46176 , -0.00968364 , 2.61923e-05 , 182.128 , -7.43492 , 0.193901 , -0.00256715 , 1.22594e-05 );
378- fMultPVCutHigh = new TF1 (" fMultPVCutHigh" , " [0]+[1]*x+[2]*x*x+[3]*x*x*x+[4]*x*x*x*x + 3.5*([5]+[6]*x+[7]*x*x+[8]*x*x*x+[9]*x*x*x*x)" , 0 , 100 );
379- fMultPVCutHigh ->SetParameters (3074.43 , -106.192 , 1.46176 , -0.00968364 , 2.61923e-05 , 182.128 , -7.43492 , 0.193901 , -0.00256715 , 1.22594e-05 );
380- }
396+ fMultPVCutLow = new TF1 (" fMultPVCutLow" , " [0]+[1]*x+[2]*x*x+[3]*x*x*x+[4]*x*x*x*x - 3.5*([5]+[6]*x+[7]*x*x+[8]*x*x*x+[9]*x*x*x*x)" , 0 , 100 );
397+ fMultPVCutLow ->SetParameters (cfgMultPVCutPara[0 ], cfgMultPVCutPara[1 ], cfgMultPVCutPara[2 ], cfgMultPVCutPara[3 ], cfgMultPVCutPara[4 ], cfgMultPVCutPara[5 ], cfgMultPVCutPara[6 ], cfgMultPVCutPara[7 ], cfgMultPVCutPara[8 ], cfgMultPVCutPara[9 ]);
398+ fMultPVCutHigh = new TF1 (" fMultPVCutHigh" , " [0]+[1]*x+[2]*x*x+[3]*x*x*x+[4]*x*x*x*x + 3.5*([5]+[6]*x+[7]*x*x+[8]*x*x*x+[9]*x*x*x*x)" , 0 , 100 );
399+ fMultPVCutHigh ->SetParameters (cfgMultPVCutPara[0 ], cfgMultPVCutPara[1 ], cfgMultPVCutPara[2 ], cfgMultPVCutPara[3 ], cfgMultPVCutPara[4 ], cfgMultPVCutPara[5 ], cfgMultPVCutPara[6 ], cfgMultPVCutPara[7 ], cfgMultPVCutPara[8 ], cfgMultPVCutPara[9 ]);
381400
382401 fT0AV0AMean = new TF1 (" fT0AV0AMean" , " [0]+[1]*x" , 0 , 200000 );
383402 fT0AV0AMean ->SetParameters (-1601.0581 , 9.417652e-01 );
@@ -389,23 +408,41 @@ struct PidFlowPtCorr {
389408 fWeightsREF ->setPtBins (nPtBins, &(axisPt.binEdges )[0 ]);
390409 fWeightsREF ->init (true , false );
391410 }
411+
412+ std::vector<double > pTEffBins = {0.2 , 0.3 , 0.4 , 0.5 , 0.6 , 0.7 , 0.8 , 0.9 , 1.0 , 1.4 , 1.8 , 2.2 , 2.6 , 3.0 };
413+ hFindPtBin = new TH1D (" hFindPtBin" , " hFindPtBin" , pTEffBins.size () - 1 , &pTEffBins[0 ]);
414+ funcEff.resize (pTEffBins.size () - 1 );
415+ // LHC24g3 Eff
416+ std::vector<double > f1p0 = cfgTrackDensityP0;
417+ std::vector<double > f1p1 = cfgTrackDensityP1;
418+ for (uint ifunc = 0 ; ifunc < pTEffBins.size () - 1 ; ifunc++) {
419+ funcEff[ifunc] = new TF1 (Form (" funcEff%i" , ifunc), " [0]+[1]*x" , 0 , 3000 );
420+ funcEff[ifunc]->SetParameters (f1p0[ifunc], f1p1[ifunc]);
421+ }
422+ funcV2 = new TF1 (" funcV2" , " [0]+[1]*x+[2]*x*x+[3]*x*x*x+[4]*x*x*x*x" , 0 , 100 );
423+ funcV2->SetParameters (0.0186111 , 0.00351907 , -4.38264e-05 , 1.35383e-07 , -3.96266e-10 );
424+ funcV3 = new TF1 (" funcV3" , " [0]+[1]*x+[2]*x*x+[3]*x*x*x+[4]*x*x*x*x" , 0 , 100 );
425+ funcV3->SetParameters (0.0174056 , 0.000703329 , -1.45044e-05 , 1.91991e-07 , -1.62137e-09 );
426+ funcV4 = new TF1 (" funcV4" , " [0]+[1]*x+[2]*x*x+[3]*x*x*x+[4]*x*x*x*x" , 0 , 100 );
427+ funcV4->SetParameters (0.008845 , 0.000259668 , -3.24435e-06 , 4.54837e-08 , -6.01825e-10 );
392428 }
393429
394430 // input HIST("name")
395431 template <char ... chars>
396- void fillProfile (const GFW::CorrConfig& corrconf, const ConstStr<chars...>& tarName, const double & cent)
432+ bool fillProfile (const GFW::CorrConfig& corrconf, const ConstStr<chars...>& tarName, const double & cent)
397433 {
398434 double dnx, val;
399435 dnx = fGFW ->Calculate (corrconf, 0 , kTRUE ).real ();
400436 if (dnx == 0 )
401- return ;
437+ return false ;
402438 if (!corrconf.pTDif ) {
403439 val = fGFW ->Calculate (corrconf, 0 , kFALSE ).real () / dnx;
404- if (std::fabs (val) < 1 )
440+ if (std::fabs (val) < 1 ) {
405441 registry.fill (tarName, cent, val, dnx);
406- return ;
442+ return true ;
443+ }
407444 }
408- return ;
445+ return false ;
409446 }
410447
411448 template <char ... chars>
@@ -439,7 +476,7 @@ struct PidFlowPtCorr {
439476 {
440477 if (correctionsLoaded)
441478 return ;
442- int nspecies = 5 ;
479+ int nspecies = 1 ;
443480 if (cfgAcceptance.size () == static_cast <uint64_t >(nspecies)) {
444481 for (int i = 0 ; i <= nspecies - 1 ; i++) {
445482 mAcceptance .push_back (ccdb->getForTimeStamp <GFWWeights>(cfgAcceptance[i], timestamp));
@@ -465,7 +502,7 @@ struct PidFlowPtCorr {
465502 bool setCurrentParticleWeights (float & weight_nue, float & weight_nua, TrackObject track, float vtxz, int ispecies)
466503 {
467504 float eff = 1 .;
468- int nspecies = 5 ;
505+ int nspecies = 1 ;
469506 if (mEfficiency .size () == static_cast <uint64_t >(nspecies))
470507 eff = mEfficiency [ispecies]->GetBinContent (mEfficiency [ispecies]->FindBin (track.pt ()));
471508 else
@@ -537,10 +574,9 @@ struct PidFlowPtCorr {
537574
538575 if (std::fabs (vtxz) > cfgCutVertex)
539576 return false ;
540- int caseapass4 = 4 ;
541- int caseapass5 = 5 ;
577+
542578 registry.fill (HIST (" hNTracksPVvsCentrality" ), multNTracksPV, centrality);
543- if (evtSeleOpts.cfgMultPVCut .value == caseapass4 || evtSeleOpts. cfgMultPVCut . value == caseapass5 ) {
579+ if (evtSeleOpts.cfgDoMultPVCut .value ) {
544580 if (multNTracksPV < fMultPVCutLow ->Eval (centrality))
545581 return false ;
546582 if (multNTracksPV > fMultPVCutHigh ->Eval (centrality))
@@ -597,6 +633,32 @@ struct PidFlowPtCorr {
597633 registry.fill (HIST (" hMultTPC" ), nMultTPC);
598634 registry.fill (HIST (" hCent" ), cent);
599635
636+ double psi2Est = 0 , psi3Est = 0 , psi4Est = 0 ;
637+ float wEPeff = 1 ;
638+ double v2 = 0 , v3 = 0 , v4 = 0 ;
639+ if (cfgDoLocDenCorr) {
640+ double q2x = 0 , q2y = 0 ;
641+ double q3x = 0 , q3y = 0 ;
642+ double q4x = 0 , q4y = 0 ;
643+ for (const auto & track : tracks) {
644+ bool withinPtRef = (trkQualityOpts.cfgCutPtMin .value < track.pt ()) && (track.pt () < trkQualityOpts.cfgCutPtMax .value ); // within RF pT rang
645+ if (withinPtRef) {
646+ q2x += std::cos (2 * track.phi ());
647+ q2y += std::sin (2 * track.phi ());
648+ q3x += std::cos (3 * track.phi ());
649+ q3y += std::sin (3 * track.phi ());
650+ q4x += std::cos (4 * track.phi ());
651+ q4y += std::sin (4 * track.phi ());
652+ }
653+ }
654+ psi2Est = std::atan2 (q2y, q2x) / 2 .;
655+ psi3Est = std::atan2 (q3y, q3x) / 3 .;
656+ psi4Est = std::atan2 (q4y, q4x) / 4 .;
657+ v2 = funcV2->Eval (cent);
658+ v3 = funcV3->Eval (cent);
659+ v4 = funcV4->Eval (cent);
660+ }
661+
600662 float weff = 1 ;
601663 float wacc = 1 ;
602664 double ptSum = 0 ;
@@ -609,7 +671,29 @@ struct PidFlowPtCorr {
609671 if (cfgDoAccEffCorr) {
610672 if (!setCurrentParticleWeights (weff, wacc, track, vtxz, 0 ))
611673 continue ;
674+ if (cfgDoLocDenCorr) {
675+ bool withinPtRef = (trkQualityOpts.cfgCutPtMin .value < track.pt ()) && (track.pt () < trkQualityOpts.cfgCutPtMax .value );
676+ if (withinPtRef) {
677+ double fphi = v2 * std::cos (2 * (track.phi () - psi2Est)) + v3 * std::cos (3 * (track.phi () - psi3Est)) + v4 * std::cos (4 * (track.phi () - psi4Est));
678+ fphi = (1 + 2 * fphi);
679+ int pTBinForEff = hFindPtBin->FindBin (track.pt ());
680+ if (pTBinForEff >= 1 && pTBinForEff <= hFindPtBin->GetNbinsX ()) {
681+ wEPeff = funcEff[pTBinForEff - 1 ]->Eval (fphi * tracks.size ());
682+ if (wEPeff > 0 .) {
683+ wEPeff = 1 . / wEPeff;
684+ weff *= wEPeff;
685+ }
686+ }
687+ }
688+ }
612689 }
690+ if (track.itsNCls () <= trkQualityOpts.cfgITSNCls .value )
691+ continue ;
692+ if (track.tpcNClsCrossedRows () <= trkQualityOpts.cfgTPCCrossedRows .value )
693+ continue ;
694+ if (track.tpcNClsFound () <= trkQualityOpts.cfgTPCNCls .value )
695+ continue ;
696+
613697 registry.fill (HIST (" hPhi" ), track.phi ());
614698 registry.fill (HIST (" hPhicorr" ), track.phi (), wacc);
615699 registry.fill (HIST (" hEta" ), track.eta ());
@@ -645,7 +729,7 @@ struct PidFlowPtCorr {
645729
646730 if (nch > 0 ) {
647731 int centbin = 0 ;
648- centbin = fMultAxis ->FindBin (cent);
732+ centbin = fMultAxis ->FindBin (cent) - 1 ;
649733
650734 fillProfile (corrconfigs.at (0 ), HIST (" c22" ), cent);
651735 fillProfile (corrconfigs.at (1 ), HIST (" c24" ), cent);
@@ -681,6 +765,40 @@ struct PidFlowPtCorr {
681765 fillProfile (corrconfigs.at (27 ), HIST (" pr/c34" ), cent);
682766 fillProfile (corrconfigs.at (28 ), HIST (" pr/c34" ), cent);
683767
768+ fillProfilevnpt (corrconfigs.at (0 ), HIST (" c22TrackWeight" ), cent, nch, nch, 0 );
769+ fillProfilevnpt (corrconfigs.at (1 ), HIST (" c24TrackWeight" ), cent, nch, nch, 0 );
770+ fillProfilevnpt (corrconfigs.at (2 ), HIST (" c22FullTrackWeight" ), cent, nch, nch, 0 );
771+ fillProfilevnpt (corrconfigs.at (3 ), HIST (" c32TrackWeight" ), cent, nch, nch, 0 );
772+ fillProfilevnpt (corrconfigs.at (4 ), HIST (" c34TrackWeight" ), cent, nch, nch, 0 );
773+
774+ fillProfilevnpt (corrconfigs.at (5 ), HIST (" pi/c22TrackWeight" ), cent, nch, nch, 0 );
775+ fillProfilevnpt (corrconfigs.at (6 ), HIST (" pi/c22TrackWeight" ), cent, nch, nch, 0 );
776+ fillProfilevnpt (corrconfigs.at (7 ), HIST (" ka/c22TrackWeight" ), cent, nch, nch, 0 );
777+ fillProfilevnpt (corrconfigs.at (8 ), HIST (" ka/c22TrackWeight" ), cent, nch, nch, 0 );
778+ fillProfilevnpt (corrconfigs.at (9 ), HIST (" pr/c22TrackWeight" ), cent, nch, nch, 0 );
779+ fillProfilevnpt (corrconfigs.at (10 ), HIST (" pr/c22TrackWeight" ), cent, nch, nch, 0 );
780+
781+ fillProfilevnpt (corrconfigs.at (11 ), HIST (" pi/c24TrackWeight" ), cent, nch, nch, 0 );
782+ fillProfilevnpt (corrconfigs.at (12 ), HIST (" pi/c24TrackWeight" ), cent, nch, nch, 0 );
783+ fillProfilevnpt (corrconfigs.at (13 ), HIST (" ka/c24TrackWeight" ), cent, nch, nch, 0 );
784+ fillProfilevnpt (corrconfigs.at (14 ), HIST (" ka/c24TrackWeight" ), cent, nch, nch, 0 );
785+ fillProfilevnpt (corrconfigs.at (15 ), HIST (" pr/c24TrackWeight" ), cent, nch, nch, 0 );
786+ fillProfilevnpt (corrconfigs.at (16 ), HIST (" pr/c24TrackWeight" ), cent, nch, nch, 0 );
787+
788+ fillProfilevnpt (corrconfigs.at (17 ), HIST (" pi/c32TrackWeight" ), cent, nch, nch, 0 );
789+ fillProfilevnpt (corrconfigs.at (18 ), HIST (" pi/c32TrackWeight" ), cent, nch, nch, 0 );
790+ fillProfilevnpt (corrconfigs.at (19 ), HIST (" ka/c32TrackWeight" ), cent, nch, nch, 0 );
791+ fillProfilevnpt (corrconfigs.at (20 ), HIST (" ka/c32TrackWeight" ), cent, nch, nch, 0 );
792+ fillProfilevnpt (corrconfigs.at (21 ), HIST (" pr/c32TrackWeight" ), cent, nch, nch, 0 );
793+ fillProfilevnpt (corrconfigs.at (22 ), HIST (" pr/c32TrackWeight" ), cent, nch, nch, 0 );
794+
795+ fillProfilevnpt (corrconfigs.at (23 ), HIST (" pi/c34TrackWeight" ), cent, nch, nch, 0 );
796+ fillProfilevnpt (corrconfigs.at (24 ), HIST (" pi/c34TrackWeight" ), cent, nch, nch, 0 );
797+ fillProfilevnpt (corrconfigs.at (25 ), HIST (" ka/c34TrackWeight" ), cent, nch, nch, 0 );
798+ fillProfilevnpt (corrconfigs.at (26 ), HIST (" ka/c34TrackWeight" ), cent, nch, nch, 0 );
799+ fillProfilevnpt (corrconfigs.at (27 ), HIST (" pr/c34TrackWeight" ), cent, nch, nch, 0 );
800+ fillProfilevnpt (corrconfigs.at (28 ), HIST (" pr/c34TrackWeight" ), cent, nch, nch, 0 );
801+
684802 fillProfilevnpt (corrconfigs.at (0 ), HIST (" covV2Pt" ), cent, ptSum, nch, 0 );
685803 fillProfilevnpt (corrconfigs.at (0 ), HIST (" covV2Pt_diffpt" ), cent, ptSum, nch, cfgMeanPt[centbin]);
686804 fillProfilevnpt (corrconfigs.at (29 ), HIST (" pi/covV2Pt" ), cent, ptSum, nch, 0 );
0 commit comments