diff --git a/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/Changelog b/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/Changelog index f07adaca28d1dac9a4dfc40d32498fc25d20f761..0fd1a2ec0697eba4274066ab71bff062350a260c 100644 --- a/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/Changelog +++ b/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/Changelog @@ -1,3 +1,7 @@ +28 July 2016 Mark Hodgkinson +Add charged Pt, expected energy deposit and inDensEnrvironment histograms binned in three eta ranges. +Tag as PFOHistUtils-00-00-13 + 29 June Mark Hodgkinson Update histogram binnings Tag as PFOHistUtils-00-00-12 diff --git a/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/PFOHistUtils/PFOAlgPropertyPlots.h b/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/PFOHistUtils/PFOAlgPropertyPlots.h index 7a94671fe8654bf45d405821c840971275b88c72..ffab78a96c1f415a7175379df3de8fa0d4f8e04f 100644 --- a/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/PFOHistUtils/PFOAlgPropertyPlots.h +++ b/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/PFOHistUtils/PFOAlgPropertyPlots.h @@ -23,6 +23,17 @@ namespace PFO { TH1* m_PFO_isInDenseEnvironment; TH1* m_PFO_tracksExpectedEnergyDeposit; + /* Same histograms in three eta bins of |eta| < 1, 1 <= |eta| < 2 and |eta| >= 2 */ + TH1* m_PFO_isInDenseEnvironment_etaBinA; + TH1* m_PFO_tracksExpectedEnergyDeposit_etaBinA; + + TH1* m_PFO_isInDenseEnvironment_etaBinB; + TH1* m_PFO_tracksExpectedEnergyDeposit_etaBinB; + + TH1* m_PFO_isInDenseEnvironment_etaBinC; + TH1* m_PFO_tracksExpectedEnergyDeposit_etaBinC; + + void initializePlots(); std::string m_sPFOContainerName; diff --git a/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/PFOHistUtils/PFOPlots.h b/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/PFOHistUtils/PFOPlots.h index fc0f5c982a6359e31f25797d4d00343ccb511501..b813d68cd572f2553854731263673a5755f56a32 100644 --- a/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/PFOHistUtils/PFOPlots.h +++ b/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/PFOHistUtils/PFOPlots.h @@ -24,6 +24,11 @@ namespace PFO { TH1* m_PFO_phi; TH1* m_PFO_m; + /** Pt Histogram binned in eta */ + TH1* m_PFO_pt_etaBinA; + TH1* m_PFO_pt_etaBinB; + TH1* m_PFO_pt_etaBinC; + void initializePlots(); std::string m_sPFOContainerName; diff --git a/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/src/PFOAlgPropertyPlots.cxx b/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/src/PFOAlgPropertyPlots.cxx index 9d2dda1c0a294a5f7afecc66e4423d037c13203d..fcbeee6a2979399c3178f98c556fb5aa91cf0783 100644 --- a/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/src/PFOAlgPropertyPlots.cxx +++ b/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/src/PFOAlgPropertyPlots.cxx @@ -15,6 +15,16 @@ namespace PFO { m_PFO_isInDenseEnvironment = Book1D("PFO_isInDenseEnvironment",m_sPFOContainerName+"PFO_isInDenseEnvironment",3,-1,2); m_PFO_tracksExpectedEnergyDeposit = Book1D("PFO_tracksExpectedEnergyDeposit",m_sPFOContainerName+"PFO_tracksExpectedEnergyDeposit",11,-1,10); + + m_PFO_isInDenseEnvironment_etaBinA = Book1D("PFO_isInDenseEnvironment_binA",m_sPFOContainerName+"PFO_isInDenseEnvironment (|eta| < 1)",3,-1,2); + m_PFO_tracksExpectedEnergyDeposit_etaBinA = Book1D("PFO_tracksExpectedEnergyDeposit_binA)",m_sPFOContainerName+"PFO_tracksExpectedEnergyDeposit (|eta| < 1)",11,-1,10); + + m_PFO_isInDenseEnvironment_etaBinB = Book1D("PFO_isInDenseEnvironment_binB",m_sPFOContainerName+"PFO_isInDenseEnvironment (1 <= |eta| < 2)",3,-1,2); + m_PFO_tracksExpectedEnergyDeposit_etaBinB = Book1D("PFO_tracksExpectedEnergyDeposit_binB",m_sPFOContainerName+"PFO_tracksExpectedEnergyDeposit (1 <= |eta| < 2)",11,-1,10); + + m_PFO_isInDenseEnvironment_etaBinC = Book1D("PFO_isInDenseEnvironment_binC",m_sPFOContainerName+"PFO_isInDenseEnvironment (|eta| >= 2)",3,-1,2); + m_PFO_tracksExpectedEnergyDeposit_etaBinC = Book1D("PFO_tracksExpectedEnergyDeposit_binC",m_sPFOContainerName+"PFO_tracksExpectedEnergyDeposit (|eta| >= 2)",11,-1,10); + } @@ -23,14 +33,34 @@ namespace PFO { xAOD::PFODetails::PFOAttributes myAttribute_isInDenseEnvironment = xAOD::PFODetails::PFOAttributes::eflowRec_isInDenseEnvironment; int isInDenseEnvironment = false; bool gotAttribute = PFO.attribute(myAttribute_isInDenseEnvironment,isInDenseEnvironment); - if (true == gotAttribute) m_PFO_isInDenseEnvironment->Fill(isInDenseEnvironment); - else m_PFO_isInDenseEnvironment->Fill(-1.0); + if (true == gotAttribute) { + m_PFO_isInDenseEnvironment->Fill(isInDenseEnvironment); + if (fabs(PFO.eta()) < 1) m_PFO_isInDenseEnvironment_etaBinA->Fill(isInDenseEnvironment); + else if (fabs(PFO.eta()) < 2) m_PFO_isInDenseEnvironment_etaBinB->Fill(isInDenseEnvironment); + else m_PFO_isInDenseEnvironment_etaBinC->Fill(isInDenseEnvironment); + } + else { + m_PFO_isInDenseEnvironment->Fill(-1.0); + if (fabs(PFO.eta()) < 1) m_PFO_isInDenseEnvironment_etaBinA->Fill(-1.0); + else if (fabs(PFO.eta()) < 2) m_PFO_isInDenseEnvironment_etaBinB->Fill(-1.0); + else m_PFO_isInDenseEnvironment_etaBinC->Fill(-1.0); + } + float expectedEnergy = 0.0; xAOD::PFODetails::PFOAttributes myAttribute_tracksExpectedEnergyDeposit = xAOD::PFODetails::PFOAttributes::eflowRec_tracksExpectedEnergyDeposit; gotAttribute = PFO.attribute(myAttribute_tracksExpectedEnergyDeposit,expectedEnergy); - if (true == gotAttribute) m_PFO_tracksExpectedEnergyDeposit->Fill(expectedEnergy/1000.0); - else m_PFO_tracksExpectedEnergyDeposit->Fill(-1.0); - + if (true == gotAttribute) { + m_PFO_tracksExpectedEnergyDeposit->Fill(expectedEnergy/1000.0); + if (fabs(PFO.eta()) < 1) m_PFO_tracksExpectedEnergyDeposit_etaBinA->Fill(expectedEnergy/1000.0); + else if (fabs(PFO.eta()) < 2) m_PFO_tracksExpectedEnergyDeposit_etaBinB->Fill(expectedEnergy/1000.0); + else m_PFO_tracksExpectedEnergyDeposit_etaBinC->Fill(expectedEnergy/1000.0); + } + else{ + m_PFO_tracksExpectedEnergyDeposit->Fill(-1.0); + if (fabs(PFO.eta()) < 1) m_PFO_tracksExpectedEnergyDeposit_etaBinA->Fill(-1.0); + else if (fabs(PFO.eta()) < 2) m_PFO_tracksExpectedEnergyDeposit_etaBinB->Fill(-1.0); + else m_PFO_tracksExpectedEnergyDeposit_etaBinC->Fill(-1.0); + } } } diff --git a/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/src/PFOPlots.cxx b/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/src/PFOPlots.cxx index 4738c741566e99d2f33ecddb281b8406e9619cf3..740a0e9c73ad2d593353a589e874735c0e91848e 100644 --- a/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/src/PFOPlots.cxx +++ b/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/src/PFOPlots.cxx @@ -20,6 +20,9 @@ namespace PFO { m_PFO_phi = Book1D("PFO_Phi",m_sPFOContainerName + "_Phi (Entries/0.1)",64,-3.2,3.2); m_PFO_m = Book1D("PFO_m",m_sPFOContainerName + "_m (Entries/100 MeV)",10,0.0,0.5); + m_PFO_pt_etaBinA = Book1D("PFO_Pt_A",m_sPFOContainerName + "_Pt (Entries/1 GeV, |eta| < 1 )",30,-10.0,20.0); + m_PFO_pt_etaBinB = Book1D("PFO_Pt_B)",m_sPFOContainerName + "_Pt (Entries/1 GeV, 1 <= |eta| < 2 )",30,-10.0,20.0); + m_PFO_pt_etaBinC = Book1D("PFO_Pt_C)",m_sPFOContainerName + "_Pt (Entries/1 GeV, |eta| >= 2 )",30,-10.0,20.0); } void PFOPlots::fill(const xAOD::PFO& PFO){ @@ -27,6 +30,11 @@ namespace PFO { m_PFO_eta->Fill(PFO.eta()); m_PFO_phi->Fill(PFO.phi()); m_PFO_m->Fill(PFO.m()/1000.0); + + if (fabs(PFO.eta()) < 1) m_PFO_pt_etaBinA->Fill(PFO.pt()/1000.0); + else if (fabs(PFO.eta()) < 2) m_PFO_pt_etaBinB->Fill(PFO.pt()/1000.0); + else m_PFO_pt_etaBinC->Fill(PFO.pt()/1000.0); + } }