@@ -55,12 +55,13 @@ struct NucleiHistTask {
5555 HistogramRegistry aHelium3_reg{" aHelium3" , {}, OutputObjHandlingPolicy::AnalysisObject, true , true };
5656 HistogramRegistry Helium4_reg{" Helium4" , {}, OutputObjHandlingPolicy::AnalysisObject, true , true };
5757 HistogramRegistry aHelium4_reg{" aHelium4" , {}, OutputObjHandlingPolicy::AnalysisObject, true , true };
58+ OutputObj<TH1I> histTrackcuts_data{TH1I (" histTrackcuts_data" , " Entires;Track cut" , 18 , 0 , 18 )};
5859
5960 // MC
6061 HistogramRegistry MC_recon_reg{" MC_particles_reco" , {}, OutputObjHandlingPolicy::AnalysisObject, true , true };
61- OutputObj<TH1I> histPDG{ TH1I ( " PDG " , " PDG;PDG code " , 20 , 0.0 , 20.0 ) };
62- OutputObj<TH1I> histTrackcuts_data {TH1I (" histTrackcuts_data " , " Entires;Track cut " , 15 , 0 , 15 )};
63- OutputObj<TH1I> histTrackcuts_MC{TH1I (" histTrackcuts_MC" , " Entires;Track cut" , 15 , 0 , 15 )};
62+ HistogramRegistry MC_DCA{ " MC_DCA " , {}, OutputObjHandlingPolicy::AnalysisObject, true , true };
63+ OutputObj<TH1I> histPDG {TH1I (" PDG " , " PDG;PDG code " , 18 , 0.0 , 18 )};
64+ OutputObj<TH1I> histTrackcuts_MC{TH1I (" histTrackcuts_MC" , " Entires;Track cut" , 18 , 0 , 18 )};
6465
6566 void init (o2::framework::InitContext&)
6667 {
@@ -85,6 +86,20 @@ struct NucleiHistTask {
8586 histTrackcuts_data->GetXaxis ()->SetBinLabel (13 , " GoldenChi2 cut passed" );
8687
8788 // +++++++++++++++++++++ MC ++++++++++++++++++++++++
89+ histPDG->GetXaxis ()->SetBinLabel (1 , " #pi^{+}" );
90+ histPDG->GetXaxis ()->SetBinLabel (2 , " #pi^{-}" );
91+ histPDG->GetXaxis ()->SetBinLabel (3 , " K^{+}" );
92+ histPDG->GetXaxis ()->SetBinLabel (4 , " K^{-}" );
93+ histPDG->GetXaxis ()->SetBinLabel (5 , " p" );
94+ histPDG->GetXaxis ()->SetBinLabel (6 , " #bar{p}" );
95+ histPDG->GetXaxis ()->SetBinLabel (7 , " d" );
96+ histPDG->GetXaxis ()->SetBinLabel (8 , " #bar{d}" );
97+ histPDG->GetXaxis ()->SetBinLabel (9 , " t" );
98+ histPDG->GetXaxis ()->SetBinLabel (10 , " #bar{t}" );
99+ histPDG->GetXaxis ()->SetBinLabel (11 , " ^{3}He" );
100+ histPDG->GetXaxis ()->SetBinLabel (12 , " ^{3}#bar{He}" );
101+ histPDG->GetXaxis ()->SetBinLabel (13 , " ^{4}He" );
102+ histPDG->GetXaxis ()->SetBinLabel (14 , " ^{4}#bar{He}" );
88103 histTrackcuts_MC->GetXaxis ()->SetBinLabel (1 , " Events read" );
89104 histTrackcuts_MC->GetXaxis ()->SetBinLabel (2 , " Prim. particle. sel. passed" );
90105 histTrackcuts_MC->GetXaxis ()->SetBinLabel (3 , " Rap. cut passed" );
@@ -414,6 +429,13 @@ struct NucleiHistTask {
414429 MC_recon_reg.add (" histTofNsigmaDataaHe" , " TOF nSigma (^{3}#bar{He})" , HistType::kTH2F , {pAxis, {160 , -20 ., +20 ., " n#sigma_{^{3}He}" }});
415430 MC_recon_reg.add (" histTofNsigmaDataAl" , " TOF nSigma (^{4}He)" , HistType::kTH2F , {pAxis, {160 , -20 ., +20 ., " n#sigma_{^{4}He}" }});
416431 MC_recon_reg.add (" histTofNsigmaDataaAl" , " TOF nSigma (^{4}#bar{He})" , HistType::kTH2F , {pAxis, {160 , -20 ., +20 ., " n#sigma_{^{4}He}" }});
432+
433+ MC_DCA.add (" histDCA_prim" , " DCA xy" , HistType::kTH3F , {ptAxis, {250 , -0.5 , 0.5 , " dca" }, PDGBINNING});
434+ MC_DCA.add (" histDCAz_prim" , " DCA z" , HistType::kTH3F , {ptAxis, {1000 , -2.0 , 2.0 , " dca" }, PDGBINNING});
435+ MC_DCA.add (" histDCA_weak" , " DCA xy" , HistType::kTH3F , {ptAxis, {250 , -0.5 , 0.5 , " dca" }, PDGBINNING});
436+ MC_DCA.add (" histDCAz_weak" , " DCA z" , HistType::kTH3F , {ptAxis, {1000 , -2.0 , 2.0 , " dca" }, PDGBINNING});
437+ MC_DCA.add (" histDCA_mat" , " DCA xy" , HistType::kTH3F , {ptAxis, {250 , -0.5 , 0.5 , " dca" }, PDGBINNING});
438+ MC_DCA.add (" histDCAz_mat" , " DCA z" , HistType::kTH3F , {ptAxis, {1000 , -2.0 , 2.0 , " dca" }, PDGBINNING});
417439 }
418440
419441 // Configurables
@@ -1391,70 +1413,130 @@ struct NucleiHistTask {
13911413 for (auto & track : tracks) {
13921414 histTrackcuts_MC->AddBinContent (1 );
13931415 const auto particle = track.mcParticle ();
1416+
1417+ int pdgbin = 0 ;
1418+ switch (particle.pdgCode ()) {
1419+ case +211 :
1420+ pdgbin = 0 ;
1421+ break ;
1422+ case -211 :
1423+ pdgbin = 1 ;
1424+ break ;
1425+ case +321 :
1426+ pdgbin = 2 ;
1427+ break ;
1428+ case -321 :
1429+ pdgbin = 3 ;
1430+ break ;
1431+ case +2212 :
1432+ pdgbin = 4 ;
1433+ break ;
1434+ case -2212 :
1435+ pdgbin = 5 ;
1436+ break ;
1437+ case +1000010020 :
1438+ pdgbin = 6 ;
1439+ break ;
1440+ case -1000010020 :
1441+ pdgbin = 7 ;
1442+ break ;
1443+ case +1000010030 :
1444+ pdgbin = 8 ;
1445+ break ;
1446+ case -1000010030 :
1447+ pdgbin = 9 ;
1448+ break ;
1449+ case +1000020030 :
1450+ pdgbin = 10 ;
1451+ break ;
1452+ case -1000020030 :
1453+ pdgbin = 11 ;
1454+ break ;
1455+ case +1000020040 :
1456+ pdgbin = 12 ;
1457+ break ;
1458+ case -1000020040 :
1459+ pdgbin = 13 ;
1460+ break ;
1461+ default :
1462+ pdgbin = -1 ;
1463+ break ;
1464+ }
1465+
1466+ if (particle.isPhysicalPrimary ()) {
1467+ if ((particle.pdgCode () == 1000020030 ) || (particle.pdgCode () == -1000020030 ) || (particle.pdgCode () == 1000020040 ) || (particle.pdgCode () == -1000020040 )) {
1468+ MC_DCA.fill (HIST (" histDCA_prim" ), track.pt () * 2.0 , track.dcaXY (), pdgbin);
1469+ MC_DCA.fill (HIST (" histDCAz_prim" ), track.pt () * 2.0 , track.dcaZ (), pdgbin);
1470+ } else {
1471+ MC_DCA.fill (HIST (" histDCA_prim" ), track.pt (), track.dcaXY (), pdgbin);
1472+ MC_DCA.fill (HIST (" histDCAz_prim" ), track.pt (), track.dcaZ (), pdgbin);
1473+ }
1474+ } else if (particle.has_mothers ()) {
1475+ if ((particle.pdgCode () == 1000020030 ) || (particle.pdgCode () == -1000020030 ) || (particle.pdgCode () == 1000020040 ) || (particle.pdgCode () == -1000020040 )) {
1476+ MC_DCA.fill (HIST (" histDCA_weak" ), track.pt () * 2.0 , track.dcaXY (), pdgbin);
1477+ MC_DCA.fill (HIST (" histDCAz_weak" ), track.pt () * 2.0 , track.dcaZ (), pdgbin);
1478+ } else {
1479+ MC_DCA.fill (HIST (" histDCA_weak" ), track.pt (), track.dcaXY (), pdgbin);
1480+ MC_DCA.fill (HIST (" histDCAz_weak" ), track.pt (), track.dcaZ (), pdgbin);
1481+ }
1482+ } else {
1483+ if ((particle.pdgCode () == 1000020030 ) || (particle.pdgCode () == -1000020030 ) || (particle.pdgCode () == 1000020040 ) || (particle.pdgCode () == -1000020040 )) {
1484+ MC_DCA.fill (HIST (" histDCA_mat" ), track.pt () * 2.0 , track.dcaXY (), pdgbin);
1485+ MC_DCA.fill (HIST (" histDCAz_mat" ), track.pt () * 2.0 , track.dcaZ (), pdgbin);
1486+ } else {
1487+ MC_DCA.fill (HIST (" histDCA_mat" ), track.pt (), track.dcaXY (), pdgbin);
1488+ MC_DCA.fill (HIST (" histDCAz_mat" ), track.pt (), track.dcaZ (), pdgbin);
1489+ }
1490+ }
1491+
13941492 if (!particle.isPhysicalPrimary ())
13951493 continue ;
13961494 histTrackcuts_MC->AddBinContent (2 );
13971495
1398- int pdgbin = 0 ;
13991496 switch (particle.pdgCode ()) {
14001497 case +211 :
14011498 histPDG->AddBinContent (1 );
1402- pdgbin = 0 ;
14031499 break ;
14041500 case -211 :
14051501 histPDG->AddBinContent (2 );
1406- pdgbin = 1 ;
14071502 break ;
14081503 case +321 :
14091504 histPDG->AddBinContent (3 );
1410- pdgbin = 2 ;
14111505 break ;
14121506 case -321 :
14131507 histPDG->AddBinContent (4 );
1414- pdgbin = 3 ;
14151508 break ;
14161509 case +2212 :
14171510 histPDG->AddBinContent (5 );
1418- pdgbin = 4 ;
14191511 break ;
14201512 case -2212 :
14211513 histPDG->AddBinContent (6 );
1422- pdgbin = 5 ;
14231514 break ;
14241515 case +1000010020 :
14251516 histPDG->AddBinContent (7 );
1426- pdgbin = 6 ;
14271517 break ;
14281518 case -1000010020 :
14291519 histPDG->AddBinContent (8 );
1430- pdgbin = 7 ;
14311520 break ;
14321521 case +1000010030 :
14331522 histPDG->AddBinContent (9 );
1434- pdgbin = 8 ;
14351523 break ;
14361524 case -1000010030 :
14371525 histPDG->AddBinContent (10 );
1438- pdgbin = 9 ;
14391526 break ;
14401527 case +1000020030 :
14411528 histPDG->AddBinContent (11 );
1442- pdgbin = 10 ;
14431529 break ;
14441530 case -1000020030 :
14451531 histPDG->AddBinContent (12 );
1446- pdgbin = 11 ;
14471532 break ;
14481533 case +1000020040 :
14491534 histPDG->AddBinContent (13 );
1450- pdgbin = 12 ;
14511535 break ;
14521536 case -1000020040 :
14531537 histPDG->AddBinContent (14 );
1454- pdgbin = 13 ;
14551538 break ;
14561539 default :
1457- pdgbin = -1 ;
14581540 break ;
14591541 }
14601542
0 commit comments