|
8 | 8 | // In applying this license CERN does not waive the privileges and immunities |
9 | 9 | // granted to it by virtue of its status as an Intergovernmental Organization |
10 | 10 | // or submit itself to any jurisdiction. |
11 | | -#include <cmath> |
12 | | -#include <string> |
13 | | - |
14 | | -#include "Framework/runDataProcessing.h" |
15 | | -#include "Framework/AnalysisTask.h" |
16 | | -#include "Framework/AnalysisDataModel.h" |
17 | | -#include "Framework/HistogramRegistry.h" |
18 | | -#include "Framework/StaticFor.h" |
19 | | - |
| 11 | +#include "Common/Core/TrackSelection.h" |
| 12 | +#include "Common/DataModel/EventSelection.h" |
| 13 | +#include "Common/DataModel/TrackSelectionTables.h" |
20 | 14 | #include "EventFiltering/filterTables.h" |
21 | 15 |
|
22 | 16 | #include "CCDB/BasicCCDBManager.h" |
23 | 17 | #include "CCDB/CcdbApi.h" |
24 | 18 | #include "DataFormatsFT0/Digit.h" |
| 19 | +#include "Framework/AnalysisDataModel.h" |
| 20 | +#include "Framework/AnalysisTask.h" |
| 21 | +#include "Framework/HistogramRegistry.h" |
| 22 | +#include "Framework/StaticFor.h" |
| 23 | +#include "Framework/runDataProcessing.h" |
25 | 24 | #include "ReconstructionDataFormats/Track.h" |
26 | | -#include "Common/DataModel/EventSelection.h" |
27 | | -#include "Common/DataModel/TrackSelectionTables.h" |
28 | | -#include "Common/Core/TrackSelection.h" |
| 25 | + |
| 26 | +#include <cmath> |
| 27 | +#include <string> |
29 | 28 |
|
30 | 29 | using namespace o2; |
31 | 30 | using namespace o2::framework; |
@@ -58,6 +57,9 @@ struct multFilter { |
58 | 57 | Configurable<bool> sel8{"sel8", 1, "apply sel8 event selection"}; |
59 | 58 | Configurable<bool> selt0time{"selt0time", 0, "apply 1ns cut T0A and T0C"}; |
60 | 59 | Configurable<bool> selt0vtx{"selt0vtx", 0, "apply T0 vertext trigger"}; |
| 60 | + Configurable<bool> isTimeFrameBorderCut{"isTimeFrameBorderCut", 1, "apply timeframe border cut"}; |
| 61 | + Configurable<bool> isSameBunchPileup{"isSameBunchPileup", 1, "apply same bunch pileup cut"}; |
| 62 | + Configurable<bool> isGoodZvtxFT0vsPV{"isGoodZvtxFT0vsPV", 1, "apply good vtx FT0vsPV cut"}; |
61 | 63 |
|
62 | 64 | Configurable<float> avPyT0A{"avPyT0A", 8.16, "nch from pythia T0A"}; |
63 | 65 | Configurable<float> avPyT0C{"avPyT0C", 8.83, "nch from pythia T0C"}; |
@@ -358,6 +360,19 @@ struct multFilter { |
358 | 360 | return; |
359 | 361 | } |
360 | 362 |
|
| 363 | + if (isTimeFrameBorderCut && !collision.selection_bit(o2::aod::evsel::kNoTimeFrameBorder)) { |
| 364 | + tags(false, false, false, false, false, false, false); |
| 365 | + return; |
| 366 | + } |
| 367 | + if (isSameBunchPileup && !collision.selection_bit(o2::aod::evsel::kNoSameBunchPileup)) { |
| 368 | + tags(false, false, false, false, false, false, false); |
| 369 | + return; |
| 370 | + } |
| 371 | + if (isGoodZvtxFT0vsPV && !collision.selection_bit(o2::aod::evsel::kIsGoodZvtxFT0vsPV)) { |
| 372 | + tags(false, false, false, false, false, false, false); |
| 373 | + return; |
| 374 | + } |
| 375 | + |
361 | 376 | multiplicity.fill(HIST("hMultFV0sel"), sumAmpFV0); |
362 | 377 | multiplicity.fill(HIST("hMultFV01to4Ringsel"), sumAmpFV01to4Ring); |
363 | 378 | multiplicity.fill(HIST("hMultFV05Ringsel"), sumAmpFV05Ring); |
|
0 commit comments