10#include "AthLinks/ElementLink.h"
72 TLorentzVector FE_fourvec=FE.
p4();
75 std::vector< ElementLink < xAOD::MuonContainer > > MuonLinks=acc_muon_FE_Link(FE);
76 int nMuons_per_FE=MuonLinks.size();
88 std::cerr <<
"FlowElement_LinkerPlots encountered an invalid muon element link. Skipping. "<<std::endl;
92 TLorentzVector muon_fourvec=muon->p4();
93 double deltaR=muon_fourvec.DeltaR(FE_fourvec);
94 if(muon->muonType()==4)
101 int auth=muon->author();
102 int type=muon->muonType();
112 std::vector< ElementLink < xAOD::ElectronContainer > > ElectronLinks=acc_electron_FE_Link(FE);
113 int nElectrons_per_FE=ElectronLinks.size();
114 if(nElectrons_per_FE>0){
124 std::cerr <<
"FlowElement_LinkerPlots encountered an invalid electron element link. Skipping. "<<std::endl;
128 TLorentzVector electron_fourvec=electron->p4();
129 double deltaR=electron_fourvec.DeltaR(FE_fourvec);
139 std::vector< ElementLink < xAOD::PhotonContainer > > PhotonLinks=acc_photon_FE_Link(FE);
140 int nPhotons_per_FE=PhotonLinks.size();
141 if(nPhotons_per_FE>0){
150 if (!PhotonLink.isValid()){
151 std::cerr <<
"FlowElement_LinkerPlots encountered an invalid photon element link. Skipping. "<<std::endl;
155 TLorentzVector photon_fourvec=photon->p4();
156 double deltaR=photon_fourvec.DeltaR(FE_fourvec);
166 std::vector< ElementLink < xAOD::TauJetContainer > > TaujetLinks=acc_tau_FE_Link(FE);
167 int nTaujets_per_FE=TaujetLinks.size();
168 if(nTaujets_per_FE>0){
175 TLorentzVector FE_fourvec=FE.
p4();
178 if (!TaujetLink.isValid()){
179 std::cerr <<
"FlowElement_LinkerPlots encountered an invalid tau jet element link. Skipping. "<<std::endl;
183 TLorentzVector taujet_fourvec=taujet->
p4();
184 double deltaR=taujet_fourvec.DeltaR(FE_fourvec);
Scalar deltaR(const MatrixBase< Derived > &vec) const
ElementLink< xAOD::MuonContainer > MuonLink
ElementLink< xAOD::ElectronContainer > ElectronLink
ElementLink implementation for ROOT usage.
TH1 * m_NFE_electron_NMatchedElectron
TH1 * m_CFE_photon_NMatchedPhoton
TH1 * m_CFE_muon_largeDR_debug_author
TH1 * m_CFE_muon_NMatchedMuon
TH1 * m_CFE_muon_largeDR_debug_type
FlowElement_LinkerPlots(PlotBase *pParent, const std::string &sDir, const std::string &sFEContainerName, bool doNeutralFE)
TH1 * m_NFE_tau_NMatchedTau
TH1 * m_NFE_muon_NMatchedMuon
std::string m_sFEContainerName
TH1 * m_CFE_tau_NMatchedTau
TH1 * m_NFE_photon_NMatchedPhoton
TH1 * m_CFE_electron_NMatchedElectron
void fill(const xAOD::FlowElement &FE, const xAOD::EventInfo &eventInfo)
TH1D * Book1D(const std::string &name, const std::string &labels, int nBins, float start, float end, bool prependDir=true)
Book a TH1D histogram.
PlotBase(PlotBase *parent, const std::string &sDir)
SG::ConstAccessor< T, ALLOC > ConstAccessor
bool isAvailable(const ELT &e) const
Test to see if this variable exists in the store.
float beamSpotWeight() const
Weight for beam spot size reweighting.
virtual FourMom_t p4() const override
The full 4-momentum of the particle.
virtual FourMom_t p4() const
The full 4-momentum of the particle.
EventInfo_v1 EventInfo
Definition of the latest event info version.
FlowElement_v1 FlowElement
Definition of the current "pfo version".
TauJet_v3 TauJet
Definition of the current "tau version".
Muon_v1 Muon
Reference the current persistent version:
Photon_v1 Photon
Definition of the current "egamma version".
Electron_v1 Electron
Definition of the current "egamma version".