@@ -144,6 +144,8 @@ struct PidFlowPtCorr {
144144
145145 O2_DEFINE_CONFIGURABLE (cfgOutPutPtSpectra, bool , false , " output pt spectra for data, MC and RECO" )
146146
147+ O2_DEFINE_CONFIGURABLE (cfgCheck2MethodDiff, bool , false , " check difference between v2' && v2''" )
148+
147149 /* *
148150 * @brief cfg for PID pt range
149151 * @details default datas are from run2, note that separate pi-k and k-p needs to use difference pt range
@@ -431,18 +433,7 @@ struct PidFlowPtCorr {
431433 registry.add (" ptSpectra/hCentEventCountMcGen" , " " , {HistType::kTH1D , {axisMultiplicity}});
432434 registry.add (" ptSpectra/hCentEventCountMcRec" , " " , {HistType::kTH1D , {axisMultiplicity}});
433435
434- // (PosEta)(PosCh)
435- registry.add (" ptSpectra/hPtCentDataPosEtaPosCh" , " " , {HistType::kTH2D , {cfgaxisPt, axisMultiplicity}});
436-
437- // (PosEta)(NegCh)
438- registry.add (" ptSpectra/hPtCentDataPosEtaNegCh" , " " , {HistType::kTH2D , {cfgaxisPt, axisMultiplicity}});
439-
440- // (NegEta(PosCh)
441- registry.add (" ptSpectra/hPtCentDataNegEtaPosCh" , " " , {HistType::kTH2D , {cfgaxisPt, axisMultiplicity}});
442-
443- // (NegEta)(NegCh)
444- registry.add (" ptSpectra/hPtCentDataNegEtaNegCh" , " " , {HistType::kTH2D , {cfgaxisPt, axisMultiplicity}});
445-
436+ registry.add (" ptSpectra/hPtCentData4ITSOnly" , " " , {HistType::kTH2D , {cfgaxisPt, axisMultiplicity}});
446437 } // cfgoutputptspectra
447438
448439 if (cfgOutputrunbyrun) {
@@ -590,7 +581,7 @@ struct PidFlowPtCorr {
590581 corrconfigs.push_back (fGFW ->GetCorrelatorConfig (" poiKaN refN | olKaN {2 2} refP {-2 -2}" , " Kaon0gap24a" , kFALSE ));
591582 corrconfigs.push_back (fGFW ->GetCorrelatorConfig (" poiKaP refP | olKaP {2 2} refN {-2 -2}" , " Kaon0gap24b" , kFALSE ));
592583 corrconfigs.push_back (fGFW ->GetCorrelatorConfig (" poiPrN refN | olPrN {2 2} refP {-2 -2}" , " Prot0gap24a" , kFALSE )); // 15
593- corrconfigs.push_back (fGFW ->GetCorrelatorConfig (" poiPrP refP | olPaP {2 2} refN {-2 -2}" , " Prot0gap24b" , kFALSE ));
584+ corrconfigs.push_back (fGFW ->GetCorrelatorConfig (" poiPrP refP | olPrP {2 2} refN {-2 -2}" , " Prot0gap24b" , kFALSE ));
594585 corrconfigs.push_back (fGFW ->GetCorrelatorConfig (" poiPiN08 {3} refP08 {-3}" , " Pion08gap32a" , kFALSE ));
595586 corrconfigs.push_back (fGFW ->GetCorrelatorConfig (" poiPiP08 {3} refN08 {-3}" , " Pion08gap32b" , kFALSE ));
596587 corrconfigs.push_back (fGFW ->GetCorrelatorConfig (" poiKaN08 {3} refP08 {-3}" , " Kaon08gap32a" , kFALSE ));
@@ -602,7 +593,7 @@ struct PidFlowPtCorr {
602593 corrconfigs.push_back (fGFW ->GetCorrelatorConfig (" poiKaN refN | olKaN {3 3} refP {-3 -3}" , " Kaon0gap34a" , kFALSE )); // 25
603594 corrconfigs.push_back (fGFW ->GetCorrelatorConfig (" poiKaP refP | olKaP {3 3} refN {-3 -3}" , " Kaon0gap34b" , kFALSE ));
604595 corrconfigs.push_back (fGFW ->GetCorrelatorConfig (" poiPrN refN | olPrN {3 3} refP {-3 -3}" , " Prot0gap34a" , kFALSE ));
605- corrconfigs.push_back (fGFW ->GetCorrelatorConfig (" poiPrP refP | olPaP {3 3} refN {-3 -3}" , " Prot0gap34b" , kFALSE ));
596+ corrconfigs.push_back (fGFW ->GetCorrelatorConfig (" poiPrP refP | olPrP {3 3} refN {-3 -3}" , " Prot0gap34b" , kFALSE ));
606597
607598 corrconfigs.push_back (fGFW ->GetCorrelatorConfig (" poiPiN08 {2} poiPiP08 {-2}" , " PiPi08gap22" , kFALSE ));
608599 corrconfigs.push_back (fGFW ->GetCorrelatorConfig (" poiKaN08 {2} poiKaP08 {-2}" , " KaKa08gap22" , kFALSE )); // 30
@@ -813,14 +804,14 @@ struct PidFlowPtCorr {
813804 return false ;
814805 }
815806
816- void fillFC (MyParticleType type, const GFW::CorrConfig& corrconf, const double & cent, const double & rndm, const char * tarName)
807+ bool fillFC (MyParticleType type, const GFW::CorrConfig& corrconf, const double & cent, const double & rndm, const char * tarName)
817808 {
818809 double dnx, val;
819810 // calculate #sum exp{i * 0 (#phi_{i} - #phi_{j})} == N_{pairs}
820811 // note that weight is ignored in the formula but not in the calculation, for c24 is similar
821812 dnx = fGFW ->Calculate (corrconf, 0 , kTRUE ).real ();
822813 if (dnx == 0 )
823- return ;
814+ return false ;
824815 if (!corrconf.pTDif ) {
825816 // #sum exp{i * 2 * (#phi_{i} - #phi_{j})} / N_{pairs} == < 2 >
826817 val = fGFW ->Calculate (corrconf, 0 , kFALSE ).real () / dnx;
@@ -845,10 +836,10 @@ struct PidFlowPtCorr {
845836 LOGF (warning, " particle not found" );
846837 break ;
847838 }
848- return ;
839+ return true ;
849840 }
850841 }
851- return ;
842+ return true ;
852843 }
853844
854845 /* *
@@ -1543,6 +1534,10 @@ struct PidFlowPtCorr {
15431534 continue ;
15441535 // end track cut its only
15451536
1537+ if (cfgOutPutPtSpectra) {
1538+ registry.fill (HIST (" ptSpectra/hPtCentData4ITSOnly" ), track.pt (), cent);
1539+ }
1540+
15461541 // calculate ncharged(nch with weight) and pt
15471542 if (std::fabs (track.eta ()) < trkQualityOpts.cfgRangeEta .value ) {
15481543 nch += weff;
@@ -1669,22 +1664,6 @@ struct PidFlowPtCorr {
16691664 // pt spectra
16701665 if (cfgOutPutPtSpectra) {
16711666 registry.fill (HIST (" ptSpectra/hPtCentData" ), track.pt (), cent);
1672-
1673- // region 1 +eta +ch
1674- if (track.eta () > 0.05 && track.sign () > 0 )
1675- registry.fill (HIST (" ptSpectra/hPtCentDataPosEtaPosCh" ), track.pt (), cent);
1676-
1677- // region 2 +eta -ch
1678- if (track.eta () > 0.05 && track.sign () < 0 )
1679- registry.fill (HIST (" ptSpectra/hPtCentDataPosEtaNegCh" ), track.pt (), cent);
1680-
1681- // region 3 -eta +ch
1682- if (track.eta () < -0.05 && track.sign () > 0 )
1683- registry.fill (HIST (" ptSpectra/hPtCentDataNegEtaPosCh" ), track.pt (), cent);
1684-
1685- // region 4 -eta -ch
1686- if (track.eta () < -0.05 && track.sign () < 0 )
1687- registry.fill (HIST (" ptSpectra/hPtCentDataNegEtaNegCh" ), track.pt (), cent);
16881667 }
16891668
16901669 // fill GFW
@@ -1732,13 +1711,6 @@ struct PidFlowPtCorr {
17321711 fillFC (MyParticleType::kProton , corrconfigs.at (39 ), cent, rndm, " c22Full" );
17331712 fillFC (MyParticleType::kProton , corrconfigs.at (40 ), cent, rndm, " c22Full" );
17341713
1735- fillFC (MyParticleType::kPion , corrconfigs.at (5 ), cent, rndm, " c22" );
1736- fillFC (MyParticleType::kPion , corrconfigs.at (6 ), cent, rndm, " c22" );
1737- fillFC (MyParticleType::kKaon , corrconfigs.at (7 ), cent, rndm, " c22" );
1738- fillFC (MyParticleType::kKaon , corrconfigs.at (8 ), cent, rndm, " c22" );
1739- fillFC (MyParticleType::kProton , corrconfigs.at (9 ), cent, rndm, " c22" );
1740- fillFC (MyParticleType::kProton , corrconfigs.at (10 ), cent, rndm, " c22" );
1741-
17421714 fillFC (MyParticleType::kPion , corrconfigs.at (11 ), cent, rndm, " c24" );
17431715 fillFC (MyParticleType::kPion , corrconfigs.at (12 ), cent, rndm, " c24" );
17441716 fillFC (MyParticleType::kKaon , corrconfigs.at (13 ), cent, rndm, " c24" );
@@ -1760,13 +1732,26 @@ struct PidFlowPtCorr {
17601732 fillFC (MyParticleType::kProton , corrconfigs.at (27 ), cent, rndm, " c34" );
17611733 fillFC (MyParticleType::kProton , corrconfigs.at (28 ), cent, rndm, " c34" );
17621734
1763- fillFC (MyParticleType::kPion , corrconfigs.at (29 ), cent, rndm, " c22pure" );
1764- fillFC (MyParticleType::kKaon , corrconfigs.at (30 ), cent, rndm, " c22pure" );
1765- fillFC (MyParticleType::kProton , corrconfigs.at (31 ), cent, rndm, " c22pure" );
1735+ bool filledPi = fillFC (MyParticleType::kPion , corrconfigs.at (29 ), cent, rndm, " c22pure" );
1736+ bool filledKa = fillFC (MyParticleType::kKaon , corrconfigs.at (30 ), cent, rndm, " c22pure" );
1737+ bool filledPr = fillFC (MyParticleType::kProton , corrconfigs.at (31 ), cent, rndm, " c22pure" );
1738+
17661739 fillFC (MyParticleType::kPion , corrconfigs.at (32 ), cent, rndm, " c32pure" );
17671740 fillFC (MyParticleType::kKaon , corrconfigs.at (33 ), cent, rndm, " c32pure" );
17681741 fillFC (MyParticleType::kProton , corrconfigs.at (34 ), cent, rndm, " c32pure" );
17691742
1743+ if (filledPi || !cfgCheck2MethodDiff) {
1744+ fillFC (MyParticleType::kPion , corrconfigs.at (5 ), cent, rndm, " c22" );
1745+ fillFC (MyParticleType::kPion , corrconfigs.at (6 ), cent, rndm, " c22" );
1746+ }
1747+ if (filledKa || !cfgCheck2MethodDiff) {
1748+ fillFC (MyParticleType::kKaon , corrconfigs.at (7 ), cent, rndm, " c22" );
1749+ fillFC (MyParticleType::kKaon , corrconfigs.at (8 ), cent, rndm, " c22" );
1750+ }
1751+ if (filledPr || !cfgCheck2MethodDiff) {
1752+ fillFC (MyParticleType::kProton , corrconfigs.at (9 ), cent, rndm, " c22" );
1753+ fillFC (MyParticleType::kProton , corrconfigs.at (10 ), cent, rndm, " c22" );
1754+ }
17701755 fillFCvnpt (MyParticleType::kCharged , corrconfigs.at (0 ), cent, rndm, nch, nch, " c22TrackWeight" );
17711756 fillFCvnpt (MyParticleType::kCharged , corrconfigs.at (1 ), cent, rndm, nch, nch, " c24TrackWeight" );
17721757 fillFCvnpt (MyParticleType::kCharged , corrconfigs.at (2 ), cent, rndm, nch, nch, " c22FullTrackWeight" );
0 commit comments