diff --git a/Reconstruction/HeavyIonRec/HIMonitoring/CMakeLists.txt b/Reconstruction/HeavyIonRec/HIMonitoring/CMakeLists.txt index d35b7dda8e98ed37d10bdfc43bd04f2987aed90b..704ead96ecfe8ab053e03f4cf33361446772dc58 100644 --- a/Reconstruction/HeavyIonRec/HIMonitoring/CMakeLists.txt +++ b/Reconstruction/HeavyIonRec/HIMonitoring/CMakeLists.txt @@ -14,7 +14,8 @@ atlas_depends_on_subdirs( PUBLIC Event/xAOD/xAODMuon Event/xAOD/xAODTracking Event/xAOD/xAODTrigMinBias - GaudiKernel + ForwardDetectors/ZDC/ZdcAnalysis + GaudiKernel PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools PRIVATE Tools/LWHists ) @@ -27,13 +28,13 @@ atlas_add_library( HIMonitoringLib src/*.cxx PUBLIC_HEADERS HIMonitoring INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} xAODEgamma xAODForward xAODHIEvent xAODMuon xAODTracking xAODTrigMinBias GaudiKernel AthenaMonitoringLib ElectronPhotonSelectorToolsLib + LINK_LIBRARIES ${ROOT_LIBRARIES} xAODEgamma xAODForward xAODHIEvent xAODMuon xAODTracking xAODTrigMinBias GaudiKernel AthenaMonitoringLib ZDCAnalysisLib ElectronPhotonSelectorToolsLib PRIVATE_LINK_LIBRARIES LWHists ) atlas_add_component( HIMonitoring src/components/*.cxx INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaMonitoringLib xAODEgamma xAODForward xAODHIEvent xAODMuon xAODTracking xAODTrigMinBias GaudiKernel ElectronPhotonSelectorToolsLib LWHists HIMonitoringLib ) + LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaMonitoringLib xAODEgamma xAODForward xAODHIEvent xAODMuon xAODTracking xAODTrigMinBias GaudiKernel ElectronPhotonSelectorToolsLib LWHists ZDCAnalysisLib HIMonitoringLib ) # Install files from the package: atlas_install_joboptions( share/*.py ) diff --git a/Reconstruction/HeavyIonRec/HIMonitoring/HIMonitoring/HIMonitoringMuonsTool.h b/Reconstruction/HeavyIonRec/HIMonitoring/HIMonitoring/HIMonitoringMuonsTool.h index e0ba0259c7437d962dda7adbc00a26db11f3e52d..5471e336bbef7d8472abc0a8e50d8a0c5b5b6f2f 100755 --- a/Reconstruction/HeavyIonRec/HIMonitoring/HIMonitoring/HIMonitoringMuonsTool.h +++ b/Reconstruction/HeavyIonRec/HIMonitoring/HIMonitoring/HIMonitoringMuonsTool.h @@ -33,7 +33,7 @@ class HIMonitoringMuonsTool : public ManagedMonitorToolBase public: HIMonitoringMuonsTool( const std::string & type, const std::string & name, - const IInterface* parent ); + const IInterface* parent ); virtual ~HIMonitoringMuonsTool(); @@ -58,29 +58,13 @@ class HIMonitoringMuonsTool : public ManagedMonitorToolBase TH1D* h_FCalEt; - TH1D* h_Auth_fcal0; - TH1D* h_Auth_fcal1; - TH1D* h_Auth_fcal2; - - TH1D* h_Type_fcal0; - TH1D* h_Type_fcal1; - TH1D* h_Type_fcal2; - - TH1D* h_Chi2ndf_fcal0; - TH1D* h_Chi2ndf_fcal1; - TH1D* h_Chi2ndf_fcal2; - - TH1D* h_Chi2ndfID_fcal0; - TH1D* h_Chi2ndfID_fcal1; - TH1D* h_Chi2ndfID_fcal2; - - TH1D* h_Chi2ndfME_fcal0; - TH1D* h_Chi2ndfME_fcal1; - TH1D* h_Chi2ndfME_fcal2; - - TH1D* h_Chi2ndfMS_fcal0; - TH1D* h_Chi2ndfMS_fcal1; - TH1D* h_Chi2ndfMS_fcal2; + TH1D* h_Auth_fcal; + TH1D* h_Type_fcal; + TH1D* h_Chi2ndf_fcal; + + TH1D* h_Chi2ndfID_fcal; + TH1D* h_Chi2ndfME_fcal; + TH1D* h_Chi2ndfMS_fcal; }; #endif diff --git a/Reconstruction/HeavyIonRec/HIMonitoring/HIMonitoring/HIMonitoringZdcTool.h b/Reconstruction/HeavyIonRec/HIMonitoring/HIMonitoring/HIMonitoringZdcTool.h index d89b33dbca143d2b1e1148f24ddbfadcd6a52902..3c4adbc1e1ce5508579d15e5a8b0ecf47812188f 100755 --- a/Reconstruction/HeavyIonRec/HIMonitoring/HIMonitoring/HIMonitoringZdcTool.h +++ b/Reconstruction/HeavyIonRec/HIMonitoring/HIMonitoring/HIMonitoringZdcTool.h @@ -13,7 +13,7 @@ #include <xAODHIEvent/HIEventShape.h> #include <xAODHIEvent/HIEventShapeContainer.h> - +#include <ZdcAnalysis/ZdcAnalysisTool.h> #include <xAODForward/ZdcModule.h> #include <xAODForward/ZdcModuleAuxContainer.h> #include <xAODForward/ZdcModuleContainer.h> @@ -53,6 +53,8 @@ class HIMonitoringZdcTool : public ManagedMonitorToolBase private: + double NEW_AEM, NEW_AHAD1, NEW_AHAD2, NEW_AHAD3; + double NEW_CEM, NEW_CHAD1, NEW_CHAD2, NEW_CHAD3; double AEM, AHAD1, AHAD2, AHAD3; double CEM, CHAD1, CHAD2, CHAD3; double G0AEM, G0AHAD1, G0AHAD2, G0AHAD3; @@ -60,14 +62,16 @@ class HIMonitoringZdcTool : public ManagedMonitorToolBase double G1AEM, G1AHAD1, G1AHAD2, G1AHAD3; double G1CEM, G1CHAD1, G1CHAD2, G1CHAD3; double SumSideA, SumSideC; + double NEW_SumSideA, NEW_SumSideC; /// histograms - - TH1D* hamp[Nmod][Nside]; + TH1D* hamp[Nmod][Nside]; + TH1D* hamp_NEW[Nmod][Nside]; TH1D* hampG0[Nmod][Nside]; TH1D* hampG1[Nmod][Nside]; TH1D* hSumSideAmp[Nside]; + TH1D* hSumSideAmp_NEW[Nside]; TH1D* hSumSideAmpG0[Nside]; TH1D* hSumSideAmpG1[Nside]; TH2D_LW* hEM_HAD1[Nside]; @@ -75,6 +79,11 @@ class HIMonitoringZdcTool : public ManagedMonitorToolBase TH2D_LW* hHAD2_HAD3[Nside]; TH2D_LW* hSideAC; + TH2D_LW* hEM_HAD1_NEW[Nside]; + TH2D_LW* hHAD1_HAD2_NEW[Nside]; + TH2D_LW* hHAD2_HAD3_NEW[Nside]; + TH2D_LW* hSideAC_NEW; + }; diff --git a/Reconstruction/HeavyIonRec/HIMonitoring/cmt/requirements b/Reconstruction/HeavyIonRec/HIMonitoring/cmt/requirements index d14506fc7f20e81741cd7aba6cd5dbfea33f8db9..405da886c31476c7d9d68e6f092d11515227f889 100644 --- a/Reconstruction/HeavyIonRec/HIMonitoring/cmt/requirements +++ b/Reconstruction/HeavyIonRec/HIMonitoring/cmt/requirements @@ -11,6 +11,8 @@ use xAODEgamma xAODEgamma-* Event/xAOD use xAODMuon xAODMuon-* Event/xAOD use xAODTracking xAODTracking-* Event/xAOD use xAODForward xAODForward-* Event/xAOD +use ZdcAnalysis ZdcAnalysis-* ForwardDetectors/ZDC + use ElectronPhotonSelectorTools ElectronPhotonSelectorTools-* PhysicsAnalysis/ElectronPhotonID private diff --git a/Reconstruction/HeavyIonRec/HIMonitoring/share/HIMonitoringSteering_jo.py b/Reconstruction/HeavyIonRec/HIMonitoring/share/HIMonitoringSteering_jo.py index e712bace44e6e9c185fb4078ce329f82d86879b0..5fc56e93e304fd242ccae4bac9c8befc5a8d935f 100755 --- a/Reconstruction/HeavyIonRec/HIMonitoring/share/HIMonitoringSteering_jo.py +++ b/Reconstruction/HeavyIonRec/HIMonitoring/share/HIMonitoringSteering_jo.py @@ -90,9 +90,9 @@ if DQMonFlags.monManEnvironment == 'tier0ESD' or DQMonFlags.monManEnvironment == LumiBlock = DQMonFlags.monManLumiBlock(), #1 AthenaMonTools = [ HIMuonsMonTool ]) topSequence += HIMuonsMonMan - - ToolSvc += HIZdcMonTool - HIZdcMonMan = AthenaMonManager( "HIZdcMonManager", + + ToolSvc += HIElectronsMonTool + HIElectronsMonMan = AthenaMonManager( "HIElectronsMonManager", FileKey = DQMonFlags.monManFileKey(), #"GLOBAL" #"stat" ManualDataTypeSetup = DQMonFlags.monManManualDataTypeSetup(), #True DataType = DQMonFlags.monManDataType(), #"cosmics" @@ -100,11 +100,12 @@ if DQMonFlags.monManEnvironment == 'tier0ESD' or DQMonFlags.monManEnvironment == ManualRunLBSetup = DQMonFlags.monManManualRunLBSetup(), #True Run = DQMonFlags.monManRun(), #1 LumiBlock = DQMonFlags.monManLumiBlock(), #1 - AthenaMonTools = [ HIZdcMonTool ]) - topSequence += HIZdcMonMan - - ToolSvc += HIElectronsMonTool - HIElectronsMonMan = AthenaMonManager( "HIElectronsMonManager", + AthenaMonTools = [ HIElectronsMonTool ]) + topSequence += HIElectronsMonMan + +if DQMonFlags.monManEnvironment == 'tier0ESD' or DQMonFlags.monManEnvironment == 'tier0' or DQMonFlags.monManEnvironment == 'online': + ToolSvc += HIZdcMonTool + HIZdcMonMan = AthenaMonManager( "HIZdcMonManager", FileKey = DQMonFlags.monManFileKey(), #"GLOBAL" #"stat" ManualDataTypeSetup = DQMonFlags.monManManualDataTypeSetup(), #True DataType = DQMonFlags.monManDataType(), #"cosmics" @@ -112,5 +113,5 @@ if DQMonFlags.monManEnvironment == 'tier0ESD' or DQMonFlags.monManEnvironment == ManualRunLBSetup = DQMonFlags.monManManualRunLBSetup(), #True Run = DQMonFlags.monManRun(), #1 LumiBlock = DQMonFlags.monManLumiBlock(), #1 - AthenaMonTools = [ HIElectronsMonTool ]) - topSequence += HIElectronsMonMan + AthenaMonTools = [ HIZdcMonTool ]) + topSequence += HIZdcMonMan diff --git a/Reconstruction/HeavyIonRec/HIMonitoring/src/HIMonitoringMuonsTool.cxx b/Reconstruction/HeavyIonRec/HIMonitoring/src/HIMonitoringMuonsTool.cxx index 9e428deca4246375c4c319b4f002dc3f23d05c39..d20e8a45374fdc1ce75d3e3cc9ffd39021c0c759 100755 --- a/Reconstruction/HeavyIonRec/HIMonitoring/src/HIMonitoringMuonsTool.cxx +++ b/Reconstruction/HeavyIonRec/HIMonitoring/src/HIMonitoringMuonsTool.cxx @@ -37,11 +37,14 @@ StatusCode HIMonitoringMuonsTool::bookHistogramsRecurrent( ) // Description: Used for re-booking managed histograms StatusCode HIMonitoringMuonsTool::bookHistograms( ) { - if( m_environment == AthenaMonManager::online ) { + if( m_environment == AthenaMonManager::online ) + { + // book histograms that are only made in the online environment... } - if( m_dataType == AthenaMonManager::cosmics ) { + if( m_dataType == AthenaMonManager::cosmics ) + { // book histograms that are only relevant for cosmics data... } @@ -69,38 +72,29 @@ StatusCode HIMonitoringMuonsTool::fillHistograms() ATH_MSG_INFO("HIEventShape retrieved from StoreGate"); } - int size=evtShape->size(); - for(int i=0;i<size;i++) - { - const xAOD::HIEventShape *sh=evtShape->at(i); - if(sh->layer()==21 || sh->layer()==22 || sh->layer()==23) - { - m_FCalEt += sh->et(); - } - } - - m_FCalEt = m_FCalEt/1000000.; - - const xAOD::MuonContainer* muons = 0; + const xAOD::MuonContainer* muons = 0; sc = evtStore()->retrieve( muons, "Muons" ); - if (sc.isFailure()) { + if (sc.isFailure()) + { ATH_MSG_ERROR("Could not find Muons"); return StatusCode::FAILURE; } - else { + else + { ATH_MSG_INFO("Muons retrieved from StoreGate"); } - xAOD::MuonContainer::const_iterator muon_itr = muons->begin(); - xAOD::MuonContainer::const_iterator muon_end = muons->end(); + xAOD::MuonContainer::const_iterator muon_itr = muons->begin(); + xAOD::MuonContainer::const_iterator muon_end = muons->end(); - for( ; muon_itr != muon_end; ++muon_itr ) { + for( ; muon_itr != muon_end; ++muon_itr ) + { - // pt cut - if((*muon_itr)->pt()*1.e-3 <6.)continue; + // pt cut + if((*muon_itr)->pt()*1.e-3 <6.)continue; - auth = (*muon_itr)->author(); + auth = (*muon_itr)->author(); type = (*muon_itr)->muonType(); @@ -111,46 +105,24 @@ StatusCode HIMonitoringMuonsTool::fillHistograms() const xAOD::TrackParticle* IDtrackParticle = (*muon_itr)->trackParticle( xAOD::Muon::InnerDetectorTrackParticle ); - if(primTrackParticle){ - chi2ndof = primTrackParticle->chiSquared()/primTrackParticle->numberDoF(); - } - if(IDtrackParticle){ - chi2ndofID = IDtrackParticle->chiSquared()/IDtrackParticle->numberDoF(); - } - if(MStrackParticle){ - chi2ndofMS = MStrackParticle->chiSquared()/MStrackParticle->numberDoF(); - } - if(MEtrackParticle){ - chi2ndofME = MEtrackParticle->chiSquared()/MEtrackParticle->numberDoF(); - } + if(primTrackParticle) {chi2ndof = primTrackParticle->chiSquared()/primTrackParticle->numberDoF(); } + if(IDtrackParticle) {chi2ndofID = IDtrackParticle->chiSquared()/IDtrackParticle->numberDoF(); } + if(MStrackParticle) {chi2ndofMS = MStrackParticle->chiSquared()/MStrackParticle->numberDoF(); } + if(MEtrackParticle) {chi2ndofME = MEtrackParticle->chiSquared()/MEtrackParticle->numberDoF(); } - if(m_FCalEt < 0.05){ - h_Auth_fcal0->Fill(auth); - h_Type_fcal0->Fill(type); - h_Chi2ndf_fcal0->Fill(chi2ndof); - h_Chi2ndfID_fcal0->Fill(chi2ndofID); - h_Chi2ndfMS_fcal0->Fill(chi2ndofMS); - h_Chi2ndfME_fcal0->Fill(chi2ndofME); - } - if(m_FCalEt >= 0.05 && m_FCalEt < 0.3){ - h_Auth_fcal1->Fill(auth); - h_Type_fcal1->Fill(type); - h_Chi2ndf_fcal1->Fill(chi2ndof); - h_Chi2ndfID_fcal1->Fill(chi2ndofID); - h_Chi2ndfMS_fcal1->Fill(chi2ndofMS); - h_Chi2ndfME_fcal1->Fill(chi2ndofME); - } - if(m_FCalEt >= 0.3){ - h_Auth_fcal2->Fill(auth); - h_Type_fcal2->Fill(type); - h_Chi2ndf_fcal2->Fill(chi2ndof); - h_Chi2ndfID_fcal2->Fill(chi2ndofID); - h_Chi2ndfMS_fcal2->Fill(chi2ndofMS); - h_Chi2ndfME_fcal2->Fill(chi2ndofME); - } - - - }//for + + + + + h_Auth_fcal->Fill(auth); + h_Type_fcal->Fill(type); + h_Chi2ndf_fcal->Fill(chi2ndof); + h_Chi2ndfID_fcal->Fill(chi2ndofID); + h_Chi2ndfMS_fcal->Fill(chi2ndofMS); + h_Chi2ndfME_fcal->Fill(chi2ndofME); + + + }//for @@ -169,29 +141,12 @@ StatusCode HIMonitoringMuonsTool::procHistograms( ) if( endOfRun ) { - if(h_Auth_fcal0->GetEntries() > 0) h_Auth_fcal0->Scale(1./h_Auth_fcal0->GetEntries()); - if(h_Auth_fcal1->GetEntries() > 0) h_Auth_fcal1->Scale(1./h_Auth_fcal1->GetEntries()); - if(h_Auth_fcal2->GetEntries() > 0) h_Auth_fcal2->Scale(1./h_Auth_fcal2->GetEntries()); - - if(h_Type_fcal0->GetEntries() > 0) h_Type_fcal0->Scale(1./h_Type_fcal0->GetEntries()); - if(h_Type_fcal1->GetEntries() > 0) h_Type_fcal1->Scale(1./h_Type_fcal1->GetEntries()); - if(h_Type_fcal2->GetEntries() > 0) h_Type_fcal2->Scale(1./h_Type_fcal2->GetEntries()); - - if(h_Chi2ndf_fcal0->GetEntries() > 0) h_Chi2ndf_fcal0->Scale(1./h_Chi2ndf_fcal0->GetEntries()); - if(h_Chi2ndf_fcal1->GetEntries() > 0) h_Chi2ndf_fcal1->Scale(1./h_Chi2ndf_fcal1->GetEntries()); - if(h_Chi2ndf_fcal2->GetEntries() > 0) h_Chi2ndf_fcal2->Scale(1./h_Chi2ndf_fcal2->GetEntries()); - - if(h_Chi2ndfID_fcal0->GetEntries() > 0) h_Chi2ndfID_fcal0->Scale(1./h_Chi2ndfID_fcal0->GetEntries()); - if(h_Chi2ndfID_fcal1->GetEntries() > 0) h_Chi2ndfID_fcal1->Scale(1./h_Chi2ndfID_fcal1->GetEntries()); - if(h_Chi2ndfID_fcal2->GetEntries() > 0) h_Chi2ndfID_fcal2->Scale(1./h_Chi2ndfID_fcal2->GetEntries()); - - if(h_Chi2ndfMS_fcal0->GetEntries() > 0) h_Chi2ndfMS_fcal0->Scale(1./h_Chi2ndfMS_fcal0->GetEntries()); - if(h_Chi2ndfMS_fcal1->GetEntries() > 0) h_Chi2ndfMS_fcal1->Scale(1./h_Chi2ndfMS_fcal1->GetEntries()); - if(h_Chi2ndfMS_fcal2->GetEntries() > 0) h_Chi2ndfMS_fcal2->Scale(1./h_Chi2ndfMS_fcal2->GetEntries()); - - if(h_Chi2ndfME_fcal0->GetEntries() > 0) h_Chi2ndfME_fcal0->Scale(1./h_Chi2ndfME_fcal0->GetEntries()); - if(h_Chi2ndfME_fcal1->GetEntries() > 0) h_Chi2ndfME_fcal1->Scale(1./h_Chi2ndfME_fcal1->GetEntries()); - if(h_Chi2ndfME_fcal2->GetEntries() > 0) h_Chi2ndfME_fcal2->Scale(1./h_Chi2ndfME_fcal2->GetEntries()); + if(h_Auth_fcal->GetEntries() > 0) h_Auth_fcal->Scale(1./h_Auth_fcal->GetEntries()); + if(h_Type_fcal->GetEntries() > 0) h_Type_fcal->Scale(1./h_Type_fcal->GetEntries()); + if(h_Chi2ndf_fcal->GetEntries() > 0) h_Chi2ndf_fcal->Scale(1./h_Chi2ndf_fcal->GetEntries()); + if(h_Chi2ndfID_fcal->GetEntries() > 0) h_Chi2ndfID_fcal->Scale(1./h_Chi2ndfID_fcal->GetEntries()); + if(h_Chi2ndfMS_fcal->GetEntries() > 0) h_Chi2ndfMS_fcal->Scale(1./h_Chi2ndfMS_fcal->GetEntries()); + if(h_Chi2ndfME_fcal->GetEntries() > 0) h_Chi2ndfME_fcal->Scale(1./h_Chi2ndfME_fcal->GetEntries()); } return StatusCode::SUCCESS; @@ -203,47 +158,23 @@ void HIMonitoringMuonsTool::book_hist() { std::string path = "HeavyIon/Muons"; - h_Auth_fcal0 = new TH1D( "h_Auth_fcal0", ";author;counts" , 12 , 0 , 12); - regHist(h_Auth_fcal0, path, run).ignore(); - h_Auth_fcal1 = new TH1D( "h_Auth_fcal1", ";author;counts" , 12 , 0 , 12); - regHist(h_Auth_fcal1, path, run).ignore(); - h_Auth_fcal2 = new TH1D( "h_Auth_fcal2", ";author;counts" , 12 , 0 , 12); - regHist(h_Auth_fcal2, path, run).ignore(); - - h_Type_fcal0 = new TH1D( "h_Type_fcal0", ";type;counts" , 5 , 0 , 5); - regHist(h_Type_fcal0, path, run).ignore(); - h_Type_fcal1 = new TH1D( "h_Type_fcal1", ";type;counts" , 5 , 0 , 5); - regHist(h_Type_fcal1, path, run).ignore(); - h_Type_fcal2 = new TH1D( "h_Type_fcal2", ";type;counts" , 5 , 0 , 5); - regHist(h_Type_fcal2, path, run).ignore(); - - h_Chi2ndf_fcal0 = new TH1D( "h_Chi2ndf_fcal0", ";chi2/ndf;counts" , 100 , 0 , 10); - regHist(h_Chi2ndf_fcal0, path, run).ignore(); - h_Chi2ndf_fcal1 = new TH1D( "h_Chi2ndf_fcal1", ";chi2/ndf;counts" , 100 , 0 , 10); - regHist(h_Chi2ndf_fcal1, path, run).ignore(); - h_Chi2ndf_fcal2 = new TH1D( "h_Chi2ndf_fcal2", ";chi2/ndf;counts" , 100 , 0 , 10); - regHist(h_Chi2ndf_fcal2, path, run).ignore(); - - h_Chi2ndfID_fcal0 = new TH1D( "h_Chi2ndfID_fcal0", ";ID chi2/ndf;counts" , 100 , 0 , 10); - regHist(h_Chi2ndfID_fcal0, path, run).ignore(); - h_Chi2ndfID_fcal1 = new TH1D( "h_Chi2ndfID_fcal1", ";ID chi2/ndf;counts" , 100 , 0 , 10); - regHist(h_Chi2ndfID_fcal1, path, run).ignore(); - h_Chi2ndfID_fcal2 = new TH1D( "h_Chi2ndfID_fcal2", ";ID chi2/ndf;counts" , 100 , 0 , 10); - regHist(h_Chi2ndfID_fcal2, path, run).ignore(); - - h_Chi2ndfMS_fcal0 = new TH1D( "h_Chi2ndfMS_fcal0", ";MS chi2/ndf;counts" , 100 , 0 , 10); - regHist(h_Chi2ndfMS_fcal0, path, run).ignore(); - h_Chi2ndfMS_fcal1 = new TH1D( "h_Chi2ndfMS_fcal1", ";MS chi2/ndf;counts" , 100 , 0 , 10); - regHist(h_Chi2ndfMS_fcal1, path, run).ignore(); - h_Chi2ndfMS_fcal2 = new TH1D( "h_Chi2ndfMS_fcal2", ";MS chi2/ndf;counts" , 100 , 0 , 10); - regHist(h_Chi2ndfMS_fcal2, path, run).ignore(); - - h_Chi2ndfME_fcal0 = new TH1D( "h_Chi2ndfME_fcal0", ";ME chi2/ndf;counts" , 100 , 0 , 10); - regHist(h_Chi2ndfME_fcal0, path, run).ignore(); - h_Chi2ndfME_fcal1 = new TH1D( "h_Chi2ndfME_fcal1", ";ME chi2/ndf;counts" , 100 , 0 , 10); - regHist(h_Chi2ndfME_fcal1, path, run).ignore(); - h_Chi2ndfME_fcal2 = new TH1D( "h_Chi2ndfME_fcal2", ";ME chi2/ndf;counts" , 100 , 0 , 10); - regHist(h_Chi2ndfME_fcal2, path, run).ignore(); + h_Auth_fcal = new TH1D( "h_Auth_fcal", ";author;counts" , 12 , 0 , 12); + regHist(h_Auth_fcal, path, run).ignore(); + + h_Type_fcal = new TH1D( "h_Type_fcal", ";type;counts" , 5 , 0 , 5); + regHist(h_Type_fcal, path, run).ignore(); + + h_Chi2ndf_fcal = new TH1D( "h_Chi2ndf_fcal", ";chi2/ndf;counts" , 100 , 0 , 10); + regHist(h_Chi2ndf_fcal, path, run).ignore(); + + h_Chi2ndfID_fcal = new TH1D( "h_Chi2ndfID_fcal", ";ID chi2/ndf;counts" , 100 , 0 , 10); + regHist(h_Chi2ndfID_fcal, path, run).ignore(); + + h_Chi2ndfMS_fcal = new TH1D( "h_Chi2ndfMS_fcal", ";MS chi2/ndf;counts" , 100 , 0 , 10); + regHist(h_Chi2ndfMS_fcal, path, run).ignore(); + + h_Chi2ndfME_fcal = new TH1D( "h_Chi2ndfME_fcal", ";ME chi2/ndf;counts" , 100 , 0 , 10); + regHist(h_Chi2ndfME_fcal, path, run).ignore(); diff --git a/Reconstruction/HeavyIonRec/HIMonitoring/src/HIMonitoringZdcTool.cxx b/Reconstruction/HeavyIonRec/HIMonitoring/src/HIMonitoringZdcTool.cxx index aff1e0c771597cf366eaf8a90782c082c69c5e13..5ea1a1fb0125ab5cf9a041eb2810e79527006b30 100755 --- a/Reconstruction/HeavyIonRec/HIMonitoring/src/HIMonitoringZdcTool.cxx +++ b/Reconstruction/HeavyIonRec/HIMonitoring/src/HIMonitoringZdcTool.cxx @@ -10,11 +10,11 @@ #include "AthenaMonitoring/AthenaMonManager.h" #include "HIMonitoring/HIMonitoringZdcTool.h" - #include <xAODForward/ZdcModule.h> #include <xAODForward/ZdcModuleAuxContainer.h> #include <xAODForward/ZdcModuleContainer.h> #include <xAODForward/xAODForwardDict.h> +#include <ZdcAnalysis/ZdcAnalysisTool.h> #include "TCanvas.h" #include "TROOT.h" #include "TStyle.h" @@ -29,7 +29,6 @@ const IInterface* parent ): ManagedMonitorToolBase( type, name, parent ) { } - HIMonitoringZdcTool::~HIMonitoringZdcTool() { } @@ -40,7 +39,6 @@ StatusCode HIMonitoringZdcTool::bookHistogramsRecurrent( ) return StatusCode::SUCCESS; } - // Description: Used for re-booking managed histograms StatusCode HIMonitoringZdcTool::bookHistograms( ) { @@ -55,7 +53,6 @@ StatusCode HIMonitoringZdcTool::bookHistograms( ) gStyle->SetOptStat(0); book_hist(); - return StatusCode::SUCCESS; } @@ -72,7 +69,7 @@ StatusCode HIMonitoringZdcTool::fillHistograms() } else { ATH_MSG_INFO("Zdcs retrieved from StoreGate"); - std::cout << "Number of zdcs " << zdcs->size() << std::endl; +// std::cout << "Number of zdcs " << zdcs->size() << std::endl; } xAOD::ZdcModuleContainer::const_iterator zdc_itr = zdcs->begin(); @@ -84,6 +81,15 @@ StatusCode HIMonitoringZdcTool::fillHistograms() int thisSide = ((*zdc_itr)->side() == -1 ? 0 : 1); int imod = (*zdc_itr)->zdcModule(); + if(thisSide==1&&imod==0)NEW_AEM = ((*zdc_itr)->auxdataConst<float>("Amplitude")); + if(thisSide==1&&imod==1)NEW_AHAD1 = ((*zdc_itr)->auxdataConst<float>("Amplitude")); + if(thisSide==1&&imod==2)NEW_AHAD2 = ((*zdc_itr)->auxdataConst<float>("Amplitude")); + if(thisSide==1&&imod==3)NEW_AHAD3 = ((*zdc_itr)->auxdataConst<float>("Amplitude")); + if(thisSide==0&&imod==0)NEW_CEM = ((*zdc_itr)->auxdataConst<float>("Amplitude")); + if(thisSide==0&&imod==1)NEW_CHAD1 = ((*zdc_itr)->auxdataConst<float>("Amplitude")); + if(thisSide==0&&imod==2)NEW_CHAD2 = ((*zdc_itr)->auxdataConst<float>("Amplitude")); + if(thisSide==0&&imod==3)NEW_CHAD3 = ((*zdc_itr)->auxdataConst<float>("Amplitude")); +/* if(thisSide==1&&imod==0)AEM = ((*zdc_itr)->amplitude()); if(thisSide==1&&imod==1)AHAD1 = ((*zdc_itr)->amplitude()); if(thisSide==1&&imod==2)AHAD2 = ((*zdc_itr)->amplitude()); @@ -92,7 +98,7 @@ StatusCode HIMonitoringZdcTool::fillHistograms() if(thisSide==0&&imod==1)CHAD1 = ((*zdc_itr)->amplitude()); if(thisSide==0&&imod==2)CHAD2 = ((*zdc_itr)->amplitude()); if(thisSide==0&&imod==3)CHAD3 = ((*zdc_itr)->amplitude()); - +*/ if(thisSide==1&&imod==0)G0AEM = ((*zdc_itr)->amplitudeG0()); if(thisSide==1&&imod==1)G0AHAD1 = ((*zdc_itr)->amplitudeG0()); if(thisSide==1&&imod==2)G0AHAD2 = ((*zdc_itr)->amplitudeG0()); @@ -111,20 +117,48 @@ StatusCode HIMonitoringZdcTool::fillHistograms() if(thisSide==0&&imod==2)G1CHAD2 = ((*zdc_itr)->amplitudeG1()); if(thisSide==0&&imod==3)G1CHAD3 = ((*zdc_itr)->amplitudeG1()); - hamp[imod][thisSide]->Fill((*zdc_itr)->amplitude()); + // hamp_NEW[imod][thisSide]->Fill((*zdc_itr)->auxdataConst<float>("Amplitude")); + // hamp[imod][thisSide]->Fill((*zdc_itr)->amplitude()); + hamp[imod][thisSide]->Fill((*zdc_itr)->auxdataConst<float>("Amplitude")); hampG0[imod][thisSide]->Fill((*zdc_itr)->amplitudeG0()); hampG1[imod][thisSide]->Fill((*zdc_itr)->amplitudeG1()); - hSumSideAmp[1]->Fill(AEM+AHAD1+AHAD2+AHAD3); - hSumSideAmp[0]->Fill(CEM+CHAD1+CHAD2+CHAD3); - hSumSideAmpG0[1]->Fill(G0AEM+G0AHAD1+G0AHAD2+G0AHAD3); - hSumSideAmpG0[0]->Fill(G0CEM+G0CHAD1+G0CHAD2+G0CHAD3); - hSumSideAmpG1[1]->Fill(G1AEM+G1AHAD1+G1AHAD2+G1AHAD3); - hSumSideAmpG1[0]->Fill(G1CEM+G1CHAD1+G1CHAD2+G1CHAD3); + // hSumSideAmp_NEW[1]->Fill(NEW_AEM+NEW_AHAD1+NEW_AHAD2+NEW_AHAD3); + // hSumSideAmp_NEW[0]->Fill(NEW_CEM+NEW_CHAD1+NEW_CHAD2+NEW_CHAD3); + // hSumSideAmp[1]->Fill(AEM+AHAD1+AHAD2+AHAD3); + // hSumSideAmp[0]->Fill(CEM+CHAD1+CHAD2+CHAD3); - if(thisSide==1) SumSideA = AEM+AHAD1+AHAD2+AHAD3; - if(thisSide==0) SumSideC = CEM+CHAD1+CHAD2+CHAD3; + + // if(thisSide==1) NEW_SumSideA = NEW_AEM+NEW_AHAD1+NEW_AHAD2+NEW_AHAD3; + // if(thisSide==0) NEW_SumSideC = NEW_CEM+NEW_CHAD1+NEW_CHAD2+NEW_CHAD3; + //if(thisSide==1) SumSideA = AEM+AHAD1+AHAD2+AHAD3; + //if(thisSide==0) SumSideC = CEM+CHAD1+CHAD2+CHAD3; } + + //if(thisSide==1) SumSideA = NEW_AEM+NEW_AHAD1+NEW_AHAD2+NEW_AHAD3; + //if(thisSide==0) SumSideC = NEW_CEM+NEW_CHAD1+NEW_CHAD2+NEW_CHAD3; + NEW_SumSideA = NEW_AEM+NEW_AHAD1+NEW_AHAD2+NEW_AHAD3; + NEW_SumSideC = NEW_CEM+NEW_CHAD1+NEW_CHAD2+NEW_CHAD3; + + //hSumSideAmp[1]->Fill(NEW_AEM+NEW_AHAD1+NEW_AHAD2+NEW_AHAD3); + //hSumSideAmp[0]->Fill(NEW_CEM+NEW_CHAD1+NEW_CHAD2+NEW_CHAD3); + hSumSideAmp[1]->Fill(NEW_SumSideA); + hSumSideAmp[0]->Fill(NEW_SumSideC); + hSideAC->Fill(NEW_SumSideA, NEW_SumSideC); + + hEM_HAD1[0]->Fill(NEW_CEM, NEW_CHAD1); + hHAD1_HAD2[0]->Fill(NEW_CHAD1, NEW_CHAD2); + hHAD2_HAD3[0]->Fill(NEW_CHAD2, NEW_CHAD3); + hEM_HAD1[1]->Fill(NEW_AEM, NEW_AHAD1); + hHAD1_HAD2[1]->Fill(NEW_AHAD1, NEW_AHAD2); + hHAD2_HAD3[1]->Fill(NEW_AHAD2, NEW_AHAD3); + + hSumSideAmpG0[1]->Fill(G0AEM+G0AHAD1+G0AHAD2+G0AHAD3); + hSumSideAmpG0[0]->Fill(G0CEM+G0CHAD1+G0CHAD2+G0CHAD3); + hSumSideAmpG1[1]->Fill(G1AEM+G1AHAD1+G1AHAD2+G1AHAD3); + hSumSideAmpG1[0]->Fill(G1CEM+G1CHAD1+G1CHAD2+G1CHAD3); + + /* hEM_HAD1[0]->Fill(CEM, CHAD1); hHAD1_HAD2[0]->Fill(CHAD1, CHAD2); hHAD2_HAD3[0]->Fill(CHAD2, CHAD3); @@ -133,6 +167,14 @@ StatusCode HIMonitoringZdcTool::fillHistograms() hHAD2_HAD3[1]->Fill(AHAD2, AHAD3); hSideAC->Fill(SumSideA, SumSideC); + hEM_HAD1_NEW[0]->Fill(NEW_CEM, NEW_CHAD1); + hHAD1_HAD2_NEW[0]->Fill(NEW_CHAD1, NEW_CHAD2); + hHAD2_HAD3_NEW[0]->Fill(NEW_CHAD2, NEW_CHAD3); + hEM_HAD1_NEW[1]->Fill(NEW_AEM, NEW_AHAD1); + hHAD1_HAD2_NEW[1]->Fill(NEW_AHAD1, NEW_AHAD2); + hHAD2_HAD3_NEW[1]->Fill(NEW_AHAD2, NEW_AHAD3); + hSideAC_NEW->Fill(NEW_SumSideA, NEW_SumSideC); + */ return StatusCode::SUCCESS; } @@ -151,12 +193,14 @@ StatusCode HIMonitoringZdcTool::procHistograms( ) for(int k = 0; k < Nside; k++) { if(hSumSideAmp[k]->GetEntries() > 0) hSumSideAmp[k]->Scale(1./hSumSideAmp[k]->GetEntries()); + // if(hSumSideAmp_NEW[k]->GetEntries() > 0) hSumSideAmp_NEW[k]->Scale(1./hSumSideAmp_NEW[k]->GetEntries()); if(hSumSideAmpG0[k]->GetEntries() > 0) hSumSideAmpG0[k]->Scale(1./hSumSideAmpG0[k]->GetEntries()); if(hSumSideAmpG1[k]->GetEntries() > 0) hSumSideAmpG1[k]->Scale(1./hSumSideAmpG1[k]->GetEntries()); for(int i = 0; i < Nmod; i++) { if(hamp[i][k]->GetEntries() > 0) hamp[i][k]->Scale(1./hamp[i][k]->GetEntries()); + // if(hamp_NEW[i][k]->GetEntries() > 0) hamp_NEW[i][k]->Scale(1./hamp_NEW[i][k]->GetEntries()); if(hampG0[i][k]->GetEntries() > 0) hampG0[i][k]->Scale(1./hampG0[i][k]->GetEntries()); if(hampG1[i][k]->GetEntries() > 0) hampG1[i][k]->Scale(1./hampG1[i][k]->GetEntries()); } @@ -189,46 +233,87 @@ void HIMonitoringZdcTool::book_hist() nameSideAC.str(""); nameSideAC<<"hSideA_sideC"; - hSideAC = TH2D_LW::create(nameSideAC.str().c_str(), nameSideAC.str().c_str(),146,-0.5,10240.5,146,-0.5,10240.5); + hSideAC = TH2D_LW::create(nameSideAC.str().c_str(), nameSideAC.str().c_str(),4097, -5, 40965, 4097, -5, 40965); regHist(hSideAC, path, run).ignore(); +/* + nameSideAC.str(""); + nameSideAC<<"h_NEW_SideA_sideC"; + hSideAC_NEW = TH2D_LW::create(nameSideAC.str().c_str(), nameSideAC.str().c_str(),10241,-0.5,10240.5,10241,-0.5,10240.5); + regHist(hSideAC_NEW, path, run).ignore(); + */ for(int k = 0; k<Nside; k++){ + nameEM_HAD1.str(""); nameEM_HAD1<<"hEM_HAD1_side"<<k; - hEM_HAD1[k] = TH2D_LW::create(nameEM_HAD1.str().c_str(),nameEM_HAD1.str().c_str(),146,-0.5,10240.5,146,-0.5,10240.5); + hEM_HAD1[k] = TH2D_LW::create(nameEM_HAD1.str().c_str(),nameEM_HAD1.str().c_str(), 1025, -5, 10245, 1025, -5, 10245); regHist(hEM_HAD1[k], path, run).ignore(); +/* + nameEM_HAD1.str(""); + nameEM_HAD1<<"h_NEW_EM_HAD1_side"<<k; + hEM_HAD1_NEW[k] = TH2D_LW::create(nameEM_HAD1.str().c_str(),nameEM_HAD1.str().c_str(),10241,-0.5,10240.5,10241,-0.5,10240.5); + regHist(hEM_HAD1_NEW[k], path, run).ignore(); +*/ nameHAD1_HAD2.str(""); nameHAD1_HAD2<<"hHAD1_HAD2_side"<<k; - hHAD1_HAD2[k] = TH2D_LW::create(nameHAD1_HAD2.str().c_str(),nameHAD1_HAD2.str().c_str(),146,-0.5,10240.5,146,-0.5,10240.5); + hHAD1_HAD2[k] = TH2D_LW::create(nameHAD1_HAD2.str().c_str(),nameHAD1_HAD2.str().c_str(), 1025, -5, 10245, 1025, -5, 10245); regHist(hHAD1_HAD2[k], path, run).ignore(); +/* + nameHAD1_HAD2.str(""); + nameHAD1_HAD2<<"h_NEW_HAD1_HAD2_side"<<k; + hHAD1_HAD2_NEW[k] = TH2D_LW::create(nameHAD1_HAD2.str().c_str(),nameHAD1_HAD2.str().c_str(),10241,-0.5,10240.5,10241,-0.5,10240.5); + regHist(hHAD1_HAD2_NEW[k], path, run).ignore(); + */ nameHAD2_HAD3.str(""); nameHAD2_HAD3<<"hHAD2_HAD3_side"<<k; - hHAD2_HAD3[k] = TH2D_LW::create(nameHAD2_HAD3.str().c_str(),nameHAD2_HAD3.str().c_str(),146,-0.5,10240.5,146,-0.5,10240.5); + hHAD2_HAD3[k] = TH2D_LW::create(nameHAD2_HAD3.str().c_str(),nameHAD2_HAD3.str().c_str(), 1025, -5, 10245, 1025, -5, 10245); regHist(hHAD2_HAD3[k], path, run).ignore(); +/* + nameHAD2_HAD3.str(""); + nameHAD2_HAD3<<"h_NEW_HAD2_HAD3_side"<<k; + hHAD2_HAD3_NEW[k] = TH2D_LW::create(nameHAD2_HAD3.str().c_str(),nameHAD2_HAD3.str().c_str(),10241,-0.5,10240.5,10241,-0.5,10240.5); + regHist(hHAD2_HAD3_NEW[k], path, run).ignore(); + */ nameSumSideAmp.str(""); nameSumSideAmp<<"hSumSideAmp_side"<<k; - hSumSideAmp[k] = new TH1D(nameSumSideAmp.str().c_str(), nameSumSideAmp.str().c_str(),409,-0.5,40960.5); + hSumSideAmp[k] = new TH1D(nameSumSideAmp.str().c_str(), nameSumSideAmp.str().c_str(), 4097,-5,40965); regHist(hSumSideAmp[k], path, run).ignore(); +/* + nameSumSideAmp.str(""); + nameSumSideAmp<<"h_NEW_SumSideAmp_side"<<k; + hSumSideAmp_NEW[k] = new TH1D(nameSumSideAmp.str().c_str(), nameSumSideAmp.str().c_str(),40961,-0.5,40960.5); + regHist(hSumSideAmp_NEW[k], path, run).ignore(); + */ nameSumSideAmpG0.str(""); nameSumSideAmpG0<<"hSumSideAmpG0_side"<<k; - hSumSideAmpG0[k] = new TH1D(nameSumSideAmpG0.str().c_str(), nameSumSideAmpG0.str().c_str(),409,-0.5,4096.5); + hSumSideAmpG0[k] = new TH1D(nameSumSideAmpG0.str().c_str(), nameSumSideAmpG0.str().c_str(),4097,-0.5,4096.5); regHist(hSumSideAmpG0[k], path, run).ignore(); + nameSumSideAmpG1.str(""); nameSumSideAmpG1<<"hSumSideAmpG1_side"<<k; - hSumSideAmpG1[k] = new TH1D(nameSumSideAmpG1.str().c_str(), nameSumSideAmpG1.str().c_str(),409,-0.5,4096.5); + hSumSideAmpG1[k] = new TH1D(nameSumSideAmpG1.str().c_str(), nameSumSideAmpG1.str().c_str(),4097,-0.5,4096.5); regHist(hSumSideAmpG1[k], path, run).ignore(); + for(int i = 0; i<Nmod; i++){ histnameamp.str(""); histnameamp<<"h_amplitude_mod"<<i<<"_side"<<k; - hamp[i][k] = new TH1D(histnameamp.str().c_str(), histnameamp.str().c_str(), 1024,-0.5,10240.5); + hamp[i][k] = new TH1D(histnameamp.str().c_str(), histnameamp.str().c_str(), 1025, -5, 10245); regHist(hamp[i][k], path, run).ignore(); + /* + histnameamp.str(""); + histnameamp<<"h_NEW_amplitude_mod"<<i<<"_side"<<k; + hamp_NEW[i][k] = new TH1D(histnameamp.str().c_str(), histnameamp.str().c_str(), 10241,-0.5,10240.5); + regHist(hamp_NEW[i][k], path, run).ignore(); + */ histnameampG0.str(""); histnameampG0<<"h_amplitudeG0_mod"<<i<<"_side"<<k; - hampG0[i][k] = new TH1D(histnameampG0.str().c_str(), histnameampG0.str().c_str(), 102,-0.5,1024.5); + hampG0[i][k] = new TH1D(histnameampG0.str().c_str(), histnameampG0.str().c_str(), 1025, -0.5, 1024.5); regHist(hampG0[i][k], path, run).ignore(); + histnameampG1.str(""); histnameampG1<<"h_amplitudeG1_mod"<<i<<"_side"<<k; - hampG1[i][k] = new TH1D(histnameampG1.str().c_str(), histnameampG1.str().c_str(), 102,-0.5,1024.5); + hampG1[i][k] = new TH1D(histnameampG1.str().c_str(), histnameampG1.str().c_str(), 1025, -0.5, 1024.5); regHist(hampG1[i][k], path, run).ignore(); - } + } } + }