|
41 | 41 | #include <fastjet/JetDefinition.hh> |
42 | 42 | #include <fastjet/PseudoJet.hh> |
43 | 43 |
|
| 44 | +#include <stdexcept> |
44 | 45 | #include <string> |
45 | 46 | #include <vector> |
46 | 47 |
|
@@ -72,6 +73,8 @@ struct JetFinderHFHFBarTask { |
72 | 73 | o2::framework::Configurable<float> trackEtaMax{"trackEtaMax", 0.9, "maximum track eta"}; |
73 | 74 | o2::framework::Configurable<float> trackPhiMin{"trackPhiMin", -999, "minimum track phi"}; |
74 | 75 | o2::framework::Configurable<float> trackPhiMax{"trackPhiMax", 999, "maximum track phi"}; |
| 76 | + o2::framework::Configurable<float> phiExclusionMin{"phiExclusionMin", 999, "minimum of phi exclusion region which is applied for tracks and for jets (jetR is added to the exclusion region for jets)"}; |
| 77 | + o2::framework::Configurable<float> phiExclusionMax{"phiExclusionMax", -999, "maximum of phi exclusion region which is applied for tracks and for jets (jetR is added to the exclusion region for jets)"}; |
75 | 78 | o2::framework::Configurable<std::string> trackSelections{"trackSelections", "globalTracks", "set track selections"}; |
76 | 79 | o2::framework::Configurable<std::string> particleSelections{"particleSelections", "PhysicalPrimary", "set particle selections"}; |
77 | 80 |
|
@@ -143,6 +146,15 @@ struct JetFinderHFHFBarTask { |
143 | 146 | jetFinder.phiMin = -1.0 * M_PI; |
144 | 147 | jetFinder.phiMax = 2.0 * M_PI; |
145 | 148 | } |
| 149 | + if (phiExclusionMin != 999.0 && phiExclusionMax != 999.0 && phiExclusionMin >= phiExclusionMax) { |
| 150 | + throw std::runtime_error("Invalid phi exclusion range: require phiExclusionMin < phiExclusionMax when both are set."); |
| 151 | + } |
| 152 | + if (phiExclusionMin < 999.0) { |
| 153 | + jetFinder.phiExclusionMin = phiExclusionMin; |
| 154 | + } |
| 155 | + if (phiExclusionMax > -999.0) { |
| 156 | + jetFinder.phiExclusionMax = phiExclusionMax; |
| 157 | + } |
146 | 158 | jetFinder.jetPhiMin = jetPhiMin; |
147 | 159 | jetFinder.jetPhiMax = jetPhiMax; |
148 | 160 | if (jetPhiMin < -98.0) { |
@@ -184,8 +196,8 @@ struct JetFinderHFHFBarTask { |
184 | 196 | o2::aod::EMCALClusterDefinition clusterDefinition = o2::aod::emcalcluster::getClusterDefinitionFromString(clusterDefinitionS.value); |
185 | 197 | o2::framework::expressions::Filter collisionFilter = (nabs(o2::aod::jcollision::posZ) < vertexZCut && o2::aod::jcollision::centFT0M >= centralityMin && o2::aod::jcollision::centFT0M < centralityMax && o2::aod::jcollision::trackOccupancyInTimeRange <= trackOccupancyInTimeRangeMax); |
186 | 198 | o2::framework::expressions::Filter mcCollisionFilter = (nabs(o2::aod::jmccollision::posZ) < vertexZCut); |
187 | | - o2::framework::expressions::Filter trackCuts = (o2::aod::jtrack::pt >= trackPtMin && o2::aod::jtrack::pt < trackPtMax && o2::aod::jtrack::eta >= trackEtaMin && o2::aod::jtrack::eta <= trackEtaMax && o2::aod::jtrack::phi >= trackPhiMin && o2::aod::jtrack::phi <= trackPhiMax); |
188 | | - o2::framework::expressions::Filter partCuts = (o2::aod::jmcparticle::pt >= trackPtMin && o2::aod::jmcparticle::pt < trackPtMax && o2::aod::jmcparticle::eta >= trackEtaMin && o2::aod::jmcparticle::eta <= trackEtaMax && o2::aod::jmcparticle::phi >= trackPhiMin && o2::aod::jmcparticle::phi <= trackPhiMax); |
| 199 | + o2::framework::expressions::Filter trackCuts = (o2::aod::jtrack::pt >= trackPtMin && o2::aod::jtrack::pt < trackPtMax && o2::aod::jtrack::eta >= trackEtaMin && o2::aod::jtrack::eta <= trackEtaMax && o2::aod::jtrack::phi >= trackPhiMin && o2::aod::jtrack::phi <= trackPhiMax && (o2::aod::jtrack::phi <= phiExclusionMin || o2::aod::jtrack::phi >= phiExclusionMax)); |
| 200 | + o2::framework::expressions::Filter partCuts = (o2::aod::jmcparticle::pt >= trackPtMin && o2::aod::jmcparticle::pt < trackPtMax && o2::aod::jmcparticle::eta >= trackEtaMin && o2::aod::jmcparticle::eta <= trackEtaMax && o2::aod::jmcparticle::phi >= trackPhiMin && o2::aod::jmcparticle::phi <= trackPhiMax && (o2::aod::jmcparticle::phi <= phiExclusionMin || o2::aod::jmcparticle::phi >= phiExclusionMax)); |
189 | 201 | o2::framework::expressions::Filter clusterFilter = (o2::aod::jcluster::definition == static_cast<int>(clusterDefinition) && o2::aod::jcluster::eta >= clusterEtaMin && o2::aod::jcluster::eta <= clusterEtaMax && o2::aod::jcluster::phi >= clusterPhiMin && o2::aod::jcluster::phi <= clusterPhiMax && o2::aod::jcluster::energy >= clusterEnergyMin && o2::aod::jcluster::time > clusterTimeMin && o2::aod::jcluster::time < clusterTimeMax && (clusterRejectExotics && o2::aod::jcluster::isExotic != true)); |
190 | 202 | // o2::framework::expressions::Filter candidateCuts = (o2::aod::hfcand::pt >= candPtMin && o2::aod::hfcand::pt < candPtMax && o2::aod::hfcand::y >= candYMin && o2::aod::hfcand::y < candYMax); |
191 | 203 |
|
|
0 commit comments