8#ifndef XAODTAU_VERSIONS_TAUJET_V2_H
9#define XAODTAU_VERSIONS_TAUJET_V2_H
13#include "AthLinks/ElementLink.h"
26#include "Math/Vector4D.h"
48 virtual double pt()
const;
50 virtual double eta()
const;
52 virtual double phi()
const;
54 virtual double e()
const;
57 virtual double m()
const;
66 typedef ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> >
GenVecFourMom_t;
118 virtual Type::ObjectType
type()
const;
177 if (this->detail(
detail,temp))
return temp;
307 typedef std::vector< ElementLink< xAOD::PFOContainer > >
PFOLinks_t;
An STL vector of pointers that by default owns its pointed-to elements.
#define DATAVECTOR_BASE(T, BASE)
Declare base class info to DataVector.
Class providing the definition of the 4-vector interface.
TLorentzVector FourMom_t
Definition of the 4-momentum type.
Class describing a tau jet.
xAODTAU_return_type< T >::type panTauDetail(TauJetParameters::PanTauDetails panTauDetail) const
void addOtherTrackLink(const ElementLink< TrackParticleContainer > &tr)
add a track to the tau
void clearHadronicPFOLinks()
Remove all hadronic PFOs from the tau.
double ptDetectorAxis() const
const PFOLinks_t & hadronicPFOLinks() const
std::vector< ElementLink< xAOD::PFOContainer > > PFOLinks_t
void setProtoNeutralPFOLinks(const PFOLinks_t &protoNeutralPFOs)
const Vertex * secondaryVertex() const
bool panTauDetail(TauJetParameters::PanTauDetails panTauDetail, int &value) const
Get and set values of pantau details variables via enum.
void setChargedPFOLinks(const PFOLinks_t &chargedPFOs)
void addProtoPi0PFOLink(const ElementLink< PFOContainer > &pfo)
add a cellbased_pi0 PFO to the tau
void addHadronicPFOLink(const ElementLink< PFOContainer > &pfo)
add a hadronic PFO to the tau
void setROIWord(unsigned int)
int trackFilterProngs() const
void setTrackFilterQuality(int)
void setFlag(TauJetParameters::VetoFlags flag, bool value)
Set veto flag.
void addProtoNeutralPFOLink(const ElementLink< PFOContainer > &pfo)
add a cellbased_neutral PFO to the tau
void addShotPFOLink(const ElementLink< PFOContainer > &pfo)
add a shot PFO to the tau
void setNeutralPFOLinks(const PFOLinks_t &neutralPFOs)
void clearProtoNeutralPFOLinks()
Remove all cellbased_neutral PFOs from the tau.
const PFO * neutralPFO(size_t i) const
Get the pointer to a given neutral PFO associated with this tau.
TauJet_v2()
Default constructor.
const PFO * hadronicPFO(size_t i) const
Get the pointer to a given hadronic PFO associated with this tau.
size_t nProtoPi0PFOs() const
Get the number of cellbased_pi0 PFO particles associated with this tau.
double ptPanTauCellBasedProto() const
const JetLink_t & jetLink() const
const PFOLinks_t & neutralPFOLinks() const
void setSecondaryVertex(const xAOD::VertexContainer *cont, const xAOD::Vertex *vertex)
const PFO * protoPi0PFO(size_t i) const
Get the pointer to a given cellbased_pi0 PFO associated with this tau.
double etaTrigCaloOnly() const
void setProtoChargedPFOLinks(const PFOLinks_t &protoChargedPFOs)
const TrackParticle * wideTrack(size_t i) const
Get the pointer to a given track associated with this tau.
void setProtoPi0PFOLinks(const PFOLinks_t &protoPi0PFOs)
void setPanTauDetail(TauJetParameters::PanTauDetails panTauDetail, int value)
double ptTauEtaCalib() const
void addChargedPFOLink(const ElementLink< PFOContainer > &pfo)
add a charged PFO to the tau
const VertexLink_t & vertexLink() const
const PFOLinks_t & pi0PFOLinks() const
virtual double e() const
The total energy of the particle.
double etaPanTauCellBasedProto() const
const PFOLinks_t & protoPi0PFOLinks() const
ElementLink< xAOD::JetContainer > JetLink_t
void clearPi0PFOLinks()
Remove all pi0 PFOs from the tau.
double etaJetSeed() const
void clearProtoChargedPFOLinks()
Remove all cellbased_charged PFOs from the tau.
void setOtherTrackLinks(const TrackParticleLinks_t &trackParticles)
void setTrackFilterProngs(int)
virtual double eta() const
The pseudorapidity ( ) of the particle.
double etaTauEtaCalib() const
double phiPanTauCellBasedProto() const
const PFO * pi0PFO(size_t i) const
Get the pointer to a given pi0 PFO associated with this tau.
const PFOLinks_t & protoChargedPFOLinks() const
cellbased pfos
void setWideTrackLinks(const TrackParticleLinks_t &trackParticles)
virtual double m() const
The invariant mass of the particle.
const PFO * protoChargedPFO(size_t i) const
Get the pointer to a given cellbased_charged PFO associated with this tau.
const TrackParticle * otherTrack(size_t i) const
Get the pointer to a given track associated with this tau.
double etaDetectorAxis() const
void clearChargedPFOLinks()
Remove all charged PFOs from the tau.
void setDetail(TauJetParameters::Detail detail, int value)
double phiTauEtaCalib() const
const PFOLinks_t & shotPFOLinks() const
virtual FourMom_t p4() const
The full 4-momentum of the particle.
bool flag(TauJetParameters::VetoFlags flag) const
Get veto flag.
double phiTrigCaloOnly() const
size_t nOtherTracks() const
Get the number of track particles associated with this tau.
const TrackParticle * track(size_t i) const
Get the pointer to a given track associated with this tau.
void setDiscriminant(TauJetParameters::TauID discID, double disc)
Set value of discriminant.
double ptTrigCaloOnly() const
double ptIntermediateAxis() const
size_t nPi0PFOs() const
Get the number of pi0 PFO particles associated with this tau.
void setTrackLinks(const TrackParticleLinks_t &trackParticles)
void setSecondaryVertexLink(const VertexLink_t &vertexLink)
double etaIntermediateAxis() const
double phiTauEnergyScale() const
double phiPanTauCellBased() const
const PFO * chargedPFO(size_t i) const
Get the pointer to a given charged PFO associated with this tau.
double etaPanTauCellBased() const
float trackEtaStrip(unsigned int numTrack) const
const PFO * protoNeutralPFO(size_t i) const
Get the pointer to a given cellbased_neutral PFO associated with this tau.
void setHadronicPFOLinks(const PFOLinks_t &hadronicPFOs)
void clearTrackLinks()
Remove all tracks from the tau.
const VertexLink_t & secondaryVertexLink() const
bool trackFlag(const TrackParticle *track, TauJetParameters::TauTrackFlag flag) const
double mTrigCaloOnly() const
xAODTAU_return_type< T >::type detail(TauJetParameters::Detail detail) const
void clearNeutralPFOLinks()
Remove all neutral PFOs from the tau.
void setJet(const xAOD::JetContainer *cont, const xAOD::Jet *jet)
bool isTau(TauJetParameters::IsTauFlag flag) const
Get Flag for tau acceptance based on predefined arbitrary criteria.
const PFOLinks_t & protoNeutralPFOLinks() const
double mPanTauCellBased() const
size_t nProtoNeutralPFOs() const
Get the number of cellbased_neutral PFO particles associated with this tau.
void addProtoChargedPFOLink(const ElementLink< PFOContainer > &pfo)
add a cellbased_charged PFO to the tau
void setTrackEtaStrip(unsigned int numTrack, float eta)
virtual double pt() const
The transverse momentum ( ) of the particle.
void setPi0PFOLinks(const PFOLinks_t &pi0PFOs)
double phiJetSeed() const
const TrackParticleLinks_t & otherTrackLinks() const
double discriminant(TauJetParameters::TauID discID) const
Get value of discriminant.
double ptPanTauCellBased() const
virtual double phi() const
The azimuthal angle ( ) of the particle.
size_t nHadronicPFOs() const
Get the number of hadronic PFO particles associated with this tau.
int trackFilterQuality() const
double etaTauEnergyScale() const
double ptTauEnergyScale() const
double mTauEtaCalib() const
size_t nNeutralPFOs() const
Get the number of neutral PFO particles associated with this tau.
void setVertex(const xAOD::VertexContainer *cont, const xAOD::Vertex *vertex)
void setP4(double pt, double eta, double phi, double m)
Set methods for IParticle values.
bool hasDiscriminant(TauJetParameters::TauID discID) const
Check if class contains requested discriminant.
unsigned int ROIWord() const
the ROIWord, in case TauJet is used in EF trigger
GenVecFourMom_t genvecP4() const
The full 4-momentum of the particle : internal taus type.
void setVertexLink(const VertexLink_t &vertexLink)
double mIntermediateAxis() const
const PFOLinks_t & chargedPFOLinks() const
default pfos
virtual Type::ObjectType type() const
The type of the object as a simple enumeration.
const Vertex * vertex() const
void setIsTau(TauJetParameters::IsTauFlag flag, bool value)
Set Flag for tau acceptance based on predefined arbitrary criteria.
double phiDetectorAxis() const
const TrackParticleLinks_t & trackLinks() const
void addWideTrackLink(const ElementLink< TrackParticleContainer > &tr)
add a track to the tau
size_t nWideTracks() const
Get the number of track particles associated with this tau.
size_t nShotPFOs() const
Get the number of shot PFO particles associated with this tau.
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > GenVecFourMom_t
Base 4 Momentum type for taus.
double mTauEnergyScale() const
size_t nProtoChargedPFOs() const
Get the number of cellbased_charged PFO particles associated with this tau.
void addTrackLink(const ElementLink< TrackParticleContainer > &tr)
add a track to the tau
const TrackParticleLinks_t & wideTrackLinks() const
double mDetectorAxis() const
void setJetLink(const JetLink_t &jetLink)
double mPanTauCellBasedProto() const
double phiIntermediateAxis() const
float trackPhiStrip(unsigned int numTrack) const
void setTrackFlag(const TrackParticle *track, TauJetParameters::TauTrackFlag flag, bool value)
void clearWideTrackLinks()
Remove all tracks from the tau.
ElementLink< xAOD::VertexContainer > VertexLink_t
void addNeutralPFOLink(const ElementLink< PFOContainer > &pfo)
add a neutral PFO to the tau
void addPi0PFOLink(const ElementLink< PFOContainer > &pfo)
add a pi0 PFO to the tau
size_t nChargedPFOs() const
Get the number of charged PFO particles associated with this tau.
void clearShotPFOLinks()
Remove all shot PFOs from the tau.
void setShotPFOLinks(const PFOLinks_t &shotPFOs)
void setTrackPhiStrip(unsigned int numTrack, float phi)
const PFO * shotPFO(size_t i) const
Get the pointer to a given shot PFO associated with this tau.
void clearOtherTrackLinks()
Remove all tracks from the tau.
void clearProtoPi0PFOLinks()
Remove all cellbased_pi0 PFOs from the tau.
virtual double rapidity() const
The true rapidity (y) of the particle.
std::vector< ElementLink< xAOD::TrackParticleContainer > > TrackParticleLinks_t
TauTrackFlag
Enum for tau track flags.
TauCalibType
Enum for tau calib type.
Detail
Enum for tau parameters - used mainly for backward compatibility with the analysis code.
PanTauDetails
Enum for tau details (scalar) calculated by pantau.
VetoFlags
Enum for Veto flags.
TauID
Enum for discriminants.
IsTauFlag
Enum for IsTau flags.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Jet_v1 Jet
Definition of the current "jet version".
setStrategy setMatchFlag ElementLink< TrackParticleContainer >
TrackParticle_v1 TrackParticle
Reference the current persistent version:
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
Vertex_v1 Vertex
Define the latest version of the vertex class.
JetContainer_v1 JetContainer
Definition of the current "jet container version".