Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 17 additions & 1 deletion PWGJE/Tasks/jetFinderQA.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ struct JetFinderQATask {
Configurable<bool> checkMcCollisionIsMatched{"checkMcCollisionIsMatched", false, "0: count whole MCcollisions, 1: select MCcollisions which only have their correspond collisions"};
Configurable<int> trackOccupancyInTimeRangeMax{"trackOccupancyInTimeRangeMax", 999999, "maximum occupancy of tracks in neighbouring collisions in a given time range; only applied to reconstructed collisions (data and mcd jets), not mc collisions (mcp jets)"};
Configurable<int> trackOccupancyInTimeRangeMin{"trackOccupancyInTimeRangeMin", -999999, "minimum occupancy of tracks in neighbouring collisions in a given time range; only applied to reconstructed collisions (data and mcd jets), not mc collisions (mcp jets)"};
Configurable<bool> rejectMbEvents{"rejectMbEvents", false, "flag to choose to reject min. bias events based on weight (MB = 1, weighted = anything else)"};

std::vector<bool> filledJetR_Both;
std::vector<bool> filledJetR_Low;
Expand Down Expand Up @@ -827,6 +828,9 @@ struct JetFinderQATask {
if (!isAcceptedJet<aod::JetTracks>(jet)) {
continue;
}
if (rejectMbEvents && jet.eventWeight() == 1) {
continue;
}
double pTHat = 10. / (std::pow(jet.eventWeight(), 1.0 / pTHatExponent));
for (int N = 1; N < 21; N++) {
if (jet.pt() < N * 0.25 * pTHat && jet.r() == round(selectedJetsRadius * 100.0f)) {
Expand Down Expand Up @@ -865,6 +869,9 @@ struct JetFinderQATask {
if (!isAcceptedJet<aod::JetParticles>(jet)) {
return;
}
if (rejectMbEvents && jet.eventWeight() == 1) {
return;
}
double pTHat = 10. / (std::pow(jet.eventWeight(), 1.0 / pTHatExponent));
for (int N = 1; N < 21; N++) {
if (jet.pt() < N * 0.25 * pTHat && jet.r() == round(selectedJetsRadius * 100.0f)) {
Expand All @@ -873,7 +880,7 @@ struct JetFinderQATask {
}
if (checkMcCollisionIsMatched) {
auto collisionspermcpjet = collisions.sliceBy(CollisionsPerMCPCollision, jet.mcCollisionId());
if (collisionspermcpjet.size() >= 1) {
if (collisionspermcpjet.size() >= 1 && jetderiveddatautilities::selectCollision(collisionspermcpjet.begin(), eventSelection)) {
fillMCPHistograms(jet, jet.eventWeight());
}
} else {
Expand Down Expand Up @@ -917,13 +924,19 @@ struct JetFinderQATask {
if (!isAcceptedJet<aod::JetTracks>(mcdjet)) {
continue;
}
if (rejectMbEvents && mcdjet.eventWeight() == 1) {
continue;
}
fillMatchedHistograms<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents, aod::ChargedMCDetectorLevelJetsMatchedToChargedMCParticleLevelJets, aod::ChargedMCDetectorLevelJetEventWeights>::iterator, soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents, aod::ChargedMCParticleLevelJetsMatchedToChargedMCDetectorLevelJets, aod::ChargedMCParticleLevelJetEventWeights>>(mcdjet, mcdjet.eventWeight());
}
}
PROCESS_SWITCH(JetFinderQATask, processJetsMCPMCDMatchedWeighted, "jet finder QA matched mcp and mcd with weighted events", false);

void processMCCollisionsWeighted(aod::JetMcCollision const& collision)
{
if (rejectMbEvents && collision.weight() == 1) {
return;
}
registry.fill(HIST("h_collision_eventweight_part"), collision.weight());
}
PROCESS_SWITCH(JetFinderQATask, processMCCollisionsWeighted, "collision QA for weighted events", false);
Expand Down Expand Up @@ -1078,6 +1091,9 @@ struct JetFinderQATask {
soa::Filtered<soa::Join<aod::JetTracks, aod::JTrackExtras>> const& tracks)
{
float eventWeight = collision.mcCollision().weight();
if (rejectMbEvents && eventWeight == 1) {
return;
}
registry.fill(HIST("h_collisions"), 0.5);
registry.fill(HIST("h_collisions_weighted"), 0.5, eventWeight);
if (!jetderiveddatautilities::selectCollision(collision, eventSelection)) {
Expand Down
Loading