@@ -73,7 +73,6 @@ struct CorrFit {
7373
7474 O2_DEFINE_CONFIGURABLE (cfgUseAdditionalEventCut, bool , true , " Use additional event cut on mult correlations" )
7575 O2_DEFINE_CONFIGURABLE (cfgZVtxCut, float , 10 .0f , " Accepted z-vertex range" )
76- O2_DEFINE_CONFIGURABLE (cfgUseTransverseMomentum, bool , false , " Use transverse momentum for correlation container" )
7776 O2_DEFINE_CONFIGURABLE (cfgQaCheck, bool , true , " Enable QA histograms for event selection" )
7877 O2_DEFINE_CONFIGURABLE (cfgStrictTrackCounter, bool , false , " Strict track counter for multiplicity correlation cut, counts only tracks that pass all cuts and are used in the correlation" )
7978 O2_DEFINE_CONFIGURABLE (cfgRefpTt, bool , false , " Apply upper pT cut on reference tracks" )
@@ -82,6 +81,7 @@ struct CorrFit {
8281 O2_DEFINE_CONFIGURABLE (cfgMaxMultForCorrelations, int , 20 , " maximum multiplicity for correlations" )
8382 O2_DEFINE_CONFIGURABLE (cfgRefMultiplicity, bool , false , " Use multiplicity of reference tracks for multiplicity correlation cut instead of Nch" )
8483 Configurable<std::vector<int >> cfgRunRemoveList{" cfgRunRemoveList" , std::vector<int >{-1 }, " excluded run numbers" };
84+ O2_DEFINE_CONFIGURABLE (cfgEvSelRCTflags, std::string, " " , " keep empty to disable, usage: 'CentralBarrelTracking (CBT)', 'CBT_hadronPID' " )
8585
8686 struct : ConfigurableGroup{
8787 O2_DEFINE_CONFIGURABLE (cfgPtCutMin, float , 0 .2f , " minimum accepted track pT" )
@@ -110,7 +110,6 @@ struct CorrFit {
110110 O2_DEFINE_CONFIGURABLE (cfgCentralityWeight, std::string, " " , " CCDB path to centrality weight object" )
111111 O2_DEFINE_CONFIGURABLE (cfgLocalEfficiency, bool , false , " Use local efficiency object" )
112112 O2_DEFINE_CONFIGURABLE (cfgLocalEfficiencyNch, bool , false , " Use local multiplicity dependent efficiency object" );
113- O2_DEFINE_CONFIGURABLE (cfgUseEventWeights, bool , false , " Use event weights for mixed event" )
114113 O2_DEFINE_CONFIGURABLE (cfgCentEstimator, int , 0 , " 0:FT0C; 1:FT0CVariant1; 2:FT0M; 3:FT0A" )
115114
116115 struct : ConfigurableGroup {
@@ -178,7 +177,7 @@ struct CorrFit {
178177 ConfigurableAxis axisMultMix{" axisMultMix" , {VARIABLE_WIDTH , 0 , 10 , 20 , 40 , 60 , 80 , 100 , 120 , 140 , 160 , 180 , 200 , 220 , 240 , 260 }, " multiplicity / centrality axis for mixed event histograms" };
179178 ConfigurableAxis axisSample{" axisSample" , {cfgSampleSize, 0 , cfgSampleSize}, " sample axis for histograms" };
180179 ConfigurableAxis axisParticle{" axisParticle" , {4 , 0 , 4 }, " particle axis for correlation container" };
181-
180+ ConfigurableAxis axisNch{ " axisNch " , { VARIABLE_WIDTH , 0 , 5 , 6 , 7 , 8 , 9 , 10 , 12 , 15 , 20 , 25 , 30 , 40 , 50 , 60 , 80 , 100 }, " multiplicity axis for correlation container " };
182181 ConfigurableAxis axisVertexEfficiency{" axisVertexEfficiency" , {10 , -10 , 10 }, " vertex axis for efficiency histograms" };
183182 ConfigurableAxis axisEtaEfficiency{" axisEtaEfficiency" , {20 , -1.0 , 1.0 }, " eta axis for efficiency histograms" };
184183 ConfigurableAxis axisPtEfficiency{" axisPtEfficiency" , {VARIABLE_WIDTH , 0.2 , 0.5 , 1 , 1.5 , 2 , 3 , 4 , 6 , 10 }, " pt axis for efficiency histograms" };
@@ -500,6 +499,10 @@ struct CorrFit {
500499 mixedTPC.setObject (new CorrelationContainer (" mixedEvent_TPC" , " mixedEvent_TPC" , corrAxisTPC, effAxis, userAxis));
501500 }
502501
502+ if (!cfgEvSelRCTflags.value .empty ()) {
503+ rctChecker.init (cfgEvSelRCTflags.value .c_str ()); // override initialzation
504+ }
505+
503506 LOGF (info, " End of init" );
504507 }
505508
@@ -1191,14 +1194,12 @@ struct CorrFit {
11911194 if (system == SameEvent) {
11921195 if (corType == kFT0A ) {
11931196 if (cfgQaCheck) {
1194- registry.fill (HIST (" Nch" ), multiplicity);
11951197 registry.fill (HIST (" Assoc_amp_same_TPC_FT0A" ), chanelid, ampl);
11961198 registry.fill (HIST (" deltaEta_deltaPhi_same_TPC_FT0A" ), deltaPhi, deltaEta, ampl * eventWeight * triggerWeight);
11971199 }
11981200 sameTpcFt0a->getPairHist ()->Fill (step, fSampleIndex , posZ, track1.pt (), multiplicity, deltaPhi, deltaEta, ampl * eventWeight * triggerWeight);
11991201 } else if (corType == kFT0C ) {
12001202 if (cfgQaCheck) {
1201- registry.fill (HIST (" Nch" ), multiplicity);
12021203 registry.fill (HIST (" Assoc_amp_same_TPC_FT0C" ), chanelid, ampl);
12031204 registry.fill (HIST (" deltaEta_deltaPhi_same_TPC_FT0C" ), deltaPhi, deltaEta, ampl * eventWeight * triggerWeight);
12041205 }
@@ -1228,9 +1229,6 @@ struct CorrFit {
12281229 {
12291230 int fSampleIndex = gRandom ->Uniform (0 , cfgSampleSize);
12301231
1231- if (cfgQaCheck) {
1232- registry.fill (HIST (" Nch" ), multiplicity);
1233- }
12341232 float triggerWeight = 1 .0f ;
12351233 std::size_t channelASize = ft0Col1.channelA ().size ();
12361234 std::size_t channelCSize = ft0Col2.channelC ().size ();
@@ -1378,13 +1376,17 @@ struct CorrFit {
13781376
13791377 void processSameTpcFt0a (FilteredCollisions::iterator const & collision, FilteredTracks const & tracks, aod::FT0s const &, aod::BCsWithTimestamps const &)
13801378 {
1379+ registry.fill (HIST (" hEventCount" ), kFilteredEvents );
1380+
13811381 if (cfgQaCheck) {
13821382 eventSelectedIndividually (collision);
13831383 }
13841384
13851385 if (!collision.sel8 ())
13861386 return ;
13871387
1388+ registry.fill (HIST (" hEventCount" ), kAfterSel8 );
1389+
13881390 if (!eventRct (collision, true ))
13891391 return ;
13901392
@@ -1415,6 +1417,9 @@ struct CorrFit {
14151417
14161418 double multiplicity = tracks.size ();
14171419
1420+ if (cfgQaCheck)
1421+ registry.fill (HIST (" Nch" ), multiplicity);
1422+
14181423 if (cfgStrictTrackCounter) {
14191424 trackCounter (tracks, multiplicity);
14201425 }
@@ -1470,7 +1475,7 @@ struct CorrFit {
14701475 int currentRunNumber = bc.runNumber ();
14711476 if (!cfgRunRemoveList.value .empty ()) {
14721477 if (!isGoodRun (currentRunNumber)) // Rejects runs if bad run number
1473- return ;
1478+ continue ;
14741479 }
14751480
14761481 loadAlignParam (bc.timestamp ());
@@ -1484,7 +1489,7 @@ struct CorrFit {
14841489 }
14851490
14861491 if (multiplicity > cfgMaxMultForCorrelations || multiplicity < cfgMinMultForCorrelations) {
1487- return ;
1492+ continue ;
14881493 }
14891494
14901495 const auto & ft0 = collision2.foundFT0 ();
@@ -1495,6 +1500,7 @@ struct CorrFit {
14951500
14961501 void processSameTpcFt0c (FilteredCollisions::iterator const & collision, FilteredTracks const & tracks, aod::FT0s const &, aod::BCsWithTimestamps const &)
14971502 {
1503+ registry.fill (HIST (" hEventCount" ), kFilteredEvents );
14981504
14991505 if (cfgQaCheck) {
15001506 eventSelectedIndividually (collision);
@@ -1503,6 +1509,8 @@ struct CorrFit {
15031509 if (!collision.sel8 ())
15041510 return ;
15051511
1512+ registry.fill (HIST (" hEventCount" ), kAfterSel8 );
1513+
15061514 if (!eventRct (collision, true ))
15071515 return ;
15081516
@@ -1529,6 +1537,9 @@ struct CorrFit {
15291537
15301538 double multiplicity = tracks.size ();
15311539
1540+ if (cfgQaCheck)
1541+ registry.fill (HIST (" Nch" ), multiplicity);
1542+
15321543 if (cfgStrictTrackCounter) {
15331544 trackCounter (tracks, multiplicity);
15341545 }
@@ -1582,7 +1593,7 @@ struct CorrFit {
15821593 int currentRunNumber = bc.runNumber ();
15831594 if (!cfgRunRemoveList.value .empty ()) {
15841595 if (!isGoodRun (currentRunNumber)) // Rejects runs if bad run number
1585- return ;
1596+ continue ;
15861597 }
15871598 loadAlignParam (bc.timestamp ());
15881599 loadCorrection (bc.timestamp ());
@@ -1596,7 +1607,7 @@ struct CorrFit {
15961607 }
15971608
15981609 if (multiplicity > cfgMaxMultForCorrelations || multiplicity < cfgMinMultForCorrelations) {
1599- return ;
1610+ continue ;
16001611 }
16011612
16021613 fillCorrelationsTPCFT0<CorrelationContainer::kCFStepReconstructed >(tracks1, ft0, collision1.posZ (), MixedEvent, multiplicity, kFT0C , eventWeight);
@@ -1606,6 +1617,7 @@ struct CorrFit {
16061617
16071618 void processSameFt0aFt0c (FilteredCollisions::iterator const & collision, FilteredTracks const & tracks, aod::FT0s const &, aod::BCsWithTimestamps const &)
16081619 {
1620+ registry.fill (HIST (" hEventCount" ), kFilteredEvents );
16091621
16101622 if (cfgQaCheck) {
16111623 eventSelectedIndividually (collision);
@@ -1614,6 +1626,8 @@ struct CorrFit {
16141626 if (!collision.sel8 ())
16151627 return ;
16161628
1629+ registry.fill (HIST (" hEventCount" ), kAfterSel8 );
1630+
16171631 if (!eventRct (collision, true ))
16181632 return ;
16191633
@@ -1643,6 +1657,9 @@ struct CorrFit {
16431657
16441658 double multiplicity = tracks.size ();
16451659
1660+ if (cfgQaCheck)
1661+ registry.fill (HIST (" Nch" ), multiplicity);
1662+
16461663 if (cfgStrictTrackCounter) {
16471664 trackCounter (tracks, multiplicity);
16481665 }
@@ -1696,7 +1713,7 @@ struct CorrFit {
16961713 int currentRunNumber = bc.runNumber ();
16971714 if (!cfgRunRemoveList.value .empty ()) {
16981715 if (!isGoodRun (currentRunNumber)) // Rejects runs if bad run number
1699- return ;
1716+ continue ;
17001717 }
17011718 loadAlignParam (bc.timestamp ());
17021719 loadCorrection (bc.timestamp ());
@@ -1712,7 +1729,7 @@ struct CorrFit {
17121729 }
17131730
17141731 if (multiplicity > cfgMaxMultForCorrelations || multiplicity < cfgMinMultForCorrelations) {
1715- return ;
1732+ continue ;
17161733 }
17171734
17181735 registry.fill (HIST (" eventcount" ), MixedEvent); // fill the mixed event in the 3 bin
@@ -1802,7 +1819,7 @@ struct CorrFit {
18021819 int currentRunNumber = bc.runNumber ();
18031820 if (!cfgRunRemoveList.value .empty ()) {
18041821 if (!isGoodRun (currentRunNumber)) // Rejects runs if bad run number
1805- return ;
1822+ continue ;
18061823 }
18071824
18081825 loadCorrection (bc.timestamp ());
@@ -1814,7 +1831,7 @@ struct CorrFit {
18141831 }
18151832
18161833 if (multiplicity > cfgMaxMultForCorrelations || multiplicity < cfgMinMultForCorrelations) {
1817- return ;
1834+ continue ;
18181835 }
18191836
18201837 fillCorrelations<CorrelationContainer::kCFStepReconstructed >(tracks1, tracks2, collision1.posZ (), MixedEvent, multiplicity, getMagneticField (collision1.bc_as <aod::BCsWithTimestamps>().timestamp ()));
0 commit comments