diff --git a/DataQuality/DataQualityConfigurations/config/sTGC/collisions_minutes10.config b/DataQuality/DataQualityConfigurations/config/sTGC/collisions_minutes10.config index 440b026b7c3b7fbe0096d871f2c4c2688aeda386..290c87f306fd2aa91d132b28e64408619fe7ec42 100644 --- a/DataQuality/DataQualityConfigurations/config/sTGC/collisions_minutes10.config +++ b/DataQuality/DataQualityConfigurations/config/sTGC/collisions_minutes10.config @@ -2,641 +2,602 @@ # sTG ########################################################### -############# -# Output -############# - -output top_level { - output MuonDetectors { - output STG { - output Shifter { - output Overview { - } - output Lumiblock { - output Strip { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Pad { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Wire { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - } - output PadTrigger { - output Triggers { - output PhiIDvsRelBCID { - } - output BandIDvsRelBCID { - } - } - output Hits { - output PFEBvsRelBCID { - } - } - } - output Occupancy { - output Strip { - } - output Pad { - } - output Wire { - } - } - output Timing { - output Strip { - } - output Pad { - } - output Wire { - } - } - } - output Expert { - output Occupancy { - output Strip { - } - output Pad { - } - output Wire { - } - } - output PadTrigger { - output Triggers { - output OccupancyBandIDvsLB { - } - output OccupancyBandIDvsPhiId { - } - output RelBCIDvsLB { - } - } - output Hits { - output padTriggerOccupancy { - } - } - } - output Timing { - output Strip { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Pad { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Wire { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - } - output Residuals { - output Overview { - } - output ${occ_anysector} { - } - } - output Charge { - output ${occ_anysector} { - output Strip { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Pad { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Wire { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - } - } - output Efficiency { - output ${occ_anysector} { - } - } - } - } - } -} - ####################### # Histogram Assessments ####################### dir Muon { - - dir MuonRawDataMonitoring { - #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - - dir STG { - - dir Shifter { - dir Overview { - regex = 1 - hist Strip_cluster_size_ontrk_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_Ymeans_size - display = LogZ,Draw=COLZ - } - hist Strip_cluster_timing_ontrk_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_Ymeans_timing - display = LogZ,Draw=COLZ - } - hist strip_efficiency_per_mm_squared_Wheel[AC]_layer[1-8] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - hist padTrigger_Efficiency_per_etaPhi { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - hist padTrigger_Efficiency_per_eta { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - hist padTrigger_Efficiency_per_phi_Side_[AC] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - } - dir Occupancy { - regex = 1 - dir Pad { - hist Pad_quad_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Occupancy/Pad - display = LogZ,Draw=COLZ - algorithm = Occupancy_Bins - } - } - dir Strip { - hist Strip_quad_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Occupancy/Strip - display = LogZ,Draw=COLZ - algorithm = Occupancy_Bins - } - } - dir Wire { - hist Wire_quad_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Occupancy/Wire - display = LogZ,Draw=COLZ - algorithm = Occupancy_Bins - } - } - } - dir PadTrigger { - dir Triggers { - hist OccupancySector_vs_LB { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist RelBCID_vs_LB { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideA_SizeL { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideA_SizeS { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideC_SizeL { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideC_SizeS { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - dir PhiIDvsRelBCID { - regex = 1 - hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - } - dir BandIDvsRelBCID { - regex = 1 - hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Hits { - dir PFEBvsRelBCID { - regex = 1 - hist pFEB_vs_relBCID_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - hist pFEB_vs_relBCID_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - } - hist OccupancypFEB_vs_Sector { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits - algorithm = stgc_Histogram_Not_Empty - } - hist relBCID_vs_Sector { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Lumiblock { - regex = 1 - dir Pad { - hist Nhits_all_pad_in_sector_per_LB { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad - algorithm = stgc_Histogram_Not_Empty - } - dir Q1 { - hist Nhits_all_pad_in_sector_per_LB_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Nhits_all_pad_in_sector_per_LB_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist Nhits_all_pad_in_sector_per_LB_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3 - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Strip { - hist Nhits_all_strip_in_sector_per_LB { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip - algorithm = stgc_Histogram_Not_Empty - } - dir Q1 { - hist Nhits_all_strip_in_sector_per_LB_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Nhits_all_strip_in_sector_per_LB_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2 - algorithm = stgc_Histogram_Not_Empty + dir MuonRawDataMonitoring { + dir STG { + dir Shifter { + dir Overview { + regex = 1 + hist Strip_cluster_size_ontrk_per_sector_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_Ymeans_size + display = LogZ,Draw=COLZ + } + hist Strip_cluster_timing_ontrk_per_sector_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_Ymeans_timing + display = LogZ,Draw=COLZ + } + hist strip_efficiency_per_mm_squared_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + display = Draw=COLZ + } + hist padTrigger_Efficiency_per_etaPhi { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + display = Draw=COLZ + } + hist padTrigger_Efficiency_per_eta { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + } + hist padTrigger_Efficiency_per_phi_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + } + } + dir Occupancy { + regex = 1 + dir Pad { + hist Pad_quad_occupancy_per_sector_.* { + output = MuonDetectors/STG/Shifter/Occupancy/Pad + display = LogZ,Draw=COLZ + algorithm = Occupancy_Bins + } + } + dir Strip { + hist Strip_quad_occupancy_per_sector_.* { + output = MuonDetectors/STG/Shifter/Occupancy/Strip + display = LogZ,Draw=COLZ + algorithm = Occupancy_Bins + } + } + dir Wire { + hist Wire_quad_occupancy_per_sector_.* { + output = MuonDetectors/STG/Shifter/Occupancy/Wire + display = LogZ,Draw=COLZ + algorithm = Occupancy_Bins + } + } + } + dir PadTrigger { + dir Triggers { + regex = 1 + hist OccupancySector_vs_LB { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers + algorithm = stgc_Histogram_Not_Empty + } + hist RelBCID_vs_LB { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers + algorithm = stgc_Histogram_Not_Empty + } + hist bandIds_vs_phiIds_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers + algorithm = stgc_Histogram_Not_Empty + } + dir PhiIDvsRelBCID { + regex = 1 + hist Trigger_PhiID_vs_RelBCID_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID + algorithm = stgc_Histogram_Not_Empty + } + } + dir BandIDvsRelBCID { + regex = 1 + hist Trigger_BandID_vs_RelBCID_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Hits { + dir PFEBvsRelBCID { + regex = 1 + hist pFEB_vs_relBCID_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID + algorithm = stgc_Histogram_Not_Empty + } + } + hist OccupancypFEB_vs_Sector { + output = MuonDetectors/STG/Shifter/PadTrigger/Hits + algorithm = stgc_Histogram_Not_Empty + } + hist relBCID_vs_Sector { + output = MuonDetectors/STG/Shifter/PadTrigger/Hits + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Lumiblock { + regex = 1 + dir Pad { + hist Nhits_all_pad_in_sector_per_LB { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad + algorithm = stgc_Histogram_Not_Empty + } + dir Q1 { + hist Nhits_all_pad_in_sector_per_LB_in_Q1_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist Nhits_all_pad_in_sector_per_LB_in_Q2_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Nhits_all_pad_in_sector_per_LB_in_Q3_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3 + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Strip { + hist Nhits_all_strip_in_sector_per_LB { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip + algorithm = stgc_Histogram_Not_Empty + } + dir Q1 { + hist Nhits_all_strip_in_sector_per_LB_in_Q1_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist Nhits_all_strip_in_sector_per_LB_in_Q2_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Nhits_all_strip_in_sector_per_LB_in_Q3_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3 + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Wire { + hist Nhits_all_wire_in_sector_per_LB { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire + algorithm = stgc_Histogram_Not_Empty + } + dir Q1 { + hist Nhits_all_wire_in_sector_per_LB_in_Q1_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist Nhits_all_wire_in_sector_per_LB_in_Q2_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Nhits_all_wire_in_sector_per_LB_in_Q3_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3 + algorithm = stgc_Histogram_Not_Empty + } + } + } + } + dir Timing { + regex = 1 + dir Pad { + hist All_pad_timing_per_sector_.* { + output = MuonDetectors/STG/Shifter/Timing/Pad + algorithm = stg_Ymeans_timing + } + } + dir Strip { + hist All_strip_timing_per_sector_.* { + output = MuonDetectors/STG/Shifter/Timing/Strip + algorithm = stg_Ymeans_timing + } + } + dir Wire { + hist All_wire_timing_per_sector_.* { + output = MuonDetectors/STG/Shifter/Timing/Wire + algorithm = stg_Ymeans_timing + } + } + } + } + dir Expert { + dir Occupancy { + regex = 1 + dir Pad { + hist Pad_ch_occupancy_per_sector_.* { + output = MuonDetectors/STG/Expert/Occupancy/Pad + algorithm = stgc_Histogram_Not_Empty + } + } + dir Strip { + hist Strip_ch_occupancy_per_sector_.* { + output = MuonDetectors/STG/Expert/Occupancy/Strip + algorithm = stgc_Histogram_Not_Empty + } + } + dir Wire { + hist Wire_ch_occupancy_per_sector_.* { + output = MuonDetectors/STG/Expert/Occupancy/Wire + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir PadTrigger { + dir Hits { + regex = 1 + dir padTriggerOccupancy { + hist padEtaPhiOcc_[1-8][AC][LS] { + output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Triggers { + regex = 1 + dir OccupancyBandIDvsLB { + hist OccupancyBandId_vs_LB_.* { + output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB + algorithm = stgc_Histogram_Not_Empty + } + } + dir OccupancyBandIDvsPhiId { + hist bandIds_vs_phiIds_.* { + output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId + algorithm = stgc_Histogram_Not_Empty + } + } + dir RelBCIDvsLB { + hist RelBCID_vs_LB_.* { + output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB + algorithm = stgc_Histogram_Not_Empty + } + } + } + } + dir Timing { + regex = 1 + dir Pad { + dir Q1 { + hist All_pad_timing_in_Q1_.* { + output = MuonDetectors/STG/Expert/Timing/Pad/Q1 + algorithm = stg_Ymeans_timing + } + } + dir Q2 { + hist All_pad_timing_in_Q2_.* { + output = MuonDetectors/STG/Expert/Timing/Pad/Q2 + algorithm = stg_Ymeans_timing + } + } + dir Q3 { + hist All_pad_timing_in_Q3_.* { + output = MuonDetectors/STG/Expert/Timing/Pad/Q3 + algorithm = stg_Ymeans_timing + } + } + } + dir Strip { + dir Q1 { + hist All_strip_timing_in_Q1_.* { + output = MuonDetectors/STG/Expert/Timing/Strip/Q1 + algorithm = stg_Ymeans_timing + } + } + dir Q2 { + hist All_strip_timing_in_Q2_.* { + output = MuonDetectors/STG/Expert/Timing/Strip/Q2 + algorithm = stg_Ymeans_timing + } + } + dir Q3 { + hist All_strip_timing_in_Q3_.* { + output = MuonDetectors/STG/Expert/Timing/Strip/Q3 + algorithm = stg_Ymeans_timing + } + } + } + dir Wire { + dir Q1 { + hist All_wire_timing_in_Q1_.* { + output = MuonDetectors/STG/Expert/Timing/Wire/Q1 + algorithm = stg_Ymeans_timing + } + } + dir Q2 { + hist All_wire_timing_in_Q2_.* { + output = MuonDetectors/STG/Expert/Timing/Wire/Q2 + algorithm = stg_Ymeans_timing + } + } + dir Q3 { + hist All_wire_timing_in_Q3_.* { + output = MuonDetectors/STG/Expert/Timing/Wire/Q3 + algorithm = stg_Ymeans_timing + } + } + } + } + dir Residuals { + regex = 1 + algorithm = stgc_Histogram_Not_Empty + dir (?P<sector>[AC][0-9]{2}) { + dir Q1 { + hist Residuals_in_Q1_.* { + output = MuonDetectors/STG/Expert/Residuals/${sector} + display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") + algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Residuals_in_Q3_.* { + output = MuonDetectors/STG/Expert/Residuals/${sector} + display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") + algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Residuals_in_Q3_.* { + output = MuonDetectors/STG/Expert/Residuals/${sector} + display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") + algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } + } + } + } + dir Efficiency { + regex = 1 + dir (?P<sector>[AC][0-9]{2}) { + hist Efficiency_per_Radius_.* { + output = MuonDetectors/STG/Expert/Efficiency/${sector} + algorithm = stg_efficiency_bins_out_of_range + } + } + } + dir Charge { + regex = 1 + algorithm = stgc_Histogram_Not_Empty + dir (?P<sector>[AC][0-9]{2}) { + dir Pad { + dir Q1 { + hist All_pad_charge_in_Q1_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q1 + display = Draw=e1,StatBox + algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist All_pad_charge_in_Q2_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q2 + display = Draw=e1,StatBox + algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist All_pad_charge_in_Q3_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q3 + display = Draw=e1,StatBox + algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty + } + } + } + dir Strip { + dir Q1 { + hist All_strip_charge_in_Q1_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q1 + display = Draw=e1,StatBox + algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist All_strip_charge_in_Q2_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q2 + display = Draw=e1,StatBox + algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist All_strip_charge_in_Q3_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q3 + display = Draw=e1,StatBox + algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty + } + } + } + dir Wire { + dir Q1 { + hist All_wire_charge_in_Q1_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q1 + display = Draw=e1,StatBox + algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist All_wire_charge_in_Q2_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q2 + display = Draw=e1,StatBox + algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist All_wire_charge_in_Q3_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q3 + display = Draw=e1,StatBox + algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty + } + } + } + } + } } - } - dir Q3 { - hist Nhits_all_strip_in_sector_per_LB_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3 - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Wire { - hist Nhits_all_wire_in_sector_per_LB { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire - algorithm = stgc_Histogram_Not_Empty - } - dir Q1 { - hist Nhits_all_wire_in_sector_per_LB_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Nhits_all_wire_in_sector_per_LB_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist Nhits_all_wire_in_sector_per_LB_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3 - algorithm = stgc_Histogram_Not_Empty - } - } - } - } - dir Timing { - regex = 1 - dir Pad { - hist All_pad_timing_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Timing/Pad - algorithm = stg_Ymeans_timing - } - } - dir Strip { - hist All_strip_timing_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Timing/Strip - algorithm = stg_Ymeans_timing - } - } - dir Wire { - hist All_wire_timing_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Timing/Wire - algorithm = stg_Ymeans_timing - } - } - } } - dir Expert { - dir Occupancy { - regex = 1 - dir Pad { - hist Pad_ch_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Occupancy/Pad - algorithm = stgc_Histogram_Not_Empty - } - } - dir Strip { - hist Strip_ch_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Occupancy/Strip - algorithm = stgc_Histogram_Not_Empty - } - } - dir Wire { - hist Wire_ch_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Occupancy/Wire - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir PadTrigger { - dir Hits { - regex = 1 - dir padTriggerOccupancy { - hist padEtaPhiOcc_[1-8][AC][LS] { - output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Triggers { - regex = 1 - dir OccupancyBandIDvsLB { - hist OccupancyBandId_vs_LB_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - hist OccupancyBandId_vs_LB_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - } - dir OccupancyBandIDvsPhiId { - hist bandIds_vs_phiIds_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId - algorithm = stgc_Histogram_Not_Empty - } - } - dir RelBCIDvsLB { - hist RelBCID_vs_LB_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - hist RelBCID_vs_LB_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - } - } - } - dir Timing { - regex = 1 - dir Pad { - dir Q1 { - hist All_pad_timing_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Pad/Q1 - algorithm = stg_Ymeans_timing - } - } - dir Q2 { - hist All_pad_timing_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Pad/Q2 - algorithm = stg_Ymeans_timing - } - } - dir Q3 { - hist All_pad_timing_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Pad/Q3 - algorithm = stg_Ymeans_timing - } - } - } - dir Strip { - dir Q1 { - hist All_strip_timing_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Strip/Q1 - algorithm = stg_Ymeans_timing - } - } - dir Q2 { - hist All_strip_timing_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Strip/Q2 - algorithm = stg_Ymeans_timing - } - } - dir Q3 { - hist All_strip_timing_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Strip/Q3 - algorithm = stg_Ymeans_timing - } - } - } - dir Wire { - dir Q1 { - hist All_wire_timing_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Wire/Q1 - algorithm = stg_Ymeans_timing - } - } - dir Q2 { - hist All_wire_timing_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Wire/Q2 - algorithm = stg_Ymeans_timing - } - } - dir Q3 { - hist All_wire_timing_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Wire/Q3 - algorithm = stg_Ymeans_timing - } - } - } - } - dir Residuals { - regex = 1 - algorithm = stgc_Histogram_Not_Empty - dir (?P<occ_anysector>[AC][0-9]{2}) { - dir Q1 { - hist Residuals_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Residuals/${occ_anysector} - display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") - algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Residuals_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Residuals/${occ_anysector} - display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") - algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist Residuals_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Residuals/${occ_anysector} - display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") - algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } +} + +############# +# Output +############# + +output top_level { + output MuonDetectors { + output STG { + output Shifter { + output Overview { + } + output Lumiblock { + output Pad { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Strip { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Wire { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } - } - } - } - } - dir Efficiency { - regex = 1 - dir (?P<occ_anysector>[AC][0-9]{2}) { - hist Efficiency_per_Radius_Layer[1-8] { - output = MuonDetectors/STG/Expert/Efficiency/${occ_anysector} - algorithm = stg_efficiency_bins_out_of_range - } - } - } - dir Charge { - regex = 1 - algorithm = stgc_Histogram_Not_Empty - dir (?P<occ_anysector>[AC][0-9]{2}) { - dir Pad { - dir Q1 { - hist All_pad_charge_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q1 - display = Draw=e1,StatBox - algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist All_pad_charge_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q2 - display = Draw=e1,StatBox - algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist All_pad_charge_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q3 - display = Draw=e1,StatBox - algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty - } - } - } - dir Strip { - dir Q1 { - hist All_strip_charge_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q1 - display = Draw=e1,StatBox - algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist All_strip_charge_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q2 - display = Draw=e1,StatBox - algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist All_strip_charge_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q3 - display = Draw=e1,StatBox - algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty - } - } - } - dir Wire { - dir Q1 { - hist All_wire_charge_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q1 - display = Draw=e1,StatBox - algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist All_wire_charge_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q2 - display = Draw=e1,StatBox - algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist All_wire_charge_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q3 - display = Draw=e1,StatBox - algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty - } - } - } - } - } - } - } - } + } + output PadTrigger { + output Triggers { + output PhiIDvsRelBCID { + } + output BandIDvsRelBCID { + } + } + output Hits { + output PFEBvsRelBCID { + } + } + } + output Occupancy { + output Strip { + } + output Pad { + } + output Wire { + } + } + output Timing { + output Strip { + } + output Pad { + } + output Wire { + } + } + } + output Expert { + output Occupancy { + output Pad { + } + output Strip { + } + output Wire { + } + } + output PadTrigger { + output Triggers { + output OccupancyBandIDvsLB { + } + output OccupancyBandIDvsPhiId { + } + output RelBCIDvsLB { + } + } + output Hits { + output padTriggerOccupancy { + } + } + } + output Timing { + output Pad { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Strip { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Wire { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + } + output Residuals { + output ${sector} { + } + } + output Charge { + output ${sector} { + output Pad { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Strip { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Wire { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + } + } + output Efficiency { + output ${sector} { + } + } + } + } + } } - + ############# # Algorithms ############# @@ -648,6 +609,7 @@ algorithm stgc_Histogram_Not_Empty { } algorithm stgc_GatherData { + libname = libdqm_algorithms.so name = GatherData reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences } @@ -686,7 +648,7 @@ algorithm stg_efficiency_bins_out_of_range { RANGE_D = 0.6 RANGE_U = 1.01 thresholds = range_thresholds_stgeff - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences } diff --git a/DataQuality/DataQualityConfigurations/config/sTGC/collisions_run.config b/DataQuality/DataQualityConfigurations/config/sTGC/collisions_run.config index 440b026b7c3b7fbe0096d871f2c4c2688aeda386..290c87f306fd2aa91d132b28e64408619fe7ec42 100644 --- a/DataQuality/DataQualityConfigurations/config/sTGC/collisions_run.config +++ b/DataQuality/DataQualityConfigurations/config/sTGC/collisions_run.config @@ -2,641 +2,602 @@ # sTG ########################################################### -############# -# Output -############# - -output top_level { - output MuonDetectors { - output STG { - output Shifter { - output Overview { - } - output Lumiblock { - output Strip { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Pad { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Wire { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - } - output PadTrigger { - output Triggers { - output PhiIDvsRelBCID { - } - output BandIDvsRelBCID { - } - } - output Hits { - output PFEBvsRelBCID { - } - } - } - output Occupancy { - output Strip { - } - output Pad { - } - output Wire { - } - } - output Timing { - output Strip { - } - output Pad { - } - output Wire { - } - } - } - output Expert { - output Occupancy { - output Strip { - } - output Pad { - } - output Wire { - } - } - output PadTrigger { - output Triggers { - output OccupancyBandIDvsLB { - } - output OccupancyBandIDvsPhiId { - } - output RelBCIDvsLB { - } - } - output Hits { - output padTriggerOccupancy { - } - } - } - output Timing { - output Strip { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Pad { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Wire { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - } - output Residuals { - output Overview { - } - output ${occ_anysector} { - } - } - output Charge { - output ${occ_anysector} { - output Strip { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Pad { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Wire { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - } - } - output Efficiency { - output ${occ_anysector} { - } - } - } - } - } -} - ####################### # Histogram Assessments ####################### dir Muon { - - dir MuonRawDataMonitoring { - #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - - dir STG { - - dir Shifter { - dir Overview { - regex = 1 - hist Strip_cluster_size_ontrk_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_Ymeans_size - display = LogZ,Draw=COLZ - } - hist Strip_cluster_timing_ontrk_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_Ymeans_timing - display = LogZ,Draw=COLZ - } - hist strip_efficiency_per_mm_squared_Wheel[AC]_layer[1-8] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - hist padTrigger_Efficiency_per_etaPhi { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - hist padTrigger_Efficiency_per_eta { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - hist padTrigger_Efficiency_per_phi_Side_[AC] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - } - dir Occupancy { - regex = 1 - dir Pad { - hist Pad_quad_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Occupancy/Pad - display = LogZ,Draw=COLZ - algorithm = Occupancy_Bins - } - } - dir Strip { - hist Strip_quad_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Occupancy/Strip - display = LogZ,Draw=COLZ - algorithm = Occupancy_Bins - } - } - dir Wire { - hist Wire_quad_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Occupancy/Wire - display = LogZ,Draw=COLZ - algorithm = Occupancy_Bins - } - } - } - dir PadTrigger { - dir Triggers { - hist OccupancySector_vs_LB { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist RelBCID_vs_LB { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideA_SizeL { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideA_SizeS { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideC_SizeL { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideC_SizeS { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - dir PhiIDvsRelBCID { - regex = 1 - hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - } - dir BandIDvsRelBCID { - regex = 1 - hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Hits { - dir PFEBvsRelBCID { - regex = 1 - hist pFEB_vs_relBCID_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - hist pFEB_vs_relBCID_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - } - hist OccupancypFEB_vs_Sector { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits - algorithm = stgc_Histogram_Not_Empty - } - hist relBCID_vs_Sector { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Lumiblock { - regex = 1 - dir Pad { - hist Nhits_all_pad_in_sector_per_LB { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad - algorithm = stgc_Histogram_Not_Empty - } - dir Q1 { - hist Nhits_all_pad_in_sector_per_LB_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Nhits_all_pad_in_sector_per_LB_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist Nhits_all_pad_in_sector_per_LB_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3 - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Strip { - hist Nhits_all_strip_in_sector_per_LB { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip - algorithm = stgc_Histogram_Not_Empty - } - dir Q1 { - hist Nhits_all_strip_in_sector_per_LB_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Nhits_all_strip_in_sector_per_LB_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2 - algorithm = stgc_Histogram_Not_Empty + dir MuonRawDataMonitoring { + dir STG { + dir Shifter { + dir Overview { + regex = 1 + hist Strip_cluster_size_ontrk_per_sector_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_Ymeans_size + display = LogZ,Draw=COLZ + } + hist Strip_cluster_timing_ontrk_per_sector_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_Ymeans_timing + display = LogZ,Draw=COLZ + } + hist strip_efficiency_per_mm_squared_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + display = Draw=COLZ + } + hist padTrigger_Efficiency_per_etaPhi { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + display = Draw=COLZ + } + hist padTrigger_Efficiency_per_eta { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + } + hist padTrigger_Efficiency_per_phi_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + } + } + dir Occupancy { + regex = 1 + dir Pad { + hist Pad_quad_occupancy_per_sector_.* { + output = MuonDetectors/STG/Shifter/Occupancy/Pad + display = LogZ,Draw=COLZ + algorithm = Occupancy_Bins + } + } + dir Strip { + hist Strip_quad_occupancy_per_sector_.* { + output = MuonDetectors/STG/Shifter/Occupancy/Strip + display = LogZ,Draw=COLZ + algorithm = Occupancy_Bins + } + } + dir Wire { + hist Wire_quad_occupancy_per_sector_.* { + output = MuonDetectors/STG/Shifter/Occupancy/Wire + display = LogZ,Draw=COLZ + algorithm = Occupancy_Bins + } + } + } + dir PadTrigger { + dir Triggers { + regex = 1 + hist OccupancySector_vs_LB { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers + algorithm = stgc_Histogram_Not_Empty + } + hist RelBCID_vs_LB { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers + algorithm = stgc_Histogram_Not_Empty + } + hist bandIds_vs_phiIds_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers + algorithm = stgc_Histogram_Not_Empty + } + dir PhiIDvsRelBCID { + regex = 1 + hist Trigger_PhiID_vs_RelBCID_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID + algorithm = stgc_Histogram_Not_Empty + } + } + dir BandIDvsRelBCID { + regex = 1 + hist Trigger_BandID_vs_RelBCID_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Hits { + dir PFEBvsRelBCID { + regex = 1 + hist pFEB_vs_relBCID_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID + algorithm = stgc_Histogram_Not_Empty + } + } + hist OccupancypFEB_vs_Sector { + output = MuonDetectors/STG/Shifter/PadTrigger/Hits + algorithm = stgc_Histogram_Not_Empty + } + hist relBCID_vs_Sector { + output = MuonDetectors/STG/Shifter/PadTrigger/Hits + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Lumiblock { + regex = 1 + dir Pad { + hist Nhits_all_pad_in_sector_per_LB { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad + algorithm = stgc_Histogram_Not_Empty + } + dir Q1 { + hist Nhits_all_pad_in_sector_per_LB_in_Q1_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist Nhits_all_pad_in_sector_per_LB_in_Q2_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Nhits_all_pad_in_sector_per_LB_in_Q3_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3 + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Strip { + hist Nhits_all_strip_in_sector_per_LB { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip + algorithm = stgc_Histogram_Not_Empty + } + dir Q1 { + hist Nhits_all_strip_in_sector_per_LB_in_Q1_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist Nhits_all_strip_in_sector_per_LB_in_Q2_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Nhits_all_strip_in_sector_per_LB_in_Q3_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3 + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Wire { + hist Nhits_all_wire_in_sector_per_LB { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire + algorithm = stgc_Histogram_Not_Empty + } + dir Q1 { + hist Nhits_all_wire_in_sector_per_LB_in_Q1_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist Nhits_all_wire_in_sector_per_LB_in_Q2_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Nhits_all_wire_in_sector_per_LB_in_Q3_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3 + algorithm = stgc_Histogram_Not_Empty + } + } + } + } + dir Timing { + regex = 1 + dir Pad { + hist All_pad_timing_per_sector_.* { + output = MuonDetectors/STG/Shifter/Timing/Pad + algorithm = stg_Ymeans_timing + } + } + dir Strip { + hist All_strip_timing_per_sector_.* { + output = MuonDetectors/STG/Shifter/Timing/Strip + algorithm = stg_Ymeans_timing + } + } + dir Wire { + hist All_wire_timing_per_sector_.* { + output = MuonDetectors/STG/Shifter/Timing/Wire + algorithm = stg_Ymeans_timing + } + } + } + } + dir Expert { + dir Occupancy { + regex = 1 + dir Pad { + hist Pad_ch_occupancy_per_sector_.* { + output = MuonDetectors/STG/Expert/Occupancy/Pad + algorithm = stgc_Histogram_Not_Empty + } + } + dir Strip { + hist Strip_ch_occupancy_per_sector_.* { + output = MuonDetectors/STG/Expert/Occupancy/Strip + algorithm = stgc_Histogram_Not_Empty + } + } + dir Wire { + hist Wire_ch_occupancy_per_sector_.* { + output = MuonDetectors/STG/Expert/Occupancy/Wire + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir PadTrigger { + dir Hits { + regex = 1 + dir padTriggerOccupancy { + hist padEtaPhiOcc_[1-8][AC][LS] { + output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Triggers { + regex = 1 + dir OccupancyBandIDvsLB { + hist OccupancyBandId_vs_LB_.* { + output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB + algorithm = stgc_Histogram_Not_Empty + } + } + dir OccupancyBandIDvsPhiId { + hist bandIds_vs_phiIds_.* { + output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId + algorithm = stgc_Histogram_Not_Empty + } + } + dir RelBCIDvsLB { + hist RelBCID_vs_LB_.* { + output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB + algorithm = stgc_Histogram_Not_Empty + } + } + } + } + dir Timing { + regex = 1 + dir Pad { + dir Q1 { + hist All_pad_timing_in_Q1_.* { + output = MuonDetectors/STG/Expert/Timing/Pad/Q1 + algorithm = stg_Ymeans_timing + } + } + dir Q2 { + hist All_pad_timing_in_Q2_.* { + output = MuonDetectors/STG/Expert/Timing/Pad/Q2 + algorithm = stg_Ymeans_timing + } + } + dir Q3 { + hist All_pad_timing_in_Q3_.* { + output = MuonDetectors/STG/Expert/Timing/Pad/Q3 + algorithm = stg_Ymeans_timing + } + } + } + dir Strip { + dir Q1 { + hist All_strip_timing_in_Q1_.* { + output = MuonDetectors/STG/Expert/Timing/Strip/Q1 + algorithm = stg_Ymeans_timing + } + } + dir Q2 { + hist All_strip_timing_in_Q2_.* { + output = MuonDetectors/STG/Expert/Timing/Strip/Q2 + algorithm = stg_Ymeans_timing + } + } + dir Q3 { + hist All_strip_timing_in_Q3_.* { + output = MuonDetectors/STG/Expert/Timing/Strip/Q3 + algorithm = stg_Ymeans_timing + } + } + } + dir Wire { + dir Q1 { + hist All_wire_timing_in_Q1_.* { + output = MuonDetectors/STG/Expert/Timing/Wire/Q1 + algorithm = stg_Ymeans_timing + } + } + dir Q2 { + hist All_wire_timing_in_Q2_.* { + output = MuonDetectors/STG/Expert/Timing/Wire/Q2 + algorithm = stg_Ymeans_timing + } + } + dir Q3 { + hist All_wire_timing_in_Q3_.* { + output = MuonDetectors/STG/Expert/Timing/Wire/Q3 + algorithm = stg_Ymeans_timing + } + } + } + } + dir Residuals { + regex = 1 + algorithm = stgc_Histogram_Not_Empty + dir (?P<sector>[AC][0-9]{2}) { + dir Q1 { + hist Residuals_in_Q1_.* { + output = MuonDetectors/STG/Expert/Residuals/${sector} + display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") + algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Residuals_in_Q3_.* { + output = MuonDetectors/STG/Expert/Residuals/${sector} + display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") + algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Residuals_in_Q3_.* { + output = MuonDetectors/STG/Expert/Residuals/${sector} + display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") + algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } + } + } + } + dir Efficiency { + regex = 1 + dir (?P<sector>[AC][0-9]{2}) { + hist Efficiency_per_Radius_.* { + output = MuonDetectors/STG/Expert/Efficiency/${sector} + algorithm = stg_efficiency_bins_out_of_range + } + } + } + dir Charge { + regex = 1 + algorithm = stgc_Histogram_Not_Empty + dir (?P<sector>[AC][0-9]{2}) { + dir Pad { + dir Q1 { + hist All_pad_charge_in_Q1_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q1 + display = Draw=e1,StatBox + algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist All_pad_charge_in_Q2_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q2 + display = Draw=e1,StatBox + algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist All_pad_charge_in_Q3_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q3 + display = Draw=e1,StatBox + algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty + } + } + } + dir Strip { + dir Q1 { + hist All_strip_charge_in_Q1_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q1 + display = Draw=e1,StatBox + algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist All_strip_charge_in_Q2_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q2 + display = Draw=e1,StatBox + algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist All_strip_charge_in_Q3_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q3 + display = Draw=e1,StatBox + algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty + } + } + } + dir Wire { + dir Q1 { + hist All_wire_charge_in_Q1_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q1 + display = Draw=e1,StatBox + algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist All_wire_charge_in_Q2_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q2 + display = Draw=e1,StatBox + algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist All_wire_charge_in_Q3_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q3 + display = Draw=e1,StatBox + algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty + } + } + } + } + } } - } - dir Q3 { - hist Nhits_all_strip_in_sector_per_LB_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3 - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Wire { - hist Nhits_all_wire_in_sector_per_LB { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire - algorithm = stgc_Histogram_Not_Empty - } - dir Q1 { - hist Nhits_all_wire_in_sector_per_LB_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Nhits_all_wire_in_sector_per_LB_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist Nhits_all_wire_in_sector_per_LB_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3 - algorithm = stgc_Histogram_Not_Empty - } - } - } - } - dir Timing { - regex = 1 - dir Pad { - hist All_pad_timing_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Timing/Pad - algorithm = stg_Ymeans_timing - } - } - dir Strip { - hist All_strip_timing_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Timing/Strip - algorithm = stg_Ymeans_timing - } - } - dir Wire { - hist All_wire_timing_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Timing/Wire - algorithm = stg_Ymeans_timing - } - } - } } - dir Expert { - dir Occupancy { - regex = 1 - dir Pad { - hist Pad_ch_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Occupancy/Pad - algorithm = stgc_Histogram_Not_Empty - } - } - dir Strip { - hist Strip_ch_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Occupancy/Strip - algorithm = stgc_Histogram_Not_Empty - } - } - dir Wire { - hist Wire_ch_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Occupancy/Wire - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir PadTrigger { - dir Hits { - regex = 1 - dir padTriggerOccupancy { - hist padEtaPhiOcc_[1-8][AC][LS] { - output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Triggers { - regex = 1 - dir OccupancyBandIDvsLB { - hist OccupancyBandId_vs_LB_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - hist OccupancyBandId_vs_LB_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - } - dir OccupancyBandIDvsPhiId { - hist bandIds_vs_phiIds_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId - algorithm = stgc_Histogram_Not_Empty - } - } - dir RelBCIDvsLB { - hist RelBCID_vs_LB_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - hist RelBCID_vs_LB_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - } - } - } - dir Timing { - regex = 1 - dir Pad { - dir Q1 { - hist All_pad_timing_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Pad/Q1 - algorithm = stg_Ymeans_timing - } - } - dir Q2 { - hist All_pad_timing_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Pad/Q2 - algorithm = stg_Ymeans_timing - } - } - dir Q3 { - hist All_pad_timing_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Pad/Q3 - algorithm = stg_Ymeans_timing - } - } - } - dir Strip { - dir Q1 { - hist All_strip_timing_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Strip/Q1 - algorithm = stg_Ymeans_timing - } - } - dir Q2 { - hist All_strip_timing_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Strip/Q2 - algorithm = stg_Ymeans_timing - } - } - dir Q3 { - hist All_strip_timing_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Strip/Q3 - algorithm = stg_Ymeans_timing - } - } - } - dir Wire { - dir Q1 { - hist All_wire_timing_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Wire/Q1 - algorithm = stg_Ymeans_timing - } - } - dir Q2 { - hist All_wire_timing_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Wire/Q2 - algorithm = stg_Ymeans_timing - } - } - dir Q3 { - hist All_wire_timing_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Wire/Q3 - algorithm = stg_Ymeans_timing - } - } - } - } - dir Residuals { - regex = 1 - algorithm = stgc_Histogram_Not_Empty - dir (?P<occ_anysector>[AC][0-9]{2}) { - dir Q1 { - hist Residuals_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Residuals/${occ_anysector} - display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") - algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Residuals_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Residuals/${occ_anysector} - display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") - algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist Residuals_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Residuals/${occ_anysector} - display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") - algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } +} + +############# +# Output +############# + +output top_level { + output MuonDetectors { + output STG { + output Shifter { + output Overview { + } + output Lumiblock { + output Pad { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Strip { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Wire { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } - } - } - } - } - dir Efficiency { - regex = 1 - dir (?P<occ_anysector>[AC][0-9]{2}) { - hist Efficiency_per_Radius_Layer[1-8] { - output = MuonDetectors/STG/Expert/Efficiency/${occ_anysector} - algorithm = stg_efficiency_bins_out_of_range - } - } - } - dir Charge { - regex = 1 - algorithm = stgc_Histogram_Not_Empty - dir (?P<occ_anysector>[AC][0-9]{2}) { - dir Pad { - dir Q1 { - hist All_pad_charge_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q1 - display = Draw=e1,StatBox - algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist All_pad_charge_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q2 - display = Draw=e1,StatBox - algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist All_pad_charge_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q3 - display = Draw=e1,StatBox - algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty - } - } - } - dir Strip { - dir Q1 { - hist All_strip_charge_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q1 - display = Draw=e1,StatBox - algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist All_strip_charge_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q2 - display = Draw=e1,StatBox - algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist All_strip_charge_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q3 - display = Draw=e1,StatBox - algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty - } - } - } - dir Wire { - dir Q1 { - hist All_wire_charge_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q1 - display = Draw=e1,StatBox - algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist All_wire_charge_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q2 - display = Draw=e1,StatBox - algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist All_wire_charge_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q3 - display = Draw=e1,StatBox - algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty - } - } - } - } - } - } - } - } + } + output PadTrigger { + output Triggers { + output PhiIDvsRelBCID { + } + output BandIDvsRelBCID { + } + } + output Hits { + output PFEBvsRelBCID { + } + } + } + output Occupancy { + output Strip { + } + output Pad { + } + output Wire { + } + } + output Timing { + output Strip { + } + output Pad { + } + output Wire { + } + } + } + output Expert { + output Occupancy { + output Pad { + } + output Strip { + } + output Wire { + } + } + output PadTrigger { + output Triggers { + output OccupancyBandIDvsLB { + } + output OccupancyBandIDvsPhiId { + } + output RelBCIDvsLB { + } + } + output Hits { + output padTriggerOccupancy { + } + } + } + output Timing { + output Pad { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Strip { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Wire { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + } + output Residuals { + output ${sector} { + } + } + output Charge { + output ${sector} { + output Pad { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Strip { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Wire { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + } + } + output Efficiency { + output ${sector} { + } + } + } + } + } } - + ############# # Algorithms ############# @@ -648,6 +609,7 @@ algorithm stgc_Histogram_Not_Empty { } algorithm stgc_GatherData { + libname = libdqm_algorithms.so name = GatherData reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences } @@ -686,7 +648,7 @@ algorithm stg_efficiency_bins_out_of_range { RANGE_D = 0.6 RANGE_U = 1.01 thresholds = range_thresholds_stgeff - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences } diff --git a/DataQuality/DataQualityConfigurations/config/sTGC/cosmics_minutes10.config b/DataQuality/DataQualityConfigurations/config/sTGC/cosmics_minutes10.config index 440b026b7c3b7fbe0096d871f2c4c2688aeda386..290c87f306fd2aa91d132b28e64408619fe7ec42 100644 --- a/DataQuality/DataQualityConfigurations/config/sTGC/cosmics_minutes10.config +++ b/DataQuality/DataQualityConfigurations/config/sTGC/cosmics_minutes10.config @@ -2,641 +2,602 @@ # sTG ########################################################### -############# -# Output -############# - -output top_level { - output MuonDetectors { - output STG { - output Shifter { - output Overview { - } - output Lumiblock { - output Strip { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Pad { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Wire { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - } - output PadTrigger { - output Triggers { - output PhiIDvsRelBCID { - } - output BandIDvsRelBCID { - } - } - output Hits { - output PFEBvsRelBCID { - } - } - } - output Occupancy { - output Strip { - } - output Pad { - } - output Wire { - } - } - output Timing { - output Strip { - } - output Pad { - } - output Wire { - } - } - } - output Expert { - output Occupancy { - output Strip { - } - output Pad { - } - output Wire { - } - } - output PadTrigger { - output Triggers { - output OccupancyBandIDvsLB { - } - output OccupancyBandIDvsPhiId { - } - output RelBCIDvsLB { - } - } - output Hits { - output padTriggerOccupancy { - } - } - } - output Timing { - output Strip { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Pad { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Wire { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - } - output Residuals { - output Overview { - } - output ${occ_anysector} { - } - } - output Charge { - output ${occ_anysector} { - output Strip { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Pad { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Wire { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - } - } - output Efficiency { - output ${occ_anysector} { - } - } - } - } - } -} - ####################### # Histogram Assessments ####################### dir Muon { - - dir MuonRawDataMonitoring { - #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - - dir STG { - - dir Shifter { - dir Overview { - regex = 1 - hist Strip_cluster_size_ontrk_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_Ymeans_size - display = LogZ,Draw=COLZ - } - hist Strip_cluster_timing_ontrk_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_Ymeans_timing - display = LogZ,Draw=COLZ - } - hist strip_efficiency_per_mm_squared_Wheel[AC]_layer[1-8] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - hist padTrigger_Efficiency_per_etaPhi { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - hist padTrigger_Efficiency_per_eta { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - hist padTrigger_Efficiency_per_phi_Side_[AC] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - } - dir Occupancy { - regex = 1 - dir Pad { - hist Pad_quad_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Occupancy/Pad - display = LogZ,Draw=COLZ - algorithm = Occupancy_Bins - } - } - dir Strip { - hist Strip_quad_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Occupancy/Strip - display = LogZ,Draw=COLZ - algorithm = Occupancy_Bins - } - } - dir Wire { - hist Wire_quad_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Occupancy/Wire - display = LogZ,Draw=COLZ - algorithm = Occupancy_Bins - } - } - } - dir PadTrigger { - dir Triggers { - hist OccupancySector_vs_LB { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist RelBCID_vs_LB { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideA_SizeL { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideA_SizeS { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideC_SizeL { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideC_SizeS { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - dir PhiIDvsRelBCID { - regex = 1 - hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - } - dir BandIDvsRelBCID { - regex = 1 - hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Hits { - dir PFEBvsRelBCID { - regex = 1 - hist pFEB_vs_relBCID_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - hist pFEB_vs_relBCID_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - } - hist OccupancypFEB_vs_Sector { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits - algorithm = stgc_Histogram_Not_Empty - } - hist relBCID_vs_Sector { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Lumiblock { - regex = 1 - dir Pad { - hist Nhits_all_pad_in_sector_per_LB { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad - algorithm = stgc_Histogram_Not_Empty - } - dir Q1 { - hist Nhits_all_pad_in_sector_per_LB_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Nhits_all_pad_in_sector_per_LB_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist Nhits_all_pad_in_sector_per_LB_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3 - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Strip { - hist Nhits_all_strip_in_sector_per_LB { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip - algorithm = stgc_Histogram_Not_Empty - } - dir Q1 { - hist Nhits_all_strip_in_sector_per_LB_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Nhits_all_strip_in_sector_per_LB_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2 - algorithm = stgc_Histogram_Not_Empty + dir MuonRawDataMonitoring { + dir STG { + dir Shifter { + dir Overview { + regex = 1 + hist Strip_cluster_size_ontrk_per_sector_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_Ymeans_size + display = LogZ,Draw=COLZ + } + hist Strip_cluster_timing_ontrk_per_sector_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_Ymeans_timing + display = LogZ,Draw=COLZ + } + hist strip_efficiency_per_mm_squared_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + display = Draw=COLZ + } + hist padTrigger_Efficiency_per_etaPhi { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + display = Draw=COLZ + } + hist padTrigger_Efficiency_per_eta { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + } + hist padTrigger_Efficiency_per_phi_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + } + } + dir Occupancy { + regex = 1 + dir Pad { + hist Pad_quad_occupancy_per_sector_.* { + output = MuonDetectors/STG/Shifter/Occupancy/Pad + display = LogZ,Draw=COLZ + algorithm = Occupancy_Bins + } + } + dir Strip { + hist Strip_quad_occupancy_per_sector_.* { + output = MuonDetectors/STG/Shifter/Occupancy/Strip + display = LogZ,Draw=COLZ + algorithm = Occupancy_Bins + } + } + dir Wire { + hist Wire_quad_occupancy_per_sector_.* { + output = MuonDetectors/STG/Shifter/Occupancy/Wire + display = LogZ,Draw=COLZ + algorithm = Occupancy_Bins + } + } + } + dir PadTrigger { + dir Triggers { + regex = 1 + hist OccupancySector_vs_LB { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers + algorithm = stgc_Histogram_Not_Empty + } + hist RelBCID_vs_LB { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers + algorithm = stgc_Histogram_Not_Empty + } + hist bandIds_vs_phiIds_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers + algorithm = stgc_Histogram_Not_Empty + } + dir PhiIDvsRelBCID { + regex = 1 + hist Trigger_PhiID_vs_RelBCID_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID + algorithm = stgc_Histogram_Not_Empty + } + } + dir BandIDvsRelBCID { + regex = 1 + hist Trigger_BandID_vs_RelBCID_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Hits { + dir PFEBvsRelBCID { + regex = 1 + hist pFEB_vs_relBCID_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID + algorithm = stgc_Histogram_Not_Empty + } + } + hist OccupancypFEB_vs_Sector { + output = MuonDetectors/STG/Shifter/PadTrigger/Hits + algorithm = stgc_Histogram_Not_Empty + } + hist relBCID_vs_Sector { + output = MuonDetectors/STG/Shifter/PadTrigger/Hits + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Lumiblock { + regex = 1 + dir Pad { + hist Nhits_all_pad_in_sector_per_LB { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad + algorithm = stgc_Histogram_Not_Empty + } + dir Q1 { + hist Nhits_all_pad_in_sector_per_LB_in_Q1_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist Nhits_all_pad_in_sector_per_LB_in_Q2_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Nhits_all_pad_in_sector_per_LB_in_Q3_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3 + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Strip { + hist Nhits_all_strip_in_sector_per_LB { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip + algorithm = stgc_Histogram_Not_Empty + } + dir Q1 { + hist Nhits_all_strip_in_sector_per_LB_in_Q1_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist Nhits_all_strip_in_sector_per_LB_in_Q2_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Nhits_all_strip_in_sector_per_LB_in_Q3_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3 + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Wire { + hist Nhits_all_wire_in_sector_per_LB { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire + algorithm = stgc_Histogram_Not_Empty + } + dir Q1 { + hist Nhits_all_wire_in_sector_per_LB_in_Q1_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist Nhits_all_wire_in_sector_per_LB_in_Q2_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Nhits_all_wire_in_sector_per_LB_in_Q3_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3 + algorithm = stgc_Histogram_Not_Empty + } + } + } + } + dir Timing { + regex = 1 + dir Pad { + hist All_pad_timing_per_sector_.* { + output = MuonDetectors/STG/Shifter/Timing/Pad + algorithm = stg_Ymeans_timing + } + } + dir Strip { + hist All_strip_timing_per_sector_.* { + output = MuonDetectors/STG/Shifter/Timing/Strip + algorithm = stg_Ymeans_timing + } + } + dir Wire { + hist All_wire_timing_per_sector_.* { + output = MuonDetectors/STG/Shifter/Timing/Wire + algorithm = stg_Ymeans_timing + } + } + } + } + dir Expert { + dir Occupancy { + regex = 1 + dir Pad { + hist Pad_ch_occupancy_per_sector_.* { + output = MuonDetectors/STG/Expert/Occupancy/Pad + algorithm = stgc_Histogram_Not_Empty + } + } + dir Strip { + hist Strip_ch_occupancy_per_sector_.* { + output = MuonDetectors/STG/Expert/Occupancy/Strip + algorithm = stgc_Histogram_Not_Empty + } + } + dir Wire { + hist Wire_ch_occupancy_per_sector_.* { + output = MuonDetectors/STG/Expert/Occupancy/Wire + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir PadTrigger { + dir Hits { + regex = 1 + dir padTriggerOccupancy { + hist padEtaPhiOcc_[1-8][AC][LS] { + output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Triggers { + regex = 1 + dir OccupancyBandIDvsLB { + hist OccupancyBandId_vs_LB_.* { + output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB + algorithm = stgc_Histogram_Not_Empty + } + } + dir OccupancyBandIDvsPhiId { + hist bandIds_vs_phiIds_.* { + output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId + algorithm = stgc_Histogram_Not_Empty + } + } + dir RelBCIDvsLB { + hist RelBCID_vs_LB_.* { + output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB + algorithm = stgc_Histogram_Not_Empty + } + } + } + } + dir Timing { + regex = 1 + dir Pad { + dir Q1 { + hist All_pad_timing_in_Q1_.* { + output = MuonDetectors/STG/Expert/Timing/Pad/Q1 + algorithm = stg_Ymeans_timing + } + } + dir Q2 { + hist All_pad_timing_in_Q2_.* { + output = MuonDetectors/STG/Expert/Timing/Pad/Q2 + algorithm = stg_Ymeans_timing + } + } + dir Q3 { + hist All_pad_timing_in_Q3_.* { + output = MuonDetectors/STG/Expert/Timing/Pad/Q3 + algorithm = stg_Ymeans_timing + } + } + } + dir Strip { + dir Q1 { + hist All_strip_timing_in_Q1_.* { + output = MuonDetectors/STG/Expert/Timing/Strip/Q1 + algorithm = stg_Ymeans_timing + } + } + dir Q2 { + hist All_strip_timing_in_Q2_.* { + output = MuonDetectors/STG/Expert/Timing/Strip/Q2 + algorithm = stg_Ymeans_timing + } + } + dir Q3 { + hist All_strip_timing_in_Q3_.* { + output = MuonDetectors/STG/Expert/Timing/Strip/Q3 + algorithm = stg_Ymeans_timing + } + } + } + dir Wire { + dir Q1 { + hist All_wire_timing_in_Q1_.* { + output = MuonDetectors/STG/Expert/Timing/Wire/Q1 + algorithm = stg_Ymeans_timing + } + } + dir Q2 { + hist All_wire_timing_in_Q2_.* { + output = MuonDetectors/STG/Expert/Timing/Wire/Q2 + algorithm = stg_Ymeans_timing + } + } + dir Q3 { + hist All_wire_timing_in_Q3_.* { + output = MuonDetectors/STG/Expert/Timing/Wire/Q3 + algorithm = stg_Ymeans_timing + } + } + } + } + dir Residuals { + regex = 1 + algorithm = stgc_Histogram_Not_Empty + dir (?P<sector>[AC][0-9]{2}) { + dir Q1 { + hist Residuals_in_Q1_.* { + output = MuonDetectors/STG/Expert/Residuals/${sector} + display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") + algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Residuals_in_Q3_.* { + output = MuonDetectors/STG/Expert/Residuals/${sector} + display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") + algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Residuals_in_Q3_.* { + output = MuonDetectors/STG/Expert/Residuals/${sector} + display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") + algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } + } + } + } + dir Efficiency { + regex = 1 + dir (?P<sector>[AC][0-9]{2}) { + hist Efficiency_per_Radius_.* { + output = MuonDetectors/STG/Expert/Efficiency/${sector} + algorithm = stg_efficiency_bins_out_of_range + } + } + } + dir Charge { + regex = 1 + algorithm = stgc_Histogram_Not_Empty + dir (?P<sector>[AC][0-9]{2}) { + dir Pad { + dir Q1 { + hist All_pad_charge_in_Q1_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q1 + display = Draw=e1,StatBox + algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist All_pad_charge_in_Q2_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q2 + display = Draw=e1,StatBox + algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist All_pad_charge_in_Q3_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q3 + display = Draw=e1,StatBox + algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty + } + } + } + dir Strip { + dir Q1 { + hist All_strip_charge_in_Q1_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q1 + display = Draw=e1,StatBox + algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist All_strip_charge_in_Q2_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q2 + display = Draw=e1,StatBox + algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist All_strip_charge_in_Q3_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q3 + display = Draw=e1,StatBox + algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty + } + } + } + dir Wire { + dir Q1 { + hist All_wire_charge_in_Q1_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q1 + display = Draw=e1,StatBox + algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist All_wire_charge_in_Q2_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q2 + display = Draw=e1,StatBox + algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist All_wire_charge_in_Q3_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q3 + display = Draw=e1,StatBox + algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty + } + } + } + } + } } - } - dir Q3 { - hist Nhits_all_strip_in_sector_per_LB_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3 - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Wire { - hist Nhits_all_wire_in_sector_per_LB { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire - algorithm = stgc_Histogram_Not_Empty - } - dir Q1 { - hist Nhits_all_wire_in_sector_per_LB_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Nhits_all_wire_in_sector_per_LB_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist Nhits_all_wire_in_sector_per_LB_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3 - algorithm = stgc_Histogram_Not_Empty - } - } - } - } - dir Timing { - regex = 1 - dir Pad { - hist All_pad_timing_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Timing/Pad - algorithm = stg_Ymeans_timing - } - } - dir Strip { - hist All_strip_timing_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Timing/Strip - algorithm = stg_Ymeans_timing - } - } - dir Wire { - hist All_wire_timing_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Timing/Wire - algorithm = stg_Ymeans_timing - } - } - } } - dir Expert { - dir Occupancy { - regex = 1 - dir Pad { - hist Pad_ch_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Occupancy/Pad - algorithm = stgc_Histogram_Not_Empty - } - } - dir Strip { - hist Strip_ch_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Occupancy/Strip - algorithm = stgc_Histogram_Not_Empty - } - } - dir Wire { - hist Wire_ch_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Occupancy/Wire - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir PadTrigger { - dir Hits { - regex = 1 - dir padTriggerOccupancy { - hist padEtaPhiOcc_[1-8][AC][LS] { - output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Triggers { - regex = 1 - dir OccupancyBandIDvsLB { - hist OccupancyBandId_vs_LB_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - hist OccupancyBandId_vs_LB_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - } - dir OccupancyBandIDvsPhiId { - hist bandIds_vs_phiIds_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId - algorithm = stgc_Histogram_Not_Empty - } - } - dir RelBCIDvsLB { - hist RelBCID_vs_LB_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - hist RelBCID_vs_LB_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - } - } - } - dir Timing { - regex = 1 - dir Pad { - dir Q1 { - hist All_pad_timing_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Pad/Q1 - algorithm = stg_Ymeans_timing - } - } - dir Q2 { - hist All_pad_timing_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Pad/Q2 - algorithm = stg_Ymeans_timing - } - } - dir Q3 { - hist All_pad_timing_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Pad/Q3 - algorithm = stg_Ymeans_timing - } - } - } - dir Strip { - dir Q1 { - hist All_strip_timing_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Strip/Q1 - algorithm = stg_Ymeans_timing - } - } - dir Q2 { - hist All_strip_timing_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Strip/Q2 - algorithm = stg_Ymeans_timing - } - } - dir Q3 { - hist All_strip_timing_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Strip/Q3 - algorithm = stg_Ymeans_timing - } - } - } - dir Wire { - dir Q1 { - hist All_wire_timing_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Wire/Q1 - algorithm = stg_Ymeans_timing - } - } - dir Q2 { - hist All_wire_timing_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Wire/Q2 - algorithm = stg_Ymeans_timing - } - } - dir Q3 { - hist All_wire_timing_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Wire/Q3 - algorithm = stg_Ymeans_timing - } - } - } - } - dir Residuals { - regex = 1 - algorithm = stgc_Histogram_Not_Empty - dir (?P<occ_anysector>[AC][0-9]{2}) { - dir Q1 { - hist Residuals_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Residuals/${occ_anysector} - display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") - algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Residuals_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Residuals/${occ_anysector} - display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") - algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist Residuals_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Residuals/${occ_anysector} - display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") - algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } +} + +############# +# Output +############# + +output top_level { + output MuonDetectors { + output STG { + output Shifter { + output Overview { + } + output Lumiblock { + output Pad { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Strip { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Wire { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } - } - } - } - } - dir Efficiency { - regex = 1 - dir (?P<occ_anysector>[AC][0-9]{2}) { - hist Efficiency_per_Radius_Layer[1-8] { - output = MuonDetectors/STG/Expert/Efficiency/${occ_anysector} - algorithm = stg_efficiency_bins_out_of_range - } - } - } - dir Charge { - regex = 1 - algorithm = stgc_Histogram_Not_Empty - dir (?P<occ_anysector>[AC][0-9]{2}) { - dir Pad { - dir Q1 { - hist All_pad_charge_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q1 - display = Draw=e1,StatBox - algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist All_pad_charge_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q2 - display = Draw=e1,StatBox - algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist All_pad_charge_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q3 - display = Draw=e1,StatBox - algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty - } - } - } - dir Strip { - dir Q1 { - hist All_strip_charge_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q1 - display = Draw=e1,StatBox - algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist All_strip_charge_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q2 - display = Draw=e1,StatBox - algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist All_strip_charge_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q3 - display = Draw=e1,StatBox - algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty - } - } - } - dir Wire { - dir Q1 { - hist All_wire_charge_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q1 - display = Draw=e1,StatBox - algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist All_wire_charge_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q2 - display = Draw=e1,StatBox - algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist All_wire_charge_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q3 - display = Draw=e1,StatBox - algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty - } - } - } - } - } - } - } - } + } + output PadTrigger { + output Triggers { + output PhiIDvsRelBCID { + } + output BandIDvsRelBCID { + } + } + output Hits { + output PFEBvsRelBCID { + } + } + } + output Occupancy { + output Strip { + } + output Pad { + } + output Wire { + } + } + output Timing { + output Strip { + } + output Pad { + } + output Wire { + } + } + } + output Expert { + output Occupancy { + output Pad { + } + output Strip { + } + output Wire { + } + } + output PadTrigger { + output Triggers { + output OccupancyBandIDvsLB { + } + output OccupancyBandIDvsPhiId { + } + output RelBCIDvsLB { + } + } + output Hits { + output padTriggerOccupancy { + } + } + } + output Timing { + output Pad { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Strip { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Wire { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + } + output Residuals { + output ${sector} { + } + } + output Charge { + output ${sector} { + output Pad { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Strip { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Wire { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + } + } + output Efficiency { + output ${sector} { + } + } + } + } + } } - + ############# # Algorithms ############# @@ -648,6 +609,7 @@ algorithm stgc_Histogram_Not_Empty { } algorithm stgc_GatherData { + libname = libdqm_algorithms.so name = GatherData reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences } @@ -686,7 +648,7 @@ algorithm stg_efficiency_bins_out_of_range { RANGE_D = 0.6 RANGE_U = 1.01 thresholds = range_thresholds_stgeff - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences } diff --git a/DataQuality/DataQualityConfigurations/config/sTGC/cosmics_run.config b/DataQuality/DataQualityConfigurations/config/sTGC/cosmics_run.config index 440b026b7c3b7fbe0096d871f2c4c2688aeda386..290c87f306fd2aa91d132b28e64408619fe7ec42 100644 --- a/DataQuality/DataQualityConfigurations/config/sTGC/cosmics_run.config +++ b/DataQuality/DataQualityConfigurations/config/sTGC/cosmics_run.config @@ -2,641 +2,602 @@ # sTG ########################################################### -############# -# Output -############# - -output top_level { - output MuonDetectors { - output STG { - output Shifter { - output Overview { - } - output Lumiblock { - output Strip { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Pad { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Wire { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - } - output PadTrigger { - output Triggers { - output PhiIDvsRelBCID { - } - output BandIDvsRelBCID { - } - } - output Hits { - output PFEBvsRelBCID { - } - } - } - output Occupancy { - output Strip { - } - output Pad { - } - output Wire { - } - } - output Timing { - output Strip { - } - output Pad { - } - output Wire { - } - } - } - output Expert { - output Occupancy { - output Strip { - } - output Pad { - } - output Wire { - } - } - output PadTrigger { - output Triggers { - output OccupancyBandIDvsLB { - } - output OccupancyBandIDvsPhiId { - } - output RelBCIDvsLB { - } - } - output Hits { - output padTriggerOccupancy { - } - } - } - output Timing { - output Strip { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Pad { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Wire { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - } - output Residuals { - output Overview { - } - output ${occ_anysector} { - } - } - output Charge { - output ${occ_anysector} { - output Strip { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Pad { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Wire { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - } - } - output Efficiency { - output ${occ_anysector} { - } - } - } - } - } -} - ####################### # Histogram Assessments ####################### dir Muon { - - dir MuonRawDataMonitoring { - #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - - dir STG { - - dir Shifter { - dir Overview { - regex = 1 - hist Strip_cluster_size_ontrk_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_Ymeans_size - display = LogZ,Draw=COLZ - } - hist Strip_cluster_timing_ontrk_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_Ymeans_timing - display = LogZ,Draw=COLZ - } - hist strip_efficiency_per_mm_squared_Wheel[AC]_layer[1-8] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - hist padTrigger_Efficiency_per_etaPhi { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - hist padTrigger_Efficiency_per_eta { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - hist padTrigger_Efficiency_per_phi_Side_[AC] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - } - dir Occupancy { - regex = 1 - dir Pad { - hist Pad_quad_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Occupancy/Pad - display = LogZ,Draw=COLZ - algorithm = Occupancy_Bins - } - } - dir Strip { - hist Strip_quad_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Occupancy/Strip - display = LogZ,Draw=COLZ - algorithm = Occupancy_Bins - } - } - dir Wire { - hist Wire_quad_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Occupancy/Wire - display = LogZ,Draw=COLZ - algorithm = Occupancy_Bins - } - } - } - dir PadTrigger { - dir Triggers { - hist OccupancySector_vs_LB { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist RelBCID_vs_LB { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideA_SizeL { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideA_SizeS { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideC_SizeL { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideC_SizeS { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - dir PhiIDvsRelBCID { - regex = 1 - hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - } - dir BandIDvsRelBCID { - regex = 1 - hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Hits { - dir PFEBvsRelBCID { - regex = 1 - hist pFEB_vs_relBCID_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - hist pFEB_vs_relBCID_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - } - hist OccupancypFEB_vs_Sector { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits - algorithm = stgc_Histogram_Not_Empty - } - hist relBCID_vs_Sector { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Lumiblock { - regex = 1 - dir Pad { - hist Nhits_all_pad_in_sector_per_LB { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad - algorithm = stgc_Histogram_Not_Empty - } - dir Q1 { - hist Nhits_all_pad_in_sector_per_LB_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Nhits_all_pad_in_sector_per_LB_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist Nhits_all_pad_in_sector_per_LB_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3 - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Strip { - hist Nhits_all_strip_in_sector_per_LB { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip - algorithm = stgc_Histogram_Not_Empty - } - dir Q1 { - hist Nhits_all_strip_in_sector_per_LB_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Nhits_all_strip_in_sector_per_LB_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2 - algorithm = stgc_Histogram_Not_Empty + dir MuonRawDataMonitoring { + dir STG { + dir Shifter { + dir Overview { + regex = 1 + hist Strip_cluster_size_ontrk_per_sector_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_Ymeans_size + display = LogZ,Draw=COLZ + } + hist Strip_cluster_timing_ontrk_per_sector_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_Ymeans_timing + display = LogZ,Draw=COLZ + } + hist strip_efficiency_per_mm_squared_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + display = Draw=COLZ + } + hist padTrigger_Efficiency_per_etaPhi { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + display = Draw=COLZ + } + hist padTrigger_Efficiency_per_eta { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + } + hist padTrigger_Efficiency_per_phi_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + } + } + dir Occupancy { + regex = 1 + dir Pad { + hist Pad_quad_occupancy_per_sector_.* { + output = MuonDetectors/STG/Shifter/Occupancy/Pad + display = LogZ,Draw=COLZ + algorithm = Occupancy_Bins + } + } + dir Strip { + hist Strip_quad_occupancy_per_sector_.* { + output = MuonDetectors/STG/Shifter/Occupancy/Strip + display = LogZ,Draw=COLZ + algorithm = Occupancy_Bins + } + } + dir Wire { + hist Wire_quad_occupancy_per_sector_.* { + output = MuonDetectors/STG/Shifter/Occupancy/Wire + display = LogZ,Draw=COLZ + algorithm = Occupancy_Bins + } + } + } + dir PadTrigger { + dir Triggers { + regex = 1 + hist OccupancySector_vs_LB { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers + algorithm = stgc_Histogram_Not_Empty + } + hist RelBCID_vs_LB { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers + algorithm = stgc_Histogram_Not_Empty + } + hist bandIds_vs_phiIds_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers + algorithm = stgc_Histogram_Not_Empty + } + dir PhiIDvsRelBCID { + regex = 1 + hist Trigger_PhiID_vs_RelBCID_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID + algorithm = stgc_Histogram_Not_Empty + } + } + dir BandIDvsRelBCID { + regex = 1 + hist Trigger_BandID_vs_RelBCID_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Hits { + dir PFEBvsRelBCID { + regex = 1 + hist pFEB_vs_relBCID_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID + algorithm = stgc_Histogram_Not_Empty + } + } + hist OccupancypFEB_vs_Sector { + output = MuonDetectors/STG/Shifter/PadTrigger/Hits + algorithm = stgc_Histogram_Not_Empty + } + hist relBCID_vs_Sector { + output = MuonDetectors/STG/Shifter/PadTrigger/Hits + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Lumiblock { + regex = 1 + dir Pad { + hist Nhits_all_pad_in_sector_per_LB { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad + algorithm = stgc_Histogram_Not_Empty + } + dir Q1 { + hist Nhits_all_pad_in_sector_per_LB_in_Q1_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist Nhits_all_pad_in_sector_per_LB_in_Q2_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Nhits_all_pad_in_sector_per_LB_in_Q3_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3 + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Strip { + hist Nhits_all_strip_in_sector_per_LB { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip + algorithm = stgc_Histogram_Not_Empty + } + dir Q1 { + hist Nhits_all_strip_in_sector_per_LB_in_Q1_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist Nhits_all_strip_in_sector_per_LB_in_Q2_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Nhits_all_strip_in_sector_per_LB_in_Q3_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3 + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Wire { + hist Nhits_all_wire_in_sector_per_LB { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire + algorithm = stgc_Histogram_Not_Empty + } + dir Q1 { + hist Nhits_all_wire_in_sector_per_LB_in_Q1_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist Nhits_all_wire_in_sector_per_LB_in_Q2_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Nhits_all_wire_in_sector_per_LB_in_Q3_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3 + algorithm = stgc_Histogram_Not_Empty + } + } + } + } + dir Timing { + regex = 1 + dir Pad { + hist All_pad_timing_per_sector_.* { + output = MuonDetectors/STG/Shifter/Timing/Pad + algorithm = stg_Ymeans_timing + } + } + dir Strip { + hist All_strip_timing_per_sector_.* { + output = MuonDetectors/STG/Shifter/Timing/Strip + algorithm = stg_Ymeans_timing + } + } + dir Wire { + hist All_wire_timing_per_sector_.* { + output = MuonDetectors/STG/Shifter/Timing/Wire + algorithm = stg_Ymeans_timing + } + } + } + } + dir Expert { + dir Occupancy { + regex = 1 + dir Pad { + hist Pad_ch_occupancy_per_sector_.* { + output = MuonDetectors/STG/Expert/Occupancy/Pad + algorithm = stgc_Histogram_Not_Empty + } + } + dir Strip { + hist Strip_ch_occupancy_per_sector_.* { + output = MuonDetectors/STG/Expert/Occupancy/Strip + algorithm = stgc_Histogram_Not_Empty + } + } + dir Wire { + hist Wire_ch_occupancy_per_sector_.* { + output = MuonDetectors/STG/Expert/Occupancy/Wire + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir PadTrigger { + dir Hits { + regex = 1 + dir padTriggerOccupancy { + hist padEtaPhiOcc_[1-8][AC][LS] { + output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Triggers { + regex = 1 + dir OccupancyBandIDvsLB { + hist OccupancyBandId_vs_LB_.* { + output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB + algorithm = stgc_Histogram_Not_Empty + } + } + dir OccupancyBandIDvsPhiId { + hist bandIds_vs_phiIds_.* { + output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId + algorithm = stgc_Histogram_Not_Empty + } + } + dir RelBCIDvsLB { + hist RelBCID_vs_LB_.* { + output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB + algorithm = stgc_Histogram_Not_Empty + } + } + } + } + dir Timing { + regex = 1 + dir Pad { + dir Q1 { + hist All_pad_timing_in_Q1_.* { + output = MuonDetectors/STG/Expert/Timing/Pad/Q1 + algorithm = stg_Ymeans_timing + } + } + dir Q2 { + hist All_pad_timing_in_Q2_.* { + output = MuonDetectors/STG/Expert/Timing/Pad/Q2 + algorithm = stg_Ymeans_timing + } + } + dir Q3 { + hist All_pad_timing_in_Q3_.* { + output = MuonDetectors/STG/Expert/Timing/Pad/Q3 + algorithm = stg_Ymeans_timing + } + } + } + dir Strip { + dir Q1 { + hist All_strip_timing_in_Q1_.* { + output = MuonDetectors/STG/Expert/Timing/Strip/Q1 + algorithm = stg_Ymeans_timing + } + } + dir Q2 { + hist All_strip_timing_in_Q2_.* { + output = MuonDetectors/STG/Expert/Timing/Strip/Q2 + algorithm = stg_Ymeans_timing + } + } + dir Q3 { + hist All_strip_timing_in_Q3_.* { + output = MuonDetectors/STG/Expert/Timing/Strip/Q3 + algorithm = stg_Ymeans_timing + } + } + } + dir Wire { + dir Q1 { + hist All_wire_timing_in_Q1_.* { + output = MuonDetectors/STG/Expert/Timing/Wire/Q1 + algorithm = stg_Ymeans_timing + } + } + dir Q2 { + hist All_wire_timing_in_Q2_.* { + output = MuonDetectors/STG/Expert/Timing/Wire/Q2 + algorithm = stg_Ymeans_timing + } + } + dir Q3 { + hist All_wire_timing_in_Q3_.* { + output = MuonDetectors/STG/Expert/Timing/Wire/Q3 + algorithm = stg_Ymeans_timing + } + } + } + } + dir Residuals { + regex = 1 + algorithm = stgc_Histogram_Not_Empty + dir (?P<sector>[AC][0-9]{2}) { + dir Q1 { + hist Residuals_in_Q1_.* { + output = MuonDetectors/STG/Expert/Residuals/${sector} + display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") + algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Residuals_in_Q3_.* { + output = MuonDetectors/STG/Expert/Residuals/${sector} + display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") + algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Residuals_in_Q3_.* { + output = MuonDetectors/STG/Expert/Residuals/${sector} + display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") + algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } + } + } + } + dir Efficiency { + regex = 1 + dir (?P<sector>[AC][0-9]{2}) { + hist Efficiency_per_Radius_.* { + output = MuonDetectors/STG/Expert/Efficiency/${sector} + algorithm = stg_efficiency_bins_out_of_range + } + } + } + dir Charge { + regex = 1 + algorithm = stgc_Histogram_Not_Empty + dir (?P<sector>[AC][0-9]{2}) { + dir Pad { + dir Q1 { + hist All_pad_charge_in_Q1_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q1 + display = Draw=e1,StatBox + algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist All_pad_charge_in_Q2_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q2 + display = Draw=e1,StatBox + algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist All_pad_charge_in_Q3_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q3 + display = Draw=e1,StatBox + algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty + } + } + } + dir Strip { + dir Q1 { + hist All_strip_charge_in_Q1_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q1 + display = Draw=e1,StatBox + algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist All_strip_charge_in_Q2_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q2 + display = Draw=e1,StatBox + algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist All_strip_charge_in_Q3_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q3 + display = Draw=e1,StatBox + algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty + } + } + } + dir Wire { + dir Q1 { + hist All_wire_charge_in_Q1_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q1 + display = Draw=e1,StatBox + algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist All_wire_charge_in_Q2_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q2 + display = Draw=e1,StatBox + algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist All_wire_charge_in_Q3_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q3 + display = Draw=e1,StatBox + algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty + } + } + } + } + } } - } - dir Q3 { - hist Nhits_all_strip_in_sector_per_LB_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3 - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Wire { - hist Nhits_all_wire_in_sector_per_LB { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire - algorithm = stgc_Histogram_Not_Empty - } - dir Q1 { - hist Nhits_all_wire_in_sector_per_LB_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Nhits_all_wire_in_sector_per_LB_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist Nhits_all_wire_in_sector_per_LB_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3 - algorithm = stgc_Histogram_Not_Empty - } - } - } - } - dir Timing { - regex = 1 - dir Pad { - hist All_pad_timing_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Timing/Pad - algorithm = stg_Ymeans_timing - } - } - dir Strip { - hist All_strip_timing_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Timing/Strip - algorithm = stg_Ymeans_timing - } - } - dir Wire { - hist All_wire_timing_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Timing/Wire - algorithm = stg_Ymeans_timing - } - } - } } - dir Expert { - dir Occupancy { - regex = 1 - dir Pad { - hist Pad_ch_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Occupancy/Pad - algorithm = stgc_Histogram_Not_Empty - } - } - dir Strip { - hist Strip_ch_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Occupancy/Strip - algorithm = stgc_Histogram_Not_Empty - } - } - dir Wire { - hist Wire_ch_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Occupancy/Wire - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir PadTrigger { - dir Hits { - regex = 1 - dir padTriggerOccupancy { - hist padEtaPhiOcc_[1-8][AC][LS] { - output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Triggers { - regex = 1 - dir OccupancyBandIDvsLB { - hist OccupancyBandId_vs_LB_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - hist OccupancyBandId_vs_LB_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - } - dir OccupancyBandIDvsPhiId { - hist bandIds_vs_phiIds_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId - algorithm = stgc_Histogram_Not_Empty - } - } - dir RelBCIDvsLB { - hist RelBCID_vs_LB_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - hist RelBCID_vs_LB_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - } - } - } - dir Timing { - regex = 1 - dir Pad { - dir Q1 { - hist All_pad_timing_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Pad/Q1 - algorithm = stg_Ymeans_timing - } - } - dir Q2 { - hist All_pad_timing_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Pad/Q2 - algorithm = stg_Ymeans_timing - } - } - dir Q3 { - hist All_pad_timing_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Pad/Q3 - algorithm = stg_Ymeans_timing - } - } - } - dir Strip { - dir Q1 { - hist All_strip_timing_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Strip/Q1 - algorithm = stg_Ymeans_timing - } - } - dir Q2 { - hist All_strip_timing_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Strip/Q2 - algorithm = stg_Ymeans_timing - } - } - dir Q3 { - hist All_strip_timing_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Strip/Q3 - algorithm = stg_Ymeans_timing - } - } - } - dir Wire { - dir Q1 { - hist All_wire_timing_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Wire/Q1 - algorithm = stg_Ymeans_timing - } - } - dir Q2 { - hist All_wire_timing_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Wire/Q2 - algorithm = stg_Ymeans_timing - } - } - dir Q3 { - hist All_wire_timing_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Wire/Q3 - algorithm = stg_Ymeans_timing - } - } - } - } - dir Residuals { - regex = 1 - algorithm = stgc_Histogram_Not_Empty - dir (?P<occ_anysector>[AC][0-9]{2}) { - dir Q1 { - hist Residuals_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Residuals/${occ_anysector} - display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") - algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Residuals_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Residuals/${occ_anysector} - display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") - algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist Residuals_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Residuals/${occ_anysector} - display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") - algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } +} + +############# +# Output +############# + +output top_level { + output MuonDetectors { + output STG { + output Shifter { + output Overview { + } + output Lumiblock { + output Pad { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Strip { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Wire { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } - } - } - } - } - dir Efficiency { - regex = 1 - dir (?P<occ_anysector>[AC][0-9]{2}) { - hist Efficiency_per_Radius_Layer[1-8] { - output = MuonDetectors/STG/Expert/Efficiency/${occ_anysector} - algorithm = stg_efficiency_bins_out_of_range - } - } - } - dir Charge { - regex = 1 - algorithm = stgc_Histogram_Not_Empty - dir (?P<occ_anysector>[AC][0-9]{2}) { - dir Pad { - dir Q1 { - hist All_pad_charge_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q1 - display = Draw=e1,StatBox - algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist All_pad_charge_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q2 - display = Draw=e1,StatBox - algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist All_pad_charge_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q3 - display = Draw=e1,StatBox - algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty - } - } - } - dir Strip { - dir Q1 { - hist All_strip_charge_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q1 - display = Draw=e1,StatBox - algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist All_strip_charge_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q2 - display = Draw=e1,StatBox - algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist All_strip_charge_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q3 - display = Draw=e1,StatBox - algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty - } - } - } - dir Wire { - dir Q1 { - hist All_wire_charge_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q1 - display = Draw=e1,StatBox - algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist All_wire_charge_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q2 - display = Draw=e1,StatBox - algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist All_wire_charge_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q3 - display = Draw=e1,StatBox - algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty - } - } - } - } - } - } - } - } + } + output PadTrigger { + output Triggers { + output PhiIDvsRelBCID { + } + output BandIDvsRelBCID { + } + } + output Hits { + output PFEBvsRelBCID { + } + } + } + output Occupancy { + output Strip { + } + output Pad { + } + output Wire { + } + } + output Timing { + output Strip { + } + output Pad { + } + output Wire { + } + } + } + output Expert { + output Occupancy { + output Pad { + } + output Strip { + } + output Wire { + } + } + output PadTrigger { + output Triggers { + output OccupancyBandIDvsLB { + } + output OccupancyBandIDvsPhiId { + } + output RelBCIDvsLB { + } + } + output Hits { + output padTriggerOccupancy { + } + } + } + output Timing { + output Pad { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Strip { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Wire { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + } + output Residuals { + output ${sector} { + } + } + output Charge { + output ${sector} { + output Pad { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Strip { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Wire { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + } + } + output Efficiency { + output ${sector} { + } + } + } + } + } } - + ############# # Algorithms ############# @@ -648,6 +609,7 @@ algorithm stgc_Histogram_Not_Empty { } algorithm stgc_GatherData { + libname = libdqm_algorithms.so name = GatherData reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences } @@ -686,7 +648,7 @@ algorithm stg_efficiency_bins_out_of_range { RANGE_D = 0.6 RANGE_U = 1.01 thresholds = range_thresholds_stgeff - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences } diff --git a/DataQuality/DataQualityConfigurations/config/sTGC/heavyions_minutes10.config b/DataQuality/DataQualityConfigurations/config/sTGC/heavyions_minutes10.config index 440b026b7c3b7fbe0096d871f2c4c2688aeda386..290c87f306fd2aa91d132b28e64408619fe7ec42 100644 --- a/DataQuality/DataQualityConfigurations/config/sTGC/heavyions_minutes10.config +++ b/DataQuality/DataQualityConfigurations/config/sTGC/heavyions_minutes10.config @@ -2,641 +2,602 @@ # sTG ########################################################### -############# -# Output -############# - -output top_level { - output MuonDetectors { - output STG { - output Shifter { - output Overview { - } - output Lumiblock { - output Strip { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Pad { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Wire { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - } - output PadTrigger { - output Triggers { - output PhiIDvsRelBCID { - } - output BandIDvsRelBCID { - } - } - output Hits { - output PFEBvsRelBCID { - } - } - } - output Occupancy { - output Strip { - } - output Pad { - } - output Wire { - } - } - output Timing { - output Strip { - } - output Pad { - } - output Wire { - } - } - } - output Expert { - output Occupancy { - output Strip { - } - output Pad { - } - output Wire { - } - } - output PadTrigger { - output Triggers { - output OccupancyBandIDvsLB { - } - output OccupancyBandIDvsPhiId { - } - output RelBCIDvsLB { - } - } - output Hits { - output padTriggerOccupancy { - } - } - } - output Timing { - output Strip { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Pad { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Wire { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - } - output Residuals { - output Overview { - } - output ${occ_anysector} { - } - } - output Charge { - output ${occ_anysector} { - output Strip { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Pad { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Wire { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - } - } - output Efficiency { - output ${occ_anysector} { - } - } - } - } - } -} - ####################### # Histogram Assessments ####################### dir Muon { - - dir MuonRawDataMonitoring { - #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - - dir STG { - - dir Shifter { - dir Overview { - regex = 1 - hist Strip_cluster_size_ontrk_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_Ymeans_size - display = LogZ,Draw=COLZ - } - hist Strip_cluster_timing_ontrk_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_Ymeans_timing - display = LogZ,Draw=COLZ - } - hist strip_efficiency_per_mm_squared_Wheel[AC]_layer[1-8] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - hist padTrigger_Efficiency_per_etaPhi { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - hist padTrigger_Efficiency_per_eta { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - hist padTrigger_Efficiency_per_phi_Side_[AC] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - } - dir Occupancy { - regex = 1 - dir Pad { - hist Pad_quad_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Occupancy/Pad - display = LogZ,Draw=COLZ - algorithm = Occupancy_Bins - } - } - dir Strip { - hist Strip_quad_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Occupancy/Strip - display = LogZ,Draw=COLZ - algorithm = Occupancy_Bins - } - } - dir Wire { - hist Wire_quad_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Occupancy/Wire - display = LogZ,Draw=COLZ - algorithm = Occupancy_Bins - } - } - } - dir PadTrigger { - dir Triggers { - hist OccupancySector_vs_LB { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist RelBCID_vs_LB { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideA_SizeL { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideA_SizeS { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideC_SizeL { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideC_SizeS { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - dir PhiIDvsRelBCID { - regex = 1 - hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - } - dir BandIDvsRelBCID { - regex = 1 - hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Hits { - dir PFEBvsRelBCID { - regex = 1 - hist pFEB_vs_relBCID_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - hist pFEB_vs_relBCID_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - } - hist OccupancypFEB_vs_Sector { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits - algorithm = stgc_Histogram_Not_Empty - } - hist relBCID_vs_Sector { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Lumiblock { - regex = 1 - dir Pad { - hist Nhits_all_pad_in_sector_per_LB { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad - algorithm = stgc_Histogram_Not_Empty - } - dir Q1 { - hist Nhits_all_pad_in_sector_per_LB_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Nhits_all_pad_in_sector_per_LB_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist Nhits_all_pad_in_sector_per_LB_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3 - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Strip { - hist Nhits_all_strip_in_sector_per_LB { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip - algorithm = stgc_Histogram_Not_Empty - } - dir Q1 { - hist Nhits_all_strip_in_sector_per_LB_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Nhits_all_strip_in_sector_per_LB_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2 - algorithm = stgc_Histogram_Not_Empty + dir MuonRawDataMonitoring { + dir STG { + dir Shifter { + dir Overview { + regex = 1 + hist Strip_cluster_size_ontrk_per_sector_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_Ymeans_size + display = LogZ,Draw=COLZ + } + hist Strip_cluster_timing_ontrk_per_sector_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_Ymeans_timing + display = LogZ,Draw=COLZ + } + hist strip_efficiency_per_mm_squared_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + display = Draw=COLZ + } + hist padTrigger_Efficiency_per_etaPhi { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + display = Draw=COLZ + } + hist padTrigger_Efficiency_per_eta { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + } + hist padTrigger_Efficiency_per_phi_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + } + } + dir Occupancy { + regex = 1 + dir Pad { + hist Pad_quad_occupancy_per_sector_.* { + output = MuonDetectors/STG/Shifter/Occupancy/Pad + display = LogZ,Draw=COLZ + algorithm = Occupancy_Bins + } + } + dir Strip { + hist Strip_quad_occupancy_per_sector_.* { + output = MuonDetectors/STG/Shifter/Occupancy/Strip + display = LogZ,Draw=COLZ + algorithm = Occupancy_Bins + } + } + dir Wire { + hist Wire_quad_occupancy_per_sector_.* { + output = MuonDetectors/STG/Shifter/Occupancy/Wire + display = LogZ,Draw=COLZ + algorithm = Occupancy_Bins + } + } + } + dir PadTrigger { + dir Triggers { + regex = 1 + hist OccupancySector_vs_LB { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers + algorithm = stgc_Histogram_Not_Empty + } + hist RelBCID_vs_LB { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers + algorithm = stgc_Histogram_Not_Empty + } + hist bandIds_vs_phiIds_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers + algorithm = stgc_Histogram_Not_Empty + } + dir PhiIDvsRelBCID { + regex = 1 + hist Trigger_PhiID_vs_RelBCID_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID + algorithm = stgc_Histogram_Not_Empty + } + } + dir BandIDvsRelBCID { + regex = 1 + hist Trigger_BandID_vs_RelBCID_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Hits { + dir PFEBvsRelBCID { + regex = 1 + hist pFEB_vs_relBCID_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID + algorithm = stgc_Histogram_Not_Empty + } + } + hist OccupancypFEB_vs_Sector { + output = MuonDetectors/STG/Shifter/PadTrigger/Hits + algorithm = stgc_Histogram_Not_Empty + } + hist relBCID_vs_Sector { + output = MuonDetectors/STG/Shifter/PadTrigger/Hits + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Lumiblock { + regex = 1 + dir Pad { + hist Nhits_all_pad_in_sector_per_LB { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad + algorithm = stgc_Histogram_Not_Empty + } + dir Q1 { + hist Nhits_all_pad_in_sector_per_LB_in_Q1_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist Nhits_all_pad_in_sector_per_LB_in_Q2_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Nhits_all_pad_in_sector_per_LB_in_Q3_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3 + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Strip { + hist Nhits_all_strip_in_sector_per_LB { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip + algorithm = stgc_Histogram_Not_Empty + } + dir Q1 { + hist Nhits_all_strip_in_sector_per_LB_in_Q1_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist Nhits_all_strip_in_sector_per_LB_in_Q2_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Nhits_all_strip_in_sector_per_LB_in_Q3_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3 + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Wire { + hist Nhits_all_wire_in_sector_per_LB { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire + algorithm = stgc_Histogram_Not_Empty + } + dir Q1 { + hist Nhits_all_wire_in_sector_per_LB_in_Q1_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist Nhits_all_wire_in_sector_per_LB_in_Q2_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Nhits_all_wire_in_sector_per_LB_in_Q3_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3 + algorithm = stgc_Histogram_Not_Empty + } + } + } + } + dir Timing { + regex = 1 + dir Pad { + hist All_pad_timing_per_sector_.* { + output = MuonDetectors/STG/Shifter/Timing/Pad + algorithm = stg_Ymeans_timing + } + } + dir Strip { + hist All_strip_timing_per_sector_.* { + output = MuonDetectors/STG/Shifter/Timing/Strip + algorithm = stg_Ymeans_timing + } + } + dir Wire { + hist All_wire_timing_per_sector_.* { + output = MuonDetectors/STG/Shifter/Timing/Wire + algorithm = stg_Ymeans_timing + } + } + } + } + dir Expert { + dir Occupancy { + regex = 1 + dir Pad { + hist Pad_ch_occupancy_per_sector_.* { + output = MuonDetectors/STG/Expert/Occupancy/Pad + algorithm = stgc_Histogram_Not_Empty + } + } + dir Strip { + hist Strip_ch_occupancy_per_sector_.* { + output = MuonDetectors/STG/Expert/Occupancy/Strip + algorithm = stgc_Histogram_Not_Empty + } + } + dir Wire { + hist Wire_ch_occupancy_per_sector_.* { + output = MuonDetectors/STG/Expert/Occupancy/Wire + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir PadTrigger { + dir Hits { + regex = 1 + dir padTriggerOccupancy { + hist padEtaPhiOcc_[1-8][AC][LS] { + output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Triggers { + regex = 1 + dir OccupancyBandIDvsLB { + hist OccupancyBandId_vs_LB_.* { + output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB + algorithm = stgc_Histogram_Not_Empty + } + } + dir OccupancyBandIDvsPhiId { + hist bandIds_vs_phiIds_.* { + output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId + algorithm = stgc_Histogram_Not_Empty + } + } + dir RelBCIDvsLB { + hist RelBCID_vs_LB_.* { + output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB + algorithm = stgc_Histogram_Not_Empty + } + } + } + } + dir Timing { + regex = 1 + dir Pad { + dir Q1 { + hist All_pad_timing_in_Q1_.* { + output = MuonDetectors/STG/Expert/Timing/Pad/Q1 + algorithm = stg_Ymeans_timing + } + } + dir Q2 { + hist All_pad_timing_in_Q2_.* { + output = MuonDetectors/STG/Expert/Timing/Pad/Q2 + algorithm = stg_Ymeans_timing + } + } + dir Q3 { + hist All_pad_timing_in_Q3_.* { + output = MuonDetectors/STG/Expert/Timing/Pad/Q3 + algorithm = stg_Ymeans_timing + } + } + } + dir Strip { + dir Q1 { + hist All_strip_timing_in_Q1_.* { + output = MuonDetectors/STG/Expert/Timing/Strip/Q1 + algorithm = stg_Ymeans_timing + } + } + dir Q2 { + hist All_strip_timing_in_Q2_.* { + output = MuonDetectors/STG/Expert/Timing/Strip/Q2 + algorithm = stg_Ymeans_timing + } + } + dir Q3 { + hist All_strip_timing_in_Q3_.* { + output = MuonDetectors/STG/Expert/Timing/Strip/Q3 + algorithm = stg_Ymeans_timing + } + } + } + dir Wire { + dir Q1 { + hist All_wire_timing_in_Q1_.* { + output = MuonDetectors/STG/Expert/Timing/Wire/Q1 + algorithm = stg_Ymeans_timing + } + } + dir Q2 { + hist All_wire_timing_in_Q2_.* { + output = MuonDetectors/STG/Expert/Timing/Wire/Q2 + algorithm = stg_Ymeans_timing + } + } + dir Q3 { + hist All_wire_timing_in_Q3_.* { + output = MuonDetectors/STG/Expert/Timing/Wire/Q3 + algorithm = stg_Ymeans_timing + } + } + } + } + dir Residuals { + regex = 1 + algorithm = stgc_Histogram_Not_Empty + dir (?P<sector>[AC][0-9]{2}) { + dir Q1 { + hist Residuals_in_Q1_.* { + output = MuonDetectors/STG/Expert/Residuals/${sector} + display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") + algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Residuals_in_Q3_.* { + output = MuonDetectors/STG/Expert/Residuals/${sector} + display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") + algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Residuals_in_Q3_.* { + output = MuonDetectors/STG/Expert/Residuals/${sector} + display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") + algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } + } + } + } + dir Efficiency { + regex = 1 + dir (?P<sector>[AC][0-9]{2}) { + hist Efficiency_per_Radius_.* { + output = MuonDetectors/STG/Expert/Efficiency/${sector} + algorithm = stg_efficiency_bins_out_of_range + } + } + } + dir Charge { + regex = 1 + algorithm = stgc_Histogram_Not_Empty + dir (?P<sector>[AC][0-9]{2}) { + dir Pad { + dir Q1 { + hist All_pad_charge_in_Q1_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q1 + display = Draw=e1,StatBox + algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist All_pad_charge_in_Q2_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q2 + display = Draw=e1,StatBox + algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist All_pad_charge_in_Q3_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q3 + display = Draw=e1,StatBox + algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty + } + } + } + dir Strip { + dir Q1 { + hist All_strip_charge_in_Q1_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q1 + display = Draw=e1,StatBox + algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist All_strip_charge_in_Q2_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q2 + display = Draw=e1,StatBox + algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist All_strip_charge_in_Q3_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q3 + display = Draw=e1,StatBox + algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty + } + } + } + dir Wire { + dir Q1 { + hist All_wire_charge_in_Q1_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q1 + display = Draw=e1,StatBox + algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist All_wire_charge_in_Q2_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q2 + display = Draw=e1,StatBox + algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist All_wire_charge_in_Q3_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q3 + display = Draw=e1,StatBox + algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty + } + } + } + } + } } - } - dir Q3 { - hist Nhits_all_strip_in_sector_per_LB_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3 - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Wire { - hist Nhits_all_wire_in_sector_per_LB { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire - algorithm = stgc_Histogram_Not_Empty - } - dir Q1 { - hist Nhits_all_wire_in_sector_per_LB_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Nhits_all_wire_in_sector_per_LB_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist Nhits_all_wire_in_sector_per_LB_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3 - algorithm = stgc_Histogram_Not_Empty - } - } - } - } - dir Timing { - regex = 1 - dir Pad { - hist All_pad_timing_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Timing/Pad - algorithm = stg_Ymeans_timing - } - } - dir Strip { - hist All_strip_timing_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Timing/Strip - algorithm = stg_Ymeans_timing - } - } - dir Wire { - hist All_wire_timing_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Timing/Wire - algorithm = stg_Ymeans_timing - } - } - } } - dir Expert { - dir Occupancy { - regex = 1 - dir Pad { - hist Pad_ch_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Occupancy/Pad - algorithm = stgc_Histogram_Not_Empty - } - } - dir Strip { - hist Strip_ch_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Occupancy/Strip - algorithm = stgc_Histogram_Not_Empty - } - } - dir Wire { - hist Wire_ch_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Occupancy/Wire - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir PadTrigger { - dir Hits { - regex = 1 - dir padTriggerOccupancy { - hist padEtaPhiOcc_[1-8][AC][LS] { - output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Triggers { - regex = 1 - dir OccupancyBandIDvsLB { - hist OccupancyBandId_vs_LB_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - hist OccupancyBandId_vs_LB_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - } - dir OccupancyBandIDvsPhiId { - hist bandIds_vs_phiIds_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId - algorithm = stgc_Histogram_Not_Empty - } - } - dir RelBCIDvsLB { - hist RelBCID_vs_LB_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - hist RelBCID_vs_LB_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - } - } - } - dir Timing { - regex = 1 - dir Pad { - dir Q1 { - hist All_pad_timing_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Pad/Q1 - algorithm = stg_Ymeans_timing - } - } - dir Q2 { - hist All_pad_timing_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Pad/Q2 - algorithm = stg_Ymeans_timing - } - } - dir Q3 { - hist All_pad_timing_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Pad/Q3 - algorithm = stg_Ymeans_timing - } - } - } - dir Strip { - dir Q1 { - hist All_strip_timing_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Strip/Q1 - algorithm = stg_Ymeans_timing - } - } - dir Q2 { - hist All_strip_timing_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Strip/Q2 - algorithm = stg_Ymeans_timing - } - } - dir Q3 { - hist All_strip_timing_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Strip/Q3 - algorithm = stg_Ymeans_timing - } - } - } - dir Wire { - dir Q1 { - hist All_wire_timing_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Wire/Q1 - algorithm = stg_Ymeans_timing - } - } - dir Q2 { - hist All_wire_timing_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Wire/Q2 - algorithm = stg_Ymeans_timing - } - } - dir Q3 { - hist All_wire_timing_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Wire/Q3 - algorithm = stg_Ymeans_timing - } - } - } - } - dir Residuals { - regex = 1 - algorithm = stgc_Histogram_Not_Empty - dir (?P<occ_anysector>[AC][0-9]{2}) { - dir Q1 { - hist Residuals_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Residuals/${occ_anysector} - display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") - algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Residuals_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Residuals/${occ_anysector} - display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") - algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist Residuals_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Residuals/${occ_anysector} - display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") - algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } +} + +############# +# Output +############# + +output top_level { + output MuonDetectors { + output STG { + output Shifter { + output Overview { + } + output Lumiblock { + output Pad { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Strip { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Wire { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } - } - } - } - } - dir Efficiency { - regex = 1 - dir (?P<occ_anysector>[AC][0-9]{2}) { - hist Efficiency_per_Radius_Layer[1-8] { - output = MuonDetectors/STG/Expert/Efficiency/${occ_anysector} - algorithm = stg_efficiency_bins_out_of_range - } - } - } - dir Charge { - regex = 1 - algorithm = stgc_Histogram_Not_Empty - dir (?P<occ_anysector>[AC][0-9]{2}) { - dir Pad { - dir Q1 { - hist All_pad_charge_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q1 - display = Draw=e1,StatBox - algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist All_pad_charge_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q2 - display = Draw=e1,StatBox - algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist All_pad_charge_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q3 - display = Draw=e1,StatBox - algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty - } - } - } - dir Strip { - dir Q1 { - hist All_strip_charge_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q1 - display = Draw=e1,StatBox - algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist All_strip_charge_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q2 - display = Draw=e1,StatBox - algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist All_strip_charge_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q3 - display = Draw=e1,StatBox - algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty - } - } - } - dir Wire { - dir Q1 { - hist All_wire_charge_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q1 - display = Draw=e1,StatBox - algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist All_wire_charge_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q2 - display = Draw=e1,StatBox - algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist All_wire_charge_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q3 - display = Draw=e1,StatBox - algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty - } - } - } - } - } - } - } - } + } + output PadTrigger { + output Triggers { + output PhiIDvsRelBCID { + } + output BandIDvsRelBCID { + } + } + output Hits { + output PFEBvsRelBCID { + } + } + } + output Occupancy { + output Strip { + } + output Pad { + } + output Wire { + } + } + output Timing { + output Strip { + } + output Pad { + } + output Wire { + } + } + } + output Expert { + output Occupancy { + output Pad { + } + output Strip { + } + output Wire { + } + } + output PadTrigger { + output Triggers { + output OccupancyBandIDvsLB { + } + output OccupancyBandIDvsPhiId { + } + output RelBCIDvsLB { + } + } + output Hits { + output padTriggerOccupancy { + } + } + } + output Timing { + output Pad { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Strip { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Wire { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + } + output Residuals { + output ${sector} { + } + } + output Charge { + output ${sector} { + output Pad { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Strip { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Wire { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + } + } + output Efficiency { + output ${sector} { + } + } + } + } + } } - + ############# # Algorithms ############# @@ -648,6 +609,7 @@ algorithm stgc_Histogram_Not_Empty { } algorithm stgc_GatherData { + libname = libdqm_algorithms.so name = GatherData reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences } @@ -686,7 +648,7 @@ algorithm stg_efficiency_bins_out_of_range { RANGE_D = 0.6 RANGE_U = 1.01 thresholds = range_thresholds_stgeff - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences } diff --git a/DataQuality/DataQualityConfigurations/config/sTGC/heavyions_run.config b/DataQuality/DataQualityConfigurations/config/sTGC/heavyions_run.config index 440b026b7c3b7fbe0096d871f2c4c2688aeda386..290c87f306fd2aa91d132b28e64408619fe7ec42 100644 --- a/DataQuality/DataQualityConfigurations/config/sTGC/heavyions_run.config +++ b/DataQuality/DataQualityConfigurations/config/sTGC/heavyions_run.config @@ -2,641 +2,602 @@ # sTG ########################################################### -############# -# Output -############# - -output top_level { - output MuonDetectors { - output STG { - output Shifter { - output Overview { - } - output Lumiblock { - output Strip { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Pad { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Wire { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - } - output PadTrigger { - output Triggers { - output PhiIDvsRelBCID { - } - output BandIDvsRelBCID { - } - } - output Hits { - output PFEBvsRelBCID { - } - } - } - output Occupancy { - output Strip { - } - output Pad { - } - output Wire { - } - } - output Timing { - output Strip { - } - output Pad { - } - output Wire { - } - } - } - output Expert { - output Occupancy { - output Strip { - } - output Pad { - } - output Wire { - } - } - output PadTrigger { - output Triggers { - output OccupancyBandIDvsLB { - } - output OccupancyBandIDvsPhiId { - } - output RelBCIDvsLB { - } - } - output Hits { - output padTriggerOccupancy { - } - } - } - output Timing { - output Strip { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Pad { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Wire { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - } - output Residuals { - output Overview { - } - output ${occ_anysector} { - } - } - output Charge { - output ${occ_anysector} { - output Strip { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Pad { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - output Wire { - output Q1 { - } - output Q2 { - } - output Q3 { - } - } - } - } - output Efficiency { - output ${occ_anysector} { - } - } - } - } - } -} - ####################### # Histogram Assessments ####################### dir Muon { - - dir MuonRawDataMonitoring { - #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - - dir STG { - - dir Shifter { - dir Overview { - regex = 1 - hist Strip_cluster_size_ontrk_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_Ymeans_size - display = LogZ,Draw=COLZ - } - hist Strip_cluster_timing_ontrk_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_Ymeans_timing - display = LogZ,Draw=COLZ - } - hist strip_efficiency_per_mm_squared_Wheel[AC]_layer[1-8] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - hist padTrigger_Efficiency_per_etaPhi { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - hist padTrigger_Efficiency_per_eta { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - hist padTrigger_Efficiency_per_phi_Side_[AC] { - output = MuonDetectors/STG/Shifter/Overview - algorithm = stg_efficiency_bins_out_of_range - } - } - dir Occupancy { - regex = 1 - dir Pad { - hist Pad_quad_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Occupancy/Pad - display = LogZ,Draw=COLZ - algorithm = Occupancy_Bins - } - } - dir Strip { - hist Strip_quad_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Occupancy/Strip - display = LogZ,Draw=COLZ - algorithm = Occupancy_Bins - } - } - dir Wire { - hist Wire_quad_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Occupancy/Wire - display = LogZ,Draw=COLZ - algorithm = Occupancy_Bins - } - } - } - dir PadTrigger { - dir Triggers { - hist OccupancySector_vs_LB { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist RelBCID_vs_LB { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideA_SizeL { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideA_SizeS { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideC_SizeL { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_SideC_SizeS { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers - algorithm = stgc_Histogram_Not_Empty - } - dir PhiIDvsRelBCID { - regex = 1 - hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - } - dir BandIDvsRelBCID { - regex = 1 - hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Hits { - dir PFEBvsRelBCID { - regex = 1 - hist pFEB_vs_relBCID_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - hist pFEB_vs_relBCID_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID - algorithm = stgc_Histogram_Not_Empty - } - } - hist OccupancypFEB_vs_Sector { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits - algorithm = stgc_Histogram_Not_Empty - } - hist relBCID_vs_Sector { - output = MuonDetectors/STG/Shifter/PadTrigger/Hits - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Lumiblock { - regex = 1 - dir Pad { - hist Nhits_all_pad_in_sector_per_LB { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad - algorithm = stgc_Histogram_Not_Empty - } - dir Q1 { - hist Nhits_all_pad_in_sector_per_LB_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Nhits_all_pad_in_sector_per_LB_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist Nhits_all_pad_in_sector_per_LB_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3 - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Strip { - hist Nhits_all_strip_in_sector_per_LB { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip - algorithm = stgc_Histogram_Not_Empty - } - dir Q1 { - hist Nhits_all_strip_in_sector_per_LB_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Nhits_all_strip_in_sector_per_LB_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2 - algorithm = stgc_Histogram_Not_Empty + dir MuonRawDataMonitoring { + dir STG { + dir Shifter { + dir Overview { + regex = 1 + hist Strip_cluster_size_ontrk_per_sector_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_Ymeans_size + display = LogZ,Draw=COLZ + } + hist Strip_cluster_timing_ontrk_per_sector_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_Ymeans_timing + display = LogZ,Draw=COLZ + } + hist strip_efficiency_per_mm_squared_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + display = Draw=COLZ + } + hist padTrigger_Efficiency_per_etaPhi { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + display = Draw=COLZ + } + hist padTrigger_Efficiency_per_eta { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + } + hist padTrigger_Efficiency_per_phi_.* { + output = MuonDetectors/STG/Shifter/Overview + algorithm = stg_efficiency_bins_out_of_range + } + } + dir Occupancy { + regex = 1 + dir Pad { + hist Pad_quad_occupancy_per_sector_.* { + output = MuonDetectors/STG/Shifter/Occupancy/Pad + display = LogZ,Draw=COLZ + algorithm = Occupancy_Bins + } + } + dir Strip { + hist Strip_quad_occupancy_per_sector_.* { + output = MuonDetectors/STG/Shifter/Occupancy/Strip + display = LogZ,Draw=COLZ + algorithm = Occupancy_Bins + } + } + dir Wire { + hist Wire_quad_occupancy_per_sector_.* { + output = MuonDetectors/STG/Shifter/Occupancy/Wire + display = LogZ,Draw=COLZ + algorithm = Occupancy_Bins + } + } + } + dir PadTrigger { + dir Triggers { + regex = 1 + hist OccupancySector_vs_LB { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers + algorithm = stgc_Histogram_Not_Empty + } + hist RelBCID_vs_LB { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers + algorithm = stgc_Histogram_Not_Empty + } + hist bandIds_vs_phiIds_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers + algorithm = stgc_Histogram_Not_Empty + } + dir PhiIDvsRelBCID { + regex = 1 + hist Trigger_PhiID_vs_RelBCID_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID + algorithm = stgc_Histogram_Not_Empty + } + } + dir BandIDvsRelBCID { + regex = 1 + hist Trigger_BandID_vs_RelBCID_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Hits { + dir PFEBvsRelBCID { + regex = 1 + hist pFEB_vs_relBCID_.* { + output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID + algorithm = stgc_Histogram_Not_Empty + } + } + hist OccupancypFEB_vs_Sector { + output = MuonDetectors/STG/Shifter/PadTrigger/Hits + algorithm = stgc_Histogram_Not_Empty + } + hist relBCID_vs_Sector { + output = MuonDetectors/STG/Shifter/PadTrigger/Hits + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Lumiblock { + regex = 1 + dir Pad { + hist Nhits_all_pad_in_sector_per_LB { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad + algorithm = stgc_Histogram_Not_Empty + } + dir Q1 { + hist Nhits_all_pad_in_sector_per_LB_in_Q1_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist Nhits_all_pad_in_sector_per_LB_in_Q2_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Nhits_all_pad_in_sector_per_LB_in_Q3_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3 + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Strip { + hist Nhits_all_strip_in_sector_per_LB { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip + algorithm = stgc_Histogram_Not_Empty + } + dir Q1 { + hist Nhits_all_strip_in_sector_per_LB_in_Q1_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist Nhits_all_strip_in_sector_per_LB_in_Q2_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Nhits_all_strip_in_sector_per_LB_in_Q3_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3 + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Wire { + hist Nhits_all_wire_in_sector_per_LB { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire + algorithm = stgc_Histogram_Not_Empty + } + dir Q1 { + hist Nhits_all_wire_in_sector_per_LB_in_Q1_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist Nhits_all_wire_in_sector_per_LB_in_Q2_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2 + algorithm = stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Nhits_all_wire_in_sector_per_LB_in_Q3_.* { + output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3 + algorithm = stgc_Histogram_Not_Empty + } + } + } + } + dir Timing { + regex = 1 + dir Pad { + hist All_pad_timing_per_sector_.* { + output = MuonDetectors/STG/Shifter/Timing/Pad + algorithm = stg_Ymeans_timing + } + } + dir Strip { + hist All_strip_timing_per_sector_.* { + output = MuonDetectors/STG/Shifter/Timing/Strip + algorithm = stg_Ymeans_timing + } + } + dir Wire { + hist All_wire_timing_per_sector_.* { + output = MuonDetectors/STG/Shifter/Timing/Wire + algorithm = stg_Ymeans_timing + } + } + } + } + dir Expert { + dir Occupancy { + regex = 1 + dir Pad { + hist Pad_ch_occupancy_per_sector_.* { + output = MuonDetectors/STG/Expert/Occupancy/Pad + algorithm = stgc_Histogram_Not_Empty + } + } + dir Strip { + hist Strip_ch_occupancy_per_sector_.* { + output = MuonDetectors/STG/Expert/Occupancy/Strip + algorithm = stgc_Histogram_Not_Empty + } + } + dir Wire { + hist Wire_ch_occupancy_per_sector_.* { + output = MuonDetectors/STG/Expert/Occupancy/Wire + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir PadTrigger { + dir Hits { + regex = 1 + dir padTriggerOccupancy { + hist padEtaPhiOcc_[1-8][AC][LS] { + output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy + algorithm = stgc_Histogram_Not_Empty + } + } + } + dir Triggers { + regex = 1 + dir OccupancyBandIDvsLB { + hist OccupancyBandId_vs_LB_.* { + output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB + algorithm = stgc_Histogram_Not_Empty + } + } + dir OccupancyBandIDvsPhiId { + hist bandIds_vs_phiIds_.* { + output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId + algorithm = stgc_Histogram_Not_Empty + } + } + dir RelBCIDvsLB { + hist RelBCID_vs_LB_.* { + output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB + algorithm = stgc_Histogram_Not_Empty + } + } + } + } + dir Timing { + regex = 1 + dir Pad { + dir Q1 { + hist All_pad_timing_in_Q1_.* { + output = MuonDetectors/STG/Expert/Timing/Pad/Q1 + algorithm = stg_Ymeans_timing + } + } + dir Q2 { + hist All_pad_timing_in_Q2_.* { + output = MuonDetectors/STG/Expert/Timing/Pad/Q2 + algorithm = stg_Ymeans_timing + } + } + dir Q3 { + hist All_pad_timing_in_Q3_.* { + output = MuonDetectors/STG/Expert/Timing/Pad/Q3 + algorithm = stg_Ymeans_timing + } + } + } + dir Strip { + dir Q1 { + hist All_strip_timing_in_Q1_.* { + output = MuonDetectors/STG/Expert/Timing/Strip/Q1 + algorithm = stg_Ymeans_timing + } + } + dir Q2 { + hist All_strip_timing_in_Q2_.* { + output = MuonDetectors/STG/Expert/Timing/Strip/Q2 + algorithm = stg_Ymeans_timing + } + } + dir Q3 { + hist All_strip_timing_in_Q3_.* { + output = MuonDetectors/STG/Expert/Timing/Strip/Q3 + algorithm = stg_Ymeans_timing + } + } + } + dir Wire { + dir Q1 { + hist All_wire_timing_in_Q1_.* { + output = MuonDetectors/STG/Expert/Timing/Wire/Q1 + algorithm = stg_Ymeans_timing + } + } + dir Q2 { + hist All_wire_timing_in_Q2_.* { + output = MuonDetectors/STG/Expert/Timing/Wire/Q2 + algorithm = stg_Ymeans_timing + } + } + dir Q3 { + hist All_wire_timing_in_Q3_.* { + output = MuonDetectors/STG/Expert/Timing/Wire/Q3 + algorithm = stg_Ymeans_timing + } + } + } + } + dir Residuals { + regex = 1 + algorithm = stgc_Histogram_Not_Empty + dir (?P<sector>[AC][0-9]{2}) { + dir Q1 { + hist Residuals_in_Q1_.* { + output = MuonDetectors/STG/Expert/Residuals/${sector} + display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") + algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Residuals_in_Q3_.* { + output = MuonDetectors/STG/Expert/Residuals/${sector} + display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") + algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist Residuals_in_Q3_.* { + output = MuonDetectors/STG/Expert/Residuals/${sector} + display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") + algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } + } + } + } + dir Efficiency { + regex = 1 + dir (?P<sector>[AC][0-9]{2}) { + hist Efficiency_per_Radius_.* { + output = MuonDetectors/STG/Expert/Efficiency/${sector} + algorithm = stg_efficiency_bins_out_of_range + } + } + } + dir Charge { + regex = 1 + algorithm = stgc_Histogram_Not_Empty + dir (?P<sector>[AC][0-9]{2}) { + dir Pad { + dir Q1 { + hist All_pad_charge_in_Q1_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q1 + display = Draw=e1,StatBox + algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist All_pad_charge_in_Q2_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q2 + display = Draw=e1,StatBox + algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist All_pad_charge_in_Q3_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q3 + display = Draw=e1,StatBox + algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty + } + } + } + dir Strip { + dir Q1 { + hist All_strip_charge_in_Q1_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q1 + display = Draw=e1,StatBox + algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist All_strip_charge_in_Q2_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q2 + display = Draw=e1,StatBox + algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist All_strip_charge_in_Q3_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q3 + display = Draw=e1,StatBox + algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty + } + } + } + dir Wire { + dir Q1 { + hist All_wire_charge_in_Q1_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q1 + display = Draw=e1,StatBox + algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q2 { + hist All_wire_charge_in_Q2_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q2 + display = Draw=e1,StatBox + algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty + } + } + dir Q3 { + hist All_wire_charge_in_Q3_.* { + output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q3 + display = Draw=e1,StatBox + algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty + } + } + } + } + } } - } - dir Q3 { - hist Nhits_all_strip_in_sector_per_LB_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3 - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Wire { - hist Nhits_all_wire_in_sector_per_LB { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire - algorithm = stgc_Histogram_Not_Empty - } - dir Q1 { - hist Nhits_all_wire_in_sector_per_LB_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Nhits_all_wire_in_sector_per_LB_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2 - algorithm = stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist Nhits_all_wire_in_sector_per_LB_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3 - algorithm = stgc_Histogram_Not_Empty - } - } - } - } - dir Timing { - regex = 1 - dir Pad { - hist All_pad_timing_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Timing/Pad - algorithm = stg_Ymeans_timing - } - } - dir Strip { - hist All_strip_timing_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Timing/Strip - algorithm = stg_Ymeans_timing - } - } - dir Wire { - hist All_wire_timing_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Shifter/Timing/Wire - algorithm = stg_Ymeans_timing - } - } - } } - dir Expert { - dir Occupancy { - regex = 1 - dir Pad { - hist Pad_ch_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Occupancy/Pad - algorithm = stgc_Histogram_Not_Empty - } - } - dir Strip { - hist Strip_ch_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Occupancy/Strip - algorithm = stgc_Histogram_Not_Empty - } - } - dir Wire { - hist Wire_ch_occupancy_per_sector_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Occupancy/Wire - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir PadTrigger { - dir Hits { - regex = 1 - dir padTriggerOccupancy { - hist padEtaPhiOcc_[1-8][AC][LS] { - output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy - algorithm = stgc_Histogram_Not_Empty - } - } - } - dir Triggers { - regex = 1 - dir OccupancyBandIDvsLB { - hist OccupancyBandId_vs_LB_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - hist OccupancyBandId_vs_LB_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - } - dir OccupancyBandIDvsPhiId { - hist bandIds_vs_phiIds_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId - algorithm = stgc_Histogram_Not_Empty - } - hist bandIds_vs_phiIds_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId - algorithm = stgc_Histogram_Not_Empty - } - } - dir RelBCIDvsLB { - hist RelBCID_vs_LB_Side[AC]_Sector[123456789] { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - hist RelBCID_vs_LB_Side[AC]_Sector[0-9]{2} { - output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB - algorithm = stgc_Histogram_Not_Empty - } - } - } - } - dir Timing { - regex = 1 - dir Pad { - dir Q1 { - hist All_pad_timing_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Pad/Q1 - algorithm = stg_Ymeans_timing - } - } - dir Q2 { - hist All_pad_timing_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Pad/Q2 - algorithm = stg_Ymeans_timing - } - } - dir Q3 { - hist All_pad_timing_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Pad/Q3 - algorithm = stg_Ymeans_timing - } - } - } - dir Strip { - dir Q1 { - hist All_strip_timing_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Strip/Q1 - algorithm = stg_Ymeans_timing - } - } - dir Q2 { - hist All_strip_timing_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Strip/Q2 - algorithm = stg_Ymeans_timing - } - } - dir Q3 { - hist All_strip_timing_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Strip/Q3 - algorithm = stg_Ymeans_timing - } - } - } - dir Wire { - dir Q1 { - hist All_wire_timing_in_Q1_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Wire/Q1 - algorithm = stg_Ymeans_timing - } - } - dir Q2 { - hist All_wire_timing_in_Q2_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Wire/Q2 - algorithm = stg_Ymeans_timing - } - } - dir Q3 { - hist All_wire_timing_in_Q3_Layer*[12345678] { - output = MuonDetectors/STG/Expert/Timing/Wire/Q3 - algorithm = stg_Ymeans_timing - } - } - } - } - dir Residuals { - regex = 1 - algorithm = stgc_Histogram_Not_Empty - dir (?P<occ_anysector>[AC][0-9]{2}) { - dir Q1 { - hist Residuals_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Residuals/${occ_anysector} - display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") - algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist Residuals_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Residuals/${occ_anysector} - display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") - algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist Residuals_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Residuals/${occ_anysector} - display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X") - algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty + } +} + +############# +# Output +############# + +output top_level { + output MuonDetectors { + output STG { + output Shifter { + output Overview { + } + output Lumiblock { + output Pad { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Strip { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Wire { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } - } - } - } - } - dir Efficiency { - regex = 1 - dir (?P<occ_anysector>[AC][0-9]{2}) { - hist Efficiency_per_Radius_Layer[1-8] { - output = MuonDetectors/STG/Expert/Efficiency/${occ_anysector} - algorithm = stg_efficiency_bins_out_of_range - } - } - } - dir Charge { - regex = 1 - algorithm = stgc_Histogram_Not_Empty - dir (?P<occ_anysector>[AC][0-9]{2}) { - dir Pad { - dir Q1 { - hist All_pad_charge_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q1 - display = Draw=e1,StatBox - algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist All_pad_charge_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q2 - display = Draw=e1,StatBox - algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist All_pad_charge_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q3 - display = Draw=e1,StatBox - algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty - } - } - } - dir Strip { - dir Q1 { - hist All_strip_charge_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q1 - display = Draw=e1,StatBox - algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist All_strip_charge_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q2 - display = Draw=e1,StatBox - algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist All_strip_charge_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q3 - display = Draw=e1,StatBox - algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty - } - } - } - dir Wire { - dir Q1 { - hist All_wire_charge_in_Q1_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q1 - display = Draw=e1,StatBox - algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q2 { - hist All_wire_charge_in_Q2_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q2 - display = Draw=e1,StatBox - algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty - } - } - dir Q3 { - hist All_wire_charge_in_Q3_Layer[1-8] { - output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q3 - display = Draw=e1,StatBox - algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty - } - } - } - } - } - } - } - } + } + output PadTrigger { + output Triggers { + output PhiIDvsRelBCID { + } + output BandIDvsRelBCID { + } + } + output Hits { + output PFEBvsRelBCID { + } + } + } + output Occupancy { + output Strip { + } + output Pad { + } + output Wire { + } + } + output Timing { + output Strip { + } + output Pad { + } + output Wire { + } + } + } + output Expert { + output Occupancy { + output Pad { + } + output Strip { + } + output Wire { + } + } + output PadTrigger { + output Triggers { + output OccupancyBandIDvsLB { + } + output OccupancyBandIDvsPhiId { + } + output RelBCIDvsLB { + } + } + output Hits { + output padTriggerOccupancy { + } + } + } + output Timing { + output Pad { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Strip { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Wire { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + } + output Residuals { + output ${sector} { + } + } + output Charge { + output ${sector} { + output Pad { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Strip { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + output Wire { + output Q1 { + } + output Q2 { + } + output Q3 { + } + } + } + } + output Efficiency { + output ${sector} { + } + } + } + } + } } - + ############# # Algorithms ############# @@ -648,6 +609,7 @@ algorithm stgc_Histogram_Not_Empty { } algorithm stgc_GatherData { + libname = libdqm_algorithms.so name = GatherData reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences } @@ -686,7 +648,7 @@ algorithm stg_efficiency_bins_out_of_range { RANGE_D = 0.6 RANGE_U = 1.01 thresholds = range_thresholds_stgeff - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences }