Skip to content

Commit f445d28

Browse files
rolavickalibuild
andauthored
[PWGUD] Adding RCTflags selections to personal tasks (#11907)
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent f6b4653 commit f445d28

File tree

3 files changed

+71
-7
lines changed

3 files changed

+71
-7
lines changed

PWGUD/TableProducer/tauEventTableProducer.cxx

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ struct TauEventTableProducer {
6868
Configurable<bool> useNumContribs{"useNumContribs", false, {"Use coll.numContribs as event cut"}};
6969
Configurable<int> cutRecoFlag{"cutRecoFlag", 1, {"0 = std mode, 1 = upc mode"}};
7070
Configurable<bool> useRecoFlag{"useRecoFlag", false, {"Use coll.flags as event cut"}};
71+
Configurable<int> cutRCTflag{"cutRCTflag", 0, {"0 = off, 1 = CBT, 2 = CBT+ZDC, 3 = CBThadron, 4 = CBThadron+ZDC"}};
7172
Configurable<float> cutTrueGapSideFV0{"cutTrueGapSideFV0", 180000, "FV0A threshold for SG selector"};
7273
Configurable<float> cutTrueGapSideFT0A{"cutTrueGapSideFT0A", 150., "FT0A threshold for SG selector"};
7374
Configurable<float> cutTrueGapSideFT0C{"cutTrueGapSideFT0C", 50., "FT0C threshold for SG selector"};
@@ -153,6 +154,23 @@ struct TauEventTableProducer {
153154
return true;
154155
}
155156

157+
template <typename C>
158+
bool isGoodRCTflag(C const& coll)
159+
{
160+
switch (cutSample.cutRCTflag) {
161+
case 1:
162+
return sgSelector.isCBTOk(coll);
163+
case 2:
164+
return sgSelector.isCBTZdcOk(coll);
165+
case 3:
166+
return sgSelector.isCBTHadronOk(coll);
167+
case 4:
168+
return sgSelector.isCBTHadronZdcOk(coll);
169+
default:
170+
return true;
171+
}
172+
}
173+
156174
template <typename C>
157175
bool isGoodROFtime(C const& coll)
158176
{
@@ -324,15 +342,16 @@ struct TauEventTableProducer {
324342
FullUDTracks const& tracks)
325343
{
326344

327-
int gapSide = collision.gapSide();
328-
int trueGapSide = sgSelector.trueGap(collision, cutSample.cutTrueGapSideFV0, cutSample.cutTrueGapSideFT0A, cutSample.cutTrueGapSideFT0C, cutSample.cutTrueGapSideZDC);
329-
330-
if (cutSample.useTrueGap)
331-
gapSide = trueGapSide;
345+
if (!isGoodRCTflag(collision))
346+
return;
332347

333348
if (!isGoodROFtime(collision))
334349
return;
335350

351+
int gapSide = collision.gapSide();
352+
int trueGapSide = sgSelector.trueGap(collision, cutSample.cutTrueGapSideFV0, cutSample.cutTrueGapSideFT0A, cutSample.cutTrueGapSideFT0C, cutSample.cutTrueGapSideZDC);
353+
if (cutSample.useTrueGap)
354+
gapSide = trueGapSide;
336355
if (gapSide != cutSample.whichGapSide)
337356
return;
338357

PWGUD/TableProducer/twoTracksEventTableProducer.cxx

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ struct TwoTracksEventTableProducer {
7373
Configurable<bool> useNumContribs{"useNumContribs", true, {"Use coll.numContribs as event cut"}};
7474
Configurable<int> cutRecoFlag{"cutRecoFlag", 1, {"0 = std mode, 1 = upc mode"}};
7575
Configurable<bool> useRecoFlag{"useRecoFlag", false, {"Use coll.flags as event cut"}};
76+
Configurable<int> cutRCTflag{"cutRCTflag", 0, {"0 = off, 1 = CBT, 2 = CBT+ZDC, 3 = CBThadron, 4 = CBThadron+ZDC"}};
7677
Configurable<float> cutTrueGapSideFV0{"cutTrueGapSideFV0", 180000, "FV0A threshold for SG selector"};
7778
Configurable<float> cutTrueGapSideFT0A{"cutTrueGapSideFT0A", 150., "FT0A threshold for SG selector"};
7879
Configurable<float> cutTrueGapSideFT0C{"cutTrueGapSideFT0C", 50., "FT0C threshold for SG selector"};
@@ -161,6 +162,23 @@ struct TwoTracksEventTableProducer {
161162
return true;
162163
}
163164

165+
template <typename C>
166+
bool isGoodRCTflag(C const& coll)
167+
{
168+
switch (cutSample.cutRCTflag) {
169+
case 1:
170+
return sgSelector.isCBTOk(coll);
171+
case 2:
172+
return sgSelector.isCBTZdcOk(coll);
173+
case 3:
174+
return sgSelector.isCBTHadronOk(coll);
175+
case 4:
176+
return sgSelector.isCBTHadronZdcOk(coll);
177+
default:
178+
return true;
179+
}
180+
}
181+
164182
template <typename C>
165183
bool isGoodROFtime(C const& coll)
166184
{
@@ -346,15 +364,18 @@ struct TwoTracksEventTableProducer {
346364
histos.get<TH1>(HIST("Reco/hSelections"))->Fill(nSelection);
347365
nSelection++;
348366

367+
if (!isGoodRCTflag(collision))
368+
return;
369+
histos.get<TH1>(HIST("Reco/hSelections"))->Fill(nSelection);
370+
nSelection++;
371+
349372
if (!isGoodROFtime(collision))
350373
return;
351374

352375
int gapSide = collision.gapSide();
353376
int trueGapSide = sgSelector.trueGap(collision, cutSample.cutTrueGapSideFV0, cutSample.cutTrueGapSideFT0A, cutSample.cutTrueGapSideFT0C, cutSample.cutTrueGapSideZDC);
354-
355377
if (cutSample.useTrueGap)
356378
gapSide = trueGapSide;
357-
358379
if (gapSide != cutSample.whichGapSide)
359380
return;
360381
histos.get<TH1>(HIST("Reco/hSelections"))->Fill(nSelection);

PWGUD/Tasks/upcTauRl.cxx

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ struct UpcTauRl {
151151
Configurable<bool> useNumContribs{"useNumContribs", true, {"Use coll.numContribs as event cut"}};
152152
Configurable<int> cutRecoFlag{"cutRecoFlag", 1, {"0 = std mode, 1 = upc mode"}};
153153
Configurable<bool> useRecoFlag{"useRecoFlag", false, {"Use coll.flags as event cut"}};
154+
Configurable<int> cutRCTflag{"cutRCTflag", 0, {"0 = off, 1 = CBT, 2 = CBT+ZDC, 3 = CBThadron, 4 = CBThadron+ZDC"}};
154155
Configurable<float> cutTrueGapSideFV0{"cutTrueGapSideFV0", -1, "FV0A threshold for SG selector"};
155156
Configurable<float> cutTrueGapSideFT0A{"cutTrueGapSideFT0A", 150., "FT0A threshold for SG selector"};
156157
Configurable<float> cutTrueGapSideFT0C{"cutTrueGapSideFT0C", 50., "FT0C threshold for SG selector"};
@@ -863,6 +864,23 @@ struct UpcTauRl {
863864
return true;
864865
}
865866

867+
template <typename C>
868+
bool isGoodRCTflag(C const& coll)
869+
{
870+
switch (cutSample.cutRCTflag) {
871+
case 1:
872+
return sgSelector.isCBTOk(coll);
873+
case 2:
874+
return sgSelector.isCBTZdcOk(coll);
875+
case 3:
876+
return sgSelector.isCBTHadronOk(coll);
877+
case 4:
878+
return sgSelector.isCBTHadronZdcOk(coll);
879+
default:
880+
return true;
881+
}
882+
}
883+
866884
template <typename C>
867885
bool isGoodROFtime(C const& coll)
868886
{
@@ -2280,6 +2298,9 @@ struct UpcTauRl {
22802298
fillRejectionReasonDG(reconstructedCollision);
22812299
outputGlobalRejectionHistogram();
22822300

2301+
if (!isGoodRCTflag(reconstructedCollision))
2302+
return;
2303+
22832304
if (!isGoodROFtime(reconstructedCollision))
22842305
return;
22852306

@@ -2313,6 +2334,9 @@ struct UpcTauRl {
23132334
fillRejectionReasonSG(reconstructedCollision);
23142335
outputGlobalRejectionHistogram();
23152336

2337+
if (!isGoodRCTflag(reconstructedCollision))
2338+
return;
2339+
23162340
int gapSide = reconstructedCollision.gapSide();
23172341
int trueGapSide = sgSelector.trueGap(reconstructedCollision, cutSample.cutTrueGapSideFV0, cutSample.cutTrueGapSideFT0A, cutSample.cutTrueGapSideFT0C, cutSample.cutTrueGapSideZDC);
23182342

0 commit comments

Comments
 (0)