Skip to content
Snippets Groups Projects
Commit ae831eac authored by Adam Edward Barton's avatar Adam Edward Barton
Browse files

Merge branch 'mhodgkin_updatePFlowPhysVal' into 'master'

Update PFlow PhysVal to use beam spot weighting

See merge request atlas/athena!41915
parents 3f426e62 8bcd3d8e
No related branches found
No related tags found
No related merge requests found
Showing
with 113 additions and 93 deletions
......@@ -7,4 +7,4 @@ atlas_subdir( PFODQA )
atlas_add_component( PFODQA
src/*.cxx
src/components/*.cxx
LINK_LIBRARIES AthenaMonitoringLib xAODCaloEvent xAODPFlow xAODTracking PFOHistUtils StoreGateLib TrkValHistUtils xAODTau xAODEgamma xAODMuon )
LINK_LIBRARIES AthenaMonitoringLib xAODCaloEvent xAODEventInfo xAODPFlow xAODTracking PFOHistUtils StoreGateLib TrkValHistUtils xAODTau xAODEgamma xAODMuon )
......@@ -11,21 +11,21 @@ LeptonCFEValidationPlots::LeptonCFEValidationPlots(PlotBase* pParent, std::strin
m_TauJetMatchedCFEPlots(this,"/Leptonlinks/",LeptonContainerName,false,17)
{}
void LeptonCFEValidationPlots::fill(const xAOD::Muon& muon){
void LeptonCFEValidationPlots::fill(const xAOD::Muon& muon, const xAOD::EventInfo& eventInfo){
//muon plots
m_MuonMatchedCFEPlots.fill(muon);
m_MuonMatchedCFEPlots.fill(muon,eventInfo);
}
void LeptonCFEValidationPlots::fill(const xAOD::Electron& el){
void LeptonCFEValidationPlots::fill(const xAOD::Electron& el, const xAOD::EventInfo& eventInfo){
//electron plots
m_ElectronMatchedCFEPlots.fill(el);
m_ElectronMatchedCFEPlots.fill(el,eventInfo);
}
void LeptonCFEValidationPlots::fill(const xAOD::Photon& phot){
void LeptonCFEValidationPlots::fill(const xAOD::Photon& phot, const xAOD::EventInfo& eventInfo){
// photon plots
m_PhotonMatchedCFEPlots.fill(phot);
m_PhotonMatchedCFEPlots.fill(phot,eventInfo);
}
void LeptonCFEValidationPlots::fill(const xAOD::TauJet& tau){
void LeptonCFEValidationPlots::fill(const xAOD::TauJet& tau, const xAOD::EventInfo& eventInfo){
// taujet plots
m_TauJetMatchedCFEPlots.fill(tau);
m_TauJetMatchedCFEPlots.fill(tau,eventInfo);
}
......@@ -6,14 +6,12 @@
#define LEPTONCFEVALIDATIONPLOTS_H
#include "TrkValHistUtils/PlotBase.h"
#include "xAODEgamma/Electron.h"
#include "xAODEgamma/Photon.h"
#include "xAODMuon/Muon.h"
#include "xAODTau/TauJet.h"
#include "PFOHistUtils/LeptonFELinkerPlots.h"
#include "xAODEventInfo/EventInfo.h"
class LeptonCFEValidationPlots : public PlotBase {
......@@ -23,10 +21,10 @@ class LeptonCFEValidationPlots : public PlotBase {
LeptonCFEValidationPlots(PlotBase* pParent,std::string sDir, std::string LeptonContainerName);
/** fill the histograms up */
void fill(const xAOD::Electron& el);
void fill(const xAOD::Muon& muon);
void fill(const xAOD::TauJet& tau);
void fill(const xAOD::Photon& phot);
void fill(const xAOD::Electron& el, const xAOD::EventInfo& eventInfo);
void fill(const xAOD::Muon& muon, const xAOD::EventInfo& eventInfo);
void fill(const xAOD::TauJet& tau, const xAOD::EventInfo& eventInfo);
void fill(const xAOD::Photon& phot, const xAOD::EventInfo& eventInfo);
private:
// Lepton plots of observables linked to FE
......
......@@ -11,22 +11,22 @@ LeptonNFEValidationPlots::LeptonNFEValidationPlots(PlotBase* pParent, const std:
m_TauJetMatchedNFEPlots(this,"/Leptonlinks/",LeptonContainerName,true,17)
{}
void LeptonNFEValidationPlots::fill(const xAOD::Photon& phot){
void LeptonNFEValidationPlots::fill(const xAOD::Photon& phot, const xAOD::EventInfo& eventInfo){
// photon plots
m_PhotonMatchedNFEPlots.fill(phot);
m_PhotonMatchedNFEPlots.fill(phot,eventInfo);
}
void LeptonNFEValidationPlots::fill(const xAOD::Electron& el){
void LeptonNFEValidationPlots::fill(const xAOD::Electron& el, const xAOD::EventInfo& eventInfo){
//electron plots
m_ElectronMatchedNFEPlots.fill(el);
m_ElectronMatchedNFEPlots.fill(el,eventInfo);
}
void LeptonNFEValidationPlots::fill(const xAOD::Muon& muon){
void LeptonNFEValidationPlots::fill(const xAOD::Muon& muon, const xAOD::EventInfo& eventInfo){
//muon plots
m_MuonMatchedNFEPlots.fill(muon);
m_MuonMatchedNFEPlots.fill(muon,eventInfo);
}
void LeptonNFEValidationPlots::fill(const xAOD::TauJet& tau){
void LeptonNFEValidationPlots::fill(const xAOD::TauJet& tau, const xAOD::EventInfo& eventInfo){
// taujet plots
m_TauJetMatchedNFEPlots.fill(tau);
m_TauJetMatchedNFEPlots.fill(tau,eventInfo);
}
......@@ -12,7 +12,7 @@
#include "xAODEgamma/Photon.h"
#include "xAODMuon/Muon.h"
#include "xAODTau/TauJet.h"
#include "xAODEventInfo/EventInfo.h"
class LeptonNFEValidationPlots : public PlotBase {
......@@ -22,10 +22,10 @@ class LeptonNFEValidationPlots : public PlotBase {
LeptonNFEValidationPlots(PlotBase* pParent, const std::string& sDir, const std::string& LeptonContainerName);
/** fill the histograms up */
void fill(const xAOD::Electron& el);
void fill(const xAOD::Muon& muon);
void fill(const xAOD::TauJet& tau);
void fill(const xAOD::Photon& phot);
void fill(const xAOD::Electron& el, const xAOD::EventInfo& eventInfo);
void fill(const xAOD::Muon& muon, const xAOD::EventInfo& eventInfo);
void fill(const xAOD::TauJet& tau, const xAOD::EventInfo& eventInfo);
void fill(const xAOD::Photon& phot, const xAOD::EventInfo& eventInfo);
private:
// Lepton plots of observables linked to FE
......
......@@ -14,16 +14,16 @@ PFOChargedValidationPlots::PFOChargedValidationPlots(PlotBase* pParent, std::str
m_FELinkerPlots(this,"",sFEContainerName,false)
{}
void PFOChargedValidationPlots::fill(const xAOD::PFO& thePFO, const xAOD::Vertex* theVertex ){
m_PFOPlots.fill(thePFO);
m_PFOAlgPropertyPlots.fill(thePFO);
if (theVertex) m_PFOPVMatchedPlots.fill(thePFO, *theVertex);
void PFOChargedValidationPlots::fill(const xAOD::PFO& thePFO, const xAOD::Vertex* theVertex, const xAOD::EventInfo& eventInfo ){
m_PFOPlots.fill(thePFO,eventInfo);
m_PFOAlgPropertyPlots.fill(thePFO,eventInfo);
if (theVertex) m_PFOPVMatchedPlots.fill(thePFO, *theVertex,eventInfo);
}
void PFOChargedValidationPlots::fill(const xAOD::FlowElement& theFE, const xAOD::Vertex* theVertex ){
m_FEPlots.fill(theFE);
m_FEAlgPropertyPlots.fill(theFE);
if (theVertex) m_FEPVMatchedPlots.fill(theFE, *theVertex);
m_FELinkerPlots.fill(theFE);
void PFOChargedValidationPlots::fill(const xAOD::FlowElement& theFE, const xAOD::Vertex* theVertex, const xAOD::EventInfo& eventInfo ){
m_FEPlots.fill(theFE,eventInfo);
m_FEAlgPropertyPlots.fill(theFE,eventInfo);
if (theVertex) m_FEPVMatchedPlots.fill(theFE, *theVertex,eventInfo);
m_FELinkerPlots.fill(theFE,eventInfo);
}
......@@ -13,6 +13,7 @@
#include "xAODPFlow/PFO.h"
#include "xAODPFlow/FlowElement.h"
#include "xAODTracking/Vertex.h"
#include "xAODEventInfo/EventInfo.h"
class PFOChargedValidationPlots : public PlotBase {
......@@ -22,8 +23,8 @@ class PFOChargedValidationPlots : public PlotBase {
PFOChargedValidationPlots(PlotBase* pParent, std::string sDir, std::string sPFOContainerName,std::string sFEContainerName);
/** fill the histograms up */
void fill(const xAOD::PFO& thePFO, const xAOD::Vertex* theVertex);
void fill(const xAOD::FlowElement& theFE, const xAOD::Vertex* theVertex);
void fill(const xAOD::PFO& thePFO, const xAOD::Vertex* theVertex, const xAOD::EventInfo& eventInfo);
void fill(const xAOD::FlowElement& theFE, const xAOD::Vertex* theVertex, const xAOD::EventInfo& eventInfo);
private:
// PFO plots
/** 4-vector and charge histograms */
......
......@@ -17,20 +17,18 @@ PFONeutralValidationPlots::PFONeutralValidationPlots(PlotBase* pParent, std::str
m_FELinkerPlots(this,"",sFEContainerName,true)
{}
void PFONeutralValidationPlots::fill(const xAOD::PFO& thePFO){
m_PFOPlots.fill(thePFO);
m_PFOClusterMomentPlots.fill(thePFO);
m_PFOCalibHitClusterMomentPlots.fill(thePFO);
m_PFOAttributePlots.fill(thePFO);
m_PFOEMPlots.fill(thePFO);
void PFONeutralValidationPlots::fill(const xAOD::PFO& thePFO,const xAOD::EventInfo& eventInfo){
m_PFOPlots.fill(thePFO,eventInfo);
m_PFOClusterMomentPlots.fill(thePFO,eventInfo);
m_PFOCalibHitClusterMomentPlots.fill(thePFO,eventInfo);
m_PFOAttributePlots.fill(thePFO,eventInfo);
m_PFOEMPlots.fill(thePFO,eventInfo);
}
void PFONeutralValidationPlots::fill(const xAOD::FlowElement& theFE){
void PFONeutralValidationPlots::fill(const xAOD::FlowElement& theFE, const xAOD::EventInfo& eventInfo){
//overload of previous function using FlowElement
m_FEPlots.fill(theFE);
m_FEClusterMomentPlots.fill(theFE);
//m_FECalibHitClusterMomentPlots.fill(theFE); // MC doesn't generally have the relevant calibhits saved. To add at a later date if needed
m_FEAttributePlots.fill(theFE);
//m_FEEMPlots.fill(theFE);
m_FELinkerPlots.fill(theFE);
m_FEPlots.fill(theFE,eventInfo);
m_FEClusterMomentPlots.fill(theFE,eventInfo);
m_FEAttributePlots.fill(theFE,eventInfo);
m_FELinkerPlots.fill(theFE,eventInfo);
}
......@@ -14,6 +14,7 @@
#include "PFOHistUtils/FlowElement_LinkerPlots.h"
#include "xAODPFlow/PFO.h"
#include "xAODPFlow/FlowElement.h"
#include "xAODEventInfo/EventInfo.h"
class PFONeutralValidationPlots : public PlotBase {
......@@ -23,8 +24,8 @@ class PFONeutralValidationPlots : public PlotBase {
PFONeutralValidationPlots(PlotBase* pParent, std::string sDir, std::string sPFOContainerName, std::string sFEContainerName);
/** fill the histograms up */
void fill(const xAOD::PFO& thePFO);
void fill(const xAOD::FlowElement& theFE);
void fill(const xAOD::PFO& thePFO,const xAOD::EventInfo& eventInfo);
void fill(const xAOD::FlowElement& theFE, const xAOD::EventInfo& eventInfo);
private:
// objects for PFOs
......
......@@ -25,6 +25,7 @@ StatusCode PhysValFE::initialize(){
ATH_CHECK(m_ElectronContainerHandleKey.initialize());
ATH_CHECK(m_PhotonContainerHandleKey.initialize());
ATH_CHECK(m_TauJetContainerHandleKey.initialize());
ATH_CHECK(m_eventInfoReadHandleKey.initialize());
return StatusCode::SUCCESS;
}
......@@ -104,10 +105,10 @@ StatusCode PhysValFE::fillHistograms(){
//Vertex finding logic based on logic in JetRecTools/PFlowPseudoJetGetter tool
//Usually the 0th vertex is the primary one, but this is not always the case. So we will choose the first vertex of type PriVtx
for (auto vertex : *vertexContainerReadHandle) {
if (xAOD::VxType::PriVtx == vertex->vertexType() ) {
theVertex = vertex;
break;
}//If we have a vertex of type primary vertex
if (xAOD::VxType::PriVtx == vertex->vertexType() ) {
theVertex = vertex;
break;
}//If we have a vertex of type primary vertex
}//iterate over the vertices and check their type
if (nullptr == theVertex) ATH_MSG_WARNING("Did not find either a PriVtx or a NoVtx in this event");
......@@ -115,6 +116,11 @@ StatusCode PhysValFE::fillHistograms(){
}//if valid read handle
}
SG::ReadHandle<xAOD::EventInfo> eventInfoReadHandle(m_eventInfoReadHandleKey);
if (!eventInfoReadHandle.isValid()){
ATH_MSG_WARNING("Invalid ReadHandle for xAOD::EventInfo with key: " << eventInfoReadHandle.key());
}
SG::ReadHandle<xAOD::FlowElementContainer> FEContainerReadHandle(m_FEContainerHandleKey);
if(!FEContainerReadHandle.isValid()){
ATH_MSG_WARNING("Invalid ReadHandle for xAOD::FlowElementContainer with key: " << FEContainerReadHandle.key());
......@@ -124,8 +130,8 @@ StatusCode PhysValFE::fillHistograms(){
for (auto theFE : *FEContainerReadHandle){
if(theFE){
if (!m_useNeutralFE) m_FEChargedValidationPlots->fill(*theFE,theVertex);
else if (m_useNeutralFE) m_FENeutralValidationPlots->fill(*theFE);
if (!m_useNeutralFE) m_FEChargedValidationPlots->fill(*theFE,theVertex,*eventInfoReadHandle);
else if (m_useNeutralFE) m_FENeutralValidationPlots->fill(*theFE,*eventInfoReadHandle);
}
else ATH_MSG_WARNING("Invalid pointer to xAOD::FlowElement");
}
......@@ -142,8 +148,8 @@ StatusCode PhysValFE::fillHistograms(){
}
else{
for (auto Muon: *MuonContainerReadHandle){
if(!m_useNeutralFE) m_LeptonLinkerPlots_CFE->fill(*Muon);
else m_LeptonLinkerPlots_NFE->fill(*Muon);
if(!m_useNeutralFE) m_LeptonLinkerPlots_CFE->fill(*Muon,*eventInfoReadHandle);
else m_LeptonLinkerPlots_NFE->fill(*Muon,*eventInfoReadHandle);
}
}
SG::ReadHandle<xAOD::ElectronContainer> ElectronContainerReadHandle(m_ElectronContainerHandleKey);
......@@ -152,8 +158,8 @@ StatusCode PhysValFE::fillHistograms(){
}
else{
for (auto Electron: *ElectronContainerReadHandle){
if(!m_useNeutralFE) m_LeptonLinkerPlots_CFE->fill(*Electron);
else m_LeptonLinkerPlots_NFE->fill(*Electron);
if(!m_useNeutralFE) m_LeptonLinkerPlots_CFE->fill(*Electron,*eventInfoReadHandle);
else m_LeptonLinkerPlots_NFE->fill(*Electron,*eventInfoReadHandle);
}
}
......@@ -163,8 +169,8 @@ StatusCode PhysValFE::fillHistograms(){
}
else{
for (auto Photon: *PhotonContainerReadHandle){
if(!m_useNeutralFE) m_LeptonLinkerPlots_CFE->fill(*Photon);
else m_LeptonLinkerPlots_NFE->fill(*Photon);
if(!m_useNeutralFE) m_LeptonLinkerPlots_CFE->fill(*Photon,*eventInfoReadHandle);
else m_LeptonLinkerPlots_NFE->fill(*Photon,*eventInfoReadHandle);
}
}
SG::ReadHandle<xAOD::TauJetContainer> TauJetContainerReadHandle(m_TauJetContainerHandleKey);
......@@ -173,8 +179,8 @@ StatusCode PhysValFE::fillHistograms(){
}
else{
for (auto Tau: *TauJetContainerReadHandle){
if(!m_useNeutralFE) m_LeptonLinkerPlots_CFE->fill(*Tau);
else m_LeptonLinkerPlots_NFE->fill(*Tau);
if(!m_useNeutralFE) m_LeptonLinkerPlots_CFE->fill(*Tau,*eventInfoReadHandle);
else m_LeptonLinkerPlots_NFE->fill(*Tau,*eventInfoReadHandle);
}
}
......
......@@ -19,7 +19,9 @@
#include "xAODEgamma/ElectronContainer.h"
#include "xAODEgamma/PhotonContainer.h"
#include "xAODTau/TauJetContainer.h"
#include "xAODEventInfo/EventInfo.h"
#include "PFO_FE_ComparisonPlots.h"
class PhysValFE : public ManagedMonitorToolBase {
public:
......@@ -60,6 +62,8 @@ public:
/** ReadHandleKey to retrieve TauJetContainer */
SG::ReadHandleKey<xAOD::TauJetContainer> m_TauJetContainerHandleKey{this,"TauJetContainerName","TauJets","ReadHandleKey for the taujet container"};
/** ReadHandleKey for EventInfo */
SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoReadHandleKey{this,"EventInfoName","EventInfo","ReadHandleKey for EventInfo"};
/** Pointer to class that deals with histograms for charged FE */
std::unique_ptr<PFOChargedValidationPlots> m_FEChargedValidationPlots;
......
......@@ -16,6 +16,7 @@ StatusCode PhysValPFO::initialize(){
ATH_CHECK(m_vertexContainerReadHandleKey.initialize());
ATH_CHECK(m_PFOContainerHandleKey.initialize());
ATH_CHECK(m_eventInfoReadHandleKey.initialize());
return StatusCode::SUCCESS;
}
......@@ -60,10 +61,10 @@ StatusCode PhysValPFO::fillHistograms(){
//Vertex finding logic based on logic in JetRecTools/PFlowPseudoJetGetter tool
//Usually the 0th vertex is the primary one, but this is not always the case. So we will choose the first vertex of type PriVtx
for (auto vertex : *vertexContainerReadHandle) {
if (xAOD::VxType::PriVtx == vertex->vertexType() ) {
theVertex = vertex;
break;
}//If we have a vertex of type primary vertex
if (xAOD::VxType::PriVtx == vertex->vertexType() ) {
theVertex = vertex;
break;
}//If we have a vertex of type primary vertex
}//iterate over the vertices and check their type
if (nullptr == theVertex) ATH_MSG_WARNING("Did not find either a PriVtx or a NoVtx in this event");
......@@ -71,6 +72,11 @@ StatusCode PhysValPFO::fillHistograms(){
}//if valid read handle
}
SG::ReadHandle<xAOD::EventInfo> eventInfoReadHandle(m_eventInfoReadHandleKey);
if (!eventInfoReadHandle.isValid()){
ATH_MSG_WARNING("Invalid ReadHandle for xAOD::EventInfo with key: " << eventInfoReadHandle.key());
}
SG::ReadHandle<xAOD::PFOContainer> PFOContainerReadHandle(m_PFOContainerHandleKey);
if(!PFOContainerReadHandle.isValid()){
ATH_MSG_WARNING("Invalid ReadHandle for xAOD::PFOContainer with key: " << PFOContainerReadHandle.key());
......@@ -78,8 +84,8 @@ StatusCode PhysValPFO::fillHistograms(){
}
for (auto thePFO : *PFOContainerReadHandle){
if(thePFO){
if (!m_useNeutralPFO) m_PFOChargedValidationPlots->fill(*thePFO,theVertex);
else if (m_useNeutralPFO) m_PFONeutralValidationPlots->fill(*thePFO);
if (!m_useNeutralPFO) m_PFOChargedValidationPlots->fill(*thePFO,theVertex,*eventInfoReadHandle);
else if (m_useNeutralPFO) m_PFONeutralValidationPlots->fill(*thePFO,*eventInfoReadHandle);
}
else ATH_MSG_WARNING("Invalid pointer to xAOD::PFO");
}
......
......@@ -12,6 +12,7 @@
#include "xAODTracking/VertexContainer.h"
#include "xAODPFlow/PFOContainer.h"
#include "StoreGate/ReadHandleKey.h"
#include "xAODEventInfo/EventInfo.h"
class PhysValPFO : public ManagedMonitorToolBase {
......@@ -36,7 +37,10 @@ public:
/** ReadHandle to retrieve xAOD::PFOContainer */
SG::ReadHandleKey<xAOD::PFOContainer> m_PFOContainerHandleKey{this,"PFOContainerName","JetETMissChargedParticleFlowObjects","ReadHandleKey for the PFO container"};
/** ReadHandleKey for EventInfo */
SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoReadHandleKey{this,"EventInfoName","EventInfo","ReadHandleKey for EventInfo"};
/** Pointer to class that deals with histograms for charged PFO */
std::unique_ptr<PFOChargedValidationPlots> m_PFOChargedValidationPlots;
......
......@@ -7,4 +7,4 @@ atlas_subdir( PFOHistUtils )
atlas_add_library( PFOHistUtils
src/*.cxx
PUBLIC_HEADERS PFOHistUtils
LINK_LIBRARIES xAODCaloEvent xAODPFlow xAODMuon xAODEgamma xAODTau xAODTracking TrkValHistUtils)
LINK_LIBRARIES xAODCaloEvent xAODEventInfo xAODPFlow xAODMuon xAODEgamma xAODTau xAODTracking TrkValHistUtils)
......@@ -9,6 +9,7 @@
#include "TrkValHistUtils/PlotBase.h"
#include "xAODPFlow/FlowElement.h"
#include <string>
#include "xAODEventInfo/EventInfo.h"
namespace PFO{
......@@ -16,11 +17,8 @@ namespace PFO{
public:
FlowElement_LinkerPlots(PlotBase *pParent, std::string sDir, std::string sFEContainerName, bool doNeutralFE);
//~FlowElement_LinkerPlots();
void fill(const xAOD::FlowElement& FE);
void fill(const xAOD::FlowElement& FE, const xAOD::EventInfo& eventInfo);
private:
......
......@@ -12,6 +12,7 @@
#include "xAODEgamma/Photon.h"
#include "xAODMuon/Muon.h"
#include "xAODTau/TauJet.h"
#include "xAODEventInfo/EventInfo.h"
namespace PFO {
......@@ -21,10 +22,10 @@ namespace PFO {
LeptonFELinkerPlots(PlotBase *pParent, std::string sDir, std::string LeptonContainerName, const bool& m_doNeutralFE, const int& m_LeptonID);
void fill(const xAOD::Electron& el);
void fill(const xAOD::Muon& muon);
void fill(const xAOD::TauJet& tau);
void fill(const xAOD::Photon& phot);
void fill(const xAOD::Electron& el, const xAOD::EventInfo& eventInfo);
void fill(const xAOD::Muon& muon, const xAOD::EventInfo& eventInfo);
void fill(const xAOD::TauJet& tau, const xAOD::EventInfo& eventInfo);
void fill(const xAOD::Photon& phot, const xAOD::EventInfo& eventInfo);
private:
......
......@@ -8,6 +8,7 @@
#include "TrkValHistUtils/PlotBase.h"
#include "xAODPFlow/PFO.h"
#include "xAODPFlow/FlowElement.h"
#include "xAODEventInfo/EventInfo.h"
namespace PFO {
......@@ -17,8 +18,8 @@ namespace PFO {
PFOAlgPropertyPlots(PlotBase *pParent, std::string sDir, std::string sPFOContainerName, std::string sFEContainerName);
void fill(const xAOD::PFO& PFO);
void fill(const xAOD::FlowElement& theFE);
void fill(const xAOD::PFO& PFO, const xAOD::EventInfo& eventInfo);
void fill(const xAOD::FlowElement& theFE, const xAOD::EventInfo& eventInfo);
private:
/** PFO histograms */
TH1* m_PFO_isInDenseEnvironment;
......
......@@ -8,6 +8,7 @@
#include "TrkValHistUtils/PlotBase.h"
#include "xAODPFlow/PFO.h"
#include "xAODPFlow/FlowElement.h"
#include "xAODEventInfo/EventInfo.h"
namespace PFO {
......@@ -17,8 +18,8 @@ namespace PFO {
PFOAttributePlots(PlotBase *pParent, std::string sDir, std::string sPFOContainerName, std::string sFEContainerName);
void fill(const xAOD::PFO& PFO);
void fill(const xAOD::FlowElement& FE);
void fill(const xAOD::PFO& PFO, const xAOD::EventInfo& eventInfo);
void fill(const xAOD::FlowElement& FE, const xAOD::EventInfo& eventInfo);
private:
......
......@@ -8,6 +8,7 @@
#include "TrkValHistUtils/PlotBase.h"
#include "xAODPFlow/PFO.h"
#include "xAODPFlow/FlowElement.h"
#include "xAODEventInfo/EventInfo.h"
namespace PFO {
......@@ -17,8 +18,7 @@ namespace PFO {
PFOCalibHitClusterMomentPlots(PlotBase *pParent, std::string sDir, std::string sPFOContainerName, std::string sFEContainerName);
void fill(const xAOD::PFO& PFO);
void fill(const xAOD::FlowElement& FE);
void fill(const xAOD::PFO& PFO, const xAOD::EventInfo& eventInfo);
private:
/** Histograms inclusive in eta */
......
......@@ -8,6 +8,7 @@
#include "TrkValHistUtils/PlotBase.h"
#include "xAODPFlow/PFO.h"
#include "xAODPFlow/FlowElement.h"
#include "xAODEventInfo/EventInfo.h"
namespace PFO {
......@@ -17,8 +18,8 @@ namespace PFO {
PFOClusterMomentPlots(PlotBase *pParent, std::string sDir, std::string sPFOContainerName, std::string sFEContainerName);
void fill(const xAOD::PFO& PFO);
void fill(const xAOD::FlowElement& FE);
void fill(const xAOD::PFO& PFO, const xAOD::EventInfo& eventInfo);
void fill(const xAOD::FlowElement& FE, const xAOD::EventInfo& eventInfo);
private:
/** Histograms inclusive in eta */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment