|
17 | 17 |
|
18 | 18 | #include "Common/CCDB/EventSelectionParams.h" |
19 | 19 | #include "Common/Core/RecoDecay.h" |
| 20 | +#include "Common/DataModel/CollisionAssociationTables.h" |
20 | 21 | #include "Common/DataModel/EventSelection.h" |
21 | 22 | #include "Common/DataModel/Multiplicity.h" |
22 | 23 | #include "Common/DataModel/TrackSelectionTables.h" |
|
25 | 26 | #include <CCDB/CcdbApi.h> |
26 | 27 | #include <CommonConstants/MathConstants.h> |
27 | 28 | #include <DataFormatsParameters/GRPMagField.h> |
28 | | -#include <DetectorsCommonDataFormats/AlignParam.h> |
29 | | -#include <FT0Base/Geometry.h> |
30 | | -#include <FV0Base/Geometry.h> |
31 | 29 | #include <Framework/ASoAHelpers.h> |
32 | 30 | #include <Framework/AnalysisDataModel.h> |
33 | 31 | #include <Framework/AnalysisHelpers.h> |
|
62 | 60 | #include <vector> |
63 | 61 |
|
64 | 62 | using namespace o2; |
65 | | -using namespace o2::analysis; |
66 | 63 | using namespace o2::aod::track; |
67 | 64 | using namespace o2::constants::math; |
68 | 65 | using namespace o2::framework; |
@@ -96,6 +93,16 @@ enum MftTrackSelectionStep { |
96 | 93 | NMftTrackSelectionSteps |
97 | 94 | }; |
98 | 95 |
|
| 96 | +enum MultiplicityEstimators { |
| 97 | + MultNTracksPV = 0, |
| 98 | + MultNumContrib, |
| 99 | + MultFT0C, |
| 100 | + MultFT0M |
| 101 | +}; |
| 102 | + |
| 103 | +static constexpr std::string_view WhatDataType[] = {"Data/", "MC/"}; |
| 104 | +static constexpr std::string_view WhatMultiplicityEstimator[] = {"multNTracksPV", "multNumContrib", "multFT0C", "multFT0M"}; |
| 105 | + |
99 | 106 | static constexpr TrackSelectionFlags::flagtype TrackSelectionIts = |
100 | 107 | TrackSelectionFlags::kITSNCls | TrackSelectionFlags::kITSChi2NDF | |
101 | 108 | TrackSelectionFlags::kITSHits; |
@@ -192,12 +199,11 @@ struct MftReassociationValidation { |
192 | 199 | // ========================= |
193 | 200 |
|
194 | 201 | using FilteredCollisionsWSelMult = soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::Mults>>; |
195 | | - using FilteredTracksWDcaSel = soa::Filtered<soa::Join<aod::TracksWDca, aod::TrackSelection, aod::TracksExtra>>; |
196 | 202 | using FilteredMftTracks = soa::Filtered<aod::MFTTracks>; |
197 | 203 | using FilteredMftTracksWColls = soa::Filtered<soa::Join<aod::MFTTracks, aod::MFTTrkCompColls>>; |
198 | 204 | using FilteredMftTracksWCollsMcLabels = soa::Filtered<soa::Join<aod::MFTTracks, aod::MFTTrkCompColls, aod::McMFTTrackLabels>>; |
199 | | - using MftReasso2dTracksWCollsMcLabels = soa::Join < aod::MFTTracks, aod::BestCollisionsFwd, aod::McMFTTrackLabels >> ; |
200 | | - using MftReasso3dTracksWCollsMcLabels = soa::Join < aod::MFTTracks, aod::BestCollisionsFwd3d, aod::McMFTTrackLabels >> ; |
| 205 | + using MftReasso2dTracksWCollsMcLabels = soa::Join<aod::MFTTracks, aod::BestCollisionsFwd, aod::McMFTTrackLabels>; |
| 206 | + using MftReasso3dTracksWCollsMcLabels = soa::Join<aod::MFTTracks, aod::BestCollisionsFwd3d, aod::McMFTTrackLabels>; |
201 | 207 |
|
202 | 208 | // ========================= |
203 | 209 | // Filters & partitions : DATA |
@@ -234,7 +240,6 @@ struct MftReassociationValidation { |
234 | 240 | // ========================= |
235 | 241 |
|
236 | 242 | Preslice<FilteredMftTracks> perColMftTracks = o2::aod::fwdtrack::collisionId; |
237 | | - Preslice<FilteredTracksWDcaSel> perColTracks = aod::track::collisionId; |
238 | 243 |
|
239 | 244 | struct : ConfigurableGroup { |
240 | 245 | std::string prefix = "ConfigAxis_group"; |
@@ -347,23 +352,23 @@ struct MftReassociationValidation { |
347 | 352 | // Quality assessment functions |
348 | 353 | // ========================= |
349 | 354 |
|
350 | | - template <DataType DataType, CorrelationCase CorrelationCase, CorrelatedParticles CorrelatedParticles> |
351 | | - void fillTriggerQa(float multiplicity, float const& eta, float const& phi, float const& pt) |
352 | | - { |
353 | | - registry.fill(HIST(WhatDataType[DataType]) + HIST(WhatCorrelationCase[CorrelationCase]) + HIST(WhatParticles[CorrelatedParticles]) + HIST("hPtTrigger"), pt); |
354 | | - registry.fill(HIST(WhatDataType[DataType]) + HIST(WhatCorrelationCase[CorrelationCase]) + HIST(WhatParticles[CorrelatedParticles]) + HIST("hEtaTrigger"), eta); |
355 | | - registry.fill(HIST(WhatDataType[DataType]) + HIST(WhatCorrelationCase[CorrelationCase]) + HIST(WhatParticles[CorrelatedParticles]) + HIST("hPhiTrigger"), phi); |
356 | | - registry.fill(HIST(WhatDataType[DataType]) + HIST(WhatCorrelationCase[CorrelationCase]) + HIST(WhatParticles[CorrelatedParticles]) + HIST("hYieldsTrigger"), multiplicity, pt, eta); |
357 | | - registry.fill(HIST(WhatDataType[DataType]) + HIST(WhatCorrelationCase[CorrelationCase]) + HIST(WhatParticles[CorrelatedParticles]) + HIST("hEtaPhiTrigger"), multiplicity, eta, phi); |
358 | | - } |
| 355 | + // template <DataType DataType, CorrelationCase CorrelationCase, CorrelatedParticles CorrelatedParticles> |
| 356 | + // void fillTriggerQa(float multiplicity, float const& eta, float const& phi, float const& pt) |
| 357 | + // { |
| 358 | + // registry.fill(HIST(WhatDataType[DataType]) + HIST(WhatCorrelationCase[CorrelationCase]) + HIST(WhatParticles[CorrelatedParticles]) + HIST("hPtTrigger"), pt); |
| 359 | + // registry.fill(HIST(WhatDataType[DataType]) + HIST(WhatCorrelationCase[CorrelationCase]) + HIST(WhatParticles[CorrelatedParticles]) + HIST("hEtaTrigger"), eta); |
| 360 | + // registry.fill(HIST(WhatDataType[DataType]) + HIST(WhatCorrelationCase[CorrelationCase]) + HIST(WhatParticles[CorrelatedParticles]) + HIST("hPhiTrigger"), phi); |
| 361 | + // registry.fill(HIST(WhatDataType[DataType]) + HIST(WhatCorrelationCase[CorrelationCase]) + HIST(WhatParticles[CorrelatedParticles]) + HIST("hYieldsTrigger"), multiplicity, pt, eta); |
| 362 | + // registry.fill(HIST(WhatDataType[DataType]) + HIST(WhatCorrelationCase[CorrelationCase]) + HIST(WhatParticles[CorrelatedParticles]) + HIST("hEtaPhiTrigger"), multiplicity, eta, phi); |
| 363 | + // } |
359 | 364 |
|
360 | | - template <DataType DataType, CorrelationCase CorrelationCase, CorrelatedParticles CorrelatedParticles> |
361 | | - void fillAssociatedQa(float multiplicity, float const& eta, float const& phi) |
362 | | - { |
363 | | - registry.fill(HIST(WhatDataType[DataType]) + HIST(WhatCorrelationCase[CorrelationCase]) + HIST(WhatParticles[CorrelatedParticles]) + HIST("hEtaAssociated"), eta); |
364 | | - registry.fill(HIST(WhatDataType[DataType]) + HIST(WhatCorrelationCase[CorrelationCase]) + HIST(WhatParticles[CorrelatedParticles]) + HIST("hPhiAssociated"), phi); |
365 | | - registry.fill(HIST(WhatDataType[DataType]) + HIST(WhatCorrelationCase[CorrelationCase]) + HIST(WhatParticles[CorrelatedParticles]) + HIST("hEtaPhiAssociated"), multiplicity, eta, phi); |
366 | | - } |
| 365 | + // template <DataType DataType, CorrelationCase CorrelationCase, CorrelatedParticles CorrelatedParticles> |
| 366 | + // void fillAssociatedQa(float multiplicity, float const& eta, float const& phi) |
| 367 | + // { |
| 368 | + // registry.fill(HIST(WhatDataType[DataType]) + HIST(WhatCorrelationCase[CorrelationCase]) + HIST(WhatParticles[CorrelatedParticles]) + HIST("hEtaAssociated"), eta); |
| 369 | + // registry.fill(HIST(WhatDataType[DataType]) + HIST(WhatCorrelationCase[CorrelationCase]) + HIST(WhatParticles[CorrelatedParticles]) + HIST("hPhiAssociated"), phi); |
| 370 | + // registry.fill(HIST(WhatDataType[DataType]) + HIST(WhatCorrelationCase[CorrelationCase]) + HIST(WhatParticles[CorrelatedParticles]) + HIST("hEtaPhiAssociated"), multiplicity, eta, phi); |
| 371 | + // } |
367 | 372 |
|
368 | 373 | // ========================= |
369 | 374 | // Helper functions |
@@ -532,14 +537,14 @@ struct MftReassociationValidation { |
532 | 537 | return; |
533 | 538 | } |
534 | 539 |
|
535 | | - const auto multiplicity = getMultiplicityEstimator(collision, true); |
| 540 | + // const auto multiplicity = getMultiplicityEstimator(collision, true); |
536 | 541 |
|
537 | 542 | for (const auto& reassociated2dMftTrack : reassociated2dMftTracks) { |
538 | 543 |
|
539 | 544 | registry.fill(HIST("Data/Mft/hAmbiguityOfMftTracks"), MftTrackAmbiguityStep::AllMftTracks); |
540 | 545 | auto templatedMftTrack = reassociated2dMftTrack.template mfttrack_as<FilteredMftTracks>(); |
541 | 546 |
|
542 | | - if (!isAcceptedMftTrack(reassociated2dMftTrack, false)) { |
| 547 | + if (!isAcceptedMftTrack(templatedMftTrack, false)) { |
543 | 548 | continue; |
544 | 549 | } |
545 | 550 |
|
|
0 commit comments