@@ -93,7 +93,7 @@ struct phipbpb {
9393 Configurable<bool > fillSA{" fillSA" , false , " fill spin alignment" };
9494 // events
9595 Configurable<float > cfgCutVertex{" cfgCutVertex" , 10 .0f , " Accepted z-vertex range" };
96- Configurable<float > cfgCutCentrality{" cfgCutCentrality" , 80 .0f , " Accepted maximum Centrality" };
96+ Configurable<float > cfgCutCentrality{" cfgCutCentrality" , 100 .0f , " Accepted maximum Centrality" };
9797 Configurable<int > cfgCutOccupancy{" cfgCutOccupancy" , 3000 , " Occupancy cut" };
9898 // track
9999 Configurable<bool > cqvas{" cqvas" , false , " change q vectors after shift correction" };
@@ -198,6 +198,9 @@ struct phipbpb {
198198 AxisSpec centAxis = {8 , 0 , 80 , " V0M (%)" };
199199 AxisSpec occupancyAxis = {occupancyBinning, " Occupancy" };
200200 AxisSpec spAxis = {spNbins, lbinsp, hbinsp, " Sp" };
201+ histos.add (" hImpactParameterVsEvrStatusGen" , " hImpactParameterVsEvrStatusGen" , HistType::kTH2F , {{200 , 0.0 , 20.0 }, {5 , 0.0 , 5.0 }}, true );
202+ histos.add (" hImpactParameterVsEvrStatusRec" , " hImpactParameterVsEvrStatusRec" , HistType::kTH3F , {{200 , 0.0 , 20.0 }, {100 , 0.0 , 100.0 }, {10 , 0.0 , 10.0 }}, true );
203+ histos.add (" hINumRecCollisionVsEvrStatusRec" , " hINumRecCollisionVsEvrStatusRec" , HistType::kTH3F , {{21 , -0.5 , 20.5 }, {100 , 0.0 , 100.0 }, {10 , 0.0 , 10.0 }}, true );
201204
202205 if (fillv1) {
203206 histos.add (" hpQxtQxpvscent" , " hpQxtQxpvscent" , HistType::kTHnSparseF , {cnfgaxis.configThnAxisCentrality , spAxis}, true );
@@ -792,7 +795,7 @@ struct phipbpb {
792795 Npostrack = Npostrack + 1 ;
793796 }
794797 }
795- PROCESS_SWITCH (phipbpb, processSameEvent, " Process Same event" , true );
798+ PROCESS_SWITCH (phipbpb, processSameEvent, " Process Same event" , false );
796799
797800 void processSameEventv1 (EventCandidatesv1::iterator const & collision, TrackCandidates const & /* tracks, aod::BCs const&*/ , aod::BCsWithTimestamps const &)
798801 {
@@ -1045,7 +1048,7 @@ struct phipbpb {
10451048 }
10461049 }
10471050 }
1048- PROCESS_SWITCH (phipbpb, processMEAcc, " Process ME Acceptance" , true );
1051+ PROCESS_SWITCH (phipbpb, processMEAcc, " Process ME Acceptance" , false );
10491052
10501053 void processMEAccv1 (EventCandidatesv1 const & collisions, TrackCandidates const & tracks)
10511054 {
@@ -1303,7 +1306,7 @@ struct phipbpb {
13031306 }
13041307 }
13051308 }
1306- PROCESS_SWITCH (phipbpb, processMixedEventOpti, " Process Mixed event new" , true );
1309+ PROCESS_SWITCH (phipbpb, processMixedEventOpti, " Process Mixed event new" , false );
13071310
13081311 void processMixedEventOptiv1 (EventCandidatesv1 const & collisions, TrackCandidates const & tracks)
13091312 {
@@ -1877,6 +1880,47 @@ struct phipbpb {
18771880
18781881 } // process MC
18791882 PROCESS_SWITCH (phipbpb, processMCPhiWeight, " Process MC Phi Weight" , false );
1883+
1884+ using McCollisionMults = soa::Join<aod::McCollisions, aod::MultMCExtras>;
1885+ using EventCandidatesMC = soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::CentFV0As, aod::Mults, aod::PVMults>;
1886+ void processEvtLossMC (McCollisionMults::iterator const & mcCollision, const soa::SmallGroups<EventCandidatesMC>& recCollisions)
1887+ {
1888+ auto impactPar = mcCollision.impactParameter ();
1889+ histos.fill (HIST (" hImpactParameterVsEvrStatusGen" ), impactPar, 0.5 );
1890+ if (mcCollision.isInelGt0 ()) {
1891+ histos.fill (HIST (" hImpactParameterVsEvrStatusGen" ), impactPar, 1.5 );
1892+ }
1893+ auto numberRecCollision = recCollisions.size ();
1894+ for (const auto & RecCollision : recCollisions) {
1895+ auto isTVX = RecCollision.selection_bit (o2::aod::evsel::kIsTriggerTVX );
1896+ auto vz = TMath::Abs (RecCollision.posZ ());
1897+ auto issel8 = RecCollision.sel8 ();
1898+ auto isITSGoodLayer = RecCollision.selection_bit (o2::aod::evsel::kIsGoodITSLayersAll );
1899+ auto isGoodVtxzFT0vsPV = RecCollision.selection_bit (o2::aod::evsel::kIsGoodZvtxFT0vsPV );
1900+ auto isSameBunchPileup = RecCollision.selection_bit (o2::aod::evsel::kNoSameBunchPileup );
1901+ auto centrality = RecCollision.centFT0C ();
1902+ histos.fill (HIST (" hImpactParameterVsEvrStatusRec" ), impactPar, centrality, 0.5 );
1903+ histos.fill (HIST (" hINumRecCollisionVsEvrStatusRec" ), numberRecCollision, centrality, 0.5 );
1904+ if (isTVX) {
1905+ histos.fill (HIST (" hImpactParameterVsEvrStatusRec" ), impactPar, centrality, 1.5 );
1906+ histos.fill (HIST (" hINumRecCollisionVsEvrStatusRec" ), numberRecCollision, centrality, 1.5 );
1907+ }
1908+ if (isTVX && vz < 7 ) {
1909+ histos.fill (HIST (" hImpactParameterVsEvrStatusRec" ), impactPar, centrality, 2.5 );
1910+ histos.fill (HIST (" hINumRecCollisionVsEvrStatusRec" ), numberRecCollision, centrality, 2.5 );
1911+ }
1912+ if (isTVX && vz < 7 && issel8) {
1913+ histos.fill (HIST (" hImpactParameterVsEvrStatusRec" ), impactPar, centrality, 3.5 );
1914+ histos.fill (HIST (" hINumRecCollisionVsEvrStatusRec" ), numberRecCollision, centrality, 3.5 );
1915+ }
1916+ if (isTVX && vz < 7 && issel8 && isITSGoodLayer && isGoodVtxzFT0vsPV && isSameBunchPileup) {
1917+ histos.fill (HIST (" hImpactParameterVsEvrStatusRec" ), impactPar, centrality, 4.5 );
1918+ histos.fill (HIST (" hINumRecCollisionVsEvrStatusRec" ), numberRecCollision, centrality, 4.5 );
1919+ }
1920+ }
1921+ // }
1922+ }
1923+ PROCESS_SWITCH (phipbpb, processEvtLossMC, " Process to calculate Event Loss" , true );
18801924};
18811925WorkflowSpec defineDataProcessing (ConfigContext const & cfgc)
18821926{
0 commit comments