diff --git a/Trigger/TrigMonitoring/TrigMETMonitoring/python/TrigMETMonitorAlgorithm.py b/Trigger/TrigMonitoring/TrigMETMonitoring/python/TrigMETMonitorAlgorithm.py index 176a8932dd1f74d3ebb42d5964b12ad0709d9e48..65841dfa0fdabebbfa7e69a4fb60525de39f9d64 100644 --- a/Trigger/TrigMonitoring/TrigMETMonitoring/python/TrigMETMonitorAlgorithm.py +++ b/Trigger/TrigMonitoring/TrigMETMonitoring/python/TrigMETMonitorAlgorithm.py @@ -98,15 +98,27 @@ def TrigMETMonConfig(inputFlags): et_bins=205 #Et et_min=-13.5 et_max=401.5 + et_bins_log=20 #Et_log + et_min_log=-1.875 + et_max_log=4.125 ec_bins=199 #Ex, Ey, Ez ec_min=-298.5 ec_max=298.5 + ec_bins_log=27 #Ex_log, Ey_log, Ez_log + ec_min_log=-4.125 + ec_max_log=4.125 sumet_bins=305 #sumEt sumet_min=-27.0 sumet_max=4203.0 + sumet_bins_log=20 #sumEt_log + sumet_min_log=-1.875 + sumet_max_log=4.125 sume_bins=153 #sumE sume_min=-27.0 sume_max=24003.0 + sume_bins_log=40 #sumE_log + sume_min_log=-1.875 + sume_max_log=6.125 phi_bins=100 # phi phi_bins_2d=24 # phi phi_min=-3.1416 @@ -119,6 +131,7 @@ def TrigMETMonConfig(inputFlags): eff_min=-13.5 eff_max=401.5 # Histograms + ## offline MET metGroup.defineHistogram('offline_Ex',title='Offline Missing E_{x};E_{x} [GeV];Events', path='Expert/Offline',xbins=ec_bins,xmin=ec_min,xmax=ec_max) metGroup.defineHistogram('offline_Ey',title='Offline Missing E_{y};E_{y} [GeV];Events', @@ -127,36 +140,89 @@ def TrigMETMonConfig(inputFlags): path='Expert/Offline',xbins=et_bins,xmin=et_min,xmax=et_max) metGroup.defineHistogram('offline_sumEt',title='Offline sumE_{T};sumE_{T} [GeV];Events', path='Expert/Offline',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max) + ## L1 metGroup.defineHistogram('L1_Ex',title='L1 Missing E_{x};E_{x} [GeV];Events', path='Shifter/L1',xbins=ec_bins,xmin=ec_min,xmax=ec_max) metGroup.defineHistogram('L1_Ey',title='L1 Missing E_{y};E_{y} [GeV];Events', path='Shifter/L1',xbins=ec_bins,xmin=ec_min,xmax=ec_max) metGroup.defineHistogram('L1_Et',title='L1 Missing E_{T};E_{T} [GeV];Events', path='Shifter/L1',xbins=et_bins,xmin=et_min,xmax=et_max) + ## HLT cell metGroup.defineHistogram('cell_Ex',title='cell Missing E_{x};E_{x} [GeV];Events', path='Shifter/cell',xbins=ec_bins,xmin=ec_min,xmax=ec_max) + metGroup.defineHistogram('cell_Ex_log',title='cell Missing E_{x} log;sgn(E_{x}) log_{10}(E_{x}/GeV);Events', + path='Shifter/cell',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log) metGroup.defineHistogram('cell_Ey',title='cell Missing E_{y};E_{y} [GeV];Events', path='Shifter/cell',xbins=ec_bins,xmin=ec_min,xmax=ec_max) + metGroup.defineHistogram('cell_Ey_log',title='cell Missing E_{y} log;sgn(E_{y}) log_{10}(E_{y}/GeV);Events', + path='Shifter/cell',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log) metGroup.defineHistogram('cell_Et',title='cell Missing E_{T};E_{T} [GeV];Events', path='Shifter/cell',xbins=et_bins,xmin=et_min,xmax=et_max) + metGroup.defineHistogram('cell_Et_log',title='cell Missing E_{T} log;log_{10}(E_{T}/GeV);Events', + path='Shifter/cell',xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log) + metGroup.defineHistogram('cell_sumEt',title='cell sumEt;sumEt [GeV];Events', + path='Shifter/cell',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max) + metGroup.defineHistogram('cell_sumEt_log',title='cell sumEt log;log_{10}(sumEt/GeV);Events', + path='Shifter/cell',xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log) + metGroup.defineHistogram('cell_phi',title='cell #phi;#phi;Events', + path='Shifter/cell',xbins=phi_bins,xmin=phi_min,xmax=phi_max) + metGroup.defineHistogram('cell_phi;cell_phi_etweight', title='cell #phi (etweighted);#phi;E_{T} weighted events', + weight='cell_Et', + path='Shifter/cell',xbins=phi_bins,xmin=phi_min,xmax=phi_max) + metGroup.defineHistogram('cell_eta,cell_phi;cell_eta_phi', type='TH2F', title='cell #eta - #phi;#eta;#phi', + path='Shifter/cell', + xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max) + metGroup.defineHistogram('cell_eta,cell_phi;cell_eta_phi_etweight', type='TH2F', title='cell #eta - #phi (etweighted);#eta;#phi', + weight='cell_Et', + path='Shifter/cell', + xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max) + ## HLT trkmht metGroup.defineHistogram('trkmht_Ex',title='trkmht Missing E_{x};E_{x} [GeV];Events', path='Shifter/trkmht',xbins=ec_bins,xmin=ec_min,xmax=ec_max) + metGroup.defineHistogram('trkmht_Ex_log',title='trkmht Missing E_{x} log;sgn(E_{x}) log_{10}(E_{x}/GeV);Events', + path='Shifter/trkmht',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log) metGroup.defineHistogram('trkmht_Ey',title='trkmht Missing E_{y};E_{y} [GeV];Events', path='Shifter/trkmht',xbins=ec_bins,xmin=ec_min,xmax=ec_max) + metGroup.defineHistogram('trkmht_Ey_log',title='trkmht Missing E_{y} log;sgn(E_{y}) log_{10}(E_{y}/GeV);Events', + path='Shifter/trkmht',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log) metGroup.defineHistogram('trkmht_Et',title='trkmht Missing E_{T};E_{T} [GeV];Events', path='Shifter/trkmht',xbins=et_bins,xmin=et_min,xmax=et_max) + metGroup.defineHistogram('trkmht_Et_log',title='trkmht Missing E_{T} log;log_{10}(E_{T}/GeV);Events', + path='Shifter/trkmht',xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log) + metGroup.defineHistogram('trkmht_sumEt',title='trkmht sumEt;sumEt [GeV];Events', + path='Shifter/trkmht',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max) + metGroup.defineHistogram('trkmht_sumEt_log',title='trkmht sumEt log;log_{10}(sumEt/GeV);Events', + path='Shifter/trkmht',xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log) + metGroup.defineHistogram('trkmht_phi',title='trkmht #phi;#phi;Events', + path='Shifter/trkmht',xbins=phi_bins,xmin=phi_min,xmax=phi_max) + metGroup.defineHistogram('trkmht_phi;trkmht_phi_etweight', title='trkmht #phi (etweighted);#phi;E_{T} weighted events', + weight='trkmht_Et', + path='Shifter/trkmht',xbins=phi_bins,xmin=phi_min,xmax=phi_max) + ## HLT tcpufit metGroup.defineHistogram('tcpufit_Ex',title='tcpufit Missing E_{x};E_{x} [GeV];Events', path='Shifter/tcpufit',xbins=ec_bins,xmin=ec_min,xmax=ec_max) + metGroup.defineHistogram('tcpufit_Ex_log',title='tcpufit Missing E_{x} log;sgn(E_{x}) log_{10}(E_{x}/GeV);Events', + path='Shifter/tcpufit',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log) metGroup.defineHistogram('tcpufit_Ey',title='tcpufit Missing E_{y};E_{y} [GeV];Events', path='Shifter/tcpufit',xbins=ec_bins,xmin=ec_min,xmax=ec_max) + metGroup.defineHistogram('tcpufit_Ey_log',title='tcpufit Missing E_{y} log;sgn(E_{y}) log_{10}(E_{y}/GeV);Events', + path='Shifter/tcpufit',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log) metGroup.defineHistogram('tcpufit_Ez',title='tcpufit Missing E_{z};E_{z} [GeV];Events', path='Shifter/tcpufit',xbins=ec_bins,xmin=ec_min,xmax=ec_max) + metGroup.defineHistogram('tcpufit_Ez_log',title='tcpufit Missing E_{z} log;sgn(E_{z}) log_{10}(E_{x}/GeV);Events', + path='Shifter/tcpufit',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log) metGroup.defineHistogram('tcpufit_Et',title='tcpufit Missing E_{T};E_{T} [GeV];Events', path='Shifter/tcpufit',xbins=et_bins,xmin=et_min,xmax=et_max) + metGroup.defineHistogram('tcpufit_Et_log',title='tcpufit Missing E_{T} log;log_{10}(E_{T}/GeV);Events', + path='Shifter/tcpufit',xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log) metGroup.defineHistogram('tcpufit_sumEt',title='tcpufit sumEt;sumEt [GeV];Events', path='Shifter/tcpufit',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max) + metGroup.defineHistogram('tcpufit_sumEt_log',title='tcpufit sumEt log;log_{10}(sumEt/GeV);Events', + path='Shifter/tcpufit',xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log) metGroup.defineHistogram('tcpufit_sumE',title='tcpufit sumE;sumE [GeV];Events', path='Shifter/tcpufit',xbins=sume_bins,xmin=sume_min,xmax=sume_max) + metGroup.defineHistogram('tcpufit_sumE_log',title='tcpufit sumE log;log_{10}(sumE/GeV);Events', + path='Shifter/tcpufit',xbins=sume_bins_log,xmin=sume_min_log,xmax=sume_max_log) metGroup.defineHistogram('tcpufit_eta',title='tcpufit #eta;#eta;Events', path='Shifter/tcpufit',xbins=eta_bins,xmin=eta_min,xmax=eta_max) metGroup.defineHistogram('tcpufit_phi',title='tcpufit #phi;#phi;Events', @@ -171,36 +237,93 @@ def TrigMETMonConfig(inputFlags): weight='tcpufit_Et', path='Shifter/tcpufit', xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max) + ## Efficiency metGroup.defineHistogram('offline_Et,pass_L11;L11_eff', type='TProfile',title='L1 efficiency;offline E_{T} [GeV];Efficiency', path='Shifter/eff',xbins=eff_bins,xmin=eff_min,xmax=eff_max) metGroup.defineHistogram('offline_Et,pass_HLT1;HLT1_eff', type='TProfile',title='HLT1 efficiency;offline E_{T} [GeV];Efficiency', path='Shifter/eff',xbins=eff_bins,xmin=eff_min,xmax=eff_max) metGroup.defineHistogram('offline_Et,pass_HLT2;HLT2_eff', type='TProfile',title='HLT2 efficiency;offline E_{T} [GeV];Efficiency', path='Shifter/eff',xbins=eff_bins,xmin=eff_min,xmax=eff_max) + ## HLT mht metGroup.defineHistogram('mht_Ex',title='mht Missing E_{x};E_{x} [GeV];Events', path='Shifter/mht',xbins=ec_bins,xmin=ec_min,xmax=ec_max) + metGroup.defineHistogram('mht_Ex_log',title='mht Missing E_{x} log;sgn(E_{x}) log_{10}(E_{x}/GeV);Events', + path='Shifter/mht',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log) metGroup.defineHistogram('mht_Ey',title='mht Missing E_{y};E_{y} [GeV];Events', path='Shifter/mht',xbins=ec_bins,xmin=ec_min,xmax=ec_max) + metGroup.defineHistogram('mht_Ey_log',title='mht Missing E_{y} log;sgn(E_{y}) log_{10}(E_{y}/GeV);Events', + path='Shifter/mht',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log) metGroup.defineHistogram('mht_Et', title='mht E_{T};E_{T} [GeV];Events', path='Shifter/mht',xbins=et_bins,xmin=et_min,xmax=et_max) + metGroup.defineHistogram('mht_Et_log',title='mht Missing E_{T} log;log_{10}(E_{T}/GeV);Events', + path='Shifter/mht',xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log) + metGroup.defineHistogram('mht_sumEt',title='mht sumEt;sumEt [GeV];Events', + path='Shifter/mht',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max) + metGroup.defineHistogram('mht_sumEt_log',title='mht sumEt log;log_{10}(sumEt/GeV);Events', + path='Shifter/mht',xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log) + metGroup.defineHistogram('mht_phi',title='mht #phi;#phi;Events', + path='Shifter/mht',xbins=phi_bins,xmin=phi_min,xmax=phi_max) + metGroup.defineHistogram('mht_phi;mht_phi_etweight', title='mht #phi (etweighted);#phi;E_{T} weighted events', + weight='mht_Et', + path='Shifter/mht',xbins=phi_bins,xmin=phi_min,xmax=phi_max) + metGroup.defineHistogram('mht_eta,cell_phi;mht_eta_phi', type='TH2F', title='mht #eta - #phi;#eta;#phi', + path='Shifter/mht', + xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max) + metGroup.defineHistogram('mht_eta,mht_phi;mht_eta_phi_etweight', type='TH2F', title='mht #eta - #phi (etweighted);#eta;#phi', + weight='mht_Et', + path='Shifter/mht', + xbins=eta_bins_2d,xmin=eta_min,xmax=eta_max,ybins=phi_bins_2d,ymin=phi_min,ymax=phi_max) + ## HLT pfsum metGroup.defineHistogram('pfsum_Ex',title='pfsum Missing E_{x};E_{x} [GeV];Events', path='Shifter/pfsum',xbins=ec_bins,xmin=ec_min,xmax=ec_max) + metGroup.defineHistogram('pfsum_Ex_log',title='pfsum Missing E_{x} log;sgn(E_{x}) log_{10}(E_{x}/GeV);Events', + path='Shifter/pfsum',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log) metGroup.defineHistogram('pfsum_Ey',title='pfsum Missing E_{y};E_{y} [GeV];Events', path='Shifter/pfsum',xbins=ec_bins,xmin=ec_min,xmax=ec_max) + metGroup.defineHistogram('pfsum_Ey_log',title='pfsum Missing E_{y} log;sgn(E_{y}) log_{10}(E_{y}/GeV);Events', + path='Shifter/pfsum',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log) metGroup.defineHistogram('pfsum_Et', title='pfsum E_{T};E_{T} [GeV];Events', path='Shifter/pfsum',xbins=et_bins,xmin=et_min,xmax=et_max) + metGroup.defineHistogram('pfsum_Et_log',title='pfsum Missing E_{T} log;log_{10}(E_{T}/GeV);Events', + path='Shifter/pfsum',xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log) + metGroup.defineHistogram('pfsum_sumEt',title='pfsum sumEt;sumEt [GeV];Events', + path='Shifter/pfsum',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max) + metGroup.defineHistogram('pfsum_sumEt_log',title='pfsum sumEt log;log_{10}(sumEt/GeV);Events', + path='Shifter/pfsum',xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log) + metGroup.defineHistogram('pfsum_phi',title='pfsum #phi;#phi;Events', + path='Shifter/pfsum',xbins=phi_bins,xmin=phi_min,xmax=phi_max) + metGroup.defineHistogram('pfsum_phi;pfsum_phi_etweight', title='pfsum #phi (etweighted);#phi;E_{T} weighted events', + weight='pfsum_Et', + path='Shifter/pfsum',xbins=phi_bins,xmin=phi_min,xmax=phi_max) + ## HLT tc metGroup.defineHistogram('tc_Ex',title='tc Missing E_{x};E_{x} [GeV];Events', path='Expert/tc',xbins=ec_bins,xmin=ec_min,xmax=ec_max) metGroup.defineHistogram('tc_Ey',title='tc Missing E_{y};E_{y} [GeV];Events', path='Expert/tc',xbins=ec_bins,xmin=ec_min,xmax=ec_max) metGroup.defineHistogram('tc_Et', title='tc E_{T};E_{T} [GeV];Events', path='Expert/tc',xbins=et_bins,xmin=et_min,xmax=et_max) + ## Chain specific metChain1Group.defineHistogram('cell_Ex',title='cell Missing E_{x};E_{x} [GeV];Events', path='cell',xbins=ec_bins,xmin=ec_min,xmax=ec_max) + metChain1Group.defineHistogram('cell_Ex_log',title='cell Missing E_{x} log;sgn(E_{x}) log_{10}(E_{x}/GeV);Events', + path='cell',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log) metChain1Group.defineHistogram('cell_Ey',title='cell Missing E_{y};E_{y} [GeV];Events', path='cell',xbins=ec_bins,xmin=ec_min,xmax=ec_max) + metChain1Group.defineHistogram('cell_Ey_log',title='cell Missing E_{y} log;sgn(E_{y}) log_{10}(E_{y}/GeV);Events', + path='cell',xbins=ec_bins_log,xmin=ec_min_log,xmax=ec_max_log) metChain1Group.defineHistogram('cell_Et',title='cell Missing E_{T};E_{T} [GeV];Events', path='cell',xbins=et_bins,xmin=et_min,xmax=et_max) + metChain1Group.defineHistogram('cell_Et_log',title='cell Missing E_{T} log;log_{10}(E_{T}/GeV);Events', + path='cell',xbins=et_bins_log,xmin=et_min_log,xmax=et_max_log) + metChain1Group.defineHistogram('cell_sumEt',title='cell sumEt;sumEt [GeV];Events', + path='cell',xbins=sumet_bins,xmin=sumet_min,xmax=sumet_max) + metChain1Group.defineHistogram('cell_sumEt_log',title='cell sumEt log;log_{10}(sumEt/GeV);Events', + path='cell',xbins=sumet_bins_log,xmin=sumet_min_log,xmax=sumet_max_log) + metChain1Group.defineHistogram('cell_phi',title='cell #phi;#phi;Events', + path='cell',xbins=phi_bins,xmin=phi_min,xmax=phi_max) + metChain1Group.defineHistogram('cell_phi;cell_phi_etweight', title='cell #phi (etweighted);#phi;E_{T} weighted events', + weight='cell_Et', + path='cell',xbins=phi_bins,xmin=phi_min,xmax=phi_max) ### STEP 6 ### # Finalize. The return value should be a tuple of the ComponentAccumulator diff --git a/Trigger/TrigMonitoring/TrigMETMonitoring/src/TrigMETMonitorAlgorithm.cxx b/Trigger/TrigMonitoring/TrigMETMonitoring/src/TrigMETMonitorAlgorithm.cxx index ec01b8425dcb66475e7c077551a4a955be4c3a3a..89093a5a105be76aea2ddbb4af3ff7588d6036e9 100644 --- a/Trigger/TrigMonitoring/TrigMETMonitoring/src/TrigMETMonitorAlgorithm.cxx +++ b/Trigger/TrigMonitoring/TrigMETMonitoring/src/TrigMETMonitorAlgorithm.cxx @@ -113,37 +113,73 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co auto cell_Ex = Monitored::Scalar<float>("cell_Ex",0.0); auto cell_Ey = Monitored::Scalar<float>("cell_Ey",0.0); auto cell_Et = Monitored::Scalar<float>("cell_Et",0.0); + auto cell_sumEt = Monitored::Scalar<float>("cell_sumEt",0.0); + auto cell_Ex_log = Monitored::Scalar<float>("cell_Ex_log",0.0); + auto cell_Ey_log = Monitored::Scalar<float>("cell_Ey_log",0.0); + auto cell_Et_log = Monitored::Scalar<float>("cell_Et_log",0.0); + auto cell_sumEt_log = Monitored::Scalar<float>("cell_sumEt_log",0.0); + auto cell_eta = Monitored::Scalar<float>("cell_eta",0.0); + auto cell_phi = Monitored::Scalar<float>("cell_phi",0.0); auto mht_Ex = Monitored::Scalar<float>("mht_Ex",0.0); auto mht_Ey = Monitored::Scalar<float>("mht_Ey",0.0); auto mht_Et = Monitored::Scalar<float>("mht_Et",0.0); + auto mht_sumEt = Monitored::Scalar<float>("mht_sumEt",0.0); + auto mht_Ex_log = Monitored::Scalar<float>("mht_Ex_log",0.0); + auto mht_Ey_log = Monitored::Scalar<float>("mht_Ey_log",0.0); + auto mht_Et_log = Monitored::Scalar<float>("mht_Et_log",0.0); + auto mht_sumEt_log = Monitored::Scalar<float>("mht_sumEt_log",0.0); + auto mht_eta = Monitored::Scalar<float>("mht_eta",0.0); + auto mht_phi = Monitored::Scalar<float>("mht_phi",0.0); auto tc_Ex = Monitored::Scalar<float>("tc_Ex",0.0); auto tc_Ey = Monitored::Scalar<float>("tc_Ey",0.0); auto tc_Et = Monitored::Scalar<float>("tc_Et",0.0); auto trkmht_Ex = Monitored::Scalar<float>("trkmht_Ex",0.0); auto trkmht_Ey = Monitored::Scalar<float>("trkmht_Ey",0.0); auto trkmht_Et = Monitored::Scalar<float>("trkmht_Et",0.0); + auto trkmht_sumEt = Monitored::Scalar<float>("trkmht_sumEt",0.0); + auto trkmht_Ex_log = Monitored::Scalar<float>("trkmht_Ex_log",0.0); + auto trkmht_Ey_log = Monitored::Scalar<float>("trkmht_Ey_log",0.0); + auto trkmht_Et_log = Monitored::Scalar<float>("trkmht_Et_log",0.0); + auto trkmht_sumEt_log = Monitored::Scalar<float>("trkmht_sumEt_log",0.0); + auto trkmht_phi = Monitored::Scalar<float>("trkmht_phi",0.0); auto tcpufit_Ex = Monitored::Scalar<float>("tcpufit_Ex",0.0); auto tcpufit_Ey = Monitored::Scalar<float>("tcpufit_Ey",0.0); auto tcpufit_Ez = Monitored::Scalar<float>("tcpufit_Ez",0.0); auto tcpufit_Et = Monitored::Scalar<float>("tcpufit_Et",0.0); auto tcpufit_sumEt = Monitored::Scalar<float>("tcpufit_sumEt",0.0); auto tcpufit_sumE = Monitored::Scalar<float>("tcpufit_sumE",0.0); + auto tcpufit_Ex_log = Monitored::Scalar<float>("tcpufit_Ex_log",0.0); + auto tcpufit_Ey_log = Monitored::Scalar<float>("tcpufit_Ey_log",0.0); + auto tcpufit_Ez_log = Monitored::Scalar<float>("tcpufit_Ez_log",0.0); + auto tcpufit_Et_log = Monitored::Scalar<float>("tcpufit_Et_log",0.0); + auto tcpufit_sumEt_log = Monitored::Scalar<float>("tcpufit_sumEt_log",0.0); + auto tcpufit_sumE_log = Monitored::Scalar<float>("tcpufit_sumE_log",0.0); auto tcpufit_eta = Monitored::Scalar<float>("tcpufit_eta",0.0); auto tcpufit_phi = Monitored::Scalar<float>("tcpufit_phi",0.0); auto pfsum_Ex = Monitored::Scalar<float>("pfsum_Ex",0.0); auto pfsum_Ey = Monitored::Scalar<float>("pfsum_Ey",0.0); auto pfsum_Et = Monitored::Scalar<float>("pfsum_Et",0.0); + auto pfsum_sumEt = Monitored::Scalar<float>("pfsum_sumEt",0.0); + auto pfsum_Ex_log = Monitored::Scalar<float>("pfsum_Ex_log",0.0); + auto pfsum_Ey_log = Monitored::Scalar<float>("pfsum_Ey_log",0.0); + auto pfsum_Et_log = Monitored::Scalar<float>("pfsum_Et_log",0.0); + auto pfsum_sumEt_log = Monitored::Scalar<float>("pfsum_sumEt_log",0.0); + auto pfsum_phi = Monitored::Scalar<float>("pfsum_phi",0.0); auto pass_L11 = Monitored::Scalar<float>("pass_L11",0.0); auto pass_HLT1 = Monitored::Scalar<float>("pass_HLT1",0.0); auto pass_HLT2 = Monitored::Scalar<float>("pass_HLT2",0.0); + + // constant floor for log plots + double epsilon = 1.189; + // access offline MET values if ( offline_met_cont.isValid() && offline_met_cont->size() > 0 ) { offline_met = offline_met_cont->at(0); offline_Ex = - (offline_met->mpx())/1000.; offline_Ey = - (offline_met->mpy())/1000.; offline_sumEt = (offline_met->sumet())/1000.; - offline_Et = sqrt(offline_Ex*offline_Ex + offline_Ey*offline_Ey); + offline_Et = std::sqrt(offline_Ex*offline_Ex + offline_Ey*offline_Ey); } // access L1 MET values @@ -160,15 +196,35 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co hlt_met = hlt_cell_met_cont->at(0); cell_Ex = (hlt_met->ex())/1000.; cell_Ey = (hlt_met->ey())/1000.; - cell_Et = sqrt(cell_Ex*cell_Ex + cell_Ey*cell_Ey); - } + float cell_Ez = (hlt_met->ez())/1000.; + cell_Et = std::sqrt(cell_Ex*cell_Ex + cell_Ey*cell_Ey); + cell_sumEt = (hlt_met->sumEt())/1000.; + cell_Ex_log = signed_log(cell_Ex, epsilon); + cell_Ey_log = signed_log(cell_Ey, epsilon); + cell_Et_log = signed_log(cell_Et, epsilon); + cell_sumEt_log = signed_log(cell_sumEt, epsilon); + + TVector3 v(cell_Ex, cell_Ey, cell_Ez); + cell_eta = v.Eta(); + cell_phi = v.Phi(); + } // access HLT mht MET values if ( hlt_mht_met_cont.isValid() && hlt_mht_met_cont->size() > 0 ) { hlt_met = hlt_mht_met_cont->at(0); mht_Ex = (hlt_met->ex())/1000.; mht_Ey = (hlt_met->ey())/1000.; - mht_Et = sqrt(mht_Ex*mht_Ex + mht_Ey*mht_Ey); + float mht_Ez = (hlt_met->ez())/1000.; + mht_Et = std::sqrt(mht_Ex*mht_Ex + mht_Ey*mht_Ey); + mht_sumEt = (hlt_met->sumEt())/1000.; + mht_Ex_log = signed_log(mht_Ex, epsilon); + mht_Ey_log = signed_log(mht_Ey, epsilon); + mht_Et_log = signed_log(mht_Et, epsilon); + mht_sumEt_log = signed_log(mht_sumEt, epsilon); + + TVector3 v(mht_Ex, mht_Ey, mht_Ez); + mht_eta = v.Eta(); + mht_phi = v.Phi(); } // access HLT tclcw MET values @@ -176,7 +232,7 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co hlt_met = hlt_tc_met_cont->at(0); tc_Ex = (hlt_met->ex())/1000.; tc_Ey = (hlt_met->ey())/1000.; - tc_Et = sqrt(tc_Ex*tc_Ex + tc_Ey*tc_Ey); + tc_Et = std::sqrt(tc_Ex*tc_Ex + tc_Ey*tc_Ey); } // access HLT trkmht MET values @@ -184,7 +240,16 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co hlt_met = hlt_trkmht_met_cont->at(0); trkmht_Ex = (hlt_met->ex())/1000.; trkmht_Ey = (hlt_met->ey())/1000.; - trkmht_Et = sqrt(trkmht_Ex*trkmht_Ex + trkmht_Ey*trkmht_Ey); + float trkmht_Ez = (hlt_met->ez())/1000.; + trkmht_Et = std::sqrt(trkmht_Ex*trkmht_Ex + trkmht_Ey*trkmht_Ey); + trkmht_sumEt = (hlt_met->sumEt())/1000.; + trkmht_Ex_log = signed_log(trkmht_Ex, epsilon); + trkmht_Ey_log = signed_log(trkmht_Ey, epsilon); + trkmht_Et_log = signed_log(trkmht_Et, epsilon); + trkmht_sumEt_log = signed_log(trkmht_sumEt, epsilon); + + TVector3 v(trkmht_Ex, trkmht_Ey, trkmht_Ez); + trkmht_phi = v.Phi(); } // access HLT tcpufit MET values @@ -193,9 +258,15 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co tcpufit_Ex = (hlt_met->ex())/1000.; tcpufit_Ey = (hlt_met->ey())/1000.; tcpufit_Ez = (hlt_met->ez())/1000.; - tcpufit_Et = sqrt(tcpufit_Ex*tcpufit_Ex + tcpufit_Ey*tcpufit_Ey); + tcpufit_Et = std::sqrt(tcpufit_Ex*tcpufit_Ex + tcpufit_Ey*tcpufit_Ey); tcpufit_sumEt = (hlt_met->sumEt())/1000.; tcpufit_sumE = (hlt_met->sumE())/1000.; + tcpufit_Ex_log = signed_log(tcpufit_Ex, epsilon); + tcpufit_Ey_log = signed_log(tcpufit_Ey, epsilon); + tcpufit_Ez_log = signed_log(tcpufit_Ez, epsilon); + tcpufit_Et_log = signed_log(tcpufit_Et, epsilon); + tcpufit_sumEt_log = signed_log(tcpufit_sumEt, epsilon); + tcpufit_sumE_log = signed_log(tcpufit_sumE, epsilon); TVector3 v(tcpufit_Ex, tcpufit_Ey, tcpufit_Ez); tcpufit_eta = v.Eta(); @@ -207,7 +278,16 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co hlt_met = hlt_pfsum_met_cont->at(0); pfsum_Ex = (hlt_met->ex())/1000.; pfsum_Ey = (hlt_met->ey())/1000.; - pfsum_Et = sqrt(pfsum_Ex*pfsum_Ex + pfsum_Ey*pfsum_Ey); + float pfsum_Ez = (hlt_met->ez())/1000.; + pfsum_Et = std::sqrt(pfsum_Ex*pfsum_Ex + pfsum_Ey*pfsum_Ey); + pfsum_sumEt = (hlt_met->sumEt())/1000.; + pfsum_Ex_log = signed_log(pfsum_Ex, epsilon); + pfsum_Ey_log = signed_log(pfsum_Ey, epsilon); + pfsum_Et_log = signed_log(pfsum_Et, epsilon); + pfsum_sumEt_log = signed_log(pfsum_sumEt, epsilon); + + TVector3 v(pfsum_Ex, pfsum_Ey, pfsum_Ez); + pfsum_phi = v.Phi(); } // efficiency plots @@ -240,14 +320,37 @@ StatusCode TrigMETMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co L1_Ex,L1_Ey,L1_Et, pass_L11,pass_HLT1,pass_HLT2); if (hlt_cell_met_cont->size() > 0) { - fill(tool,cell_Ex,cell_Ey,cell_Et, - mht_Ex,mht_Ey,mht_Et, + fill(tool,cell_Ex,cell_Ey,cell_Et,cell_sumEt, + cell_Ex_log,cell_Ey_log,cell_Et_log,cell_sumEt_log, + cell_eta,cell_phi, + mht_Ex,mht_Ey,mht_Et,mht_sumEt, + mht_Ex_log,mht_Ey_log,mht_Et_log,mht_sumEt_log, + mht_eta,mht_phi, tc_Ex,tc_Ey,tc_Et, - trkmht_Ex,trkmht_Ey,trkmht_Et, - pfsum_Ex,pfsum_Ey,pfsum_Et, - tcpufit_Ex,tcpufit_Ey,tcpufit_Ez,tcpufit_Et, - tcpufit_sumEt,tcpufit_sumE,tcpufit_eta,tcpufit_phi); + trkmht_Ex,trkmht_Ey,trkmht_Et,trkmht_sumEt, + trkmht_Ex_log,trkmht_Ey_log,trkmht_Et_log,trkmht_sumEt_log, + trkmht_phi, + pfsum_Ex,pfsum_Ey,pfsum_Et,pfsum_sumEt, + pfsum_Ex_log,pfsum_Ey_log,pfsum_Et_log,pfsum_sumEt_log, + pfsum_phi, + tcpufit_Ex,tcpufit_Ey,tcpufit_Ez,tcpufit_Et,tcpufit_sumEt,tcpufit_sumE, + tcpufit_Ex_log,tcpufit_Ey_log,tcpufit_Ez_log,tcpufit_Et_log,tcpufit_sumEt_log,tcpufit_sumE_log, + tcpufit_eta,tcpufit_phi); } return StatusCode::SUCCESS; } + + +double TrigMETMonitorAlgorithm::signed_log(double e, double epsilon) const { + + + double e_log = -9e9; + if (std::abs(e) > epsilon) + e_log = std::copysign(std::log10(std::abs(e)), e); + else + e_log = 0.01; + + return e_log; +} + diff --git a/Trigger/TrigMonitoring/TrigMETMonitoring/src/TrigMETMonitorAlgorithm.h b/Trigger/TrigMonitoring/TrigMETMonitoring/src/TrigMETMonitorAlgorithm.h index 4a2366abc278ae022ae3471dad74d80e6a3fcff6..88e919cdcf89de600bae42d4c08352db48c54adb 100644 --- a/Trigger/TrigMonitoring/TrigMETMonitoring/src/TrigMETMonitorAlgorithm.h +++ b/Trigger/TrigMonitoring/TrigMETMonitoring/src/TrigMETMonitorAlgorithm.h @@ -24,6 +24,8 @@ class TrigMETMonitorAlgorithm : public AthMonitorAlgorithm { virtual StatusCode fillHistograms( const EventContext& ctx ) const override; private: + double signed_log(double e, double epsilon) const; + SG::ReadHandleKey<xAOD::MissingETContainer> m_offline_met_key; SG::ReadHandleKey<xAOD::EnergySumRoI> m_lvl1_roi_key;