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"
5743
5844using namespace o2 ::analysis::femto;
5945
60-
6146struct 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-
346273o2::framework::WorkflowSpec defineDataProcessing (o2::framework::ConfigContext const & cfgc)
347274{
348275 o2::framework::WorkflowSpec workflow{
0 commit comments