@@ -51,10 +51,8 @@ struct JetSubstructureHFTask {
5151 OutputObj<TH2F > hNsd{" h_jet_nsd_jet_pt" };
5252
5353 // Jet level configurables
54- Configurable<float > jetPtMin{" jetPtMin" , 0.0 , " minimum jet pT cut" };
5554 Configurable<float > zCut{" zCut" , 0.1 , " soft drop z cut" };
5655 Configurable<float > beta{" beta" , 0.0 , " soft drop beta" };
57- Configurable<float > jetR{" jetR" , 0.4 , " jet resolution parameter" };
5856
5957 Service<O2DatabasePDG> pdg;
6058 int candPDG;
@@ -71,22 +69,21 @@ struct JetSubstructureHFTask {
7169 10 , 0.0 , 0.5 , 200 , 0.0 , 200.0 ));
7270 hNsd.setObject (new TH2F (" h_jet_nsd_jet_pt" , " ;n_{SD}; #it{p}_{T,jet} (GeV/#it{c})" ,
7371 7 , -0.5 , 6.5 , 200 , 0.0 , 200.0 ));
72+
7473 jetReclusterer.isReclustering = true ;
7574 jetReclusterer.algorithm = fastjet::JetAlgorithm::cambridge_algorithm;
7675
77- if constexpr (std::is_same_v<std::decay_t <JetTableMCP>, soa::Filtered<soa:: Join<aod::D0ChargedMCParticleLevelJets, aod::D0ChargedMCParticleLevelJetConstituents> >>) {
76+ if constexpr (std::is_same_v<std::decay_t <JetTableMCP>, soa::Join<aod::D0ChargedMCParticleLevelJets, aod::D0ChargedMCParticleLevelJetConstituents>>) {
7877 candPDG = static_cast <int >(pdg::Code::kD0 );
7978 }
80- if constexpr (std::is_same_v<std::decay_t <JetTableMCP>, soa::Filtered<soa:: Join<aod::BplusChargedMCParticleLevelJets, aod::BplusChargedMCParticleLevelJetConstituents> >>) {
79+ if constexpr (std::is_same_v<std::decay_t <JetTableMCP>, soa::Join<aod::BplusChargedMCParticleLevelJets, aod::BplusChargedMCParticleLevelJetConstituents>>) {
8180 candPDG = static_cast <int >(pdg::Code::kBPlus );
8281 }
83- if constexpr (std::is_same_v<std::decay_t <JetTableMCP>, soa::Filtered<soa:: Join<aod::LcChargedMCParticleLevelJets, aod::LcChargedMCParticleLevelJetConstituents> >>) {
82+ if constexpr (std::is_same_v<std::decay_t <JetTableMCP>, soa::Join<aod::LcChargedMCParticleLevelJets, aod::LcChargedMCParticleLevelJetConstituents>>) {
8483 candPDG = static_cast <int >(pdg::Code::kLambdaCPlus );
8584 }
8685 }
8786
88- Filter jetSelection = o2::aod::jet::r == nround(jetR.node() * 100 .0f ) && aod::jet::pt >= jetPtMin;
89-
9087 template <typename T>
9188 void jetReclustering (T const & jet)
9289 {
@@ -106,7 +103,7 @@ struct JetSubstructureHFTask {
106103 }
107104 auto z = parentSubJet2.perp () / (parentSubJet1.perp () + parentSubJet2.perp ());
108105 auto theta = parentSubJet1.delta_R (parentSubJet2);
109- if (z >= zCut * TMath::Power (theta / jetR , beta)) {
106+ if (z >= zCut * TMath::Power (theta / (jet. r () / 100 . f ) , beta)) {
110107 if (!softDropped) {
111108 zg = z;
112109 rg = theta;
@@ -167,17 +164,17 @@ struct JetSubstructureHFTask {
167164 }
168165 PROCESS_SWITCH (JetSubstructureHFTask, processChargedJetsHFMCP, " HF jet substructure on MC particle level" , false );
169166};
170- using JetSubstructureD0 = JetSubstructureHFTask<soa::Filtered<soa:: Join<aod::D0ChargedJets, aod::D0ChargedJetConstituents>> , soa::Join<aod::HfCand2Prong, aod::HfSelD0>, soa::Filtered<soa:: Join<aod::D0ChargedMCParticleLevelJets, aod::D0ChargedMCParticleLevelJetConstituents> >, o2::aod::D0ChargedJetSubstructures>;
171- // using MCDetectorLevelJetSubstructureD0 = JetSubstructureHFTask<soa::Filtered<soa:: Join<aod::D0ChargedMCDetectorLevelJets, aod::D0ChargedMCDetectorLevelJetConstituents>> ,soa::Join<aod::HfCand2Prong, aod::HfSelD0, aod::HfCand2ProngMcRec>,soa::Filtered<soa:: Join<aod::D0ChargedMCParticleLevelJets, aod::D0ChargedMCParticleLevelJetConstituents> >,o2::aod::D0ChargedMCDetectorLevelJetSubstructures>;
172- // using MCParticleLevelJetSubstructureD0 = JetSubstructureHFTask<soa::Filtered<soa:: Join<aod::D0ChargedMCDetectorLevelJets, aod::D0ChargedMCDetectorLevelJetConstituents>> ,soa::Join<aod::HfCand2Prong, aod::HfSelD0, aod::HfCand2ProngMcRec>,soa::Filtered<soa:: Join<aod::D0ChargedMCParticleLevelJets, aod::D0ChargedMCParticleLevelJetConstituents> >,o2::aod::D0ChargedMCParticleLevelJetSubstructures>;
167+ using JetSubstructureD0 = JetSubstructureHFTask<soa::Join<aod::D0ChargedJets, aod::D0ChargedJetConstituents>, soa::Join<aod::HfCand2Prong, aod::HfSelD0>, soa::Join<aod::D0ChargedMCParticleLevelJets, aod::D0ChargedMCParticleLevelJetConstituents>, o2::aod::D0ChargedJetSubstructures>;
168+ // using MCDetectorLevelJetSubstructureD0 = JetSubstructureHFTask<soa::Join<aod::D0ChargedMCDetectorLevelJets, aod::D0ChargedMCDetectorLevelJetConstituents>,soa::Join<aod::HfCand2Prong, aod::HfSelD0, aod::HfCand2ProngMcRec>,soa::Join<aod::D0ChargedMCParticleLevelJets, aod::D0ChargedMCParticleLevelJetConstituents>,o2::aod::D0ChargedMCDetectorLevelJetSubstructures>;
169+ // using MCParticleLevelJetSubstructureD0 = JetSubstructureHFTask<soa::Join<aod::D0ChargedMCDetectorLevelJets, aod::D0ChargedMCDetectorLevelJetConstituents>,soa::Join<aod::HfCand2Prong, aod::HfSelD0, aod::HfCand2ProngMcRec>,soa::Join<aod::D0ChargedMCParticleLevelJets, aod::D0ChargedMCParticleLevelJetConstituents>,o2::aod::D0ChargedMCParticleLevelJetSubstructures>;
173170
174- // using JetSubstructureBplus = JetSubstructureHFTask<soa::Filtered<soa:: Join<aod::BplusChargedJets, aod::BplusChargedJetConstituents>> ,soa::Join<aod::HfCandBplus, aod::HfSelBplusToD0Pi>,soa::Filtered<soa:: Join<aod::BplusChargedMCParticleLevelJets, aod::BplusChargedMCParticleLevelJetConstituents> >,o2::aod::BplusChargedJetSubstructures>;
175- // using MCDetectorLevelJetSubstructureBplus = JetSubstructureHFTask<soa::Filtered<soa:: Join<aod::BplusChargedMCDetectorLevelJets, aod::BplusChargedMCDetectorLevelJetConstituents>> ,soa::Join<aod::HfCandBplus, aod::HfSelBplusToD0Pi, aod::HfCandBplusMcRec>,soa::Filtered<soa:: Join<aod::BplusChargedMCParticleLevelJets, aod::BplusChargedMCParticleLevelJetConstituents> >,o2::aod::BplusChargedMCDetectorLevelJetSubstructures>;
176- // using MCParticleLevelJetSubstructureBplus = JetSubstructureHFTask<soa::Filtered<soa:: Join<aod::BplusChargedMCDetectorLevelJets, aod::BplusChargedMCDetectorLevelJetConstituents>> ,soa::Join<aod::HfCandBplus, aod::HfSelBplusToD0Pi, aod::HfCandBplusMcRec>,soa::Filtered<soa:: Join<aod::BplusChargedMCParticleLevelJets, aod::BplusChargedMCParticleLevelJetConstituents> >,o2::aod::BplusChargedMCParticleLevelJetSubstructures>;
171+ // using JetSubstructureBplus = JetSubstructureHFTask<soa::Join<aod::BplusChargedJets, aod::BplusChargedJetConstituents>,soa::Join<aod::HfCandBplus, aod::HfSelBplusToD0Pi>,soa::Join<aod::BplusChargedMCParticleLevelJets, aod::BplusChargedMCParticleLevelJetConstituents>,o2::aod::BplusChargedJetSubstructures>;
172+ // using MCDetectorLevelJetSubstructureBplus = JetSubstructureHFTask<soa::Join<aod::BplusChargedMCDetectorLevelJets, aod::BplusChargedMCDetectorLevelJetConstituents>,soa::Join<aod::HfCandBplus, aod::HfSelBplusToD0Pi, aod::HfCandBplusMcRec>,soa::Join<aod::BplusChargedMCParticleLevelJets, aod::BplusChargedMCParticleLevelJetConstituents>,o2::aod::BplusChargedMCDetectorLevelJetSubstructures>;
173+ // using MCParticleLevelJetSubstructureBplus = JetSubstructureHFTask<soa::Join<aod::BplusChargedMCDetectorLevelJets, aod::BplusChargedMCDetectorLevelJetConstituents>,soa::Join<aod::HfCandBplus, aod::HfSelBplusToD0Pi, aod::HfCandBplusMcRec>,soa::Join<aod::BplusChargedMCParticleLevelJets, aod::BplusChargedMCParticleLevelJetConstituents>,o2::aod::BplusChargedMCParticleLevelJetSubstructures>;
177174
178- using JetSubstructureLc = JetSubstructureHFTask<soa::Filtered<soa:: Join<aod::LcChargedJets, aod::LcChargedJetConstituents>> , soa::Join<aod::HfCand3Prong, aod::HfSelLc>, soa::Filtered<soa:: Join<aod::LcChargedMCParticleLevelJets, aod::LcChargedMCParticleLevelJetConstituents> >, o2::aod::LcChargedJetSubstructures>;
179- // using MCDetectorLevelJetSubstructureLc = JetSubstructureHFTask<soa::Filtered<soa:: Join<aod::LcChargedMCDetectorLevelJets, aod::LcChargedMCDetectorLevelJetConstituents>> ,soa::Join<aod::HfCand3Prong, aod::HfSelLc, aod::HfCand3ProngMcRec>,soa::Filtered<soa:: Join<aod::LcChargedMCParticleLevelJets, aod::LcChargedMCParticleLevelJetConstituents> >,o2::aod::LcChargedMCDetectorLevelJetSubstructures>;
180- // using MCParticleLevelJetSubstructureLc = JetSubstructureHFTask<soa::Filtered<soa:: Join<aod::LcChargedMCDetectorLevelJets, aod::LcChargedMCDetectorLevelJetConstituents>> ,soa::Join<aod::HfCand3Prong, aod::HfSelLc, aod::HfCand3ProngMcRec>,soa::Filtered<soa:: Join<aod::LcChargedMCParticleLevelJets, aod::LcChargedMCParticleLevelJetConstituents> >,o2::aod::LcChargedMCParticleLevelJetSubstructures>;
175+ using JetSubstructureLc = JetSubstructureHFTask<soa::Join<aod::LcChargedJets, aod::LcChargedJetConstituents>, soa::Join<aod::HfCand3Prong, aod::HfSelLc>, soa::Join<aod::LcChargedMCParticleLevelJets, aod::LcChargedMCParticleLevelJetConstituents>, o2::aod::LcChargedJetSubstructures>;
176+ // using MCDetectorLevelJetSubstructureLc = JetSubstructureHFTask<soa::Join<aod::LcChargedMCDetectorLevelJets, aod::LcChargedMCDetectorLevelJetConstituents>,soa::Join<aod::HfCand3Prong, aod::HfSelLc, aod::HfCand3ProngMcRec>,soa::Join<aod::LcChargedMCParticleLevelJets, aod::LcChargedMCParticleLevelJetConstituents>,o2::aod::LcChargedMCDetectorLevelJetSubstructures>;
177+ // using MCParticleLevelJetSubstructureLc = JetSubstructureHFTask<soa::Join<aod::LcChargedMCDetectorLevelJets, aod::LcChargedMCDetectorLevelJetConstituents>,soa::Join<aod::HfCand3Prong, aod::HfSelLc, aod::HfCand3ProngMcRec>,soa::Join<aod::LcChargedMCParticleLevelJets, aod::LcChargedMCParticleLevelJetConstituents>,o2::aod::LcChargedMCParticleLevelJetSubstructures>;
181178
182179WorkflowSpec defineDataProcessing (ConfigContext const & cfgc)
183180{
0 commit comments