From 29d687ae7413fb0490d67c58f7192ddcb2a2e89a Mon Sep 17 00:00:00 2001 From: Atlas-Software Librarian <Atlas-Software.Librarian@cern.ch> Date: Fri, 8 Apr 2016 15:40:25 +0200 Subject: [PATCH] 'CMakeLists.txt' (RpcRawDataMonitoring-01-02-34) * Tagging RpcRawDataMonitoring-01-02-34 * Added efficency turn-on curve --- .../RpcRawDataMonitoring/CMakeLists.txt | 54 ++++ .../RPCStandaloneTracksMon.h | 3 + .../src/RPCStandaloneTracksMon.cxx | 270 +++++++++++++++++- 3 files changed, 326 insertions(+), 1 deletion(-) create mode 100644 MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/CMakeLists.txt diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/CMakeLists.txt b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/CMakeLists.txt new file mode 100644 index 00000000000..17e84d27fbc --- /dev/null +++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/CMakeLists.txt @@ -0,0 +1,54 @@ +################################################################################ +# Package: RpcRawDataMonitoring +################################################################################ + +# Declare the package name: +atlas_subdir( RpcRawDataMonitoring ) + +# Declare the package's dependencies: +atlas_depends_on_subdirs( PUBLIC + Control/AthenaBaseComps + Control/AthenaMonitoring + Control/DataModel + Control/StoreGate + Event/xAOD/xAODEventInfo + Event/xAOD/xAODMuon + Event/xAOD/xAODTracking + GaudiKernel + MuonSpectrometer/MuonCablings/RPCcablingInterface + MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry + MuonSpectrometer/MuonGeoModel + MuonSpectrometer/MuonRDO + MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonTrigCoinData + MuonSpectrometer/MuonValidation/MuonDQA/MuonDQAUtils + Reconstruction/MuonIdentification/muonEvent + Trigger/TrigAnalysis/TrigDecisionTool + Trigger/TrigT1/TrigT1Interfaces + PRIVATE + DetectorDescription/GeoPrimitives + Event/EventPrimitives + MuonSpectrometer/MuonDigitContainer + MuonSpectrometer/MuonIdHelpers + MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData + Tracking/TrkEvent/TrkEventPrimitives + Tracking/TrkEvent/TrkMeasurementBase + Tracking/TrkEvent/TrkMultiComponentStateOnSurface + Tracking/TrkEvent/TrkTrack + Trigger/TrigConfiguration/TrigConfL1Data + Trigger/TrigT1/TrigT1Result ) + +# External dependencies: +find_package( Eigen ) +find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread Graf Graf3d Gpad Html Postscript Gui GX11TTF GX11 ) + +# Component(s) in the package: +atlas_add_component( RpcRawDataMonitoring + src/*.cxx + src/components/*.cxx + INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} + LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} AthenaBaseComps AthenaMonitoringLib DataModel StoreGateLib SGtests xAODEventInfo xAODMuon xAODTracking GaudiKernel RPCcablingInterfaceLib MuonReadoutGeometry MuonGeoModelLib MuonRDO MuonTrigCoinData MuonDQAUtilsLib muonEvent TrigDecisionToolLib TrigT1Interfaces GeoPrimitives EventPrimitives MuonDigitContainer MuonIdHelpersLib MuonPrepRawData TrkEventPrimitives TrkMeasurementBase TrkMultiComponentStateOnSurface TrkTrack TrigConfL1Data TrigT1Result ) + +# Install files from the package: +atlas_install_headers( RpcRawDataMonitoring ) +atlas_install_joboptions( share/*.py ) + diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RPCStandaloneTracksMon.h b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RPCStandaloneTracksMon.h index ab570dc3fae..845c38ceff3 100755 --- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RPCStandaloneTracksMon.h +++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RPCStandaloneTracksMon.h @@ -272,6 +272,9 @@ class RPCStandaloneTracksMon: public ManagedMonitorToolBase { std::vector<TH1F*> hRPCPhiEtaCoinThr ; std::vector<TH1F*> hRPCPadThr ; std::vector<TH1F*> hRPCMuctpiThr ; + std::vector<TH1F*> hRPCPhiEtaCoinThr_eff ; + std::vector<TH1F*> hRPCPadThr_eff ; + std::vector<TH1F*> hRPCMuctpiThr_eff ; std::vector<double> etaminpad ; std::vector<double> etamaxpad ; diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RPCStandaloneTracksMon.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RPCStandaloneTracksMon.cxx index 8137c39933a..cbeb76310c6 100755 --- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RPCStandaloneTracksMon.cxx +++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RPCStandaloneTracksMon.cxx @@ -268,6 +268,10 @@ StatusCode RPCStandaloneTracksMon::initialize(){ hRPCPadThr.clear() ; hRPCMuctpiThr.clear() ; + hRPCPhiEtaCoinThr_eff.clear() ; + hRPCPadThr_eff.clear() ; + hRPCMuctpiThr_eff.clear() ; + etaminpad.clear(); etamaxpad.clear(); phiminpad.clear(); @@ -2670,6 +2674,100 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( ) //book triggereff + //PhiEtaCoin Thr_eff + hRPCPhiEtaCoinThr_eff.push_back( new TH1F("hRPCPhiEtaCoinThr_eff0","hRPCPhiEtaCoinThr_eff0" , 400, 0., 100.)); + sc=rpc_triggerefficiency.regHist(hRPCPhiEtaCoinThr_eff.back()) ; + hRPCPhiEtaCoinThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]"); + hRPCPhiEtaCoinThr_eff.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr_eff0"); + + hRPCPhiEtaCoinThr_eff.push_back( new TH1F("hRPCPhiEtaCoinThr_eff1","hRPCPhiEtaCoinThr_eff1" , 400, 0., 100.)); + sc=rpc_triggerefficiency.regHist(hRPCPhiEtaCoinThr_eff.back()) ; + hRPCPhiEtaCoinThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]"); + hRPCPhiEtaCoinThr_eff.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr_eff1"); + + hRPCPhiEtaCoinThr_eff.push_back( new TH1F("hRPCPhiEtaCoinThr_eff2","hRPCPhiEtaCoinThr_eff2" , 400, 0., 100.)); + sc=rpc_triggerefficiency.regHist(hRPCPhiEtaCoinThr_eff.back()) ; + hRPCPhiEtaCoinThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]"); + hRPCPhiEtaCoinThr_eff.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr_eff2"); + + hRPCPhiEtaCoinThr_eff.push_back( new TH1F("hRPCPhiEtaCoinThr_eff3","hRPCPhiEtaCoinThr_eff3" , 400, 0., 100.)); + sc=rpc_triggerefficiency.regHist(hRPCPhiEtaCoinThr_eff.back()) ; + hRPCPhiEtaCoinThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]"); + hRPCPhiEtaCoinThr_eff.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr_eff3"); + + hRPCPhiEtaCoinThr_eff.push_back( new TH1F("hRPCPhiEtaCoinThr_eff4","hRPCPhiEtaCoinThr_eff4" , 400, 0., 100.)); + sc=rpc_triggerefficiency.regHist(hRPCPhiEtaCoinThr_eff.back()) ; + hRPCPhiEtaCoinThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]"); + hRPCPhiEtaCoinThr_eff.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr_eff4"); + + hRPCPhiEtaCoinThr_eff.push_back( new TH1F("hRPCPhiEtaCoinThr_eff5","hRPCPhiEtaCoinThr_eff5" , 400, 0., 100.)); + sc=rpc_triggerefficiency.regHist(hRPCPhiEtaCoinThr_eff.back()) ; + hRPCPhiEtaCoinThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]"); + hRPCPhiEtaCoinThr_eff.back()->GetYaxis()->SetTitle("RphiEtaCoin Thr_eff5"); + + //Pad Thr_eff + hRPCPadThr_eff.push_back( new TH1F("hRPCPadThr_eff0","hRPCPadThr_eff0" , 400, 0., 100.)); + sc=rpc_triggerefficiency.regHist(hRPCPadThr_eff.back()) ; + hRPCPadThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]"); + hRPCPadThr_eff.back()->GetYaxis()->SetTitle("RPad Thr_eff0"); + + hRPCPadThr_eff.push_back( new TH1F("hRPCPadThr_eff1","hRPCPadThr_eff1" , 400, 0., 100.)); + sc=rpc_triggerefficiency.regHist(hRPCPadThr_eff.back()) ; + hRPCPadThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]"); + hRPCPadThr_eff.back()->GetYaxis()->SetTitle("RPad Thr_eff1"); + + hRPCPadThr_eff.push_back( new TH1F("hRPCPadThr_eff2","hRPCPadThr_eff2" , 400, 0., 100.)); + sc=rpc_triggerefficiency.regHist(hRPCPadThr_eff.back()) ; + hRPCPadThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]"); + hRPCPadThr_eff.back()->GetYaxis()->SetTitle("RPad Thr_eff2"); + + hRPCPadThr_eff.push_back( new TH1F("hRPCPadThr_eff3","hRPCPadThr_eff3" , 400, 0., 100.)); + sc=rpc_triggerefficiency.regHist(hRPCPadThr_eff.back()) ; + hRPCPadThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]"); + hRPCPadThr_eff.back()->GetYaxis()->SetTitle("RPad Thr_eff3"); + + hRPCPadThr_eff.push_back( new TH1F("hRPCPadThr_eff4","hRPCPadThr_eff4" , 400, 0., 100.)); + sc=rpc_triggerefficiency.regHist(hRPCPadThr_eff.back()) ; + hRPCPadThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]"); + hRPCPadThr_eff.back()->GetYaxis()->SetTitle("RPad Thr_eff4"); + + hRPCPadThr_eff.push_back( new TH1F("hRPCPadThr_eff5","hRPCPadThr_eff5" , 400, 0., 100.)); + sc=rpc_triggerefficiency.regHist(hRPCPadThr_eff.back()) ; + hRPCPadThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]"); + hRPCPadThr_eff.back()->GetYaxis()->SetTitle("RPad Thr_eff5"); + + //Muctpi Thr_eff + hRPCMuctpiThr_eff.push_back( new TH1F("hRPCMuctpiThr_eff0","hRPCMuctpiThr_eff0" , 400, 0., 100.)); + sc=rpc_triggerefficiency.regHist(hRPCMuctpiThr_eff.back()) ; + hRPCMuctpiThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]"); + hRPCMuctpiThr_eff.back()->GetYaxis()->SetTitle("RMuctpi Thr_eff0"); + + hRPCMuctpiThr_eff.push_back( new TH1F("hRPCMuctpiThr_eff1","hRPCMuctpiThr_eff1" , 400, 0., 100.)); + sc=rpc_triggerefficiency.regHist(hRPCMuctpiThr_eff.back()) ; + hRPCMuctpiThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]"); + hRPCMuctpiThr_eff.back()->GetYaxis()->SetTitle("RMuctpi Thr_eff1"); + + hRPCMuctpiThr_eff.push_back( new TH1F("hRPCMuctpiThr_eff2","hRPCMuctpiThr_eff2" , 400, 0., 100.)); + sc=rpc_triggerefficiency.regHist(hRPCMuctpiThr_eff.back()) ; + hRPCMuctpiThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]"); + hRPCMuctpiThr_eff.back()->GetYaxis()->SetTitle("RMuctpi Thr_eff2"); + + hRPCMuctpiThr_eff.push_back( new TH1F("hRPCMuctpiThr_eff3","hRPCMuctpiThr_eff3" , 400, 0., 100.)); + sc=rpc_triggerefficiency.regHist(hRPCMuctpiThr_eff.back()) ; + hRPCMuctpiThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]"); + hRPCMuctpiThr_eff.back()->GetYaxis()->SetTitle("RMuctpi Thr_eff3"); + + hRPCMuctpiThr_eff.push_back( new TH1F("hRPCMuctpiThr_eff4","hRPCMuctpiThr_eff4" , 400, 0., 100.)); + sc=rpc_triggerefficiency.regHist(hRPCMuctpiThr_eff.back()) ; + hRPCMuctpiThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]"); + hRPCMuctpiThr_eff.back()->GetYaxis()->SetTitle("RMuctpi Thr_eff4"); + + hRPCMuctpiThr_eff.push_back( new TH1F("hRPCMuctpiThr_eff5","hRPCMuctpiThr_eff5" , 400, 0., 100.)); + sc=rpc_triggerefficiency.regHist(hRPCMuctpiThr_eff.back()) ; + hRPCMuctpiThr_eff.back()->GetXaxis()->SetTitle("Pt[GeV]"); + hRPCMuctpiThr_eff.back()->GetYaxis()->SetTitle("RMuctpi Thr_eff5"); + + //PhiEtaCoin thr hRPCPhiEtaCoinThr.push_back( new TH1F("hRPCPhiEtaCoinThr0","hRPCPhiEtaCoinThr0" , 400, 0., 100.)); sc=rpc_triggerefficiency.regHist(hRPCPhiEtaCoinThr.back()) ; @@ -2762,7 +2860,6 @@ StatusCode RPCStandaloneTracksMon::bookHistogramsRecurrent( ) sc=rpc_triggerefficiency.regHist(hRPCMuctpiThr.back()) ; hRPCMuctpiThr.back()->GetXaxis()->SetTitle("Pt[GeV]"); hRPCMuctpiThr.back()->GetYaxis()->SetTitle("RMuctpi Thr5"); - TH1 *hMEtracks=new TH1F("hMEtracks","hMEtracks",400,0,100); @@ -5308,6 +5405,177 @@ StatusCode RPCStandaloneTracksMon::procHistograms( ) } + + //TriggerEfficiency + int nb = hMEtracks->GetNbinsX() ; + for (int ibin=0; ibin!=nb; ibin++) { + int TrkPrj = hMEtracks ->GetBinContent ( ibin + 1 ) ; + if ( TrkPrj>0 ) { + //hRPCPhiEtaCoinThr0 + int RPCOnTr = hRPCPhiEtaCoinThr[0] ->GetBinContent ( ibin + 1 ) ; + float RPCEff = RPCOnTr / TrkPrj ; + float RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) * + sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) / + sqrt( TrkPrj ) ; + hRPCPhiEtaCoinThr_eff[0]->SetBinContent ( ibin + 1 , RPCEff ) ; + hRPCPhiEtaCoinThr_eff[0]->SetBinError ( ibin + 1 , RPCEff_err ) ; + + //hRPCPhiEtaCoinThr1 + RPCOnTr = hRPCPhiEtaCoinThr[1] ->GetBinContent ( ibin + 1 ) ; + RPCEff = RPCOnTr / TrkPrj ; + RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) * + sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) / + sqrt( TrkPrj ) ; + hRPCPhiEtaCoinThr_eff[1]->SetBinContent ( ibin + 1 , RPCEff ) ; + hRPCPhiEtaCoinThr_eff[1]->SetBinError ( ibin + 1 , RPCEff_err ) ; + + //hRPCPhiEtaCoinThr2 + RPCOnTr = hRPCPhiEtaCoinThr[2] ->GetBinContent ( ibin + 1 ) ; + RPCEff = RPCOnTr / TrkPrj ; + RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) * + sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) / + sqrt( TrkPrj ) ; + hRPCPhiEtaCoinThr_eff[2]->SetBinContent ( ibin + 1 , RPCEff ) ; + hRPCPhiEtaCoinThr_eff[2]->SetBinError ( ibin + 1 , RPCEff_err ) ; + + //hRPCPhiEtaCoinThr3 + RPCOnTr = hRPCPhiEtaCoinThr[3] ->GetBinContent ( ibin + 1 ) ; + RPCEff = RPCOnTr / TrkPrj ; + RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) * + sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) / + sqrt( TrkPrj ) ; + hRPCPhiEtaCoinThr_eff[3]->SetBinContent ( ibin + 1 , RPCEff ) ; + hRPCPhiEtaCoinThr_eff[3]->SetBinError ( ibin + 1 , RPCEff_err ) ; + + //hRPCPhiEtaCoinThr4 + RPCOnTr = hRPCPhiEtaCoinThr[4] ->GetBinContent ( ibin + 1 ) ; + RPCEff = RPCOnTr / TrkPrj ; + RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) * + sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) / + sqrt( TrkPrj ) ; + hRPCPhiEtaCoinThr_eff[4]->SetBinContent ( ibin + 1 , RPCEff ) ; + hRPCPhiEtaCoinThr_eff[4]->SetBinError ( ibin + 1 , RPCEff_err ) ; + + //hRPCPhiEtaCoinThr5 + RPCOnTr = hRPCPhiEtaCoinThr[5] ->GetBinContent ( ibin + 1 ) ; + RPCEff = RPCOnTr / TrkPrj ; + RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) * + sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) / + sqrt( TrkPrj ) ; + hRPCPhiEtaCoinThr_eff[5]->SetBinContent ( ibin + 1 , RPCEff ) ; + hRPCPhiEtaCoinThr_eff[5]->SetBinError ( ibin + 1 , RPCEff_err ) ; + //hRPCPadThr0 + RPCOnTr = hRPCPadThr[0] ->GetBinContent ( ibin + 1 ) ; + RPCEff = RPCOnTr / TrkPrj ; + RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) * + sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) / + sqrt( TrkPrj ) ; + hRPCPadThr_eff[0]->SetBinContent ( ibin + 1 , RPCEff ) ; + hRPCPadThr_eff[0]->SetBinError ( ibin + 1 , RPCEff_err ) ; + + //hRPCPadThr1 + RPCOnTr = hRPCPadThr[1] ->GetBinContent ( ibin + 1 ) ; + RPCEff = RPCOnTr / TrkPrj ; + RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) * + sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) / + sqrt( TrkPrj ) ; + hRPCPadThr_eff[1]->SetBinContent ( ibin + 1 , RPCEff ) ; + hRPCPadThr_eff[1]->SetBinError ( ibin + 1 , RPCEff_err ) ; + + //hRPCPadThr2 + RPCOnTr = hRPCPadThr[2] ->GetBinContent ( ibin + 1 ) ; + RPCEff = RPCOnTr / TrkPrj ; + RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) * + sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) / + sqrt( TrkPrj ) ; + hRPCPadThr_eff[2]->SetBinContent ( ibin + 1 , RPCEff ) ; + hRPCPadThr_eff[2]->SetBinError ( ibin + 1 , RPCEff_err ) ; + + //hRPCPadThr3 + RPCOnTr = hRPCPadThr[3] ->GetBinContent ( ibin + 1 ) ; + RPCEff = RPCOnTr / TrkPrj ; + RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) * + sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) / + sqrt( TrkPrj ) ; + hRPCPadThr_eff[3]->SetBinContent ( ibin + 1 , RPCEff ) ; + hRPCPadThr_eff[3]->SetBinError ( ibin + 1 , RPCEff_err ) ; + + //hRPCPadThr4 + RPCOnTr = hRPCPadThr[4] ->GetBinContent ( ibin + 1 ) ; + RPCEff = RPCOnTr / TrkPrj ; + RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) * + sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) / + sqrt( TrkPrj ) ; + hRPCPadThr_eff[4]->SetBinContent ( ibin + 1 , RPCEff ) ; + hRPCPadThr_eff[4]->SetBinError ( ibin + 1 , RPCEff_err ) ; + + //hRPCPadThr5 + RPCOnTr = hRPCPadThr[5] ->GetBinContent ( ibin + 1 ) ; + RPCEff = RPCOnTr / TrkPrj ; + RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) * + sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) / + sqrt( TrkPrj ) ; + hRPCPadThr_eff[5]->SetBinContent ( ibin + 1 , RPCEff ) ; + hRPCPadThr_eff[5]->SetBinError ( ibin + 1 , RPCEff_err ) ; + //hRPCMuctpiThr0 + RPCOnTr = hRPCMuctpiThr[0] ->GetBinContent ( ibin + 1 ) ; + RPCEff = RPCOnTr / TrkPrj ; + RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) * + sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) / + sqrt( TrkPrj ) ; + hRPCMuctpiThr_eff[0]->SetBinContent ( ibin + 1 , RPCEff ) ; + hRPCMuctpiThr_eff[0]->SetBinError ( ibin + 1 , RPCEff_err ) ; + + //hRPCMuctpiThr1 + RPCOnTr = hRPCMuctpiThr[1] ->GetBinContent ( ibin + 1 ) ; + RPCEff = RPCOnTr / TrkPrj ; + RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) * + sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) / + sqrt( TrkPrj ) ; + hRPCMuctpiThr_eff[1]->SetBinContent ( ibin + 1 , RPCEff ) ; + hRPCMuctpiThr_eff[1]->SetBinError ( ibin + 1 , RPCEff_err ) ; + + //hRPCMuctpiThr2 + RPCOnTr = hRPCMuctpiThr[2] ->GetBinContent ( ibin + 1 ) ; + RPCEff = RPCOnTr / TrkPrj ; + RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) * + sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) / + sqrt( TrkPrj ) ; + hRPCMuctpiThr_eff[2]->SetBinContent ( ibin + 1 , RPCEff ) ; + hRPCMuctpiThr_eff[2]->SetBinError ( ibin + 1 , RPCEff_err ) ; + + //hRPCMuctpiThr3 + RPCOnTr = hRPCMuctpiThr[3] ->GetBinContent ( ibin + 1 ) ; + RPCEff = RPCOnTr / TrkPrj ; + RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) * + sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) / + sqrt( TrkPrj ) ; + hRPCMuctpiThr_eff[3]->SetBinContent ( ibin + 1 , RPCEff ) ; + hRPCMuctpiThr_eff[3]->SetBinError ( ibin + 1 , RPCEff_err ) ; + + //hRPCMuctpiThr4 + RPCOnTr = hRPCMuctpiThr[4] ->GetBinContent ( ibin + 1 ) ; + RPCEff = RPCOnTr / TrkPrj ; + RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) * + sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) / + sqrt( TrkPrj ) ; + hRPCMuctpiThr_eff[4]->SetBinContent ( ibin + 1 , RPCEff ) ; + hRPCMuctpiThr_eff[4]->SetBinError ( ibin + 1 , RPCEff_err ) ; + + //hRPCMuctpiThr5 + RPCOnTr = hRPCMuctpiThr[5] ->GetBinContent ( ibin + 1 ) ; + RPCEff = RPCOnTr / TrkPrj ; + RPCEff_err = sqrt( fabs( RPCOnTr-0.5*0) / TrkPrj ) * + sqrt( 1. - fabs( RPCOnTr-0.5*0) / TrkPrj ) / + sqrt( TrkPrj ) ; + hRPCMuctpiThr_eff[5]->SetBinContent ( ibin + 1 , RPCEff ) ; + hRPCMuctpiThr_eff[5]->SetBinError ( ibin + 1 , RPCEff_err ) ; + } + + } + + + //TriggerEfficiency end std::vector<int>::const_iterator iter_bin=layer_name_bin_list_panel.begin() ; -- GitLab