@@ -150,6 +150,7 @@ struct nucleiInJets {
150150 Configurable<bool > useLeadingJetDetLevelValue{" useLeadingJetDetLevelValue" , false , " true: use det level value for leading jet, false: use part level value" };
151151 Configurable<bool > useDcaxyPtDepCut{" useDcaxyPtDepCut" , true , " true: use pt dependent DCAxy cut, false: use constant DCAxy cut" };
152152 Configurable<bool > useTOFNsigmaPreSel{" useTOFNsigmaPreSel" , true , " true: use TOF nsgma preselection, false: no TOF nsgma preselection" };
153+ Configurable<bool > useTOFVeto{" useTOFVeto" , false , " true: use TOF veto, false: no TOF veto" };
153154 Configurable<bool > isRequireHitsInITSLayers{" isRequireHitsInITSLayers" , true , " true: at least one hit in the its inner layes" };
154155 Configurable<bool > useMcC{" useMcC" , true , " use mcC" };
155156
@@ -225,14 +226,12 @@ struct nucleiInJets {
225226 const AxisSpec massTrAxis{binsMassTr, " " };
226227 const AxisSpec massHeAxis{binsMassHe, " " };
227228
228- if (applySkim) {
229- jetHist.add (" hNEvents" , " hNEvents" , {HistType::kTH1D , {{6 , 0 .f , 6 .f }}});
230- jetHist.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (1 , " All" );
231- jetHist.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (2 , " Skimmed" );
232- jetHist.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (3 , " |Vz|<10" );
233- jetHist.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (4 , " Sel8+|Vz|<10" );
234- jetHist.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (5 , " nJets>0" );
235- }
229+ jetHist.add (" hNEvents" , " hNEvents" , {HistType::kTH1D , {{6 , 0 .f , 6 .f }}});
230+ jetHist.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (1 , " All" );
231+ jetHist.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (2 , " Skimmed" );
232+ jetHist.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (3 , " |Vz|<10" );
233+ jetHist.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (4 , " Sel8+|Vz|<10" );
234+ jetHist.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (5 , " nJets>0" );
236235
237236 // jet property
238237 jetHist.add (" jet/h1JetPt" , " jet_{p_{T}}" , kTH1F , {PtJetAxis});
@@ -713,12 +712,42 @@ struct nucleiInJets {
713712 jetHist.fill (HIST (" tracks/helium/h3PtVsHeliumNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaHe (), jetPt);
714713 if (std::abs (trk.tofNSigmaTr ()) < cfgnTPCPIDTrTOF)
715714 jetHist.fill (HIST (" tracks/triton/h3PtVsTritonNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaTr (), jetPt);
716- } else if (!useTOFNsigmaPreSel) {
715+ } else if (!useTOFNsigmaPreSel && !useTOFVeto ) {
717716 jetHist.fill (HIST (" tracks/proton/h3PtVsProtonNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaPr (), jetPt);
718717 jetHist.fill (HIST (" tracks/deuteron/h3PtVsDeuteronNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaDe (), jetPt);
719718 jetHist.fill (HIST (" tracks/helium/h3PtVsHeliumNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaHe (), jetPt);
720719 jetHist.fill (HIST (" tracks/triton/h3PtVsTritonNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaTr (), jetPt);
720+ } else if (!useTOFNsigmaPreSel && useTOFVeto) {
721+ if (trk.hasTOF ()) {
722+ if (std::abs (trk.tofNSigmaPr ()) < cfgnTPCPIDPrTOF) {
723+ jetHist.fill (HIST (" tracks/proton/h3PtVsProtonNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaPr (), jetPt);
724+ }
725+ } else {
726+ jetHist.fill (HIST (" tracks/proton/h3PtVsProtonNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaPr (), jetPt);
727+ }
728+ if (trk.hasTOF ()) {
729+ if (std::abs (trk.tofNSigmaDe ()) < cfgnTPCPIDDeTOF) {
730+ jetHist.fill (HIST (" tracks/deuteron/h3PtVsDeuteronNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaDe (), jetPt);
731+ }
732+ } else {
733+ jetHist.fill (HIST (" tracks/deuteron/h3PtVsDeuteronNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaDe (), jetPt);
734+ }
735+ if (trk.hasTOF ()) {
736+ if (std::abs (trk.tofNSigmaHe ()) < cfgnTPCPIDHeTOF) {
737+ jetHist.fill (HIST (" tracks/helium/h3PtVsHeliumNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaHe (), jetPt);
738+ }
739+ } else {
740+ jetHist.fill (HIST (" tracks/helium/h3PtVsHeliumNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaHe (), jetPt);
741+ }
742+ if (trk.hasTOF ()) {
743+ if (std::abs (trk.tofNSigmaTr ()) < cfgnTPCPIDTrTOF) {
744+ jetHist.fill (HIST (" tracks/triton/h3PtVsTritonNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaTr (), jetPt);
745+ }
746+ } else {
747+ jetHist.fill (HIST (" tracks/triton/h3PtVsTritonNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaTr (), jetPt);
748+ }
721749 }
750+
722751 if (cEnableProtonQA && std::abs (trk.tpcNSigmaPr ()) < cfgnTPCPIDPr) {
723752 jetHist.fill (HIST (" tracks/proton/dca/after/hDCAxyVsPtProton_jet" ), trk.dcaXY (), trk.pt ());
724753 jetHist.fill (HIST (" tracks/proton/dca/after/hDCAzVsPtProton_jet" ), trk.dcaZ (), trk.pt ());
@@ -799,11 +828,40 @@ struct nucleiInJets {
799828 jetHist.fill (HIST (" tracks/antiHelium/h3PtVsantiHeliumNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaHe (), jetPt);
800829 if (std::abs (trk.tofNSigmaTr ()) < cfgnTPCPIDTrTOF)
801830 jetHist.fill (HIST (" tracks/antiTriton/h3PtVsantiTritonNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaTr (), jetPt);
802- } else if (!useTOFNsigmaPreSel) {
831+ } else if (!useTOFNsigmaPreSel && !useTOFVeto ) {
803832 jetHist.fill (HIST (" tracks/antiProton/h3PtVsantiProtonNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaPr (), jetPt);
804833 jetHist.fill (HIST (" tracks/antiDeuteron/h3PtVsantiDeuteronNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaDe (), jetPt);
805834 jetHist.fill (HIST (" tracks/antiHelium/h3PtVsantiHeliumNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaHe (), jetPt);
806835 jetHist.fill (HIST (" tracks/antiTriton/h3PtVsantiTritonNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaTr (), jetPt);
836+ } else if (!useTOFNsigmaPreSel && useTOFVeto) {
837+ if (trk.hasTOF ()) {
838+ if (std::abs (trk.tofNSigmaPr ()) < cfgnTPCPIDPrTOF) {
839+ jetHist.fill (HIST (" tracks/antiProton/h3PtVsantiProtonNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaPr (), jetPt);
840+ }
841+ } else {
842+ jetHist.fill (HIST (" tracks/antiProton/h3PtVsantiProtonNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaPr (), jetPt);
843+ }
844+ if (trk.hasTOF ()) {
845+ if (std::abs (trk.tofNSigmaDe ()) < cfgnTPCPIDDeTOF) {
846+ jetHist.fill (HIST (" tracks/antiDeuteron/h3PtVsantiDeuteronNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaDe (), jetPt);
847+ }
848+ } else {
849+ jetHist.fill (HIST (" tracks/antiDeuteron/h3PtVsantiDeuteronNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaDe (), jetPt);
850+ }
851+ if (trk.hasTOF ()) {
852+ if (std::abs (trk.tofNSigmaHe ()) < cfgnTPCPIDHeTOF) {
853+ jetHist.fill (HIST (" tracks/antiHelium/h3PtVsantiHeliumNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaHe (), jetPt);
854+ }
855+ } else {
856+ jetHist.fill (HIST (" tracks/antiHelium/h3PtVsantiHeliumNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaHe (), jetPt);
857+ }
858+ if (trk.hasTOF ()) {
859+ if (std::abs (trk.tofNSigmaTr ()) < cfgnTPCPIDTrTOF) {
860+ jetHist.fill (HIST (" tracks/antiTriton/h3PtVsantiTritonNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaTr (), jetPt);
861+ }
862+ } else {
863+ jetHist.fill (HIST (" tracks/antiTriton/h3PtVsantiTritonNSigmaTPCVsPtJet_jet" ), trk.pt (), trk.tpcNSigmaTr (), jetPt);
864+ }
807865 }
808866
809867 if (cEnableProtonQA && std::abs (trk.tpcNSigmaPr ()) < cfgnTPCPIDPr) {
@@ -908,11 +966,40 @@ struct nucleiInJets {
908966 jetHist.fill (HIST (" tracks/perpCone/helium/h3PtVsHeliumNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaHe (), jetPt); // He
909967 if (std::abs (trk.tofNSigmaTr ()) < cfgnTPCPIDTrTOF)
910968 jetHist.fill (HIST (" tracks/perpCone/triton/h3PtVsTritonNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaTr (), jetPt); // Tr
911- } else if (!useTOFNsigmaPreSel) {
969+ } else if (!useTOFNsigmaPreSel && !useTOFVeto ) {
912970 jetHist.fill (HIST (" tracks/perpCone/proton/h3PtVsProtonNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaPr (), jetPt); // Pr
913971 jetHist.fill (HIST (" tracks/perpCone/deuteron/h3PtVsDeuteronNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaDe (), jetPt); // De
914972 jetHist.fill (HIST (" tracks/perpCone/helium/h3PtVsHeliumNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaHe (), jetPt); // He
915973 jetHist.fill (HIST (" tracks/perpCone/triton/h3PtVsTritonNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaTr (), jetPt); // Tr
974+ } else if (!useTOFNsigmaPreSel && useTOFVeto) {
975+ if (trk.hasTOF ()) {
976+ if (std::abs (trk.tofNSigmaPr ()) < cfgnTPCPIDPrTOF) {
977+ jetHist.fill (HIST (" tracks/perpCone/proton/h3PtVsProtonNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaPr (), jetPt); // Pr
978+ }
979+ } else {
980+ jetHist.fill (HIST (" tracks/perpCone/proton/h3PtVsProtonNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaPr (), jetPt); // Pr
981+ }
982+ if (trk.hasTOF ()) {
983+ if (std::abs (trk.tofNSigmaDe ()) < cfgnTPCPIDDeTOF) {
984+ jetHist.fill (HIST (" tracks/perpCone/deuteron/h3PtVsDeuteronNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaDe (), jetPt); // De
985+ }
986+ } else {
987+ jetHist.fill (HIST (" tracks/perpCone/deuteron/h3PtVsDeuteronNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaDe (), jetPt); // De
988+ }
989+ if (trk.hasTOF ()) {
990+ if (std::abs (trk.tofNSigmaHe ()) < cfgnTPCPIDHeTOF) {
991+ jetHist.fill (HIST (" tracks/perpCone/helium/h3PtVsHeliumNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaHe (), jetPt); // He
992+ }
993+ } else {
994+ jetHist.fill (HIST (" tracks/perpCone/helium/h3PtVsHeliumNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaHe (), jetPt); // He
995+ }
996+ if (trk.hasTOF ()) {
997+ if (std::abs (trk.tofNSigmaTr ()) < cfgnTPCPIDTrTOF) {
998+ jetHist.fill (HIST (" tracks/perpCone/triton/h3PtVsTritonNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaTr (), jetPt); // Tr
999+ }
1000+ } else {
1001+ jetHist.fill (HIST (" tracks/perpCone/triton/h3PtVsTritonNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaTr (), jetPt); // Tr
1002+ }
9161003 }
9171004 }
9181005
@@ -997,11 +1084,40 @@ struct nucleiInJets {
9971084 jetHist.fill (HIST (" tracks/perpCone/antiHelium/h3PtVsantiHeliumNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaHe (), jetPt); // He
9981085 if (std::abs (trk.tofNSigmaTr ()) < cfgnTPCPIDTrTOF)
9991086 jetHist.fill (HIST (" tracks/perpCone/antiTriton/h3PtVsantiTritonNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaTr (), jetPt); // Tr
1000- } else if (!useTOFNsigmaPreSel) {
1087+ } else if (!useTOFNsigmaPreSel && !useTOFVeto ) {
10011088 jetHist.fill (HIST (" tracks/perpCone/antiProton/h3PtVsantiProtonNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaPr (), jetPt); // Pr
10021089 jetHist.fill (HIST (" tracks/perpCone/antiDeuteron/h3PtVsantiDeuteronNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaDe (), jetPt); // De
10031090 jetHist.fill (HIST (" tracks/perpCone/antiHelium/h3PtVsantiHeliumNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaHe (), jetPt); // He
10041091 jetHist.fill (HIST (" tracks/perpCone/antiTriton/h3PtVsantiTritonNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaTr (), jetPt); // Tr
1092+ } else if (!useTOFNsigmaPreSel && useTOFVeto) {
1093+ if (trk.hasTOF ()) {
1094+ if (std::abs (trk.tofNSigmaPr ()) < cfgnTPCPIDPrTOF) {
1095+ jetHist.fill (HIST (" tracks/perpCone/antiProton/h3PtVsantiProtonNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaPr (), jetPt); // Pr
1096+ }
1097+ } else {
1098+ jetHist.fill (HIST (" tracks/perpCone/antiProton/h3PtVsantiProtonNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaPr (), jetPt); // Pr
1099+ }
1100+ if (trk.hasTOF ()) {
1101+ if (std::abs (trk.tofNSigmaDe ()) < cfgnTPCPIDDeTOF) {
1102+ jetHist.fill (HIST (" tracks/perpCone/antiDeuteron/h3PtVsantiDeuteronNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaDe (), jetPt); // De
1103+ }
1104+ } else {
1105+ jetHist.fill (HIST (" tracks/perpCone/antiDeuteron/h3PtVsantiDeuteronNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaDe (), jetPt); // De
1106+ }
1107+ if (trk.hasTOF ()) {
1108+ if (std::abs (trk.tofNSigmaHe ()) < cfgnTPCPIDHeTOF) {
1109+ jetHist.fill (HIST (" tracks/perpCone/antiHelium/h3PtVsantiHeliumNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaHe (), jetPt); // He
1110+ }
1111+ } else {
1112+ jetHist.fill (HIST (" tracks/perpCone/antiHelium/h3PtVsantiHeliumNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaHe (), jetPt); // He
1113+ }
1114+ if (trk.hasTOF ()) {
1115+ if (std::abs (trk.tofNSigmaTr ()) < cfgnTPCPIDTrTOF) {
1116+ jetHist.fill (HIST (" tracks/perpCone/antiTriton/h3PtVsantiTritonNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaTr (), jetPt); // Tr
1117+ }
1118+ } else {
1119+ jetHist.fill (HIST (" tracks/perpCone/antiTriton/h3PtVsantiTritonNSigmaTPCVsPtJet" ), trk.pt (), trk.tpcNSigmaTr (), jetPt); // Tr
1120+ }
10051121 }
10061122 }
10071123
@@ -1142,6 +1258,7 @@ struct nucleiInJets {
11421258 if (std::abs (collision.posZ ()) > 10 )
11431259 return ;
11441260 jetHist.fill (HIST (" hNEvents" ), 2.5 );
1261+
11451262 if (!jetderiveddatautilities::selectCollision (collision, jetderiveddatautilities::initialiseEventSelectionBits (" sel8" )))
11461263 return ;
11471264 jetHist.fill (HIST (" hNEvents" ), 3.5 );
@@ -1468,8 +1585,12 @@ struct nucleiInJets {
14681585 jetHist.fill (HIST (" eff/recmatched/pt/PtParticleTypeTPC" ), mcTrack.pt (), jetFlag, mapPDGToValue (mcTrack.pdgCode ()));
14691586 if (isTof)
14701587 jetHist.fill (HIST (" eff/recmatched/pt/PtParticleTypeTOF" ), mcTrack.pt (), jetFlag, mapPDGToValue (mcTrack.pdgCode ()));
1471- if (isTOFAndTPCPreSel)
1588+ if (isTOFAndTPCPreSel) {
14721589 jetHist.fill (HIST (" eff/recmatched/pt/PtParticleTypeTPCTOF" ), mcTrack.pt (), jetFlag, mapPDGToValue (mcTrack.pdgCode ()));
1590+ jetHist.fill (HIST (" eff/recmatched/pt/PtParticleTypeTPCTOFVeto" ), mcTrack.pt (), jetFlag, mapPDGToValue (mcTrack.pdgCode ()));
1591+ } else {
1592+ jetHist.fill (HIST (" eff/recmatched/pt/PtParticleTypeTPCTOFVeto" ), mcTrack.pt (), jetFlag, mapPDGToValue (mcTrack.pdgCode ()));
1593+ }
14731594
14741595 if (jetFlagPerpCone) {
14751596 jetHist.fill (HIST (" eff/recmatched/perpCone/pt/PtParticleType" ), mcTrack.pt (), mapPDGToValue (mcTrack.pdgCode ()));
@@ -1483,8 +1604,12 @@ struct nucleiInJets {
14831604 jetHist.fill (HIST (" eff/recmatched/perpCone/pt/PtParticleTypeTPC" ), mcTrack.pt (), mapPDGToValue (mcTrack.pdgCode ()));
14841605 if (isTof)
14851606 jetHist.fill (HIST (" eff/recmatched/perpCone/pt/PtParticleTypeTOF" ), mcTrack.pt (), mapPDGToValue (mcTrack.pdgCode ()));
1486- if (isTOFAndTPCPreSel)
1607+ if (isTOFAndTPCPreSel) {
14871608 jetHist.fill (HIST (" eff/recmatched/perpCone/pt/PtParticleTypeTPCTOF" ), mcTrack.pt (), mapPDGToValue (mcTrack.pdgCode ()));
1609+ jetHist.fill (HIST (" eff/recmatched/perpCone/pt/PtParticleTypeTPCTOFVeto" ), mcTrack.pt (), mapPDGToValue (mcTrack.pdgCode ()));
1610+ }
1611+ } else {
1612+ jetHist.fill (HIST (" eff/recmatched/perpCone/pt/PtParticleTypeTPCTOFVeto" ), mcTrack.pt (), mapPDGToValue (mcTrack.pdgCode ()));
14881613 }
14891614 }
14901615 } // tracks
@@ -1531,7 +1656,6 @@ struct nucleiInJets {
15311656 jetHist.fill (HIST (" eff/recmatched/gen/perpCone/pt/PtParticleType" ), mcParticle.pt (), mapPDGToValue (mcParticle.pdgCode ()));
15321657 }
15331658 }
1534-
15351659 } // mcParticle
15361660 } // process
15371661
0 commit comments