Skip to content

Commit 2a87351

Browse files
lauraserLaura Serksnyte
andauthored
[PWGCF] RCT flags in femto producer (#12438)
Co-authored-by: Laura Serksnyte <laura.serksnyte@cern.ch>
1 parent 3e24dd5 commit 2a87351

File tree

1 file changed

+34
-14
lines changed

1 file changed

+34
-14
lines changed

PWGCF/FemtoDream/TableProducer/femtoDreamProducerTask.cxx

Lines changed: 34 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,39 +13,45 @@
1313
/// \brief Tasks that produces the track tables used for the pairing
1414
/// \author Laura Serksnyte, TU München, laura.serksnyte@tum.de
1515

16-
#include <CCDB/BasicCCDBManager.h>
17-
#include <fairlogger/Logger.h>
18-
#include <vector>
19-
#include <string>
16+
#include "PWGCF/DataModel/FemtoDerived.h"
17+
#include "PWGCF/FemtoDream/Core/femtoDreamCascadeSelection.h"
18+
#include "PWGCF/FemtoDream/Core/femtoDreamCollisionSelection.h"
19+
#include "PWGCF/FemtoDream/Core/femtoDreamTrackSelection.h"
20+
#include "PWGCF/FemtoDream/Core/femtoDreamUtils.h"
21+
#include "PWGCF/FemtoDream/Core/femtoDreamV0Selection.h"
22+
#include "PWGLF/DataModel/LFStrangenessTables.h"
23+
2024
#include "Common/Core/trackUtilities.h"
25+
#include "Common/DataModel/Centrality.h"
2126
#include "Common/DataModel/EventSelection.h"
2227
#include "Common/DataModel/Multiplicity.h"
23-
#include "Common/DataModel/Centrality.h"
2428
#include "Common/DataModel/PIDResponse.h"
2529
#include "Common/DataModel/PIDResponseITS.h"
2630
#include "Common/DataModel/TrackSelectionTables.h"
31+
#include "EventFiltering/Zorro.h"
32+
2733
#include "DataFormatsParameters/GRPMagField.h"
2834
#include "DataFormatsParameters/GRPObject.h"
29-
#include "PWGCF/FemtoDream/Core/femtoDreamCollisionSelection.h"
30-
#include "PWGCF/FemtoDream/Core/femtoDreamTrackSelection.h"
31-
#include "PWGCF/FemtoDream/Core/femtoDreamV0Selection.h"
32-
#include "PWGCF/FemtoDream/Core/femtoDreamCascadeSelection.h"
33-
#include "PWGCF/FemtoDream/Core/femtoDreamUtils.h"
3435
#include "Framework/ASoAHelpers.h"
3536
#include "Framework/AnalysisDataModel.h"
3637
#include "Framework/AnalysisTask.h"
3738
#include "Framework/HistogramRegistry.h"
3839
#include "Framework/runDataProcessing.h"
39-
#include "EventFiltering/Zorro.h"
40-
#include "PWGCF/DataModel/FemtoDerived.h"
41-
#include "PWGLF/DataModel/LFStrangenessTables.h"
4240
#include "ReconstructionDataFormats/Track.h"
43-
#include "TMath.h"
41+
#include <CCDB/BasicCCDBManager.h>
42+
4443
#include "Math/Vector4D.h"
44+
#include "TMath.h"
45+
46+
#include <fairlogger/Logger.h>
47+
48+
#include <string>
49+
#include <vector>
4550

4651
using namespace o2;
4752
using namespace o2::framework;
4853
using namespace o2::framework::expressions;
54+
using namespace o2::aod::rctsel;
4955
using namespace o2::analysis::femtoDream;
5056

5157
namespace o2::aod
@@ -205,6 +211,12 @@ struct femtoDreamProducerTask {
205211

206212
} OptionTrackSpecialSelections;
207213

214+
struct : o2::framework::ConfigurableGroup {
215+
Configurable<bool> requireRCTFlagChecker{"requireRCTFlagChecker", true, "Check event quality in run condition table"};
216+
Configurable<std::string> cfgEvtRCTFlagCheckerLabel{"cfgEvtRCTFlagCheckerLabel", "CBT_hadronPID", "Evt sel: RCT flag checker label"};
217+
Configurable<bool> cfgEvtRCTFlagCheckerLimitAcceptAsBad{"cfgEvtRCTFlagCheckerLimitAcceptAsBad", true, "Evt sel: RCT flag checker treat Limited Acceptance As Bad"};
218+
} rctCut;
219+
208220
HistogramRegistry qaRegistry{"QAHistos", {}, OutputObjHandlingPolicy::AnalysisObject};
209221
HistogramRegistry TrackRegistry{"Tracks", {}, OutputObjHandlingPolicy::AnalysisObject};
210222
HistogramRegistry V0Registry{"V0", {}, OutputObjHandlingPolicy::AnalysisObject};
@@ -214,6 +226,7 @@ struct femtoDreamProducerTask {
214226
float mMagField;
215227
std::string zorroTriggerNames = "";
216228
Service<o2::ccdb::BasicCCDBManager> ccdb; /// Accessing the CCDB
229+
RCTFlagsChecker rctChecker;
217230

218231
void init(InitContext&)
219232
{
@@ -255,6 +268,8 @@ struct femtoDreamProducerTask {
255268
zorroTriggerNames.pop_back();
256269
}
257270

271+
rctChecker.init(rctCut.cfgEvtRCTFlagCheckerLabel, false, rctCut.cfgEvtRCTFlagCheckerLimitAcceptAsBad);
272+
258273
colCuts.setCuts(ConfEvtZvtx.value, ConfEvtTriggerCheck.value, ConfEvtTriggerSel.value, ConfEvtOfflineCheck.value, ConfEvtAddOfflineCheck.value, ConfIsRun3.value);
259274
colCuts.init(&qaRegistry);
260275

@@ -568,6 +583,7 @@ struct femtoDreamProducerTask {
568583
if (!colCuts.isSelectedCollision(col)) {
569584
return;
570585
}
586+
571587
if (ConfIsActivateV0.value) {
572588
if (colCuts.isEmptyCollision(col, tracks, trackCuts) && colCuts.isEmptyCollision(col, fullV0s, v0Cuts, tracks)) {
573589
return;
@@ -578,6 +594,10 @@ struct femtoDreamProducerTask {
578594
}
579595
}
580596

597+
if (rctCut.requireRCTFlagChecker && !rctChecker(col)) {
598+
return;
599+
}
600+
581601
outputCollision(vtxZ, mult, multNtr, spher, mMagField);
582602
if constexpr (isMC) {
583603
fillMCCollision(col);

0 commit comments

Comments
 (0)