2121#include " PWGJE/DataModel/JetReducedData.h"
2222#include " PWGJE/DataModel/JetTagging.h"
2323
24+ #include " Common/DataModel/Multiplicity.h"
25+
2426#include " Framework/ASoA.h"
2527#include " Framework/AnalysisDataModel.h"
2628#include " Framework/AnalysisTask.h"
27- #include " Common/DataModel/Multiplicity.h"
2829#include < CommonConstants/MathConstants.h>
2930#include < Framework/Configurable.h>
3031#include < Framework/HistogramRegistry.h>
3536#include < Framework/runDataProcessing.h>
3637
3738#include < algorithm>
39+ #include < array>
3840#include < cmath>
3941#include < functional>
4042#include < string>
@@ -57,21 +59,12 @@ struct JetTaggerHFQA {
5759
5860 // Cut configuration
5961 Configurable<float > vertexZCut{" vertexZCut" , 10 .0f , " Accepted z-vertex range" };
60- Configurable<std::vector<float >> trackCuts {
61- " trackCuts" , {0.15 , 100.0 , -0.9 , 0.9 },
62- " Track cuts: ptMin, ptMax, etaMin, etaMax"
63- };
62+ Configurable<std::vector<float >> trackCuts{" trackCuts" , std::vector<float >{0.15 , 100.0 , -0.9 , 0.9 }, " Track cuts: ptMin, ptMax, etaMin, etaMax" };
6463 Configurable<float > trackDcaXYMax{" trackDcaXYMax" , 1 , " minimum DCA xy acceptance for tracks [cm]" };
6564 Configurable<float > trackDcaZMax{" trackDcaZMax" , 2 , " minimum DCA z acceptance for tracks [cm]" };
6665 Configurable<float > maxDeltaR{" maxDeltaR" , 0.25 , " maximum distance of jet axis from flavour initiating parton" };
67- Configurable<std::vector<float >> jetEtaCuts {
68- " jetEtaCuts" , {-99.0 , 99.0 },
69- " Jet cuts: etaMin, etaMax"
70- };
71- Configurable<std::vector<float >> prongCuts {
72- " prongCuts" , {1 , 100 , 100 , 100 , 0.008 , 1 },
73- " prong cuts: chi2PCAMin, chi2PCAMax, sigmaLxyMax, sigmaLxyzMax, IPxyMin, IPxyMax"
74- };
66+ Configurable<std::vector<float >> jetEtaCuts{" jetEtaCuts" , std::vector<float >{-99.0 , 99.0 }, " Jet cuts: etaMin, etaMax" };
67+ Configurable<std::vector<float >> prongCuts{" prongCuts" , std::vector<float >{1 , 100 , 100 , 100 , 0.008 , 1 }, " prong cuts: chi2PCAMin, chi2PCAMax, sigmaLxyMax, sigmaLxyzMax, IPxyMin, IPxyMax" };
7568 Configurable<float > svDispersionMax{" svDispersionMax" , 0 .03f , " maximum dispersion of sv" };
7669 Configurable<int > numFlavourSpecies{" numFlavourSpecies" , 6 , " number of jet flavour species" };
7770 Configurable<int > numOrder{" numOrder" , 6 , " number of ordering" };
@@ -391,8 +384,8 @@ struct JetTaggerHFQA {
391384 registry.add (" h2_3prong_nprongs_mult" , " " , {HistType::kTH2F , {{axisNprongs}, {axisMult}}});
392385 registry.add (" hn_jet_3prong_mult" , " " , {HistType::kTHnF , {{axisJetPt}, {axisLxy}, {axisSigmaLxy}, {axisSxy}, {axisLxyz}, {axisSigmaLxyz}, {axisSxyz}, {axisMult}}});
393386 }
394- registry.add (" hn_jet_3prong_Sxy_N1_mult " , " " , {HistType::kTHnF , {{axisJetPt}, {axisSxy}, {axisMass}, {axisMult}}});
395- registry.add (" hn_jet_3prong_Sxyz_N1_mult " , " " , {HistType::kTHnF , {{axisJetPt}, {axisSxyz}, {axisMass}, {axisMult}}});
387+ registry.add (" hn_jet_pt_3prong_Sxy_N1_mult " , " " , {HistType::kTHnF , {{axisJetPt}, {axisSxy}, {axisMass}, {axisMult}}});
388+ registry.add (" hn_jet_pt_3prong_Sxyz_N1_mult " , " " , {HistType::kTHnF , {{axisJetPt}, {axisSxyz}, {axisMass}, {axisMult}}});
396389 }
397390 if (doprocessSV2ProngMCD || doprocessSV2ProngMCDWeighted || doprocessSV2ProngMCPMCDMatched || doprocessSV2ProngMCPMCDMatchedWeighted) {
398391 if (!(doprocessIPsMCD || doprocessIPsMCDWeighted || doprocessIPsMCPMCDMatched || doprocessIPsMCPMCDMatchedWeighted) && !(doprocessJPMCD || doprocessJPMCDWeighted || doprocessJPMCPMCDMatched || doprocessJPMCPMCDMatchedWeighted) && !(doprocessSV3ProngMCD || doprocessSV3ProngMCDWeighted || doprocessSV3ProngMCPMCDMatched || doprocessSV3ProngMCPMCDMatchedWeighted)) {
@@ -1021,17 +1014,17 @@ struct JetTaggerHFQA {
10211014 if (fillGeneralSVQA) {
10221015 registry.fill (HIST (" h2_3prong_nprongs_mult" ), jet.template secondaryVertices_as <V>().size (), mult);
10231016 for (const auto & prong : jet.template secondaryVertices_as <V>()) {
1024- registry.fill (HIST (" hn_jet_3prong_mult" ), jet.pt (), prong.decayLengthXY (), prong.errorDecayLengthXY (), prong.decayLengthXY () / prong.errorDecayLengthXY (), prong.decayLength (), prong.decayLength (), prong.decayLength () / prong.errorDecayLengthXY (), mult);
1017+ registry.fill (HIST (" hn_jet_3prong_mult" ), jet.pt (), prong.decayLengthXY (), prong.errorDecayLengthXY (), prong.decayLengthXY () / prong.errorDecayLengthXY (), prong.decayLength (), prong.errorDecayLength (), prong.decayLength () / prong.errorDecayLengthXY (), mult);
10251018 }
10261019 }
10271020 bool checkSv = false ;
10281021 auto bjetCand = jettaggingutilities::jetFromProngMaxDecayLength<V>(jet, prongCuts->at (0 ), prongCuts->at (1 ), prongCuts->at (2 ), prongCuts->at (4 ), prongCuts->at (5 ), false , &checkSv);
10291022 if (checkSv && jettaggingutilities::svAcceptance (bjetCand, svDispersionMax)) {
10301023 auto maxSxy = bjetCand.decayLengthXY () / bjetCand.errorDecayLengthXY ();
10311024 auto massSV = bjetCand.m ();
1032- registry.fill (HIST (" h2_jet_pt_3prong_Sxy_N1_mult " ), jet.pt (), maxSxy, massSV, mult);
1025+ registry.fill (HIST (" hn_jet_pt_3prong_Sxy_N1_mult " ), jet.pt (), maxSxy, massSV, mult);
10331026 if (jet.isTagged (BJetTaggingMethod::SV)) {
1034- registry.fill (HIST (" h2_taggedjet_pt_3prong_Sxy_N1_mult " ), jet.pt (), maxSxy, massSV, mult);
1027+ registry.fill (HIST (" hn_taggedjet_pt_3prong_Sxy_N1_mult " ), jet.pt (), maxSxy, massSV, mult);
10351028 }
10361029 }
10371030 if (fillSVxyz) {
0 commit comments