Skip to content
Snippets Groups Projects
Commit 5a9c8351 authored by Julien Maurer's avatar Julien Maurer
Browse files

Merge branch '22.0-fix-atlasrects-7288' into '22.0'

Fix ATLASRECTS-7288

See merge request !57048
parents 1606913c 1d5ea750
No related branches found
No related tags found
4 merge requests!69091Fix correlated smearing bug in JER in JetUncertainties in 22.0,!58791DataQualityConfigurations: Modify L1Calo config for web display,!5717730.09.2022: daily merge merge of 22.0 into master,!57048Fix ATLASRECTS-7288
......@@ -55,30 +55,32 @@ def sTgcMonitoringConfig(inputFlags):
for multip in range(1, 3):
for gasgap in range(1, 5):
title_chargePad_phi_vs_eta = f'Charge (pad): {iside} Multiplet {multip} Gas gap {gasgap}; stationPhi; stationEta; Total charge [fC]'
var_chargePad_phi_vs_eta = f'sector_{iside}_phi_multiplet_{multip}_gasgap_{gasgap}, sector_{iside}_eta_multiplet_{multip}_gasgap_{gasgap};ChargePad_vs_phi_vs_eta_{iside}_multiplet_{multip}_gasgap_{gasgap}'
var_chargePad_phi_vs_eta = f'pad_phi_{iside}_multiplet_{multip}_gasgap_{gasgap}, pad_eta_{iside}_multiplet_{multip}_gasgap_{gasgap};ChargePad_vs_phi_vs_eta_{iside}_multiplet_{multip}_gasgap_{gasgap}'
title_chargeStrip_phi_vs_eta = f'Charge (strip): {iside} Multiplet {multip} Gas gap {gasgap}; stationPhi; stationEta; Total charge [fC]'
var_chargeStrip_phi_vs_eta = f'sector_{iside}_phi_multiplet_{multip}_gasgap_{gasgap}, sector_{iside}_eta_multiplet_{multip}_gasgap_{gasgap};ChargeStrip_vs_phi_vs_eta_{iside}_multiplet_{multip}_gasgap_{gasgap}'
var_chargeStrip_phi_vs_eta = f'strip_phi_{iside}_multiplet_{multip}_gasgap_{gasgap}, strip_eta_{iside}_multiplet_{multip}_gasgap_{gasgap};ChargeStrip_vs_phi_vs_eta_{iside}_multiplet_{multip}_gasgap_{gasgap}'
title_chargeWire_phi_vs_eta = f'Charge (wire): {iside} Multiplet {multip} Gas gap {gasgap}; stationPhi; stationEta; Total charge [fC]'
var_chargeWire_phi_vs_eta = f'sector_{iside}_phi_multiplet_{multip}_gasgap_{gasgap}, sector_{iside}_eta_multiplet_{multip}_gasgap_{gasgap};ChargeWire_vs_phi_vs_eta_{iside}_multiplet_{multip}_gasgap_{gasgap}'
var_chargeWire_phi_vs_eta = f'wire_phi_{iside}_multiplet_{multip}_gasgap_{gasgap}, wire_eta_{iside}_multiplet_{multip}_gasgap_{gasgap};ChargeWire_vs_phi_vs_eta_{iside}_multiplet_{multip}_gasgap_{gasgap}'
if (f'{iside}' == 'ASide'):
stgcSideGroup.defineHistogram(var_chargePad_phi_vs_eta, type = 'TH2F', title = title_chargePad_phi_vs_eta, path = 'Summary', xbins = stationPhiMax, xmin = 1., xmax = float(stationPhiMax + 1), ybins = stationEtaMax, ymin = 1., ymax = float(stationEtaMax + 1), opt = 'kAlwaysCreate', weight = f'charge_pad_{iside}_multiplet_{multip}_gasgap_{gasgap}')
stgcSideGroup.defineHistogram(var_chargeStrip_phi_vs_eta, type = 'TH2F', title = title_chargeStrip_phi_vs_eta, path = 'Summary', xbins = stationPhiMax, xmin = 1., xmax = float(stationPhiMax + 1), ybins = stationEtaMax, ymin = 1., ymax = float(stationEtaMax + 1), opt = 'kAlwaysCreate', weight = f'charge_strip_{iside}_multiplet_{multip}_gasgap_{gasgap}')
stgcSideGroup.defineHistogram(var_chargeWire_phi_vs_eta, type = 'TH2F', title = title_chargeWire_phi_vs_eta, path = 'Summary', xbins = stationPhiMax, xmin = 1., xmax = float(stationPhiMax + 1), ybins = stationEtaMax, ymin = 1., ymax = float(stationEtaMax + 1), opt = 'kAlwaysCreate', weight = f'charge_wire_{iside}_multiplet_{multip}_gasgap_{gasgap}')
stgcSideGroup.defineHistogram(var_chargePad_phi_vs_eta, type = 'TH2F', title = title_chargePad_phi_vs_eta, path = 'Summary', xbins = stationPhiMax, xmin = 1., xmax = float(stationPhiMax + 1), ybins = stationEtaMax, ymin = 1., ymax = float(stationEtaMax + 1), opt = 'kAlwaysCreate', weight = f'pad_charge_{iside}_multiplet_{multip}_gasgap_{gasgap}')
stgcSideGroup.defineHistogram(var_chargeStrip_phi_vs_eta, type = 'TH2F', title = title_chargeStrip_phi_vs_eta, path = 'Summary', xbins = stationPhiMax, xmin = 1., xmax = float(stationPhiMax + 1), ybins = stationEtaMax, ymin = 1., ymax = float(stationEtaMax + 1), opt = 'kAlwaysCreate', weight = f'strip_charge_{iside}_multiplet_{multip}_gasgap_{gasgap}')
stgcSideGroup.defineHistogram(var_chargeWire_phi_vs_eta, type = 'TH2F', title = title_chargeWire_phi_vs_eta, path = 'Summary', xbins = stationPhiMax, xmin = 1., xmax = float(stationPhiMax + 1), ybins = stationEtaMax, ymin = 1., ymax = float(stationEtaMax + 1), opt = 'kAlwaysCreate', weight = f'wire_charge{iside}_multiplet_{multip}_gasgap_{gasgap}')
else:
stgcSideGroup.defineHistogram(var_chargePad_phi_vs_eta, type = 'TH2F', title = title_chargePad_phi_vs_eta, path = 'Summary', xbins = stationPhiMax, xmin = 1., xmax = float(stationPhiMax + 1), ybins = stationEtaMax, ymin = -float(stationEtaMax + 1), ymax = -1., opt = 'kAlwaysCreate', weight = f'charge_pad_{iside}_multiplet_{multip}_gasgap_{gasgap}')
stgcSideGroup.defineHistogram(var_chargeStrip_phi_vs_eta, type = 'TH2F', title = title_chargeStrip_phi_vs_eta, path = 'Summary', xbins = stationPhiMax, xmin = 1., xmax = float(stationPhiMax + 1), ybins = stationEtaMax, ymin = -float(stationEtaMax + 1), ymax = -1., opt = 'kAlwaysCreate', weight = f'charge_strip_{iside}_multiplet_{multip}_gasgap_{gasgap}')
stgcSideGroup.defineHistogram(var_chargeWire_phi_vs_eta, type = 'TH2F', title = title_chargeWire_phi_vs_eta, path = 'Summary', xbins = stationPhiMax, xmin = 1., xmax = float(stationPhiMax + 1), ybins = stationEtaMax, ymin = -float(stationEtaMax + 1), ymax = -1., opt = 'kAlwaysCreate', weight = f'charge_wire_{iside}_multiplet_{multip}_gasgap_{gasgap}')
stgcSideGroup.defineHistogram(var_chargePad_phi_vs_eta, type = 'TH2F', title = title_chargePad_phi_vs_eta, path = 'Summary', xbins = stationPhiMax, xmin = 1., xmax = float(stationPhiMax + 1), ybins = stationEtaMax, ymin = -float(stationEtaMax + 1), ymax = -1., opt = 'kAlwaysCreate', weight = f'pad_charge_{iside}_multiplet_{multip}_gasgap_{gasgap}')
stgcSideGroup.defineHistogram(var_chargeStrip_phi_vs_eta, type = 'TH2F', title = title_chargeStrip_phi_vs_eta, path = 'Summary', xbins = stationPhiMax, xmin = 1., xmax = float(stationPhiMax + 1), ybins = stationEtaMax, ymin = -float(stationEtaMax + 1), ymax = -1., opt = 'kAlwaysCreate', weight = f'strip_charge_{iside}_multiplet_{multip}_gasgap_{gasgap}')
stgcSideGroup.defineHistogram(var_chargeWire_phi_vs_eta, type = 'TH2F', title = title_chargeWire_phi_vs_eta, path = 'Summary', xbins = stationPhiMax, xmin = 1., xmax = float(stationPhiMax + 1), ybins = stationEtaMax, ymin = -float(stationEtaMax + 1), ymax = -1., opt = 'kAlwaysCreate', weight = f'wire_charge_{iside}_multiplet_{multip}_gasgap_{gasgap}')
for phiStation in range(1, stationPhiMax + 1):
title_stationEta_vs_stripNumber_vs_chargeStrip_eachPhi = f'Station eta vs strip number vs charge (strip): {iside} Multiplet {multip} Gas gap {gasgap} stationPhi {phiStation}; stationEta; Strip number; Total charge [fC]'
var_stationEta_vs_stripNumber_vs_chargeStrip_eachPhi = f'sector_{iside}_eta_multiplet_{multip}_gasgap_{gasgap}_stationPhi_{phiStation}, stripNumber_strip_{iside}_multiplet_{multip}_gasgap_{gasgap}_stationPhi_{phiStation};StationEta_vs_stripNumber_vs_chargeStrip_{iside}_multiplet_{multip}_gasgap_{gasgap}_stationPhi_{phiStation}'
var_stationEta_vs_stripNumber_vs_chargeStrip_eachPhi = f'strip_charge_{iside}_multiplet_{multip}_gasgap_{gasgap}_stationPhi_{phiStation}, strip_number_{iside}_multiplet_{multip}_gasgap_{gasgap}_stationPhi_{phiStation};StationEta_vs_stripNumber_vs_chargeStrip_{iside}_multiplet_{multip}_gasgap_{gasgap}_stationPhi_{phiStation}'
xmax_value = -1.
xmin_value = 1.
if (f'{iside}' == 'ASide'):
stgcSideGroup.defineHistogram(var_stationEta_vs_stripNumber_vs_chargeStrip_eachPhi, type = 'TH2F', title = title_stationEta_vs_stripNumber_vs_chargeStrip_eachPhi, path = 'Summary', xbins = stationEtaMax, xmin = 1., xmax = float(stationEtaMax + 1), ybins = 400, ymin = 0., ymax = 400., opt = 'kAlwaysCreate', weight = f'charge_strip_{iside}_multiplet_{multip}_gasgap_{gasgap}_stationPhi_{phiStation}')
xmax_value = float(stationEtaMax + 1)
else:
stgcSideGroup.defineHistogram(var_stationEta_vs_stripNumber_vs_chargeStrip_eachPhi, type = 'TH2F', title = title_stationEta_vs_stripNumber_vs_chargeStrip_eachPhi, path = 'Summary', xbins = stationEtaMax, xmin = -float(stationEtaMax + 1), xmax = -1., ybins = 400, ymin = 0., ymax = 400., opt = 'kAlwaysCreate', weight = f'charge_strip_{iside}_multiplet_{multip}_gasgap_{gasgap}_stationPhi_{phiStation}')
xmin_value = -float(stationEtaMax + 1)
stgcSideGroup.defineHistogram(var_stationEta_vs_stripNumber_vs_chargeStrip_eachPhi, type = 'TH2F', title = title_stationEta_vs_stripNumber_vs_chargeStrip_eachPhi, path = 'Summary', xbins = stationEtaMax, xmin = xmin_value, xmax = xmax_value, ybins = 400, ymin = 0., ymax = 400., opt = 'kAlwaysCreate')
acc = helper.result()
result.merge(acc)
......
......@@ -117,55 +117,87 @@ void sTgcRawDataMonAlg::fillsTgcOverviewHistograms(const Muon::sTgcPrepData *sTg
void sTgcRawDataMonAlg::fillsTgcSummaryHistograms(const Muon::sTgcPrepData *sTgc_object) const
{
Identifier Id = sTgc_object -> identify();
if(!Id.is_valid()) return;
if(!Id.is_valid()) {
ATH_MSG_DEBUG("Invalid identifier found in Muon::sTgcPrepData");
return;
}
int stationPhi = m_idHelperSvc -> stgcIdHelper().stationPhi(Id);
int stationEta = m_idHelperSvc -> stgcIdHelper().stationEta(Id);
int iside = (stationEta > 0) ? 1 : 0;
int multiplet = m_idHelperSvc -> stgcIdHelper().multilayer(Id);
int gas_gap = m_idHelperSvc -> stgcIdHelper().gasGap(Id);
int gasgap = m_idHelperSvc -> stgcIdHelper().gasGap(Id);
int channel_type = m_idHelperSvc -> stgcIdHelper().channelType(Id);
int charge = sTgc_object -> charge();
int iside = (stationEta > 0) ? 1 : 0;
std::string stationName = m_idHelperSvc -> stgcIdHelper().stationNameString(m_idHelperSvc -> stgcIdHelper().stationName(Id));
int stationPhiComplete = get_sectorPhi_from_stationPhi_stName(stationPhi, stationName);
std::vector<int> strip_charges_vec = sTgc_object -> stripCharges();
std::vector<short unsigned int> strip_numbers_perPhi_vec = sTgc_object -> stripNumbers();
std::vector<int> charge_vec;
std::vector<int> stationPhi_vec;
std::vector<int> stationEta_vec;
std::vector<int> stationEta_perPhi_vec;
charge_vec.push_back(charge);
stationPhi_vec.push_back(stationPhiComplete);
std::vector<int> charge, stationPhi_vec, stationEta_vec;
charge.push_back(sTgc_object->charge());
stationPhi_vec.push_back(stationPhi);
stationEta_vec.push_back(stationEta);
stationEta_perPhi_vec.push_back(stationEta);
std::string monGroupName = "sTgc_sideGroup" + GeometricSectors::sTgc_Side[iside];
std::string baseName = "_" + GeometricSectors::sTgc_Side[iside] + "_multiplet_" + std::to_string(multiplet) + "_gasgap_" + std::to_string(gasgap);
std::string sPhiName = "_stationPhi_" + std::to_string(stationPhiComplete);
std::string varName = "";
if (channel_type == 0)
{
auto charge_perLayer_pad_ = Monitored::Collection("charge_pad_" + GeometricSectors::sTgc_Side[iside] + "_multiplet_" + std::to_string(multiplet) + "_gasgap_" + std::to_string(gas_gap), charge_vec);
auto stationPhi_ = Monitored::Collection("sector_" + GeometricSectors::sTgc_Side[iside] + "_phi_multiplet_" + std::to_string(multiplet) + "_gasgap_" + std::to_string(gas_gap), stationPhi_vec);
auto stationEta_ = Monitored::Collection("sector_" + GeometricSectors::sTgc_Side[iside] + "_eta_multiplet_" + std::to_string(multiplet) + "_gasgap_" + std::to_string(gas_gap), stationEta_vec);
fill("sTgc_sideGroup" + GeometricSectors::sTgc_Side[iside], charge_perLayer_pad_, stationPhi_, stationEta_);
varName = "pad_charge"+baseName;
auto charge_perLayer = Monitored::Collection(varName, charge);
varName = "pad_phi"+baseName;
auto stationPhi = Monitored::Collection(varName, stationPhi_vec);
varName = "pad_eta"+baseName;
auto stationEta = Monitored::Collection(varName, stationEta_vec);
fill(monGroupName, charge_perLayer, stationPhi, stationEta);
}
else if (channel_type == 1)
{
auto charge_perLayer_strip_ = Monitored::Collection("charge_strip_" + GeometricSectors::sTgc_Side[iside] + "_multiplet_" + std::to_string(multiplet) + "_gasgap_" + std::to_string(gas_gap), charge_vec);
auto stationPhi_ = Monitored::Collection("sector_" + GeometricSectors::sTgc_Side[iside] + "_phi_multiplet_" + std::to_string(multiplet) + "_gasgap_" + std::to_string(gas_gap), stationPhi_vec);
auto stationEta_ = Monitored::Collection("sector_" + GeometricSectors::sTgc_Side[iside] + "_eta_multiplet_" + std::to_string(multiplet) + "_gasgap_" + std::to_string(gas_gap), stationEta_vec);
auto stationEta_perPhi_ = Monitored::Collection("sector_" + GeometricSectors::sTgc_Side[iside] + "_eta_multiplet_" + std::to_string(multiplet) + "_gasgap_" + std::to_string(gas_gap) + "_stationPhi_" + std::to_string(stationPhiComplete), stationEta_perPhi_vec);
auto stripNumber_perLayer_perPhi_strip_ = Monitored::Collection("stripNumber_strip_" + GeometricSectors::sTgc_Side[iside] + "_multiplet_" + std::to_string(multiplet) + "_gasgap_" + std::to_string(gas_gap) + "_stationPhi_" + std::to_string(stationPhiComplete), strip_numbers_perPhi_vec);
auto charge_perLayer_perPhi_strip_ = Monitored::Collection("charge_strip_" + GeometricSectors::sTgc_Side[iside] + "_multiplet_" + std::to_string(multiplet) + "_gasgap_" + std::to_string(gas_gap) + "_stationPhi_" + std::to_string(stationPhiComplete), charge_vec);
fill("sTgc_sideGroup" + GeometricSectors::sTgc_Side[iside], charge_perLayer_strip_, stationPhi_, stationEta_, stationEta_perPhi_, stripNumber_perLayer_perPhi_strip_, charge_perLayer_perPhi_strip_);
varName = "strip_charge"+baseName;
auto charge_perLayer = Monitored::Collection(varName, charge);
varName = "strip_phi"+baseName;
auto stationPhi = Monitored::Collection(varName, stationPhi_vec);
varName = "strip_eta"+baseName;
auto stationEta = Monitored::Collection(varName, stationEta_vec);
varName = "strip_eta"+baseName+sPhiName;
auto stationEta_perPhi = Monitored::Collection(varName, stationEta_vec);
varName = "strip_number"+baseName+sPhiName;
auto stripNumber_perLayer_perPhi = Monitored::Collection(varName, strip_numbers_perPhi_vec);
varName = "strip_charge"+baseName+sPhiName;
auto charge_perLayer_perPhi = Monitored::Collection(varName, strip_charges_vec);
fill(monGroupName, charge_perLayer, stationPhi, stationEta, stationEta_perPhi, stripNumber_perLayer_perPhi, charge_perLayer_perPhi);
}
else if (channel_type == 2)
{
auto charge_perLayer_wire_ = Monitored::Collection("charge_wire_" + GeometricSectors::sTgc_Side[iside] + "_multiplet_" + std::to_string(multiplet) + "_gasgap_" + std::to_string(gas_gap), charge_vec);
auto stationPhi_ = Monitored::Collection("sector_" + GeometricSectors::sTgc_Side[iside] + "_phi_multiplet_" + std::to_string(multiplet) + "_gasgap_" + std::to_string(gas_gap), stationPhi_vec);
auto stationEta_ = Monitored::Collection("sector_" + GeometricSectors::sTgc_Side[iside] + "_eta_multiplet_" + std::to_string(multiplet) + "_gasgap_" + std::to_string(gas_gap), stationEta_vec);
fill("sTgc_sideGroup" + GeometricSectors::sTgc_Side[iside], charge_perLayer_wire_, stationPhi_, stationEta_);
varName = "wire_charge"+baseName;
auto charge_perLayer = Monitored::Collection(varName, charge);
varName = "wire_phi"+baseName;
auto stationPhi = Monitored::Collection(varName, stationPhi_vec);
varName = "wire_eta"+baseName;
auto stationEta = Monitored::Collection(varName, stationEta_vec);
fill(monGroupName, charge_perLayer, stationPhi, stationEta);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment