From d55c4c10a3a1887fdd66215f6286ec27348907f9 Mon Sep 17 00:00:00 2001 From: Fabio Ferrari Date: Fri, 19 Apr 2024 12:44:34 +0200 Subject: [PATCH 1/6] Initial commit. Fix the cross-histograms by requiring they are filled only when a signal is over threshold and not from empty-empty crossing. Remove pedestal histograms as they are not used. Removed ADC_calib histograms for bb, be and eb since they only make sense for ee. --- Plume/PlumeReco/src/PlumeDigitMonitor.cpp | 125 +++++++++++----------- 1 file changed, 61 insertions(+), 64 deletions(-) diff --git a/Plume/PlumeReco/src/PlumeDigitMonitor.cpp b/Plume/PlumeReco/src/PlumeDigitMonitor.cpp index f965abfc4ff..6b8fd38de8d 100644 --- a/Plume/PlumeReco/src/PlumeDigitMonitor.cpp +++ b/Plume/PlumeReco/src/PlumeDigitMonitor.cpp @@ -209,9 +209,6 @@ private: // ADC vs BCID (TProfile1) for every channel mutable std::map> m_channel_bcid_adc; - // Pedestals - mutable std::map> m_channel_pedestals; - mutable Gaudi::Accumulators::Histogram<2> m_bcid_lumi_tae{this, "bcid_lumi_tae", "ADC counts in lumi channels in TAE", AxisINDEXTAE, AxisADC}; // Timing data @@ -255,14 +252,12 @@ StatusCode PlumeDigitMonitor::initialize() { if ( ch.channelType() != ChannelID::ChannelType::TIME_T ) { map_emplace( m_channel_bcid_adc, ch, this, "bcid_adc_" + ch.toString(), "ADC vs BCID for " + ch.toString(), AxisBCID ); - map_emplace( m_channel_pedestals, ch, this, "pedestal_" + ch.toString(), "Pedestal for " + ch.toString(), - AxisADC ); } for ( auto bx : {BXTypes::NoBeam, BXTypes::Beam1, BXTypes::Beam2, BXTypes::BeamCrossing} ) { map_emplace( m_channel_bx_adc, std::make_pair( ch, bx ), this, "adc_" + ch.toString() + "_" + to_string( bx ), "ADC for " + ch.toString() + "/" + to_string( bx ), AxisADC ); - if ( ch.channelType() == ChannelID::ChannelType::LUMI ) { + if ( ch.channelType() == ChannelID::ChannelType::LUMI && bx == BXTypes::NoBeam) { map_emplace( m_channel_bx_adc_calib, std::make_pair( ch, bx ), this, "adc_" + ch.toString() + "_" + to_string( bx ) + "_calib_signals", "ADC for " + ch.toString() + "/" + to_string( bx ) + "/calib signals", AxisADC ); @@ -343,9 +338,7 @@ void PlumeDigitMonitor::monitor( const Input& adcs, const LHCb::ODIN& odin ) con const auto channel_id = digit->channelID().channelID(); const auto channel_sub_id = digit->channelID().channelSubID(); const auto over_thld = overThreshold( *digit ); - const auto pedestal = digit->pedestal(); - ++m_channel_pedestals.at( digit->channelID() )[pedestal]; m_channel_bcid_adc.at( digit->channelID() )[bcid] += adc; // Profile ADC vs BXID for each channel bool complementOT = false; @@ -358,8 +351,8 @@ void PlumeDigitMonitor::monitor( const Input& adcs, const LHCb::ODIN& odin ) con if ( calibType == 0 && type == ChannelType::LUMI ) { // lumi PMT, without requiring coincidence auto key = std::make_pair( digit->channelID(), odin.bunchCrossingType() ); ++m_channel_bx_adc.at( key )[adc]; - } else if ( calibType != 0 && type == ChannelType::LUMI ) { // lumi PMT, without requiring coincidence, but with - // the LED signals + } else if ( calibType != 0 && type == ChannelType::LUMI && bx == BXTypes::NoBeam ) { // lumi PMT, without requiring coincidence, but with + // the LED signals auto key = std::make_pair( digit->channelID(), odin.bunchCrossingType() ); ++m_channel_bx_adc_calib.at( key )[adc]; } else if ( calibType == 0 && complementOT && type == ChannelType::TIME ) { // timing PMT requires coincidence @@ -404,64 +397,68 @@ void PlumeDigitMonitor::monitor( const Input& adcs, const LHCb::ODIN& odin ) con ++m_bcid_adc_lumi_coarse[{bcid, adc}]; if ( indexTAE > 0 ) { ++m_bcid_lumi_tae[{10 - indexTAE, adc}]; } - // fill histograms for front layer - int x = channel_id % 6 + 1; - int y = channel_id % 6 + 1; - ++nOTLumi; - - if ( channel_id > 11 && channel_id < 24 ) { - x *= -1; - y *= -1; - } - if ( channel_id > 35 && channel_id < 48 ) { - x *= -1; - y *= -1; - } - ( channel_id % 12 ) < 5 ? y = 0 : x = 0; - - // fill outliers first - if ( channel_id == 17 ) { ++m_xy_hits_front[{-2, -2}]; } - if ( channel_id == 23 ) { ++m_xy_hits_front[{2, -2}]; } - if ( channel_id == 41 ) { ++m_xy_hits_back[{-2, -2}]; } - if ( channel_id == 47 ) { ++m_xy_hits_back[{2, -2}]; } - - if ( channel_id < 24 ) { - ++m_xy_hits_front[{x, y}]; - if ( x > 0 && y == 0 ) { - ++m_occup_front_right[channel_id % 6]; - ++m_assym_front_horiz[x - 0.5]; - } - if ( x == 0 && y > 0 ) { - ++m_occup_front_up[channel_id % 6]; - ++m_assym_front_vert[y - 0.5]; - } - if ( x < 0 && y == 0 ) { - ++m_occup_front_left[channel_id % 6]; - ++m_assym_front_horiz[x + 0.5]; - } - if ( x == 0 && y < 0 ) { - ++m_occup_front_down[channel_id % 6]; - ++m_assym_front_vert[y + 0.5]; - } - } - if ( channel_id >= 24 ) { - ++m_xy_hits_back[{x, y}]; - if ( x > 0 && y == 0 ) { - ++m_occup_back_right[channel_id % 6]; - ++m_assym_back_horiz[x - 0.5]; + //avoid calib signals, that are in empty-empty, and fill only if over threshold + if ( bx != BXTypes::NoBeam && over_thld ) { + // fill histograms for front layer + int x = channel_id % 6 + 1; + int y = channel_id % 6 + 1; + ++nOTLumi; + + if ( channel_id > 11 && channel_id < 24 ) { + x *= -1; + y *= -1; } - if ( x == 0 && y > 0 ) { - ++m_occup_back_up[channel_id % 6]; - ++m_assym_back_vert[y - 0.5]; + if ( channel_id > 35 && channel_id < 48 ) { + x *= -1; + y *= -1; } - if ( x < 0 && y == 0 ) { - ++m_occup_back_left[channel_id % 6]; - ++m_assym_back_horiz[x + 0.5]; + ( channel_id % 12 ) < 5 ? y = 0 : x = 0; + + // fill outliers first + if ( channel_id == 17 ) { ++m_xy_hits_front[{-2, -2}]; } + if ( channel_id == 23 ) { ++m_xy_hits_front[{2, -2}]; } + if ( channel_id == 41 ) { ++m_xy_hits_back[{-2, -2}]; } + if ( channel_id == 47 ) { ++m_xy_hits_back[{2, -2}]; } + + if ( channel_id < 24 ) { + ++m_xy_hits_front[{x, y}]; + if ( x > 0 && y == 0 ) { + ++m_occup_front_right[channel_id % 6]; + ++m_assym_front_horiz[x - 0.5]; + } + if ( x == 0 && y > 0 ) { + ++m_occup_front_up[channel_id % 6]; + ++m_assym_front_vert[y - 0.5]; + } + if ( x < 0 && y == 0 ) { + ++m_occup_front_left[channel_id % 6]; + ++m_assym_front_horiz[x + 0.5]; + } + if ( x == 0 && y < 0 ) { + ++m_occup_front_down[channel_id % 6]; + ++m_assym_front_vert[y + 0.5]; + } } - if ( x == 0 && y < 0 ) { - ++m_occup_back_down[channel_id % 6]; - ++m_assym_back_vert[y + 0.5]; + + if ( channel_id >= 24 ) { + ++m_xy_hits_back[{x, y}]; + if ( x > 0 && y == 0 ) { + ++m_occup_back_right[channel_id % 6]; + ++m_assym_back_horiz[x - 0.5]; + } + if ( x == 0 && y > 0 ) { + ++m_occup_back_up[channel_id % 6]; + ++m_assym_back_vert[y - 0.5]; + } + if ( x < 0 && y == 0 ) { + ++m_occup_back_left[channel_id % 6]; + ++m_assym_back_horiz[x + 0.5]; + } + if ( x == 0 && y < 0 ) { + ++m_occup_back_down[channel_id % 6]; + ++m_assym_back_vert[y + 0.5]; + } } } break; -- GitLab From dff72a578fcf24c042c30d4127683cf317269fa5 Mon Sep 17 00:00:00 2001 From: Fabio Ferrari Date: Fri, 19 Apr 2024 12:45:43 +0200 Subject: [PATCH 2/6] Initial commit. Fix the cross-histograms by requiring they are filled only when a signal is over threshold and not from empty-empty crossing. Remove pedestal histograms as they are not used. Removed ADC_calib histograms for bb, be and eb since they only make sense for ee. --- Plume/PlumeReco/src/PlumeDigitMonitor.cpp | 25 ++++++++++++----------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/Plume/PlumeReco/src/PlumeDigitMonitor.cpp b/Plume/PlumeReco/src/PlumeDigitMonitor.cpp index 6b8fd38de8d..9c7e4e8db2c 100644 --- a/Plume/PlumeReco/src/PlumeDigitMonitor.cpp +++ b/Plume/PlumeReco/src/PlumeDigitMonitor.cpp @@ -257,7 +257,7 @@ StatusCode PlumeDigitMonitor::initialize() { for ( auto bx : {BXTypes::NoBeam, BXTypes::Beam1, BXTypes::Beam2, BXTypes::BeamCrossing} ) { map_emplace( m_channel_bx_adc, std::make_pair( ch, bx ), this, "adc_" + ch.toString() + "_" + to_string( bx ), "ADC for " + ch.toString() + "/" + to_string( bx ), AxisADC ); - if ( ch.channelType() == ChannelID::ChannelType::LUMI && bx == BXTypes::NoBeam) { + if ( ch.channelType() == ChannelID::ChannelType::LUMI && bx == BXTypes::NoBeam ) { map_emplace( m_channel_bx_adc_calib, std::make_pair( ch, bx ), this, "adc_" + ch.toString() + "_" + to_string( bx ) + "_calib_signals", "ADC for " + ch.toString() + "/" + to_string( bx ) + "/calib signals", AxisADC ); @@ -351,8 +351,9 @@ void PlumeDigitMonitor::monitor( const Input& adcs, const LHCb::ODIN& odin ) con if ( calibType == 0 && type == ChannelType::LUMI ) { // lumi PMT, without requiring coincidence auto key = std::make_pair( digit->channelID(), odin.bunchCrossingType() ); ++m_channel_bx_adc.at( key )[adc]; - } else if ( calibType != 0 && type == ChannelType::LUMI && bx == BXTypes::NoBeam ) { // lumi PMT, without requiring coincidence, but with - // the LED signals + } else if ( calibType != 0 && type == ChannelType::LUMI && bx == BXTypes::NoBeam ) { // lumi PMT, without requiring + // coincidence, but with the + // LED signals auto key = std::make_pair( digit->channelID(), odin.bunchCrossingType() ); ++m_channel_bx_adc_calib.at( key )[adc]; } else if ( calibType == 0 && complementOT && type == ChannelType::TIME ) { // timing PMT requires coincidence @@ -398,8 +399,8 @@ void PlumeDigitMonitor::monitor( const Input& adcs, const LHCb::ODIN& odin ) con if ( indexTAE > 0 ) { ++m_bcid_lumi_tae[{10 - indexTAE, adc}]; } - //avoid calib signals, that are in empty-empty, and fill only if over threshold - if ( bx != BXTypes::NoBeam && over_thld ) { + // avoid calib signals, that are in empty-empty, and fill only if over threshold + if ( bx != BXTypes::NoBeam && over_thld ) { // fill histograms for front layer int x = channel_id % 6 + 1; int y = channel_id % 6 + 1; @@ -420,7 +421,7 @@ void PlumeDigitMonitor::monitor( const Input& adcs, const LHCb::ODIN& odin ) con if ( channel_id == 23 ) { ++m_xy_hits_front[{2, -2}]; } if ( channel_id == 41 ) { ++m_xy_hits_back[{-2, -2}]; } if ( channel_id == 47 ) { ++m_xy_hits_back[{2, -2}]; } - + if ( channel_id < 24 ) { ++m_xy_hits_front[{x, y}]; if ( x > 0 && y == 0 ) { @@ -429,8 +430,8 @@ void PlumeDigitMonitor::monitor( const Input& adcs, const LHCb::ODIN& odin ) con } if ( x == 0 && y > 0 ) { ++m_occup_front_up[channel_id % 6]; - ++m_assym_front_vert[y - 0.5]; - } + ++m_assym_front_vert[y - 0.5]; + } if ( x < 0 && y == 0 ) { ++m_occup_front_left[channel_id % 6]; ++m_assym_front_horiz[x + 0.5]; @@ -442,10 +443,10 @@ void PlumeDigitMonitor::monitor( const Input& adcs, const LHCb::ODIN& odin ) con } if ( channel_id >= 24 ) { - ++m_xy_hits_back[{x, y}]; - if ( x > 0 && y == 0 ) { - ++m_occup_back_right[channel_id % 6]; - ++m_assym_back_horiz[x - 0.5]; + ++m_xy_hits_back[{x, y}]; + if ( x > 0 && y == 0 ) { + ++m_occup_back_right[channel_id % 6]; + ++m_assym_back_horiz[x - 0.5]; } if ( x == 0 && y > 0 ) { ++m_occup_back_up[channel_id % 6]; -- GitLab From c5cde4dff0cf0c0a38e157f75d5387a9e81b6018 Mon Sep 17 00:00:00 2001 From: Fabio Ferrari Date: Tue, 30 Apr 2024 16:52:18 +0200 Subject: [PATCH 3/6] Initial commit. Fix the cross-histograms by requiring they are filled only when a signal is over threshold and not from empty-empty crossing. Remove pedestal histograms as they are not used. Removed ADC_xyz_calib histograms for bb, be and eb since they only make sense for ee. Remove coincidences request to fill some histograms, since it makes no sense anymore. --- Plume/PlumeReco/src/PlumeDigitMonitor.cpp | 37 ++++++----------------- 1 file changed, 10 insertions(+), 27 deletions(-) diff --git a/Plume/PlumeReco/src/PlumeDigitMonitor.cpp b/Plume/PlumeReco/src/PlumeDigitMonitor.cpp index 9c7e4e8db2c..4329e6a83fc 100644 --- a/Plume/PlumeReco/src/PlumeDigitMonitor.cpp +++ b/Plume/PlumeReco/src/PlumeDigitMonitor.cpp @@ -74,7 +74,6 @@ namespace { const auto AxisTIMEERR = axis1D( 100, 0, 0.4 ); const auto AxisSAMP = axis1D( 1000, 0, 1000 ); const auto AxisSAMPERR = axis1D( 100, 0, 10 ); - const auto AxisINDEXTAE = axis1D( 9, 0.5, 9.5 ); } // namespace class PlumeDigitMonitor final @@ -209,8 +208,6 @@ private: // ADC vs BCID (TProfile1) for every channel mutable std::map> m_channel_bcid_adc; - mutable Gaudi::Accumulators::Histogram<2> m_bcid_lumi_tae{this, "bcid_lumi_tae", "ADC counts in lumi channels in TAE", - AxisINDEXTAE, AxisADC}; // Timing data mutable Gaudi::Accumulators::Histogram<1> m_time_adc{this, "adc_TIME", "ADC for all timing channels", AxisADC}; mutable std::map> m_channel_time; @@ -245,7 +242,6 @@ StatusCode PlumeDigitMonitor::initialize() { } // loops over Monitoring PMT numbers, that are defined between 1 and 4 for ( int i : {5, 29, 11, 35} ) { for ( int j = 0; j <= 15; ++j ) channels.emplace_back( ChannelID::ChannelType::TIME, i, j ); - channels.emplace_back( ChannelID::ChannelType::TIME_T, i ); } for ( const auto& ch : channels ) { @@ -324,7 +320,6 @@ void PlumeDigitMonitor::monitor( const Input& adcs, const LHCb::ODIN& odin ) con auto calibType = odin.calibrationType(); auto bx = odin.bunchCrossingType(); const auto bcid = odin.bunchId(); - auto indexTAE = odin.timeAlignmentEventIndex(); using ChannelType = ChannelID::ChannelType; @@ -338,29 +333,17 @@ void PlumeDigitMonitor::monitor( const Input& adcs, const LHCb::ODIN& odin ) con const auto channel_id = digit->channelID().channelID(); const auto channel_sub_id = digit->channelID().channelSubID(); const auto over_thld = overThreshold( *digit ); + const auto key = std::make_pair( digit->channelID(), odin.bunchCrossingType() ); m_channel_bcid_adc.at( digit->channelID() )[bcid] += adc; // Profile ADC vs BXID for each channel - bool complementOT = false; - if ( type == ChannelType::LUMI || type == ChannelType::TIME ) { - const auto* complement = adcs.object( ChannelID( - type, channel_id < 24 ? ( channel_id + 24 ) : ( channel_id - 24 ), digit->channelID().channelSubID() ) ); - complementOT = ( complement != nullptr ) && overThreshold( *complement ); - } - if ( calibType == 0 && type == ChannelType::LUMI ) { // lumi PMT, without requiring coincidence - auto key = std::make_pair( digit->channelID(), odin.bunchCrossingType() ); ++m_channel_bx_adc.at( key )[adc]; - } else if ( calibType != 0 && type == ChannelType::LUMI && bx == BXTypes::NoBeam ) { // lumi PMT, without requiring - // coincidence, but with the - // LED signals - auto key = std::make_pair( digit->channelID(), odin.bunchCrossingType() ); + } else if ( calibType != 0 && type == ChannelType::LUMI && bx == BXTypes::NoBeam ) { // lumi PMT, without requiring coincidence, but with the LED signals ++m_channel_bx_adc_calib.at( key )[adc]; - } else if ( calibType == 0 && complementOT && type == ChannelType::TIME ) { // timing PMT requires coincidence - auto key = std::make_pair( digit->channelID(), odin.bunchCrossingType() ); + } else if ( calibType == 0 && type == ChannelType::TIME ) { // timing PMT requires coincidence ++m_channel_bx_adc.at( key )[adc]; - } - + } else if ( type == ChannelType::TIME && channel_sub_id == 0 ) { if ( sshape_status.at( channel_id ) == true ) { ++m_time_channel.at( channel_id )[{bcid, sshape_result.at( channel_id )[3].first}]; @@ -373,20 +356,22 @@ void PlumeDigitMonitor::monitor( const Input& adcs, const LHCb::ODIN& odin ) con ++m_sshape_amp_tot.at( channel_id )[sshape_result.at( channel_id )[1].first]; ++m_sshape_amp_err_tot.at( channel_id )[sshape_result.at( channel_id )[1].second]; } + } else if ( type == ChannelType::PIN || type == ChannelType::MON ) { + ++m_channel_bx_adc.at( key )[adc]; } switch ( type ) { case ChannelType::LUMI: - if ( calibType == 0 ) ++m_lumi_bx_adc.at( bx )[adc]; // do not require coincidence + if ( calibType == 0 ) ++m_lumi_bx_adc.at( bx )[adc]; break; case ChannelType::TIME: - if ( calibType == 0 && complementOT ) ++m_time_bx_adc.at( bx )[adc]; + if ( calibType == 0 ) ++m_time_bx_adc.at( bx )[adc]; break; case ChannelType::PIN: - if ( calibType != 0 ) ++m_pin_bx_adc.at( bx )[adc]; + ++m_pin_bx_adc.at( bx )[adc]; break; case ChannelType::MON: - if ( calibType != 0 ) ++m_mon_bx_adc.at( bx )[adc]; + ++m_mon_bx_adc.at( bx )[adc]; break; default: break; @@ -397,8 +382,6 @@ void PlumeDigitMonitor::monitor( const Input& adcs, const LHCb::ODIN& odin ) con ++m_bcid_adc_lumi[{bcid, adc}]; ++m_bcid_adc_lumi_coarse[{bcid, adc}]; - if ( indexTAE > 0 ) { ++m_bcid_lumi_tae[{10 - indexTAE, adc}]; } - // avoid calib signals, that are in empty-empty, and fill only if over threshold if ( bx != BXTypes::NoBeam && over_thld ) { // fill histograms for front layer -- GitLab From c8a1f11d13a44db2abb266c65c2e641556d42b46 Mon Sep 17 00:00:00 2001 From: Gitlab CI Date: Tue, 30 Apr 2024 15:03:52 +0000 Subject: [PATCH 4/6] Fixed formatting patch generated by https://gitlab.cern.ch/lhcb/Rec/-/jobs/38514216 --- Plume/PlumeReco/src/PlumeDigitMonitor.cpp | 24 +++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Plume/PlumeReco/src/PlumeDigitMonitor.cpp b/Plume/PlumeReco/src/PlumeDigitMonitor.cpp index 4329e6a83fc..ac02355054d 100644 --- a/Plume/PlumeReco/src/PlumeDigitMonitor.cpp +++ b/Plume/PlumeReco/src/PlumeDigitMonitor.cpp @@ -68,12 +68,12 @@ namespace { return oss.str(); } - const auto AxisBCID = axis1D( 3565, -0.5, 3564.5 ); - const auto AxisADC = axis1D( 4096 + 256, -256, 4096 ); - const auto AxisTIME = axis1D( 100, 0, 8 ); - const auto AxisTIMEERR = axis1D( 100, 0, 0.4 ); - const auto AxisSAMP = axis1D( 1000, 0, 1000 ); - const auto AxisSAMPERR = axis1D( 100, 0, 10 ); + const auto AxisBCID = axis1D( 3565, -0.5, 3564.5 ); + const auto AxisADC = axis1D( 4096 + 256, -256, 4096 ); + const auto AxisTIME = axis1D( 100, 0, 8 ); + const auto AxisTIMEERR = axis1D( 100, 0, 0.4 ); + const auto AxisSAMP = axis1D( 1000, 0, 1000 ); + const auto AxisSAMPERR = axis1D( 100, 0, 10 ); } // namespace class PlumeDigitMonitor final @@ -333,18 +333,18 @@ void PlumeDigitMonitor::monitor( const Input& adcs, const LHCb::ODIN& odin ) con const auto channel_id = digit->channelID().channelID(); const auto channel_sub_id = digit->channelID().channelSubID(); const auto over_thld = overThreshold( *digit ); - const auto key = std::make_pair( digit->channelID(), odin.bunchCrossingType() ); + const auto key = std::make_pair( digit->channelID(), odin.bunchCrossingType() ); m_channel_bcid_adc.at( digit->channelID() )[bcid] += adc; // Profile ADC vs BXID for each channel if ( calibType == 0 && type == ChannelType::LUMI ) { // lumi PMT, without requiring coincidence ++m_channel_bx_adc.at( key )[adc]; - } else if ( calibType != 0 && type == ChannelType::LUMI && bx == BXTypes::NoBeam ) { // lumi PMT, without requiring coincidence, but with the LED signals + } else if ( calibType != 0 && type == ChannelType::LUMI && + bx == BXTypes::NoBeam ) { // lumi PMT, without requiring coincidence, but with the LED signals ++m_channel_bx_adc_calib.at( key )[adc]; } else if ( calibType == 0 && type == ChannelType::TIME ) { // timing PMT requires coincidence ++m_channel_bx_adc.at( key )[adc]; - } - else if ( type == ChannelType::TIME && channel_sub_id == 0 ) { + } else if ( type == ChannelType::TIME && channel_sub_id == 0 ) { if ( sshape_status.at( channel_id ) == true ) { ++m_time_channel.at( channel_id )[{bcid, sshape_result.at( channel_id )[3].first}]; ++m_time_err_channel.at( channel_id )[{bcid, sshape_result.at( channel_id )[3].second}]; @@ -357,12 +357,12 @@ void PlumeDigitMonitor::monitor( const Input& adcs, const LHCb::ODIN& odin ) con ++m_sshape_amp_err_tot.at( channel_id )[sshape_result.at( channel_id )[1].second]; } } else if ( type == ChannelType::PIN || type == ChannelType::MON ) { - ++m_channel_bx_adc.at( key )[adc]; + ++m_channel_bx_adc.at( key )[adc]; } switch ( type ) { case ChannelType::LUMI: - if ( calibType == 0 ) ++m_lumi_bx_adc.at( bx )[adc]; + if ( calibType == 0 ) ++m_lumi_bx_adc.at( bx )[adc]; break; case ChannelType::TIME: if ( calibType == 0 ) ++m_time_bx_adc.at( bx )[adc]; -- GitLab From e39bd8f8660892392677c659ff22b6c57bd185b8 Mon Sep 17 00:00:00 2001 From: Fabio Ferrari Date: Fri, 3 May 2024 16:58:04 +0200 Subject: [PATCH 5/6] Changed input file for plume.py to a more meaningful one from real data-taking. --- Plume/PlumeReco/options/examples/plume.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Plume/PlumeReco/options/examples/plume.py b/Plume/PlumeReco/options/examples/plume.py index cedb1b8c84d..0adcdcb1c6e 100755 --- a/Plume/PlumeReco/options/examples/plume.py +++ b/Plume/PlumeReco/options/examples/plume.py @@ -30,10 +30,10 @@ options = Options( simulation=False, data_type="2023", input_files= - '/eos/lhcb/wg/rta/samples/data/2024-PLUME-RAW/plume_v4.mdf', #v4, little endian + 'mdf:root://eoslhcb.cern.ch//eos/lhcb/cern-swtest/lhcb/swtest/2024_raw_hlt1_290683/Run_0000290683_20240417-065023-114_UCEB02_0001.mdf', dddb_tag='dddb-20210617', conddb_tag='sim-20210617-vc-md100', - evt_max=500, + evt_max=200, histo_file=f'./plume_histos.root', ntuple_file=f'./plume_ntuple.root', monitoring_file=f"plume_output.json", -- GitLab From d73d7323ed8f0995917d856418991fad25edf956 Mon Sep 17 00:00:00 2001 From: Fabio Ferrari Date: Sat, 4 May 2024 15:44:37 +0200 Subject: [PATCH 6/6] Changed input file for plume_decoding.py option file used for tests using a new entry in TestFileDB: 2024_raw_hlt1_290683 --- Plume/PlumeReco/tests/options/plume_decoding.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plume/PlumeReco/tests/options/plume_decoding.py b/Plume/PlumeReco/tests/options/plume_decoding.py index 0336fb8ae8a..2f9b1cff409 100644 --- a/Plume/PlumeReco/tests/options/plume_decoding.py +++ b/Plume/PlumeReco/tests/options/plume_decoding.py @@ -26,7 +26,7 @@ from PyConf.Algorithms import ( PrintHeader, ) -options = test_file_db["plume-raw-data-v4"].make_lbexec_options( +options = test_file_db["2024_raw_hlt1_290683"].make_lbexec_options( simulation=True, dddb_tag="dddb-20210617", conddb_tag="sim-20210617-vc-md100", -- GitLab