@@ -104,6 +104,7 @@ struct HigherMassResonances {
104104 Configurable<int > configOccCut{" configOccCut" , 1000 , " Occupancy cut" };
105105 Configurable<bool > isVertexTOFMatched{" isVertexTOFMatched" , false , " Vertex TOF Matched" };
106106 Configurable<bool > isNoCollInTimeRangeStandard{" isNoCollInTimeRangeStandard" , false , " No collision in time range standard" };
107+ Configurable<bool > isSel8{" isSel8" , false , " Event Selection 8" };
107108
108109 // Configurables for event selection
109110 // Configurable<bool> isINELgt0{"isINELgt0", true, "INEL>0 selection"};
@@ -151,8 +152,8 @@ struct HigherMassResonances {
151152 Configurable<bool > iscTVXEvsel{" iscTVXEvsel" , true , " Triggger selection" };
152153 Configurable<bool > isavoidsplitrackMC{" isavoidsplitrackMC" , false , " avoid split track in MC" };
153154 Configurable<bool > isapplyRapidityMC{" isapplyRapidityMC" , true , " Apply rapidity cut on generated and reconstructed particles" };
154- Configurable<int > selectMCparticles{" selectMCparticles" , 1 , " 0: f0(1710), 1: f2(1525), 2: a2(1320), 3: f0(1370), 4: f0(1500)" };
155- std::vector<int > pdgCodes = {10331 , 335 , 115 , 10221 , 9030221 };
155+ Configurable<int > selectMCparticles{" selectMCparticles" , 1 , " 0: f0(1710), 1: f2(1525), 2: a2(1320), 3: f0(1370), 4: f0(1500), 5: f2(1270) " };
156+ std::vector<int > pdgCodes = {10331 , 335 , 115 , 10221 , 9030221 , 225 };
156157
157158 // output THnSparses
158159 Configurable<bool > activateHelicityFrame{" activateHelicityFrame" , false , " Activate the THnSparse with cosThStar w.r.t. helicity axis" };
@@ -245,7 +246,7 @@ struct HigherMassResonances {
245246 rEventSelection.add (" htrackscheck_v0" , " htrackscheck_v0" , kTH1I , {{15 , 0 , 15 }});
246247 rEventSelection.add (" htrackscheck_v0_daughters" , " htrackscheck_v0_daughters" , kTH1I , {{15 , 0 , 15 }});
247248 hMChists.add (" events_check" , " No. of events in the generated MC" , kTH1I , {{20 , 0 , 20 }});
248- hMChists.add (" events_checkrec" , " No. of events in the reconstructed MC" , kTH1I , {{25 , 0 , 25 }});
249+ hMChists.add (" events_checkrec" , " No. of events in the reconstructed MC" , kTH1I , {{20 , 0 , 20 }});
249250
250251 rEventSelection.add (" hEventCut" , " No. of event after cuts" , kTH1I , {{20 , 0 , 20 }});
251252 std::shared_ptr<TH1> hCutFlow = rEventSelection.get <TH1>(HIST (" hEventCut" ));
@@ -292,12 +293,23 @@ struct HigherMassResonances {
292293 hv0labelmcrec->GetXaxis ()->SetBinLabel (2 , " V0Daughter Sel." );
293294 hv0labelmcrec->GetXaxis ()->SetBinLabel (3 , " V0 Sel." );
294295 hv0labelmcrec->GetXaxis ()->SetBinLabel (4 , " V0 PDG" );
295- hv0labelmcrec->GetXaxis ()->SetBinLabel (5 , " Mother PDG" );
296- hv0labelmcrec->GetXaxis ()->SetBinLabel (6 , " Same Mother" );
297- hv0labelmcrec->GetXaxis ()->SetBinLabel (7 , " Split Track" );
298- hv0labelmcrec->GetXaxis ()->SetBinLabel (8 , " Global Index" );
299- hv0labelmcrec->GetXaxis ()->SetBinLabel (9 , " Generator" );
300- hv0labelmcrec->GetXaxis ()->SetBinLabel (10 , " Rapidity" );
296+ hv0labelmcrec->GetXaxis ()->SetBinLabel (5 , " All Mothers" );
297+ hv0labelmcrec->GetXaxis ()->SetBinLabel (6 , " Mother PDG" );
298+ hv0labelmcrec->GetXaxis ()->SetBinLabel (7 , " Same Mother" );
299+ hv0labelmcrec->GetXaxis ()->SetBinLabel (8 , " Split Track" );
300+ hv0labelmcrec->GetXaxis ()->SetBinLabel (9 , " Global Index" );
301+ hv0labelmcrec->GetXaxis ()->SetBinLabel (10 , " Generator" );
302+ hv0labelmcrec->GetXaxis ()->SetBinLabel (11 , " Rapidity" );
303+
304+ std::shared_ptr<TH1> hv0labelmcgen = hMChists.get <TH1>(HIST (" events_check" ));
305+ hv0labelmcgen->GetXaxis ()->SetBinLabel (1 , " All Events" );
306+ hv0labelmcgen->GetXaxis ()->SetBinLabel (2 , " Event Sel." );
307+ hv0labelmcgen->GetXaxis ()->SetBinLabel (3 , " Event reconstructed" );
308+ hv0labelmcgen->GetXaxis ()->SetBinLabel (4 , " PDG check" );
309+ hv0labelmcgen->GetXaxis ()->SetBinLabel (5 , " Rapidity" );
310+ hv0labelmcgen->GetXaxis ()->SetBinLabel (6 , " Daughters2" );
311+ hv0labelmcgen->GetXaxis ()->SetBinLabel (7 , " PhysicalPrimary" );
312+ hv0labelmcgen->GetXaxis ()->SetBinLabel (8 , " Daughters K0s" );
301313 }
302314
303315 hglue.add (" h3glueInvMassDS" , " h3glueInvMassDS" , kTHnSparseF , {multiplicityAxis, ptAxis, glueballMassAxis, thnAxisPOL, thnAxisPhi}, true );
@@ -367,7 +379,7 @@ struct HigherMassResonances {
367379 if (fillHist)
368380 rEventSelection.fill (HIST (" hEventCut" ), 1 );
369381
370- if (!collision.sel8 ())
382+ if (config. isSel8 && !collision.sel8 ())
371383 return false ;
372384 if (fillHist)
373385 rEventSelection.fill (HIST (" hEventCut" ), 2 );
@@ -1147,42 +1159,42 @@ struct HigherMassResonances {
11471159 selectedEvents[nevts++] = collision.mcCollision_as <aod::McCollisions>().globalIndex ();
11481160 }
11491161 selectedEvents.resize (nevts);
1150- hMChists.fill (HIST (" events_check" ), 3 .5 );
1162+ hMChists.fill (HIST (" events_check" ), 1 .5 );
11511163 const auto evtReconstructedAndSelected = std::find (selectedEvents.begin (), selectedEvents.end (), mcCollision.globalIndex ()) != selectedEvents.end ();
11521164
11531165 if (!config.isallGenCollisions && !evtReconstructedAndSelected) { // Check that the event is reconstructed and that the reconstructed events pass the selection
11541166 return ;
11551167 }
1156- hMChists.fill (HIST (" events_check" ), 4 .5 );
1168+ hMChists.fill (HIST (" events_check" ), 2 .5 );
11571169 for (const auto & mcParticle : mcParticles) {
11581170
11591171 if (std::abs (mcParticle.pdgCode ()) != config.pdgCodes [config.selectMCparticles ]) // f2(1525), f0(1710)
11601172 {
11611173 continue ;
11621174 }
1163- hMChists.fill (HIST (" events_check" ), 5 .5 );
1175+ hMChists.fill (HIST (" events_check" ), 3 .5 );
11641176
11651177 if (config.isapplyRapidityMC && std::abs (mcParticle.y ()) >= config.rapidityMotherData ) {
11661178 continue ;
11671179 }
1168- hMChists.fill (HIST (" events_check" ), 6 .5 );
1180+ hMChists.fill (HIST (" events_check" ), 4 .5 );
11691181
11701182 auto kDaughters = mcParticle.daughters_as <aod::McParticles>();
11711183 if (kDaughters .size () != config.noOfDaughters ) {
11721184 continue ;
11731185 }
1174- hMChists.fill (HIST (" events_check" ), 7 .5 );
1186+ hMChists.fill (HIST (" events_check" ), 5 .5 );
11751187
11761188 for (const auto & kCurrentDaughter : kDaughters ) {
11771189 // int daupdg = std::abs(kCurrentDaughter.pdgCode());
11781190
11791191 if (!kCurrentDaughter .isPhysicalPrimary ()) {
11801192 continue ;
11811193 }
1182- hMChists.fill (HIST (" events_check" ), 8 .5 );
1194+ hMChists.fill (HIST (" events_check" ), 6 .5 );
11831195 if (std::abs (kCurrentDaughter .pdgCode ()) == PDG_t::kK0Short ) {
11841196 passKs.push_back (true );
1185- hMChists.fill (HIST (" events_check" ), 9 .5 );
1197+ hMChists.fill (HIST (" events_check" ), 7 .5 );
11861198 if (passKs.size () == 1 ) {
11871199 daughter1 = ROOT::Math::PxPyPzMVector (kCurrentDaughter .px (), kCurrentDaughter .py (), kCurrentDaughter .pz (), o2::constants::physics::MassK0Short);
11881200 } else if (static_cast <int >(passKs.size ()) == config.noOfDaughters ) {
@@ -1323,45 +1335,46 @@ struct HigherMassResonances {
13231335 }
13241336
13251337 for (const auto & mothertrack2 : mctrackv02.mothers_as <aod::McParticles>()) {
1338+ hMChists.fill (HIST (" events_checkrec" ), 4.5 );
13261339
13271340 if (mothertrack1.pdgCode () != config.pdgCodes [config.selectMCparticles ]) {
13281341 continue ;
13291342 }
1330- hMChists.fill (HIST (" events_checkrec" ), 4 .5 );
1343+ hMChists.fill (HIST (" events_checkrec" ), 5 .5 );
13311344
13321345 if (mothertrack1.pdgCode () != mothertrack2.pdgCode ()) {
13331346 continue ;
13341347 }
1335- hMChists.fill (HIST (" events_checkrec" ), 5 .5 );
1348+ hMChists.fill (HIST (" events_checkrec" ), 6 .5 );
13361349
13371350 gindex2.push_back (mothertrack2.globalIndex ());
13381351 if (gindex2.size () > 1 ) {
13391352 if (std::find (gindex2.begin (), gindex2.end (), mothertrack2.globalIndex ()) != gindex2.end ()) {
13401353 continue ;
13411354 }
13421355 }
1343- hMChists.fill (HIST (" events_checkrec" ), 6 .5 );
1356+ hMChists.fill (HIST (" events_checkrec" ), 7 .5 );
13441357
13451358 if (mothertrack1.globalIndex () != mothertrack2.globalIndex ()) {
13461359 continue ;
13471360 }
1348- hMChists.fill (HIST (" events_checkrec" ), 7 .5 );
1361+ hMChists.fill (HIST (" events_checkrec" ), 8 .5 );
13491362
13501363 if (!mothertrack1.producedByGenerator ()) {
13511364 continue ;
13521365 }
1353- hMChists.fill (HIST (" events_checkrec" ), 8 .5 );
1366+ hMChists.fill (HIST (" events_checkrec" ), 9 .5 );
13541367
13551368 if (config.isapplyRapidityMC && std::abs (mothertrack1.y ()) >= config.rapidityMotherData ) {
13561369 continue ;
13571370 }
1358- hMChists.fill (HIST (" events_checkrec" ), 9 .5 );
1371+ hMChists.fill (HIST (" events_checkrec" ), 10 .5 );
13591372
13601373 // if (config.isavoidsplitrackMC && oldindex == mothertrack1.globalIndex()) {
13611374 // hMChists.fill(HIST("h1Recsplit"), mothertrack1.pt());
13621375 // continue;
13631376 // }
1364- // hMChists.fill(HIST("events_checkrec"), 20 .5);
1377+ // hMChists.fill(HIST("events_checkrec"), 11 .5);
13651378 // oldindex = mothertrack1.globalIndex(); // split tracks is already handled using gindex1 and gindex2
13661379
13671380 daughter1 = ROOT::Math::PxPyPzMVector (v01.px (), v01.py (), v01.pz (), o2::constants::physics::MassK0Short);
0 commit comments