@@ -69,6 +69,7 @@ struct JetSpectraCharged {
6969 Configurable<float > pTHatMaxMCD{" pTHatMaxMCD" , 999.0 , " maximum fraction of hard scattering for jet acceptance in detector MC" };
7070 Configurable<float > pTHatMaxMCP{" pTHatMaxMCP" , 999.0 , " maximum fraction of hard scattering for jet acceptance in particle MC" };
7171 Configurable<float > pTHatExponent{" pTHatExponent" , 6.0 , " exponent of the event weight for the calculation of pTHat" };
72+ Configurable<float > pTHatAbsoluteMin{" pTHatAbsoluteMin" , -99.0 , " minimum value of pTHat" };
7273 Configurable<double > jetPtMax{" jetPtMax" , 200 ., " set jet pT bin max" };
7374 Configurable<float > jetEtaMin{" jetEtaMin" , -0.7 , " minimum jet pseudorapidity" };
7475 Configurable<float > jetEtaMax{" jetEtaMax" , 0.7 , " maximum jet pseudorapidity" };
@@ -293,6 +294,10 @@ struct JetSpectraCharged {
293294 template <typename TJets>
294295 void fillJetHistograms (TJets const & jet, float centrality, float weight = 1.0 )
295296 {
297+ float pTHat = 10 . / (std::pow (weight, 1.0 / pTHatExponent));
298+ if (jet.pt () > pTHatMaxMCD * pTHat || pTHat < pTHatAbsoluteMin) {
299+ return ;
300+ }
296301 if (jet.r () == round (selectedJetsRadius * 100 .0f )) {
297302 registry.fill (HIST (" h_jet_pt" ), jet.pt (), weight);
298303 registry.fill (HIST (" h_jet_eta" ), jet.eta (), weight);
@@ -313,6 +318,10 @@ struct JetSpectraCharged {
313318 template <typename TJets>
314319 void fillJetAreaSubHistograms (TJets const & jet, float centrality, float rho, float weight = 1.0 )
315320 {
321+ float pTHat = 10 . / (std::pow (weight, 1.0 / pTHatExponent));
322+ if (jet.pt () > pTHatMaxMCD * pTHat || pTHat < pTHatAbsoluteMin) {
323+ return ;
324+ }
316325 double jetcorrpt = jet.pt () - (rho * jet.area ());
317326 if (jet.r () == round (selectedJetsRadius * 100 .0f )) {
318327 // fill jet histograms after area-based subtraction
@@ -338,6 +347,10 @@ struct JetSpectraCharged {
338347 template <typename TJets>
339348 void fillMCPHistograms (TJets const & jet, float weight = 1.0 )
340349 {
350+ float pTHat = 10 . / (std::pow (weight, 1.0 / pTHatExponent));
351+ if (jet.pt () > pTHatMaxMCP * pTHat || pTHat < pTHatAbsoluteMin) {
352+ return ;
353+ }
341354 if (jet.r () == round (selectedJetsRadius * 100 .0f )) {
342355 // fill mcp jet histograms
343356 registry.fill (HIST (" h_jet_pt_part" ), jet.pt (), weight);
@@ -356,6 +369,10 @@ struct JetSpectraCharged {
356369 template <typename TJets>
357370 void fillMCPAreaSubHistograms (TJets const & jet, float rho = 0.0 , float weight = 1.0 )
358371 {
372+ float pTHat = 10 . / (std::pow (weight, 1.0 / pTHatExponent));
373+ if (jet.pt () > pTHatMaxMCP * pTHat || pTHat < pTHatAbsoluteMin) {
374+ return ;
375+ }
359376 if (jet.r () == round (selectedJetsRadius * 100 .0f )) {
360377 // fill mcp jet histograms
361378 double jetcorrpt = jet.pt () - (rho * jet.area ());
@@ -373,6 +390,10 @@ struct JetSpectraCharged {
373390 template <typename TJets>
374391 void fillEventWiseConstituentSubtractedHistograms (TJets const & jet, float centrality, float weight = 1.0 )
375392 {
393+ float pTHat = 10 . / (std::pow (weight, 1.0 / pTHatExponent));
394+ if (jet.pt () > pTHatMaxMCD * pTHat || pTHat < pTHatAbsoluteMin) {
395+ return ;
396+ }
376397 if (jet.r () == round (selectedJetsRadius * 100 .0f )) {
377398 registry.fill (HIST (" h2_centrality_jet_pt_eventwiseconstituentsubtracted" ), centrality, jet.pt (), weight);
378399 registry.fill (HIST (" jet_observables_eventwiseconstituentsubtracted" ), jet.pt (), jet.eta (), jet.phi (), weight);
@@ -390,14 +411,14 @@ struct JetSpectraCharged {
390411 void fillMatchedHistograms (TBase const & jetMCD, float weight = 1.0 )
391412 {
392413 float pTHat = 10 . / (std::pow (weight, 1.0 / pTHatExponent));
393- if (jetMCD.pt () > pTHatMaxMCD * pTHat) {
414+ if (jetMCD.pt () > pTHatMaxMCD * pTHat || pTHat < pTHatAbsoluteMin ) {
394415 return ;
395416 }
396417 // fill geometry matched histograms
397418 if (checkGeoMatched) {
398419 if (jetMCD.has_matchedJetGeo ()) {
399420 for (const auto & jetMCP : jetMCD.template matchedJetGeo_as <std::decay_t <TTag>>()) {
400- if (jetMCP.pt () > pTHatMaxMCP * pTHat) {
421+ if (jetMCP.pt () > pTHatMaxMCP * pTHat || pTHat < pTHatAbsoluteMin ) {
401422 continue ;
402423 }
403424 if (jetMCD.r () == round (selectedJetsRadius * 100 .0f )) {
0 commit comments