@@ -43,10 +43,13 @@ namespace o2::aod
4343namespace myBc_aod
4444{
4545DECLARE_SOA_COLUMN (Timestamp, timestamp, uint64_t );
46+ DECLARE_SOA_COLUMN (BCid, bcId, int );
4647DECLARE_SOA_COLUMN (TimeZNA, timeZNA, float );
4748DECLARE_SOA_COLUMN (TimeZNC, timeZNC, float );
49+ DECLARE_SOA_COLUMN (AmplitudeZNA, amplitudeZNA, float );
50+ DECLARE_SOA_COLUMN (AmplitudeZNC, amplitudeZNC, float );
4851} // namespace myBc_aod
49- DECLARE_SOA_TABLE (MyBCaod, " AOD" , " MYBCAOD" , myBc_aod::Timestamp, myBc_aod::TimeZNA, myBc_aod::TimeZNC);
52+ DECLARE_SOA_TABLE (MyBCaod, " AOD" , " MYBCAOD" , myBc_aod::Timestamp, myBc_aod:: BCid, myBc_aod:: TimeZNA, myBc_aod::TimeZNC, myBc_aod::AmplitudeZNA, myBc_aod::AmplitudeZNC );
5053} // namespace o2::aod
5154
5255using MyBCs = soa::Join<aod::BCs, aod::BcSels, aod::Timestamps, aod::Run3MatchedToBCSparse>;
@@ -66,9 +69,9 @@ struct LumiStabilityLightIons {
6669 Configurable<bool > cfgDoBCL{" cfgDoBCL" , false , " Create and fill histograms for leading BCs of type B" };
6770 Configurable<bool > cfgDoBCSL{" cfgDoBCSL" , false , " Create and fill histograms for super-leading BCs (no preceding FT0/FDD activity) of type B" };
6871
69- Configurable<bool > cfgRequireZDCTriggerForZDCQA{" cfgRequireZDCTriggerForZDCQA" , false , " Require ZDC trigger (1ZNC or 1ZNA ) for filling QA histograms" };
70- Configurable<bool > cfgRequireTVXTriggerForZDCQA{" cfgRequireTVXTriggerForZDCQA" , false , " Require FT0 vertex trigger for filling ZDC QA histograms" };
71-
72+ Configurable<bool > cfgRequireZDCTriggerForZDCQA{" cfgRequireZDCTriggerForZDCQA" , false , " Require ZDC trigger (1ZNC) for filling QA histograms" };
73+ Configurable<bool > cfgRequireTVXTriggerForZDCQA{" cfgRequireTVXTriggerForZDCQA" , false , " Require FT0 vertex trigger (MTVX) for filling ZDC QA histograms" };
74+
7275 Configurable<bool > cfgRequireNoT0ForSLBC{" cfgRequireNoT0ForSLBC" , false , " Require no T0 signal for definition of super leading BC (otherwise only no FDD)" };
7376
7477 Configurable<int > cfgEmptyBCsBeforeLeadingBC{" cfgEmptyBCsBeforeLeadingBC" , 5 , " Minimum number of empty BCs before a leading BC to identify it as such" };
@@ -253,11 +256,11 @@ struct LumiStabilityLightIons {
253256 for (const auto & bc : bcs) {
254257
255258 std::bitset<64 > ctpInputMask (bc.inputMask ());
256- if (cfgRequireTVXTriggerForZDCQA && !(ctpInputMask.test (2 )))
259+ if (cfgRequireTVXTriggerForZDCQA && !(ctpInputMask.test (2 ))) // 2 = 3 - 1 -> MTVX
257260 continue ;
258- if (cfgRequireZDCTriggerForZDCQA && !(ctpInputMask.test (25 )))
261+ if (cfgRequireZDCTriggerForZDCQA && !(ctpInputMask.test (25 ))) // 25 = 26 - 1 -> 1ZNC
259262 continue ;
260-
263+
261264 bool zdcHit = !bc.has_zdc () ? 0 : ((bc.zdc ().energyCommonZNC () > -1 && std::abs (bc.zdc ().timeZNC ()) < 1E5 ) ? 1 : 0 );
262265 mHistManager .fill (HIST (" ZDCQA/BCHasZDC" ), zdcHit, ctpInputMask.test (25 ) ? 1 : 0 );
263266 if (!bc.has_zdc ())
@@ -281,9 +284,14 @@ struct LumiStabilityLightIons {
281284 mHistManager .fill (HIST (" ZDCQA/ZDCTimes" ), timeZNA, timeZNC);
282285
283286 // For VdM analysis: fill timestamps and ZDC times in output tree, if enabled
287+ // Fill BC idx and ZNA and ZNC amplitudes as well
284288 uint64_t timestamp = bc.timestamp ();
289+ int64_t globalBC = bc.globalBC ();
290+ int localBC = globalBC % nBCsPerOrbit;
291+ float amplitudeZNA = bc.zdc ().amplitudeZNA ();
292+ float amplitudeZNC = bc.zdc ().amplitudeZNC ();
285293 if (cfgFillBCao2d && timestamp >= cfgTstampStartFillingBCao2d && timestamp <= cfgTstampEndFillingBCao2d) {
286- BCaod (timestamp, timeZNA, timeZNC);
294+ BCaod (timestamp, localBC, timeZNA, timeZNC, amplitudeZNA, amplitudeZNC );
287295 }
288296 }
289297 }
0 commit comments