@@ -44,7 +44,6 @@ namespace o2::aod
4444{
4545namespace branch
4646{
47-
4847// vertex Position
4948DECLARE_SOA_COLUMN (PosX, posX, double );
5049DECLARE_SOA_COLUMN (PosY, posY, double );
@@ -68,6 +67,9 @@ DECLARE_SOA_COLUMN(TimeFddc, timeFddc, double);
6867DECLARE_SOA_COLUMN (TimeZna, timeZna, double );
6968DECLARE_SOA_COLUMN (TimeZnc, timeZnc, double );
7069
70+ // Occupancy
71+ DECLARE_SOA_COLUMN (Occupancy, occupancy, double );
72+
7173// DCA
7274DECLARE_SOA_COLUMN (Dcaxy1, dcaxy1, double );
7375DECLARE_SOA_COLUMN (Dcaxy2, dcaxy2, double );
@@ -182,6 +184,8 @@ DECLARE_SOA_TABLE(SignalData, "AOD", "signalData",
182184 branch::TimeZna,
183185 branch::TimeZnc,
184186
187+ branch::Occupancy,
188+
185189 branch::Dcaxy1,
186190 branch::Dcaxy2,
187191 branch::Dcaxy3,
@@ -282,6 +286,8 @@ DECLARE_SOA_TABLE(BkgroundData, "AOD", "bkgroundData",
282286 branch::TimeZna,
283287 branch::TimeZnc,
284288
289+ branch::Occupancy,
290+
285291 branch::Dcaxy1,
286292 branch::Dcaxy2,
287293 branch::Dcaxy3,
@@ -408,6 +414,8 @@ DECLARE_SOA_TABLE(SignalMCreco, "AOD", "SignalMCreco",
408414 branch::TimeZna,
409415 branch::TimeZnc,
410416
417+ branch::Occupancy,
418+
411419 branch::Dcaxy1,
412420 branch::Dcaxy2,
413421 branch::Dcaxy3,
@@ -512,7 +520,7 @@ struct ExclusiveRhoTo4Pi {
512520 Configurable<float > ft0aCut{" ft0aCut" , 150 ., " FT0A threshold" };
513521 Configurable<float > ft0cCut{" ft0cCut" , 50 ., " FT0C threshold" };
514522 Configurable<float > zdcCut{" zdcCut" , 1 ., " ZDC threshold" };
515- Configurable<float > occupancyCut{" occupancyCut" , 1000 , " Occupancy Cut" };
523+ // Configurable<float> occupancyCut{"occupancyCut", 1000, "Occupancy Cut"};
516524
517525 Configurable<float > pvCut{" pvCut" , 1.0 , " Use Only PV tracks" };
518526 Configurable<uint16_t > numPVContrib{" numPVContrib" , 4 , " Number of PV Contributors" };
@@ -837,7 +845,6 @@ struct ExclusiveRhoTo4Pi {
837845 Filter vertexCut = (nabs(o2::aod::collision::posZ) <= vZCut) && (o2::aod::collision::numContrib == numPVContrib);
838846 Filter fitcuts = o2::aod::udcollision::totalFV0AmplitudeA < fv0Cut && o2::aod::udcollision::totalFT0AmplitudeA < ft0aCut && o2::aod::udcollision::totalFT0AmplitudeC < ft0cCut;
839847 Filter zdcCuts = (o2::aod::udzdc::energyCommonZNA < zdcCut) && (o2::aod::udzdc::energyCommonZNC < zdcCut);
840- Filter occupCut = nabs(o2::aod::udcollision::occupancyInTime) < occupancyCut;
841848 using UDtracks = soa::Join<aod::UDTracks, aod::UDTracksPID, aod::UDTracksExtra, aod::UDTracksFlags, aod::UDTracksDCA>;
842849 using UDCollisions = soa::Filtered<soa::Join<aod::UDCollisions, aod::SGCollisions, aod::UDCollisionSelExtras, aod::UDCollisionsSels, aod::UDZdcsReduced>>; //
843850 using UDCollision = UDCollisions::iterator;
@@ -923,6 +930,18 @@ struct ExclusiveRhoTo4Pi {
923930 return ;
924931 }
925932
933+ // Check if there is at least one track with TOF in the selected events, otherwise return
934+ bool hasAtleastOneTOF = false ;
935+ for (int i = 0 ; i < numPiPlusTracks; i++) {
936+ if (selectedPionPlusTracks[i].hasTOF () == true ) {
937+ hasAtleastOneTOF = true ;
938+ break ;
939+ }
940+ }
941+ if (!hasAtleastOneTOF) {
942+ return ;
943+ }
944+
926945 // Selecting Events with net charge = 0
927946 if (numPionMinusTracks == numPiMinus && numPiPlusTracks == numPiPlus) {
928947
@@ -964,7 +983,7 @@ struct ExclusiveRhoTo4Pi {
964983 sigFromData (
965984 collision.posX (), collision.posY (), collision.posZ (),
966985 collision.totalFV0AmplitudeA (), collision.totalFT0AmplitudeA (), collision.totalFT0AmplitudeC (), collision.totalFDDAmplitudeA (), collision.totalFDDAmplitudeC (),
967- collision.timeFV0A (), collision.timeFT0A (), collision.timeFT0C (), collision.timeFDDA (), collision.timeFDDC (), collision.timeZNA (), collision.timeZNC (),
986+ collision.timeFV0A (), collision.timeFT0A (), collision.timeFT0C (), collision.timeFDDA (), collision.timeFDDC (), collision.timeZNA (), collision.timeZNC (), collision. occupancyInTime (),
968987 selectedPionPlusTracks[0 ].dcaXY (), selectedPionPlusTracks[1 ].dcaXY (), selectedPionMinusTracks[0 ].dcaXY (), selectedPionMinusTracks[1 ].dcaXY (),
969988
970989 selectedPionPlusTracks[0 ].dcaZ (), selectedPionPlusTracks[1 ].dcaZ (), selectedPionMinusTracks[0 ].dcaZ (), selectedPionMinusTracks[1 ].dcaZ (),
@@ -1037,7 +1056,7 @@ struct ExclusiveRhoTo4Pi {
10371056 collision.posX (), collision.posY (), collision.posZ (),
10381057 collision.totalFV0AmplitudeA (), collision.totalFT0AmplitudeA (), collision.totalFT0AmplitudeC (), collision.totalFDDAmplitudeA (), collision.totalFDDAmplitudeC (),
10391058 collision.timeFV0A (), collision.timeFT0A (), collision.timeFT0C (), collision.timeFDDA (), collision.timeFDDC (),
1040- collision.timeZNA (), collision.timeZNC (),
1059+ collision.timeZNA (), collision.timeZNC (), collision. occupancyInTime (),
10411060 selectedPionTracks[0 ].dcaXY (), selectedPionTracks[1 ].dcaXY (), selectedPionTracks[0 ].dcaXY (), selectedPionTracks[1 ].dcaXY (),
10421061 selectedPionTracks[0 ].dcaZ (), selectedPionTracks[1 ].dcaZ (), selectedPionTracks[0 ].dcaZ (), selectedPionTracks[1 ].dcaZ (),
10431062 selectedPionTracks[0 ].tpcNSigmaPi (), selectedPionTracks[1 ].tpcNSigmaPi (), selectedPionTracks[0 ].tpcNSigmaPi (), selectedPionTracks[1 ].tpcNSigmaPi (),
@@ -1174,7 +1193,7 @@ struct ExclusiveRhoTo4Pi {
11741193 PROCESS_SWITCH (ExclusiveRhoTo4Pi, processMCgen, " The Process for 4 Pion Analysis from MC Generation" , false );
11751194
11761195 // Begin of MC Reconstruction function-----------------------------------------------------------------------------------------------------------------------------------------------
1177- using CollisionStuff = soa::Filtered<soa::Join<aod::UDCollisions_001, aod::SGCollisions, aod::UDCollisionsSels, aod::UDCollisionSelExtras , aod::UDZdcsReduced, aod::UDMcCollsLabels>>;
1196+ using CollisionStuff = soa::Filtered<soa::Join<aod::UDCollisions_001, aod::SGCollisions, aod::UDCollisionsSels, aod::UDCollisionSelExtras_002 , aod::UDZdcsReduced, aod::UDMcCollsLabels>>;
11781197 using CollisionTotal = CollisionStuff::iterator;
11791198 using TrackStuff = soa::Join<aod::UDTracks, aod::UDTracksPID, aod::UDTracksExtra, aod::UDTracksFlags, aod::UDTracksDCA, aod::UDMcTrackLabels>;
11801199
@@ -1303,7 +1322,7 @@ struct ExclusiveRhoTo4Pi {
13031322 collision.posX (), collision.posY (), collision.posZ (),
13041323 collision.totalFV0AmplitudeA (), collision.totalFT0AmplitudeA (), collision.totalFT0AmplitudeC (), collision.totalFDDAmplitudeA (), collision.totalFDDAmplitudeC (),
13051324 collision.timeFV0A (), collision.timeFT0A (), collision.timeFT0C (), collision.timeFDDA (), collision.timeFDDC (),
1306- collision.timeZNA (), collision.timeZNC (),
1325+ collision.timeZNA (), collision.timeZNC (), collision. occupancyInTime (),
13071326 selectedPionPlusTracks[0 ].dcaXY (), selectedPionPlusTracks[1 ].dcaXY (), selectedPionMinusTracks[0 ].dcaXY (), selectedPionMinusTracks[1 ].dcaXY (),
13081327 selectedPionPlusTracks[0 ].dcaZ (), selectedPionPlusTracks[1 ].dcaZ (), selectedPionMinusTracks[0 ].dcaZ (), selectedPionMinusTracks[1 ].dcaZ (),
13091328 selectedPionPlusTracks[0 ].tpcNSigmaPi (), selectedPionPlusTracks[1 ].tpcNSigmaPi (), selectedPionMinusTracks[0 ].tpcNSigmaPi (), selectedPionMinusTracks[1 ].tpcNSigmaPi (),
0 commit comments