Skip to content

Commit 45e4f23

Browse files
committed
[PWGCF] Extend femtoPairV0V0 task for Lambda–AntiLambda analyses
1 parent cc50bb6 commit 45e4f23

File tree

1 file changed

+3
-76
lines changed

1 file changed

+3
-76
lines changed

PWGCF/FemtoWorld/Tasks/femtoPairLambdaAntilambda.cxx

Lines changed: 3 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,7 @@
1212
/// \file FemtoPairLambdaAntilambda.cxx
1313
/// \brief Tasks that computes correlation between two v0s
1414
/// \author Anton Riedel, TU München, anton.riedel@cern.ch
15-
16-
17-
// WORKFLOW -----------------------------------------------------------------------------------------------------------------
18-
19-
// start analysis ->
20-
// init() ->
21-
// loop over events ->
22-
// processSameEvent() ->
23-
// build pairs ->
24-
// fill histograms ->
25-
// optional mixing ->
26-
// output ROOT
27-
28-
29-
// 00. IMPORT WYKORZYSTYWANYCH MODUŁÓW --------------------------------------------------------------------------------------
15+
/// \author Barbara Gawlik, WUT Warsaw, barbara.maria.gawlik@cern.ch
3016

3117
#include "PWGCF/Femto/Core/closePairRejection.h"
3218
#include "PWGCF/Femto/Core/collisionBuilder.h"
@@ -57,12 +43,8 @@
5743

5844
using namespace o2::analysis::femto;
5945

60-
6146
struct FemtoPairLambdaAntilambda {
6247

63-
64-
// 01. DEFINICJA TABEL DANYCH ---------------------------------------------------------------------------------------
65-
6648
// setup tables
6749
using FemtoCollisions = o2::soa::Join<o2::aod::FCols, o2::aod::FColMasks>;
6850
using FilteredFemtoCollisions = o2::soa::Filtered<FemtoCollisions>;
@@ -82,9 +64,6 @@ struct FemtoPairLambdaAntilambda {
8264

8365
o2::framework::SliceCache cache;
8466

85-
86-
// 02. KONFIGURACJA SELEKCJI ZDARZEŃ I CÓREK, ORAZ HISTOGRAMÓW -----------------------------------------------------
87-
8867
// setup collisions
8968
collisionbuilder::ConfCollisionSelection collisionSelection;
9069
o2::framework::expressions::Filter collisionFilter = MAKE_COLLISION_FILTER(collisionSelection);
@@ -94,30 +73,18 @@ struct FemtoPairLambdaAntilambda {
9473
trackhistmanager::ConfV0PosDauBinning confPosDauBinning;
9574
trackhistmanager::ConfV0NegDauBinning confNegDauBinning;
9675

97-
98-
// 03. KONFIGURACJA SELEKCJI LAMBDA I USUWANIE POWIELAJĄCYCH SIĘ PAR/CZĄSTEK ---------------------------------------
99-
10076
// setup lambdas
10177
v0builder::ConfLambdaSelection1 confLambdaSelection;
102-
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
103-
v0builder::ConfLambdaSelection2 confLambdaSelection2;
104-
// ======================================================================================================================================
78+
v0builder::ConfLambdaSelection2 confLambdaSelection2;
10579
particlecleaner::ConfLambdaCleaner1 confLambdaCleaner;
10680
v0histmanager::ConfLambdaBinning1 confLambdaBinning;
10781

108-
109-
// 04. WYBÓR PODZBIORÓW TABEL SPEŁNIAJĄCYCH DANE SELEKCJE ----------------------------------------------------------
110-
11182
o2::framework::Partition<FemtoLambdas> lambdaPartition = MAKE_LAMBDA_PARTITION(confLambdaSelection);
112-
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
11383
o2::framework::Partition<FemtoLambdas> lambdaPartition2 = MAKE_LAMBDA_PARTITION(confLambdaSelection2);
114-
// ======================================================================================================================================
11584
o2::framework::Preslice<FemtoLambdas> perColLambdas = o2::aod::femtobase::stored::fColId;
11685

11786
o2::framework::Partition<FemtoLambdasWithLabel> lambdaWithLabelPartition = MAKE_LAMBDA_PARTITION(confLambdaSelection);
118-
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
11987
o2::framework::Partition<FemtoLambdasWithLabel> lambdaWithLabelPartition2 = MAKE_LAMBDA_PARTITION(confLambdaSelection2);
120-
// ======================================================================================================================================
12188
o2::framework::Preslice<FemtoLambdasWithLabel> perCollambdasWithLabel = o2::aod::femtobase::stored::fColId;
12289

12390
// setup k0shorts
@@ -135,9 +102,6 @@ struct FemtoPairLambdaAntilambda {
135102
pairhistmanager::ConfPairBinning confPairBinning;
136103
pairhistmanager::ConfPairCuts confPairCuts;
137104

138-
139-
// 05. BUDOWANIE PAR V0-V0 -------------------------------------------------------------------------------------------
140-
141105
pairbuilder::PairV0V0Builder<
142106
v0histmanager::PrefixLambda1,
143107
trackhistmanager::PrefixV01PosDaughter,
@@ -172,9 +136,6 @@ struct FemtoPairLambdaAntilambda {
172136
modes::V0::kK0short>
173137
pairK0shortK0shortBuilder;
174138

175-
176-
// 06. SETUP DO EVENT MIXING ---------------------------------------------------------------------------------------
177-
178139
// setup mixing
179140
std::vector<double> defaultVtxBins{10, -10, 10};
180141
std::vector<double> defaultMultBins{50, 0, 200};
@@ -184,23 +145,15 @@ struct FemtoPairLambdaAntilambda {
184145
o2::framework::ColumnBinningPolicy<o2::aod::femtocollisions::PosZ, o2::aod::femtocollisions::Mult, o2::aod::femtocollisions::Cent> mixBinsVtxMultCent{{defaultVtxBins, defaultMultBins, defaultCentBins}, true};
185146
pairhistmanager::ConfMixing confMixing;
186147

187-
188-
// 07. SETUP REJESTRU HISTOGRAMÓW ORAZ CPR -------------------------------------------------------------------------
189-
190148
o2::framework::HistogramRegistry hRegistry{"FemtoV0V0", {}, o2::framework::OutputObjHandlingPolicy::AnalysisObject};
191149

192150
// setup cpr
193151
closepairrejection::ConfCprV0DaugherV0DaughterPos confCprPos;
194152
closepairrejection::ConfCprV0DaugherV0DaughterNeg confCprNeg;
195153

196-
197-
// 08. INICJALIZACJA TASKA ----------------------------------------------------------------------------------------
198-
199154
void init(o2::framework::InitContext&)
200155
{
201156

202-
// 08a. SPRAWDZENIE TRYBÓW
203-
204157
// TODO: implement lambda-k0short
205158
bool processData = doprocessLambdaLambdaSameEvent || doprocessLambdaLambdaSameEvent || doprocessK0shortK0shortSameEvent || doprocessK0shortK0shortSameEvent;
206159
bool processMc = doprocessLambdaLambdaSameEventMc || doprocessLambdaLambdaSameEventMc || doprocessK0shortK0shortSameEventMc || doprocessK0shortK0shortSameEventMc;
@@ -216,16 +169,12 @@ struct FemtoPairLambdaAntilambda {
216169
LOG(fatal) << "Both lambda-lambda and k0short-k0short processing is enabled. Breaking...";
217170
}
218171

219-
220172
// setup columnpolicy for binning
221173
// default values are used during instantiation, so we need to explicity update them here
222174
mixBinsVtxMult = {{confMixing.vtxBins, confMixing.multBins.value}, true};
223175
mixBinsVtxCent = {{confMixing.vtxBins.value, confMixing.centBins.value}, true};
224176
mixBinsVtxMultCent = {{confMixing.vtxBins.value, confMixing.multBins.value, confMixing.centBins.value}, true};
225177

226-
227-
// 08b. DEFINICJE HISTOGRAMÓW
228-
229178
// setup histograms
230179
std::map<colhistmanager::ColHist, std::vector<o2::framework::AxisSpec>> colHistSpec;
231180
std::map<trackhistmanager::TrackHist, std::vector<o2::framework::AxisSpec>> trackHistSpec;
@@ -244,10 +193,7 @@ struct FemtoPairLambdaAntilambda {
244193
if (processLambdaLambda) {
245194
lambdaHistSpec = v0histmanager::makeV0HistSpecMap(confLambdaBinning);
246195
pairV0V0HistSpec = pairhistmanager::makePairHistSpecMap(confPairBinning);
247-
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
248-
// pairLambdaLambdaBuilder.init<modes::Mode::kAnalysis>(&hRegistry, confCollisionBinning, confLambdaSelection, confLambdaSelection, confLambdaCleaner, confLambdaCleaner, confCprPos, confCprNeg, confMixing, confPairBinning, confPairCuts, colHistSpec, lambdaHistSpec, lambdaHistSpec, posDauSpec, negDauSpec, pairV0V0HistSpec, cprHistSpecPos, cprHistSpecNeg);
249-
pairLambdaLambdaBuilder.init<modes::Mode::kAnalysis>(&hRegistry, confCollisionBinning, confLambdaSelection, confLambdaSelection2, confLambdaCleaner, confLambdaCleaner, confCprPos, confCprNeg, confMixing, confPairBinning, confPairCuts, colHistSpec, lambdaHistSpec, lambdaHistSpec, posDauSpec, negDauSpec, pairV0V0HistSpec, cprHistSpecPos, cprHistSpecNeg);
250-
// ======================================================================================================================================
196+
pairLambdaLambdaBuilder.init<modes::Mode::kAnalysis>(&hRegistry, confCollisionBinning, confLambdaSelection, confLambdaSelection2, confLambdaCleaner, confLambdaCleaner, confCprPos, confCprNeg, confMixing, confPairBinning, confPairCuts, colHistSpec, lambdaHistSpec, lambdaHistSpec, posDauSpec, negDauSpec, pairV0V0HistSpec, cprHistSpecPos, cprHistSpecNeg);
251197
}
252198

253199
// setup for k0short
@@ -263,10 +209,7 @@ struct FemtoPairLambdaAntilambda {
263209
if (processLambdaLambda) {
264210
lambdaHistSpec = v0histmanager::makeV0McHistSpecMap(confLambdaBinning);
265211
pairV0V0HistSpec = pairhistmanager::makePairMcHistSpecMap(confPairBinning);
266-
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
267-
// pairLambdaLambdaBuilder.init<modes::Mode::kAnalysis_Qa>(&hRegistry, confCollisionBinning, confLambdaSelection, confLambdaSelection, confLambdaCleaner, confLambdaCleaner, confCprPos, confCprNeg, confMixing, confPairBinning, confPairCuts, colHistSpec, lambdaHistSpec, lambdaHistSpec, posDauSpec, negDauSpec, pairV0V0HistSpec, cprHistSpecPos, cprHistSpecNeg);
268212
pairLambdaLambdaBuilder.init<modes::Mode::kAnalysis_Qa>(&hRegistry, confCollisionBinning, confLambdaSelection, confLambdaSelection2, confLambdaCleaner, confLambdaCleaner, confCprPos, confCprNeg, confMixing, confPairBinning, confPairCuts, colHistSpec, lambdaHistSpec, lambdaHistSpec, posDauSpec, negDauSpec, pairV0V0HistSpec, cprHistSpecPos, cprHistSpecNeg);
269-
// ======================================================================================================================================
270213
}
271214

272215
// setup for k0short
@@ -278,42 +221,27 @@ struct FemtoPairLambdaAntilambda {
278221
}
279222
};
280223

281-
282-
// 09. OPCJONALNY EVENT MIXING
283-
284224
void processLambdaLambdaSameEvent(FilteredFemtoCollision const& col, FemtoTracks const& tracks, FemtoLambdas const& lambdas)
285225
{
286-
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
287-
// pairLambdaLambdaBuilder.processSameEvent<modes::Mode::kAnalysis>(col, tracks, lambdas, lambdaPartition, lambdaPartition, cache);
288226
pairLambdaLambdaBuilder.processSameEvent<modes::Mode::kAnalysis>(col, tracks, lambdas, lambdaPartition, lambdaPartition2, cache);
289-
// ======================================================================================================================================
290227
}
291228
PROCESS_SWITCH(FemtoPairLambdaAntilambda, processLambdaLambdaSameEvent, "Enable processing same event processing for lambda-lambda", true);
292229

293230
void processLambdaLambdaSameEventMc(FilteredFemtoCollisionWithLabel const& col, o2::aod::FMcCols const& mcCols, FemtoTracksWithLabel const& tracks, FemtoLambdasWithLabel const& lambdas, o2::aod::FMcParticles const& mcParticles, o2::aod::FMcMothers const& mcMothers, o2::aod::FMcPartMoths const& mcPartonicMothers)
294231
{
295-
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
296-
// pairLambdaLambdaBuilder.processSameEvent<modes::Mode::kAnalysis_Mc>(col, mcCols, tracks, lambdas, lambdaWithLabelPartition, lambdaWithLabelPartition, mcParticles, mcMothers, mcPartonicMothers, cache);
297232
pairLambdaLambdaBuilder.processSameEvent<modes::Mode::kAnalysis_Mc>(col, mcCols, tracks, lambdas, lambdaWithLabelPartition, lambdaWithLabelPartition2, mcParticles, mcMothers, mcPartonicMothers, cache);
298-
// ======================================================================================================================================
299233
}
300234
PROCESS_SWITCH(FemtoPairLambdaAntilambda, processLambdaLambdaSameEventMc, "Enable processing same event processing for lambda-lambda with mc information", false);
301235

302236
void processLambdaLambdaMixedEvent(FilteredFemtoCollisions const& cols, FemtoTracks const& tracks, FemtoLambdas const& lambdas)
303237
{
304-
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
305-
// pairLambdaLambdaBuilder.processMixedEvent<modes::Mode::kAnalysis>(cols, tracks, lambdas, lambdaPartition, lambdaPartition, cache, mixBinsVtxMult, mixBinsVtxCent, mixBinsVtxMultCent);
306238
pairLambdaLambdaBuilder.processMixedEvent<modes::Mode::kAnalysis>(cols, tracks, lambdas, lambdaPartition, lambdaPartition2, cache, mixBinsVtxMult, mixBinsVtxCent, mixBinsVtxMultCent);
307-
// ======================================================================================================================================
308239
}
309240
PROCESS_SWITCH(FemtoPairLambdaAntilambda, processLambdaLambdaMixedEvent, "Enable processing mixed event processing for lambda-lambda", true);
310241

311242
void processLambdaLambdaMixedEventMc(FilteredFemtoCollisionsWithLabel const& cols, o2::aod::FMcCols const& mcCols, FemtoTracksWithLabel const& tracks, FemtoLambdasWithLabel const& /*lambdas*/, o2::aod::FMcParticles const& mcParticles, o2::aod::FMcMothers const& mcMothers, o2::aod::FMcPartMoths const& mcPartonicMothers)
312243
{
313-
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
314-
// pairLambdaLambdaBuilder.processMixedEvent<modes::Mode::kAnalysis_Mc>(cols, mcCols, tracks, lambdaWithLabelPartition, lambdaWithLabelPartition, mcParticles, mcMothers, mcPartonicMothers, cache, mixBinsVtxMult, mixBinsVtxCent, mixBinsVtxMultCent);
315244
pairLambdaLambdaBuilder.processMixedEvent<modes::Mode::kAnalysis_Mc>(cols, mcCols, tracks, lambdaWithLabelPartition, lambdaWithLabelPartition2, mcParticles, mcMothers, mcPartonicMothers, cache, mixBinsVtxMult, mixBinsVtxCent, mixBinsVtxMultCent);
316-
// ======================================================================================================================================
317245
}
318246
PROCESS_SWITCH(FemtoPairLambdaAntilambda, processLambdaLambdaMixedEventMc, "Enable processing mixed event processing for lambda-lambda with mc information", false);
319247

@@ -342,7 +270,6 @@ struct FemtoPairLambdaAntilambda {
342270
PROCESS_SWITCH(FemtoPairLambdaAntilambda, processK0shortK0shortMixedEventMc, "Enable processing mixed event processing for k0short-k0short with mc information", false);
343271
};
344272

345-
346273
o2::framework::WorkflowSpec defineDataProcessing(o2::framework::ConfigContext const& cfgc)
347274
{
348275
o2::framework::WorkflowSpec workflow{

0 commit comments

Comments
 (0)