Skip to content

Commit 5386831

Browse files
authored
Merge branch 'master' into legacyqa
2 parents ada7ac3 + feed6ba commit 5386831

File tree

65 files changed

+2581
-2238
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+2581
-2238
lines changed

Common/DataModel/Multiplicity.h

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,20 @@ namespace o2::aod
1818
{
1919
namespace mult
2020
{
21-
DECLARE_SOA_COLUMN(MultFV0A, multFV0A, float); //!
22-
DECLARE_SOA_COLUMN(MultFV0C, multFV0C, float); //!
23-
DECLARE_SOA_COLUMN(MultFT0A, multFT0A, float); //!
24-
DECLARE_SOA_COLUMN(MultFT0C, multFT0C, float); //!
25-
DECLARE_SOA_COLUMN(MultFDDA, multFDDA, float); //!
26-
DECLARE_SOA_COLUMN(MultFDDC, multFDDC, float); //!
27-
DECLARE_SOA_COLUMN(MultZNA, multZNA, float); //!
28-
DECLARE_SOA_COLUMN(MultZNC, multZNC, float); //!
29-
DECLARE_SOA_COLUMN(MultZEM1, multZEM1, float); //!
30-
DECLARE_SOA_COLUMN(MultZEM2, multZEM2, float); //!
31-
DECLARE_SOA_COLUMN(MultZPA, multZPA, float); //!
32-
DECLARE_SOA_COLUMN(MultZPC, multZPC, float); //!
33-
DECLARE_SOA_DYNAMIC_COLUMN(MultFV0M, multFV0M, //!
21+
DECLARE_SOA_COLUMN(MultFV0A, multFV0A, float); //!
22+
DECLARE_SOA_COLUMN(MultFV0AOuter, multFV0AOuter, float); //!
23+
DECLARE_SOA_COLUMN(MultFV0C, multFV0C, float); //!
24+
DECLARE_SOA_COLUMN(MultFT0A, multFT0A, float); //!
25+
DECLARE_SOA_COLUMN(MultFT0C, multFT0C, float); //!
26+
DECLARE_SOA_COLUMN(MultFDDA, multFDDA, float); //!
27+
DECLARE_SOA_COLUMN(MultFDDC, multFDDC, float); //!
28+
DECLARE_SOA_COLUMN(MultZNA, multZNA, float); //!
29+
DECLARE_SOA_COLUMN(MultZNC, multZNC, float); //!
30+
DECLARE_SOA_COLUMN(MultZEM1, multZEM1, float); //!
31+
DECLARE_SOA_COLUMN(MultZEM2, multZEM2, float); //!
32+
DECLARE_SOA_COLUMN(MultZPA, multZPA, float); //!
33+
DECLARE_SOA_COLUMN(MultZPC, multZPC, float); //!
34+
DECLARE_SOA_DYNAMIC_COLUMN(MultFV0M, multFV0M, //!
3435
[](float multFV0A, float multFV0C) -> float { return multFV0A + multFV0C; });
3536
DECLARE_SOA_DYNAMIC_COLUMN(MultFT0M, multFT0M, //!
3637
[](float multFT0A, float multFT0C) -> float { return multFT0A + multFT0C; });
@@ -95,6 +96,8 @@ DECLARE_SOA_COLUMN(TimeToNeNext, timeToNeNext, float); //!
9596
DECLARE_SOA_TABLE(FV0Mults, "AOD", "FV0MULT", //! Multiplicity with the FV0 detector
9697
mult::MultFV0A, mult::MultFV0C,
9798
mult::MultFV0M<mult::MultFV0A, mult::MultFV0C>);
99+
DECLARE_SOA_TABLE(FV0AOuterMults, "AOD", "FVOAOUTERMULT", //! FV0 without innermost ring
100+
mult::MultFV0AOuter);
98101
DECLARE_SOA_TABLE(FT0Mults, "AOD", "FT0MULT", //! Multiplicity with the FT0 detector
99102
mult::MultFT0A, mult::MultFT0C,
100103
mult::MultFT0M<mult::MultFT0A, mult::MultFT0C>);

Common/LegacyDataQA/otfv0qa.cxx

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,6 @@
88
// In applying this license CERN does not waive the privileges and immunities
99
// granted to it by virtue of its status as an Intergovernmental Organization
1010
// or submit itself to any jurisdiction.
11-
//
12-
// This code calculates output histograms for centrality calibration
13-
// as well as vertex-Z dependencies of raw variables (either for calibration
14-
// of vtx-Z dependencies or for the calibration of those).
15-
//
16-
// This task is not strictly necessary in a typical analysis workflow,
17-
// except for centrality calibration! The necessary task is the multiplicity
18-
// tables.
19-
//
20-
// Comments, suggestions, questions? Please write to:
21-
22-
23-
//
2411

2512
#include "Framework/runDataProcessing.h"
2613
#include "Framework/AnalysisTask.h"
@@ -44,7 +31,7 @@ struct OTFV0Qa {
4431
ConfigurableAxis axisNCandidates{"axisNCandidates", {500, 0, 500}, "Number of OTF v0s"};
4532
ConfigurableAxis axisPosition{"axisPosition", {1000, -100, 100}, "position (cm)"};
4633
ConfigurableAxis axisMass{"axisMass", {100, 0.0f, 1.0f}, "Mass (GeV/c2)"};
47-
34+
4835
void init(InitContext&)
4936
{
5037
const AxisSpec axisPVz{30, -15, 15, "Primary vertex Z (cm)"};
@@ -63,6 +50,7 @@ struct OTFV0Qa {
6350
for (auto const& v0 : v0s) {
6451
histos.fill(HIST("hGammaMass"), v0.mass());
6552
if(v0.mass()<maxGammaMassForXYplot){
53+
if (v0.mass() < maxGammaMassForXYplot) {
6654
histos.fill(HIST("h2dPosition"), v0.x(), v0.y());
6755
}
6856
}

Common/TableProducer/multiplicityTable.cxx

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ static const int defaultParameters[nTables][nParameters]{{-1}, {-1}, {-1}, {-1},
7979
struct MultiplicityTable {
8080
SliceCache cache;
8181
Produces<aod::FV0Mults> tableFV0; // 0
82+
Produces<aod::FV0AOuterMults> tableFV0AOuter; // 0-bis (produced with FV0)
8283
Produces<aod::FT0Mults> tableFT0; // 1
8384
Produces<aod::FDDMults> tableFDD; // 2
8485
Produces<aod::ZDCMults> tableZDC; // 3
@@ -321,6 +322,7 @@ struct MultiplicityTable {
321322
switch (i) {
322323
case kFV0Mults: // FV0
323324
tableFV0.reserve(collisions.size());
325+
tableFV0AOuter.reserve(collisions.size());
324326
break;
325327
case kFT0Mults: // FT0
326328
tableFT0.reserve(collisions.size());
@@ -368,6 +370,7 @@ struct MultiplicityTable {
368370

369371
// Initializing multiplicity values
370372
float multFV0A = 0.f;
373+
float multFV0AOuter = 0.f;
371374
float multFV0C = 0.f;
372375
float multFT0A = 0.f;
373376
float multFT0C = 0.f;
@@ -443,18 +446,25 @@ struct MultiplicityTable {
443446
case kFV0Mults: // FV0
444447
{
445448
multFV0A = 0.f;
449+
multFV0AOuter = 0.f;
446450
multFV0C = 0.f;
447451
// using FV0 row index from event selection task
448452
if (collision.has_foundFV0()) {
449453
const auto& fv0 = collision.foundFV0();
450-
for (auto amplitude : fv0.amplitude()) {
454+
for (size_t ii = 0; ii < fv0.amplitude().size(); ii++) {
455+
auto amplitude = fv0.amplitude()[ii];
456+
auto channel = fv0.channel()[ii];
451457
multFV0A += amplitude;
458+
if (channel > 7) {
459+
multFV0AOuter += amplitude;
460+
}
452461
}
453462
} else {
454463
multFV0A = -999.f;
455464
multFV0C = -999.f;
456465
}
457466
tableFV0(multFV0A, multFV0C);
467+
tableFV0AOuter(multFV0AOuter);
458468
LOGF(debug, "multFV0A=%5.0f multFV0C=%5.0f", multFV0A, multFV0C);
459469
} break;
460470
case kFT0Mults: // FT0

Common/Tasks/centralityStudy.cxx

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ struct centralityStudy {
9292
ConfigurableAxis axisMultFDDC{"axisMultFDDC", {1000, 0, 100000}, "FDDC amplitude"};
9393
ConfigurableAxis axisMultPVContributors{"axisMultPVContributors", {200, 0, 6000}, "Number of PV Contributors"};
9494
ConfigurableAxis axisMultGlobalTracks{"axisMultGlobalTracks", {500, 0, 5000}, "Number of global tracks"};
95+
ConfigurableAxis axisMultMFTTracks{"axisMultMFTTracks", {500, 0, 5000}, "Number of MFT tracks"};
9596

9697
ConfigurableAxis axisTrackOccupancy{"axisTrackOccupancy", {50, 0, 5000}, "Track occupancy"};
9798
ConfigurableAxis axisFT0COccupancy{"axisFT0COccupancy", {50, 0, 80000}, "FT0C occupancy"};
@@ -102,6 +103,7 @@ struct centralityStudy {
102103
ConfigurableAxis axisMultUltraFineFT0C{"axisMultUltraFineFT0C", {60000, 0, 60000}, "FT0C amplitude"};
103104
ConfigurableAxis axisMultUltraFinePVContributors{"axisMultUltraFinePVContributors", {10000, 0, 10000}, "Number of PV Contributors"};
104105
ConfigurableAxis axisMultUltraFineGlobalTracks{"axisMultUltraFineGlobalTracks", {5000, 0, 5000}, "Number of global tracks"};
106+
ConfigurableAxis axisMultUltraFineMFTTracks{"axisMultUltraFineMFTTracks", {5000, 0, 5000}, "Number of MFT tracks"};
105107

106108
ConfigurableAxis axisMultITSOnly{"axisMultITSOnly", {200, 0, 6000}, "Number of ITS only tracks"};
107109
ConfigurableAxis axisMultITSTPC{"axisMultITSTPC", {200, 0, 6000}, "Number of ITSTPC matched tracks"};
@@ -139,12 +141,14 @@ struct centralityStudy {
139141
histos.add("hFT0M_Collisions", "hFT0M_Collisions", kTH1D, {axisMultUltraFineFT0M});
140142
histos.add("hFV0A_Collisions", "hFV0A_Collisions", kTH1D, {axisMultUltraFineFV0A});
141143
histos.add("hNGlobalTracks", "hNGlobalTracks", kTH1D, {axisMultUltraFineGlobalTracks});
144+
histos.add("hNMFTTracks", "hNMFTTracks", kTH1D, {axisMultUltraFineMFTTracks});
142145
histos.add("hNPVContributors", "hNPVContributors", kTH1D, {axisMultUltraFinePVContributors});
143146

144147
histos.add("hFT0CvsPVz_Collisions_All", "hFT0CvsPVz_Collisions_All", kTProfile, {axisPVz});
145148
histos.add("hFT0CvsPVz_Collisions", "hFT0CvsPVz_Collisions", kTProfile, {axisPVz});
146149
histos.add("hFV0AvsPVz_Collisions", "hFV0AvsPVz_Collisions", kTProfile, {axisPVz});
147150
histos.add("hNGlobalTracksvsPVz_Collisions", "hNGlobalTracksvsPVz_Collisions", kTProfile, {axisPVz});
151+
histos.add("hNMFTTracksvsPVz_Collisions", "hNMFTTracksvsPVz_Collisions", kTProfile, {axisPVz});
148152
}
149153

150154
if (doprocessBCs) {
@@ -179,6 +183,7 @@ struct centralityStudy {
179183
histos.add("hNGlobalTracksVsFDDC", "hNGlobalTracksVsFDDC", kTH2F, {axisMultFDDC, axisMultGlobalTracks});
180184
histos.add("hNGlobalTracksVsZNA", "hNGlobalTracksVsZNA", kTH2F, {axisZN, axisMultGlobalTracks});
181185
histos.add("hNGlobalTracksVsZNC", "hNGlobalTracksVsZNC", kTH2F, {axisZN, axisMultGlobalTracks});
186+
histos.add("hNGlobalTracksVsNMFTTracks", "hNGlobalTracksVsNMFTTracks", kTH2F, {axisMultMFTTracks, axisMultGlobalTracks});
182187
}
183188

184189
if (doOccupancyStudyVsRawValues2d) {
@@ -202,6 +207,7 @@ struct centralityStudy {
202207
histos.add("hNITSTPCTracksVsCentrality", "hNITSTPCTracksVsCentrality", kTH2F, {axisCentrality, axisMultPVContributors});
203208
histos.add("hNITSOnlyTracksVsCentrality", "hNITSOnlyTracksVsCentrality", kTH2F, {axisCentrality, axisMultPVContributors});
204209
histos.add("hNGlobalTracksVsCentrality", "hNGlobalTracksVsCentrality", kTH2F, {axisCentrality, axisMultPVContributors});
210+
histos.add("hNMFTVsCentrality", "hNMFTVsCentrality", kTH2F, {axisCentrality, axisMultMFTTracks});
205211
histos.add("hPVChi2VsCentrality", "hPVChi2VsCentrality", kTH2F, {axisCentrality, axisPVChi2});
206212
histos.add("hDeltaTimeVsCentrality", "hDeltaTimeVsCentrality", kTH2F, {axisCentrality, axisDeltaTime});
207213

@@ -324,9 +330,11 @@ struct centralityStudy {
324330
histos.fill(HIST("hFT0M_Collisions"), (collision.multFT0A() + collision.multFT0C()) * scaleSignalFT0M);
325331
histos.fill(HIST("hFV0A_Collisions"), collision.multFV0A() * scaleSignalFV0A);
326332
histos.fill(HIST("hNGlobalTracks"), collision.multNTracksGlobal());
333+
histos.fill(HIST("hNMFTTracks"), collision.mftNtracks());
327334
histos.fill(HIST("hFT0CvsPVz_Collisions_All"), collision.multPVz(), collision.multFT0C() * scaleSignalFT0C);
328335
histos.fill(HIST("hFV0AvsPVz_Collisions"), collision.multPVz(), collision.multFV0A() * scaleSignalFV0A);
329336
histos.fill(HIST("hNGlobalTracksvsPVz_Collisions"), collision.multPVz(), collision.multNTracksGlobal());
337+
histos.fill(HIST("hNMFTTracksvsPVz_Collisions"), collision.multPVz(), collision.mftNtracks());
330338
if (collision.multFT0C() > minFT0CforVertexZ) {
331339
histos.fill(HIST("hFT0CvsPVz_Collisions"), collision.multPVz(), collision.multFT0C() * scaleSignalFT0C);
332340
}
@@ -364,6 +372,7 @@ struct centralityStudy {
364372
histos.fill(HIST("hNGlobalTracksVsFDDC"), collision.multFDDC(), collision.multNTracksGlobal());
365373
histos.fill(HIST("hNGlobalTracksVsZNA"), collision.multZNA(), collision.multNTracksGlobal());
366374
histos.fill(HIST("hNGlobalTracksVsZNC"), collision.multZNC(), collision.multNTracksGlobal());
375+
histos.fill(HIST("hNMFTTracksVsZNC"), collision.mftNtracks(), collision.multNTracksGlobal());
367376
}
368377

369378
// if the table has centrality information
@@ -374,6 +383,7 @@ struct centralityStudy {
374383
histos.fill(HIST("hNITSTPCTracksVsCentrality"), collision.centFT0C(), collision.multNTracksITSTPC());
375384
histos.fill(HIST("hNITSOnlyTracksVsCentrality"), collision.centFT0C(), collision.multNTracksITSOnly());
376385
histos.fill(HIST("hNGlobalTracksVsCentrality"), collision.centFT0C(), collision.multNTracksGlobal());
386+
histos.fill(HIST("hNMFTTracksVsCentrality"), collision.centFT0C(), collision.mftNtracks());
377387
histos.fill(HIST("hPVChi2VsCentrality"), collision.centFT0C(), collision.multPVChi2());
378388

379389
if (doOccupancyStudyVsCentrality2d) {
@@ -392,22 +402,22 @@ struct centralityStudy {
392402
}
393403
}
394404

395-
void processCollisions(soa::Join<aod::Mults, aod::MultsExtra, aod::MultsGlobal, aod::MultSelections>::iterator const& collision)
405+
void processCollisions(soa::Join<aod::Mults, aod::MFTMults, aod::MultsExtra, aod::MultsGlobal, aod::MultSelections>::iterator const& collision)
396406
{
397407
genericProcessCollision(collision);
398408
}
399409

400-
void processCollisionsWithCentrality(soa::Join<aod::Mults, aod::MultsExtra, aod::MultSelections, aod::CentFT0Cs, aod::MultsGlobal>::iterator const& collision)
410+
void processCollisionsWithCentrality(soa::Join<aod::Mults, aod::MFTMults, aod::MultsExtra, aod::MultSelections, aod::CentFT0Cs, aod::MultsGlobal>::iterator const& collision)
401411
{
402412
genericProcessCollision(collision);
403413
}
404414

405-
void processCollisionsWithCentralityWithNeighbours(soa::Join<aod::Mults, aod::MultsExtra, aod::MultSelections, aod::CentFT0Cs, aod::MultsGlobal, aod::MultNeighs>::iterator const& collision)
415+
void processCollisionsWithCentralityWithNeighbours(soa::Join<aod::Mults, aod::MFTMults, aod::MultsExtra, aod::MultSelections, aod::CentFT0Cs, aod::MultsGlobal, aod::MultNeighs>::iterator const& collision)
406416
{
407417
genericProcessCollision(collision);
408418
}
409419

410-
void processBCs(soa::Join<aod::BC2Mults, aod::MultBCs>::iterator const& multbc, soa::Join<aod::Mults, aod::MultsExtra, aod::MultSelections, aod::CentFT0Cs, aod::MultsGlobal> const&)
420+
void processBCs(soa::Join<aod::BC2Mults, aod::MultBCs>::iterator const& multbc, soa::Join<aod::Mults, aod::MFTMults, aod::MultsExtra, aod::MultSelections, aod::CentFT0Cs, aod::MultsGlobal> const&)
411421
{
412422
// process BCs, calculate FT0C distribution
413423
// conditionals suggested by FIT team (Jacek O. et al)
@@ -462,7 +472,7 @@ struct centralityStudy {
462472
}
463473

464474
if (multbc.has_ft0Mult()) {
465-
auto multco = multbc.ft0Mult_as<soa::Join<aod::Mults, aod::MultsExtra, aod::MultSelections, aod::CentFT0Cs, aod::MultsGlobal>>();
475+
auto multco = multbc.ft0Mult_as<soa::Join<aod::Mults, aod::MFTMults, aod::MultsExtra, aod::MultSelections, aod::CentFT0Cs, aod::MultsGlobal>>();
466476
if (multbc.multFT0PosZValid()) {
467477
histos.fill(HIST("hVertexZ_BCvsCO"), multco.multPVz(), multbc.multFT0PosZ());
468478
}

0 commit comments

Comments
 (0)