@@ -116,7 +116,7 @@ struct FullJetSpectrapp {
116116 // Add Collision Histograms' Bin Labels for clarity
117117 void labelCollisionHistograms (HistogramRegistry& registry)
118118 {
119- if (doprocessTracks ) {
119+ if (doprocessDataTracks || doprocessMCTracks ) {
120120 auto h_collisions_unweighted = registry.get <TH1>(HIST (" h_collisions_unweighted" ));
121121 h_collisions_unweighted->GetXaxis ()->SetBinLabel (1 , " AllUnweightedDetColl" );
122122 h_collisions_unweighted->GetXaxis ()->SetBinLabel (2 , " UnweightedCollWithVertexZ" );
@@ -173,7 +173,7 @@ struct FullJetSpectrapp {
173173 }
174174
175175 // Track QA histograms
176- if (doprocessTracks || doprocessTracksWeighted) {
176+ if (doprocessDataTracks || doprocessMCTracks || doprocessTracksWeighted) {
177177 registry.add (" h_collisions_unweighted" , " event status; event status;entries" , {HistType::kTH1F , {{12 , 0 ., 12.0 }}});
178178
179179 registry.add (" h_track_pt" , " track pT;#it{p}_{T,track} (GeV/#it{c});entries" , {HistType::kTH1F , {{350 , 0 ., 350 .}}});
@@ -291,7 +291,7 @@ struct FullJetSpectrapp {
291291 registry.add (" h_full_jet_ResponseMatrix" , " Full Jets Response Matrix; p_{T,det} (GeV/c); p_{T,part} (GeV/c)" , {HistType::kTH2F , {{350 , 0 ., 350 .}, {350 , 0 ., 350 .}}});
292292 }
293293
294- if (doprocessCollisionsWeightedWithMultiplicity || doprocessMBCollisionsWithMultiplicity) {
294+ if (doprocessCollisionsWeightedWithMultiplicity || doprocessMBCollisionsWithMultiplicity || doprocessMBCollisionsDATAWithMultiplicity ) {
295295 registry.add (" h_FT0Mults_occupancy" , " " , {HistType::kTH1F , {{3500 , 0 ., 3500 .}}});
296296 registry.add (" h2_full_jet_FT0Amplitude" , " ; FT0C Amplitude; Counts" , {HistType::kTH1F , {{3500 , 0 ., 3500 .}}});
297297 registry.add (" h2_full_jet_jetpTDetVsFT0Mults" , " ; p_{T,det} (GeV/c); FT0C Multiplicity" , {HistType::kTH2F , {{350 , 0 ., 350 .}, {3500 , 0 ., 3500 .}}});
@@ -1015,7 +1015,7 @@ struct FullJetSpectrapp {
10151015 }
10161016 registry.fill (HIST (" h_collisions_unweighted" ), 3.5 );
10171017 }
1018- PROCESS_SWITCH (FullJetSpectrapp, processTracks , " Full Jet tracks" , false );
1018+ PROCESS_SWITCH (FullJetSpectrapp, processDataTracks , " Full Jet tracks for Data " , false );
10191019
10201020 void processMCTracks (soa::Filtered<EMCCollisionsMCD>::iterator const & collision, soa::Filtered<aod::JetTracks> const & tracks, soa::Filtered<aod::JetClusters> const & clusters)
10211021 {
@@ -1064,7 +1064,7 @@ struct FullJetSpectrapp {
10641064 }
10651065 registry.fill (HIST (" h_collisions_unweighted" ), 3.5 );
10661066 }
1067- PROCESS_SWITCH (FullJetSpectrapp, processTracks , " Full Jet tracks" , false );
1067+ PROCESS_SWITCH (FullJetSpectrapp, processMCTracks , " Full Jet tracks for MC " , false );
10681068
10691069 void processTracksWeighted (soa::Filtered<EMCCollisionsMCD>::iterator const & collision,
10701070 aod::JMcCollisions const &,
@@ -1250,7 +1250,70 @@ struct FullJetSpectrapp {
12501250 registry.fill (HIST (" h3_full_jet_jetpTDet_FT0Mults_NEF" ), mcdjet.pt (), collision.multiplicity (), NEF, 1.0 );
12511251 }
12521252 }
1253- PROCESS_SWITCH (FullJetSpectrapp, processMBCollisionsWithMultiplicity, " MB Collisions for Full Jets Multiplicity Studies" , false );
1253+ PROCESS_SWITCH (FullJetSpectrapp, processMBCollisionsWithMultiplicity, " MB MCD Collisions for Full Jets Multiplicity Studies" , false );
1254+
1255+ void processMBCollisionsDATAWithMultiplicity (soa::Filtered<soa::Join<EMCCollisionsData, aod::FT0Mults>>::iterator const & collision, FullJetTableDataJoined const & jets, soa::Filtered<aod::JetTracks> const & tracks, soa::Filtered<aod::JetClusters> const & clusters)
1256+ {
1257+ bool eventAccepted = false ;
1258+ float pTHat = 10 . / (std::pow (1.0 , 1.0 / pTHatExponent));
1259+ float neutralEnergy = 0.0 ;
1260+
1261+ if (fabs (collision.posZ ()) > VertexZCut) {
1262+ return ;
1263+ }
1264+ if (doMBGapTrigger && collision.subGeneratorId () == jetderiveddatautilities::JCollisionSubGeneratorId::mbGap) {
1265+ return ;
1266+ }
1267+ if (!jetderiveddatautilities::selectCollision (collision, eventSelectionBits, doMBGapTrigger)) {
1268+ return ;
1269+ }
1270+
1271+ if (doEMCALEventWorkaround) {
1272+ if (collision.isEmcalReadout () && !collision.isAmbiguous ()) { // i.e. EMCAL has a cell content
1273+ eventAccepted = true ;
1274+ fillTrackHistograms (tracks, clusters, 1.0 );
1275+ if (collision.alias_bit (kTVXinEMC )) {
1276+ }
1277+ }
1278+ } else {
1279+ if (!collision.isAmbiguous () && jetderiveddatautilities::eventEMCAL (collision) && collision.alias_bit (kTVXinEMC )) {
1280+ eventAccepted = true ;
1281+ }
1282+ }
1283+
1284+ if (!eventAccepted) {
1285+ return ;
1286+ }
1287+ for (auto const & track : tracks) {
1288+ if (!jetderiveddatautilities::selectTrack (track, trackSelection)) {
1289+ continue ;
1290+ }
1291+ }
1292+ registry.fill (HIST (" h_FT0Mults_occupancy" ), collision.multiplicity ());
1293+
1294+ for (auto const & jet : jets) {
1295+ if (jet.pt () > pTHatMaxMCD * pTHat || pTHat < pTHatAbsoluteMin) { // MCD (Detector Level) Outlier Rejection
1296+ return ;
1297+ }
1298+ if (!jetfindingutilities::isInEtaAcceptance (jet, jetEtaMin, jetEtaMax, trackEtaMin, trackEtaMax)) {
1299+ continue ;
1300+ }
1301+ if (jet.phi () < jetPhiMin || jet.phi () > jetPhiMax) {
1302+ continue ;
1303+ }
1304+ if (!isAcceptedJet<aod::JetTracks>(jet)) {
1305+ continue ;
1306+ }
1307+ registry.fill (HIST (" h2_full_jet_jetpTDetVsFT0Mults" ), jet.pt (), collision.multiplicity (), 1.0 );
1308+
1309+ for (auto const & cluster : clusters) {
1310+ neutralEnergy += cluster.energy ();
1311+ }
1312+ auto NEF = neutralEnergy / jet.energy ();
1313+ registry.fill (HIST (" h3_full_jet_jetpTDet_FT0Mults_NEF" ), jet.pt (), collision.multiplicity (), NEF, 1.0 );
1314+ }
1315+ }
1316+ PROCESS_SWITCH (FullJetSpectrapp, processMBCollisionsDATAWithMultiplicity, " MB DATA Collisions for Full Jets Multiplicity Studies" , false );
12541317}; // struct
12551318
12561319WorkflowSpec defineDataProcessing (ConfigContext const & cfgc)
0 commit comments