@@ -59,6 +59,7 @@ struct FemtoPairTrackKink {
5959
6060 using Tracks = o2::soa::Join<FTracks, FTrackMasks>;
6161 using Sigmas = o2::soa::Join<FSigmas, FSigmaMasks>;
62+ using SigmaPlus = o2::soa::Join<FSigmaPlus, FSigmaPlusMasks>;
6263
6364 SliceCache cache;
6465
@@ -82,6 +83,12 @@ struct FemtoPairTrackKink {
8283 Partition<Sigmas> sigmaPartition = MAKE_SIGMA_PARTITION(sigmaSelection);
8384 Preslice<Sigmas> perColSigmas = aod::femtobase::stored::fColId ;
8485
86+ // setup for sigma plus
87+ kinkbuilder::ConfSigmaPlusSelection1 sigmaPlusSelection;
88+ kinkhistmanager::ConfSigmaPlusBinning1 confSigmaPlusBinning;
89+ Partition<SigmaPlus> sigmaPlusPartition = MAKE_SIGMAPLUS_PARTITION(sigmaPlusSelection);
90+ Preslice<SigmaPlus> perColSigmaPlus = aod::femtobase::stored::fColId ;
91+
8592 // setup pairs
8693 pairhistmanager::ConfPairBinning confPairBinning;
8794 pairhistmanager::ConfPairCuts confPairCuts;
@@ -98,6 +105,18 @@ struct FemtoPairTrackKink {
98105 modes::Kink::kSigma >
99106 pairTrackSigmaBuilder;
100107
108+ pairbuilder::PairTrackKinkBuilder<
109+ trackhistmanager::PrefixTrack1,
110+ kinkhistmanager::PrefixSigmaPlus1,
111+ trackhistmanager::PrefixKinkChaDaughter,
112+ pairhistmanager::PrefixTrackKinkSe,
113+ pairhistmanager::PrefixTrackKinkMe,
114+ closepairrejection::PrefixTrackKinkSe,
115+ closepairrejection::PrefixTrackKinkMe,
116+ modes::Mode::kAnalysis ,
117+ modes::Kink::kSigmaPlus >
118+ pairTrackSigmaPlusBuilder;
119+
101120 // setup mixing
102121 std::vector<double > defaultVtxBins{10 , -10 , 10 };
103122 std::vector<double > defaultMultBins{50 , 0 , 200 };
@@ -129,10 +148,21 @@ struct FemtoPairTrackKink {
129148 auto cprHistSpec = closepairrejection::makeCprHistSpecMap (confCpr);
130149
131150 // setup for sigma
132- // if (doprocessSigmaSameEvent || doprocessSigmaMixedEvent) {
133- if (doprocessSigmaSameEvent) {
151+ if (doprocessSigmaSameEvent || doprocessSigmaMixedEvent) {
134152 auto sigmaHistSpec = kinkhistmanager::makeKinkHistSpecMap (confSigmaBinning);
135- pairTrackSigmaBuilder.init (&hRegistry, trackSelection, sigmaSelection, confCpr, confMixing, confPairBinning, confPairCuts, colHistSpec, trackHistSpec, sigmaHistSpec, chaDauSpec, pairHistSpec, cprHistSpec);
153+ auto pairTrackSigmaHistSpec = pairhistmanager::makePairHistSpecMap (confPairBinning);
154+ pairTrackSigmaBuilder.init (&hRegistry, trackSelection, sigmaSelection, confCpr, confMixing, confPairBinning, confPairCuts, colHistSpec, trackHistSpec, sigmaHistSpec, chaDauSpec, pairTrackSigmaHistSpec, cprHistSpec);
155+ }
156+
157+ // setup for sigma plus
158+ if (doprocessSigmaPlusSameEvent || doprocessSigmaPlusMixedEvent) {
159+ auto sigmaplusHistSpec = kinkhistmanager::makeKinkHistSpecMap (confSigmaPlusBinning);
160+ auto pairTrackSigmaPlusHistSpec = pairhistmanager::makePairHistSpecMap (confPairBinning);
161+ pairTrackSigmaPlusBuilder.init (&hRegistry, trackSelection, sigmaPlusSelection, confCpr, confMixing, confPairBinning, confPairCuts, colHistSpec, trackHistSpec, sigmaplusHistSpec, chaDauSpec, pairTrackSigmaPlusHistSpec, cprHistSpec);
162+ }
163+
164+ if (((doprocessSigmaSameEvent || doprocessSigmaMixedEvent) + (doprocessSigmaPlusSameEvent || doprocessSigmaPlusMixedEvent)) > 1 ) {
165+ LOG (fatal) << " Can only process sigma-tracks Or sigmaplus-tracks" ;
136166 }
137167 };
138168
@@ -147,6 +177,18 @@ struct FemtoPairTrackKink {
147177 pairTrackSigmaBuilder.processMixedEvent (cols, tracks, trackPartition, sigmaPartition, cache, mixBinsVtxMult, mixBinsVtxCent, mixBinsVtxMultCent);
148178 }
149179 PROCESS_SWITCH (FemtoPairTrackKink, processSigmaMixedEvent, " Enable processing mixed event processing for tracks and sigmas" , true );
180+ //
181+ void processSigmaPlusSameEvent (FilteredCollision const & col, Tracks const & tracks, SigmaPlus const & sigmaplus)
182+ {
183+ pairTrackSigmaPlusBuilder.processSameEvent (col, tracks, trackPartition, sigmaplus, sigmaPlusPartition, cache);
184+ }
185+ PROCESS_SWITCH (FemtoPairTrackKink, processSigmaPlusSameEvent, " Enable processing same event processing for tracks and sigma plus" , false );
186+
187+ void processSigmaPlusMixedEvent (FilteredCollisions const & cols, Tracks const & tracks, SigmaPlus const & /* sigmaplus*/ )
188+ {
189+ pairTrackSigmaPlusBuilder.processMixedEvent (cols, tracks, trackPartition, sigmaPlusPartition, cache, mixBinsVtxMult, mixBinsVtxCent, mixBinsVtxMultCent);
190+ }
191+ PROCESS_SWITCH (FemtoPairTrackKink, processSigmaPlusMixedEvent, " Enable processing mixed event processing for tracks and sigma plus" , false );
150192};
151193
152194WorkflowSpec defineDataProcessing (ConfigContext const & cfgc)
0 commit comments