Skip to content

Commit 940e09a

Browse files
authored
[PWGLF] [PWGMM] Adding output AO2D to store bc timestamp & ZDC times for OO VdM analysis (#14099)
1 parent 81b5d7f commit 940e09a

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

PWGMM/Lumi/Tasks/lumiStabilityLightIons.cxx

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
#include "CCDB/BasicCCDBManager.h"
2323
#include "DataFormatsParameters/AggregatedRunInfo.h"
2424
#include "DataFormatsParameters/GRPLHCIFData.h"
25+
#include "Framework/ASoA.h"
26+
#include "Framework/AnalysisDataModel.h"
2527
#include "Framework/AnalysisTask.h"
2628
#include "Framework/runDataProcessing.h"
2729

@@ -36,9 +38,22 @@ using namespace o2::framework::expressions;
3638

3739
o2::common::core::MetadataHelper metadataInfo; // Metadata helper
3840

41+
namespace o2::aod
42+
{
43+
namespace myBc_aod
44+
{
45+
DECLARE_SOA_COLUMN(Timestamp, timestamp, uint64_t);
46+
DECLARE_SOA_COLUMN(TimeZNA, timeZNA, float);
47+
DECLARE_SOA_COLUMN(TimeZNC, timeZNC, float);
48+
} // namespace myBc_aod
49+
DECLARE_SOA_TABLE(MyBCaod, "AOD", "MYBCAOD", myBc_aod::Timestamp, myBc_aod::TimeZNA, myBc_aod::TimeZNC);
50+
} // namespace o2::aod
51+
3952
using MyBCs = soa::Join<aod::BCs, aod::BcSels, aod::Timestamps, aod::Run3MatchedToBCSparse>;
4053

4154
struct LumiStabilityLightIons {
55+
Produces<aod::MyBCaod> BCaod;
56+
4257
Configurable<bool> cfgDoFT0Vtx{"cfgDoFT0Vtx", true, "Create and fill histograms for the FT0 vertex trigger"};
4358
Configurable<bool> cfgDoFT0CE{"cfgDoFT0CE", true, "Create and fill histograms for the FT0 centrality trigger"};
4459
Configurable<bool> cfgDoFDD{"cfgDoFDD", true, "Create and fill histograms for the FDD trigger"};
@@ -55,6 +70,11 @@ struct LumiStabilityLightIons {
5570

5671
Configurable<int> cfgEmptyBCsBeforeLeadingBC{"cfgEmptyBCsBeforeLeadingBC", 5, "Minimum number of empty BCs before a leading BC to identify it as such"};
5772

73+
// Configurables specific to VdM analysis: output ao2d with timestamps and ZDC times
74+
Configurable<bool> cfgFillBCao2d{"cfgFillBCao2d", false, "Fill BC ao2d with timestamps and ZDC times"};
75+
Configurable<uint64_t> cfgTstampStartFillingBCao2d{"cfgTstampStartFillingBCao2d", 0, "Minimum value of timestamp for output bc ao2d to be filled"};
76+
Configurable<uint64_t> cfgTstampEndFillingBCao2d{"cfgTstampEndFillingBCao2d", 0, "Maximum value of timestamp for output bc ao2d to be filled"};
77+
5878
std::bitset<o2::constants::lhc::LHCMaxBunches> beamPatternA, beamPatternC;
5979
std::bitset<o2::constants::lhc::LHCMaxBunches> bcPatternA, bcPatternC, bcPatternB, bcPatternE, bcPatternL;
6080

@@ -252,6 +272,12 @@ struct LumiStabilityLightIons {
252272
}
253273

254274
mHistManager.fill(HIST("ZDCQA/ZDCTimes"), timeZNA, timeZNC);
275+
276+
// For VdM analysis: fill timestamps and ZDC times in output tree, if enabled
277+
uint64_t timestamp = bc.timestamp();
278+
if (cfgFillBCao2d && timestamp >= cfgTstampStartFillingBCao2d && timestamp <= cfgTstampEndFillingBCao2d) {
279+
BCaod(timestamp, timeZNA, timeZNC);
280+
}
255281
}
256282
}
257283
PROCESS_SWITCH(LumiStabilityLightIons, processZDCQA, "process QA for the ZDC triggers (light ions and PbPb)", false);

0 commit comments

Comments
 (0)