1414// Authors: Daniel Jones
1515
1616#include < vector>
17+ #include < string>
1718
1819#include " TRandom3.h"
1920
@@ -62,6 +63,7 @@ struct hJetAnalysis {
6263 Configurable<float > pTHatExponent{" pTHatExponent" , 6.0 , " exponent of the event weight for the calculation of pTHat" };
6364 Configurable<float > pTHatMaxMCD{" pTHatMaxMCD" , 999.0 , " maximum fraction of hard scattering for jet acceptance in detector MC" };
6465 Configurable<float > pTHatMaxMCP{" pTHatMaxMCP" , 999.0 , " maximum fraction of hard scattering for jet acceptance in particle MC" };
66+ Configurable<std::string> triggerMasks{" triggerMasks" , " " , " possible JE Trigger masks: fJetChLowPt,fJetChHighPt,fTrackLowPt,fTrackHighPt,fJetD0ChLowPt,fJetD0ChHighPt,fJetLcChLowPt,fJetLcChHighPt,fEMCALReadout,fJetFullHighPt,fJetFullLowPt,fJetNeutralHighPt,fJetNeutralLowPt,fGammaVeryHighPtEMCAL,fGammaVeryHighPtDCAL,fGammaHighPtEMCAL,fGammaHighPtDCAL,fGammaLowPtEMCAL,fGammaLowPtDCAL,fGammaVeryLowPtEMCAL,fGammaVeryLowPtDCAL" };
6567
6668 Preslice<soa::Join<aod::Charged1MCParticleLevelJets, aod::Charged1MCParticleLevelJetConstituents>> PartJetsPerCollision = aod::jet::mcCollisionId;
6769
@@ -123,13 +125,15 @@ struct hJetAnalysis {
123125
124126 int eventSelection = -1 ;
125127 int trackSelection = -1 ;
128+ std::vector<int > triggerMaskBits;
126129
127130 Service<o2::framework::O2DatabasePDG> pdg;
128131
129132 void init (InitContext const &)
130133 {
131134 eventSelection = jetderiveddatautilities::initialiseEventSelection (static_cast <std::string>(eventSelections));
132135 trackSelection = jetderiveddatautilities::initialiseTrackSelection (static_cast <std::string>(trackSelections));
136+ triggerMaskBits = jetderiveddatautilities::initialiseTriggerMaskBits (triggerMasks);
133137
134138 Filter jetCuts = aod::jet::r == nround (jetR.node () * 100 .0f );
135139 Filter trackCuts = (aod::jtrack::pt >= trackPtMin && aod::jtrack::pt < trackPtMax && aod::jtrack::eta > trackEtaMin && aod::jtrack::eta < trackEtaMax);
@@ -430,6 +434,9 @@ struct hJetAnalysis {
430434 if (!jetderiveddatautilities::selectCollision (collision, eventSelection)) {
431435 return ;
432436 }
437+ if (!jetderiveddatautilities::selectTrigger (collision, triggerMaskBits)) {
438+ return ;
439+ }
433440 registry.fill (HIST (" hZvtxSelected" ), collision.posZ ());
434441 fillHistograms (jets, jetsWTA, tracks);
435442 }
@@ -443,6 +450,9 @@ struct hJetAnalysis {
443450 if (!jetderiveddatautilities::selectCollision (collision, eventSelection)) {
444451 return ;
445452 }
453+ if (!jetderiveddatautilities::selectTrigger (collision, triggerMaskBits)) {
454+ return ;
455+ }
446456 registry.fill (HIST (" hZvtxSelected" ), collision.posZ ());
447457 fillHistograms (jets, jetsWTA, tracks);
448458 }
@@ -457,6 +467,9 @@ struct hJetAnalysis {
457467 if (!jetderiveddatautilities::selectCollision (collision, eventSelection)) {
458468 return ;
459469 }
470+ if (!jetderiveddatautilities::selectTrigger (collision, triggerMaskBits)) {
471+ return ;
472+ }
460473 registry.fill (HIST (" hZvtxSelected" ), collision.posZ (), collision.mcCollision ().weight ());
461474 fillHistograms (jets, jetsWTA, tracks, collision.mcCollision ().weight ());
462475 }
@@ -500,6 +513,9 @@ struct hJetAnalysis {
500513 if (!jetderiveddatautilities::selectCollision (collision, eventSelection)) {
501514 return ;
502515 }
516+ if (!jetderiveddatautilities::selectTrigger (collision, triggerMaskBits)) {
517+ return ;
518+ }
503519 registry.fill (HIST (" hZvtxSelected" ), collision.posZ ());
504520 const auto & mcpjetsWTACut = mcpjetsWTA.sliceBy (PartJetsPerCollision, collision.mcCollisionId ());
505521 for (const auto & mcdjet : mcdjets) {
@@ -520,6 +536,9 @@ struct hJetAnalysis {
520536 if (!jetderiveddatautilities::selectCollision (collision, eventSelection)) {
521537 return ;
522538 }
539+ if (!jetderiveddatautilities::selectTrigger (collision, triggerMaskBits)) {
540+ return ;
541+ }
523542 registry.fill (HIST (" hZvtxSelected" ), collision.posZ ());
524543 const auto & mcpjetsWTACut = mcpjetsWTA.sliceBy (PartJetsPerCollision, collision.mcCollisionId ());
525544 for (const auto & mcdjet : mcdjets) {
@@ -540,6 +559,9 @@ struct hJetAnalysis {
540559 if (!jetderiveddatautilities::selectCollision (collision, eventSelection)) {
541560 return ;
542561 }
562+ if (!jetderiveddatautilities::selectTrigger (collision, triggerMaskBits)) {
563+ return ;
564+ }
543565 registry.fill (HIST (" hZvtxSelected" ), collision.posZ ());
544566 const auto & mcpjetsWTACut = mcpjetsWTA.sliceBy (PartJetsPerCollision, collision.mcCollisionId ());
545567 bool ishJetEvent = false ;
@@ -569,6 +591,9 @@ struct hJetAnalysis {
569591 if (!jetderiveddatautilities::selectCollision (collision, eventSelection)) {
570592 return ;
571593 }
594+ if (!jetderiveddatautilities::selectTrigger (collision, triggerMaskBits)) {
595+ return ;
596+ }
572597 registry.fill (HIST (" hZvtxSelected" ), collision.posZ ());
573598 const auto & mcpjetsWTACut = mcpjetsWTA.sliceBy (PartJetsPerCollision, collision.mcCollisionId ());
574599 bool ishJetEvent = false ;
0 commit comments