ATLAS Offline Software
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
xAOD::TauJet_v2 Class Reference

Class describing a tau jet. More...

#include <TauJet_v2.h>

Inheritance diagram for xAOD::TauJet_v2:
Collaboration diagram for xAOD::TauJet_v2:

Public Types

typedef ElementLink< xAOD::JetContainerJetLink_t
 
typedef ElementLink< xAOD::VertexContainerVertexLink_t
 
typedef std::vector< ElementLink< xAOD::TrackParticleContainer > > TrackParticleLinks_t
 
typedef std::vector< ElementLink< xAOD::PFOContainer > > PFOLinks_t
 
using TypelessConstAccessor = ConstAuxElement::TypelessConstAccessor
 
template<class T , class ALLOC = AuxAllocator_t<T>>
using ConstAccessor = SG::ConstAccessor< T, ALLOC >
 
template<class T , class ALLOC = AuxAllocator_t<T>>
using Accessor = SG::Accessor< T, ALLOC >
 
template<class T , class ALLOC = AuxAllocator_t<T>>
using Decorator = SG::Decorator< T, ALLOC >
 

Public Member Functions

 TauJet_v2 ()
 Default constructor. More...
 
float charge () const
 
void setCharge (float)
 
unsigned int ROIWord () const
 the ROIWord, in case TauJet is used in EF trigger More...
 
void setROIWord (unsigned int)
 
bool hasDiscriminant (TauJetParameters::TauID discID) const
 Check if class contains requested discriminant. More...
 
double discriminant (TauJetParameters::TauID discID) const
 Get value of discriminant. More...
 
void setDiscriminant (TauJetParameters::TauID discID, double disc)
 Set value of discriminant. More...
 
bool isTau (TauJetParameters::IsTauFlag flag) const
 Get Flag for tau acceptance based on predefined arbitrary criteria. More...
 
void setIsTau (TauJetParameters::IsTauFlag flag, bool value)
 Set Flag for tau acceptance based on predefined arbitrary criteria. More...
 
void setFlag (TauJetParameters::VetoFlags flag, bool value)
 Set veto flag. More...
 
bool flag (TauJetParameters::VetoFlags flag) const
 Get veto flag. More...
 
bool detail (TauJetParameters::Detail detail, int &value) const
 Get and set values of common details variables via enum. More...
 
bool detail (TauJetParameters::Detail detail, float &value) const
 
void setDetail (TauJetParameters::Detail detail, int value)
 
void setDetail (TauJetParameters::Detail detail, float value)
 
template<class T >
xAODTAU_return_type< T >::type detail (TauJetParameters::Detail detail) const
 
bool panTauDetail (TauJetParameters::PanTauDetails panTauDetail, int &value) const
 Get and set values of pantau details variables via enum. More...
 
bool panTauDetail (TauJetParameters::PanTauDetails panTauDetail, float &value) const
 
void setPanTauDetail (TauJetParameters::PanTauDetails panTauDetail, int value)
 
void setPanTauDetail (TauJetParameters::PanTauDetails panTauDetail, float value)
 
template<class T >
xAODTAU_return_type< T >::type panTauDetail (TauJetParameters::PanTauDetails panTauDetail) const
 
const JetLink_tjetLink () const
 
void setJetLink (const JetLink_t &jetLink)
 
void setJet (const xAOD::JetContainer *cont, const xAOD::Jet *jet)
 
const Jetjet () const
 
const VertexLink_tvertexLink () const
 
void setVertexLink (const VertexLink_t &vertexLink)
 
void setVertex (const xAOD::VertexContainer *cont, const xAOD::Vertex *vertex)
 
const Vertexvertex () const
 
const VertexLink_tsecondaryVertexLink () const
 
void setSecondaryVertexLink (const VertexLink_t &vertexLink)
 
void setSecondaryVertex (const xAOD::VertexContainer *cont, const xAOD::Vertex *vertex)
 
const VertexsecondaryVertex () const
 
const TrackParticleLinks_ttrackLinks () const
 
void setTrackLinks (const TrackParticleLinks_t &trackParticles)
 
const TrackParticletrack (size_t i) const
 Get the pointer to a given track associated with this tau. More...
 
size_t nTracks () const
 
void addTrackLink (const ElementLink< TrackParticleContainer > &tr)
 add a track to the tau More...
 
void clearTrackLinks ()
 Remove all tracks from the tau. More...
 
bool trackFlag (const TrackParticle *track, TauJetParameters::TauTrackFlag flag) const
 
void setTrackFlag (const TrackParticle *track, TauJetParameters::TauTrackFlag flag, bool value)
 
int trackFilterProngs () const
 
void setTrackFilterProngs (int)
 
int trackFilterQuality () const
 
void setTrackFilterQuality (int)
 
float pi0ConeDR () const
 
void setPi0ConeDR (float)
 
float trackEtaStrip (unsigned int numTrack) const
 
void setTrackEtaStrip (unsigned int numTrack, float eta)
 
float trackPhiStrip (unsigned int numTrack) const
 
void setTrackPhiStrip (unsigned int numTrack, float phi)
 
const TrackParticleLinks_twideTrackLinks () const
 
void setWideTrackLinks (const TrackParticleLinks_t &trackParticles)
 
const TrackParticlewideTrack (size_t i) const
 Get the pointer to a given track associated with this tau. More...
 
size_t nWideTracks () const
 Get the number of track particles associated with this tau. More...
 
void addWideTrackLink (const ElementLink< TrackParticleContainer > &tr)
 add a track to the tau More...
 
void clearWideTrackLinks ()
 Remove all tracks from the tau. More...
 
const TrackParticleLinks_totherTrackLinks () const
 
void setOtherTrackLinks (const TrackParticleLinks_t &trackParticles)
 
const TrackParticleotherTrack (size_t i) const
 Get the pointer to a given track associated with this tau. More...
 
size_t nOtherTracks () const
 Get the number of track particles associated with this tau. More...
 
void addOtherTrackLink (const ElementLink< TrackParticleContainer > &tr)
 add a track to the tau More...
 
void clearOtherTrackLinks ()
 Remove all tracks from the tau. More...
 
const PFOLinks_thadronicPFOLinks () const
 
void setHadronicPFOLinks (const PFOLinks_t &hadronicPFOs)
 
const PFOhadronicPFO (size_t i) const
 Get the pointer to a given hadronic PFO associated with this tau. More...
 
size_t nHadronicPFOs () const
 Get the number of hadronic PFO particles associated with this tau. More...
 
void addHadronicPFOLink (const ElementLink< PFOContainer > &pfo)
 add a hadronic PFO to the tau More...
 
void clearHadronicPFOLinks ()
 Remove all hadronic PFOs from the tau. More...
 
const PFOLinks_tshotPFOLinks () const
 
void setShotPFOLinks (const PFOLinks_t &shotPFOs)
 
const PFOshotPFO (size_t i) const
 Get the pointer to a given shot PFO associated with this tau. More...
 
size_t nShotPFOs () const
 Get the number of shot PFO particles associated with this tau. More...
 
void addShotPFOLink (const ElementLink< PFOContainer > &pfo)
 add a shot PFO to the tau More...
 
void clearShotPFOLinks ()
 Remove all shot PFOs from the tau. More...
 
const PFOLinks_tchargedPFOLinks () const
 default pfos More...
 
void setChargedPFOLinks (const PFOLinks_t &chargedPFOs)
 
const PFOchargedPFO (size_t i) const
 Get the pointer to a given charged PFO associated with this tau. More...
 
size_t nChargedPFOs () const
 Get the number of charged PFO particles associated with this tau. More...
 
void addChargedPFOLink (const ElementLink< PFOContainer > &pfo)
 add a charged PFO to the tau More...
 
void clearChargedPFOLinks ()
 Remove all charged PFOs from the tau. More...
 
const PFOLinks_tneutralPFOLinks () const
 
void setNeutralPFOLinks (const PFOLinks_t &neutralPFOs)
 
const PFOneutralPFO (size_t i) const
 Get the pointer to a given neutral PFO associated with this tau. More...
 
size_t nNeutralPFOs () const
 Get the number of neutral PFO particles associated with this tau. More...
 
void addNeutralPFOLink (const ElementLink< PFOContainer > &pfo)
 add a neutral PFO to the tau More...
 
void clearNeutralPFOLinks ()
 Remove all neutral PFOs from the tau. More...
 
const PFOLinks_tpi0PFOLinks () const
 
void setPi0PFOLinks (const PFOLinks_t &pi0PFOs)
 
const PFOpi0PFO (size_t i) const
 Get the pointer to a given pi0 PFO associated with this tau. More...
 
size_t nPi0PFOs () const
 Get the number of pi0 PFO particles associated with this tau. More...
 
void addPi0PFOLink (const ElementLink< PFOContainer > &pfo)
 add a pi0 PFO to the tau More...
 
void clearPi0PFOLinks ()
 Remove all pi0 PFOs from the tau. More...
 
const PFOLinks_tprotoChargedPFOLinks () const
 cellbased pfos More...
 
void setProtoChargedPFOLinks (const PFOLinks_t &protoChargedPFOs)
 
const PFOprotoChargedPFO (size_t i) const
 Get the pointer to a given cellbased_charged PFO associated with this tau. More...
 
size_t nProtoChargedPFOs () const
 Get the number of cellbased_charged PFO particles associated with this tau. More...
 
void addProtoChargedPFOLink (const ElementLink< PFOContainer > &pfo)
 add a cellbased_charged PFO to the tau More...
 
void clearProtoChargedPFOLinks ()
 Remove all cellbased_charged PFOs from the tau. More...
 
const PFOLinks_tprotoNeutralPFOLinks () const
 
void setProtoNeutralPFOLinks (const PFOLinks_t &protoNeutralPFOs)
 
const PFOprotoNeutralPFO (size_t i) const
 Get the pointer to a given cellbased_neutral PFO associated with this tau. More...
 
size_t nProtoNeutralPFOs () const
 Get the number of cellbased_neutral PFO particles associated with this tau. More...
 
void addProtoNeutralPFOLink (const ElementLink< PFOContainer > &pfo)
 add a cellbased_neutral PFO to the tau More...
 
void clearProtoNeutralPFOLinks ()
 Remove all cellbased_neutral PFOs from the tau. More...
 
const PFOLinks_tprotoPi0PFOLinks () const
 
void setProtoPi0PFOLinks (const PFOLinks_t &protoPi0PFOs)
 
const PFOprotoPi0PFO (size_t i) const
 Get the pointer to a given cellbased_pi0 PFO associated with this tau. More...
 
size_t nProtoPi0PFOs () const
 Get the number of cellbased_pi0 PFO particles associated with this tau. More...
 
void addProtoPi0PFOLink (const ElementLink< PFOContainer > &pfo)
 add a cellbased_pi0 PFO to the tau More...
 
void clearProtoPi0PFOLinks ()
 Remove all cellbased_pi0 PFOs from the tau. More...
 
void dump () const
 
template<class T , class ALLOC = AuxAllocator_t<T>>
Accessor< T, ALLOC >::reference_type auxdata (const std::string &name)
 Fetch an aux data variable, as a non-const reference. More...
 
template<class T , class ALLOC = AuxAllocator_t<T>>
Accessor< T, ALLOC >::const_reference_type auxdata (const std::string &name) const
 Fetch an aux data variable, as a const reference. More...
 
template<class T , class ALLOC = AuxAllocator_t<T>>
bool isAvailableWritable (const std::string &name, const std::string &clsname="")
 Check if an aux variable is available for writing. More...
 
const SG::AuxVectorDatacontainer () const
 Return the container holding this element. More...
 
SG::AuxVectorDatacontainer ()
 Return the container holding this element. More...
 
template<class T , class ALLOC = AuxAllocator_t<T>>
Accessor< T, ALLOC >::const_reference_type auxdataConst (const std::string &name) const
 Fetch an aux data variable, as a const reference. More...
 
template<class T , class ALLOC = AuxAllocator_t<T>>
Accessor< T, ALLOC >::const_reference_type auxdataConst (const std::string &name, const std::string &clsname) const
 Fetch an aux data variable, as a const reference. More...
 
template<class T , class ALLOC = AuxAllocator_t<T>>
bool isAvailableWritableAsDecoration (const std::string &name, const std::string &clsname="") const
 Check if an aux variable is available for writing as a decoration. More...
 
template<class T , class ALLOC = AuxAllocator_t<T>>
Decorator< T, ALLOC >::reference_type auxdecor (const std::string &name) const
 Fetch an aux decoration, as a non-const reference. More...
 
template<class T , class ALLOC = AuxAllocator_t<T>>
Decorator< T, ALLOC >::reference_type auxdecor (const std::string &name, const std::string &clsname) const
 Fetch an aux decoration, as a non-const reference. More...
 
void makePrivateStore ()
 Create a new (empty) private store for this object. More...
 
template<class U1 >
void makePrivateStore (const U1 &other)
 Create a new private store for this object and copy aux data. More...
 
template<class U1 >
void makePrivateStore (const U1 *other)
 Create a new private store for this object and copy aux data. More...
 
void releasePrivateStore ()
 Release and free any private store associated with this object. More...
 
void setStore (const SG::IConstAuxStore *store)
 Set the store associated with this object. More...
 
void setStore (SG::IAuxStore *store)
 Set the store associated with this object. More...
 
void setStore (const DataLink< SG::IConstAuxStore > &store)
 Set the store associated with this object. More...
 
void setConstStore (const SG::IConstAuxStore *store)
 Synonym for setStore with IConstAuxStore. More...
 
void setNonConstStore (SG::IAuxStore *store)
 Synonym for setStore with IAuxStore. More...
 
bool usingPrivateStore () const
 Test to see if this object is currently using a private store. More...
 
bool usingStandaloneStore () const
 Test to see if this object is currently using a standalone store. More...
 
const SG::IConstAuxStoregetConstStore () const
 Return the current store, as a const interface. More...
 
SG::IAuxStoregetStore () const
 Return the current store, as a non-const interface. More...
 
void clearCache ()
 Clear the cached aux data pointers. More...
 
const SG::auxid_set_tgetAuxIDs () const
 Return a set of identifiers for existing data items for this object. More...
 
bool hasStore () const
 Return true if this object has an associated store. More...
 
bool hasNonConstStore () const
 Return true if this object has an associated non-const store. More...
 
bool clearDecorations () const
 Clear all decorations. More...
 
bool trackIndices () const
 Return true if index tracking is enabled for this object. More...
 
size_t index () const
 Return the index of this element within its container. More...
 
size_t index () const
 Return the index of this element within its container. More...
 

Static Public Attributes

static constexpr bool supportsThinning = true
 Mark that this type supports thinning operations. More...
 

Protected Member Functions

bool noPrivateData () const
 True if this element has no private data. More...
 
bool havePrivateData () const
 True if this element currently has private data. More...
 
bool hadPrivateData () const
 True if this element had private data before it was added to its current container. More...
 

Private Types

enum  PrivateStoreState : uint8_t { PrivateStoreState::NO_PRIVATE = 0, PrivateStoreState::HAVE_PRIVATE = 1, PrivateStoreState::HAD_PRIVATE = 2 }
 The current private data state. More...
 

Private Member Functions

void releasePrivateStoreForDtor ()
 Out-of-line portion of destructor. More...
 
void setIndex (size_t index, SG::AuxVectorData *container)
 Set the index/container for this element. More...
 
bool setIndexPrivate (size_t index, SG::AuxVectorData *container)
 Set the index/container for this element. More...
 
void makePrivateStore1 (const void *)
 Create a new private store for this object and copy aux data. More...
 
void makePrivateStore1 (const AuxElement *other)
 Create a new private store for this object and copy aux data. More...
 
AuxElementStandaloneData * setStore1 (const SG::IConstAuxStore *store)
 Set the store associated with this object. More...
 
void clearAux ()
 Clear all aux data associated with this element. More...
 
void copyAux (const ConstAuxElement &other)
 Copy aux data from another object. More...
 
void setNoPrivateData ()
 Record that this element does not have private data. More...
 
void setHavePrivateData ()
 Record that this element currently has private data. More...
 
void setHadPrivateData ()
 Record that this element used to have private data. More...
 

Private Attributes

const SG::AuxVectorDatam_container
 The container of which this object is an element. More...
 
size_t m_index
 The index of this element within its container. More...
 
PrivateStoreState m_privateStoreState
 

xAOD::IParticle functions

typedef ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > GenVecFourMom_t
 Base 4 Momentum type for taus. More...
 
virtual double pt () const
 The transverse momentum ( \(p_T\)) of the particle. More...
 
virtual double eta () const
 The pseudorapidity ( \(\eta\)) of the particle. More...
 
virtual double phi () const
 The azimuthal angle ( \(\phi\)) of the particle. More...
 
virtual double e () const
 The total energy of the particle. More...
 
virtual double m () const
 The invariant mass of the particle. More...
 
virtual double rapidity () const
 The true rapidity (y) of the particle. More...
 
virtual FourMom_t p4 () const
 The full 4-momentum of the particle. More...
 
virtual FourMom_t p4 (const TauJetParameters::TauCalibType calib) const
 
GenVecFourMom_t genvecP4 () const
 The full 4-momentum of the particle : internal taus type. More...
 
GenVecFourMom_t genvecP4 (const TauJetParameters::TauCalibType calib) const
 
void setP4 (double pt, double eta, double phi, double m)
 Set methods for IParticle values. More...
 
bool setP4 (const TauJetParameters::TauCalibType calib, double pt, double eta, double phi, double m)
 
double ptJetSeed () const
 
double etaJetSeed () const
 
double phiJetSeed () const
 
double mJetSeed () const
 
double ptDetectorAxis () const
 
double etaDetectorAxis () const
 
double phiDetectorAxis () const
 
double mDetectorAxis () const
 
double ptIntermediateAxis () const
 
double etaIntermediateAxis () const
 
double phiIntermediateAxis () const
 
double mIntermediateAxis () const
 
double ptTauEnergyScale () const
 
double etaTauEnergyScale () const
 
double phiTauEnergyScale () const
 
double mTauEnergyScale () const
 
double ptTauEtaCalib () const
 
double etaTauEtaCalib () const
 
double phiTauEtaCalib () const
 
double mTauEtaCalib () const
 
double ptPanTauCellBasedProto () const
 
double etaPanTauCellBasedProto () const
 
double phiPanTauCellBasedProto () const
 
double mPanTauCellBasedProto () const
 
double ptPanTauCellBased () const
 
double etaPanTauCellBased () const
 
double phiPanTauCellBased () const
 
double mPanTauCellBased () const
 
double ptTrigCaloOnly () const
 
double etaTrigCaloOnly () const
 
double phiTrigCaloOnly () const
 
double mTrigCaloOnly () const
 
virtual Type::ObjectType type () const
 The type of the object as a simple enumeration. More...
 

Detailed Description

Class describing a tau jet.

More details of how xAOD::TauJet is supposed to work...

Author
Michel Janus janus.nosp@m.@cer.nosp@m.n.ch

Definition at line 38 of file TauJet_v2.h.

Member Typedef Documentation

◆ Accessor

template<class T , class ALLOC = AuxAllocator_t<T>>
using SG::AuxElement::Accessor = SG::Accessor<T, ALLOC>
inherited

Definition at line 522 of file AuxElement.h.

◆ ConstAccessor

template<class T , class ALLOC = AuxAllocator_t<T>>
using SG::AuxElement::ConstAccessor = SG::ConstAccessor<T, ALLOC>
inherited

Definition at line 519 of file AuxElement.h.

◆ Decorator

template<class T , class ALLOC = AuxAllocator_t<T>>
using SG::AuxElement::Decorator = SG::Decorator<T, ALLOC>
inherited

Definition at line 525 of file AuxElement.h.

◆ FourMom_t

typedef TLorentzVector xAOD::IParticle::FourMom_t
inherited

Definition of the 4-momentum type.

Definition at line 68 of file Event/xAOD/xAODBase/xAODBase/IParticle.h.

◆ GenVecFourMom_t

typedef ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> > xAOD::TauJet_v2::GenVecFourMom_t

Base 4 Momentum type for taus.

Definition at line 66 of file TauJet_v2.h.

◆ JetLink_t

Definition at line 207 of file TauJet_v2.h.

◆ PFOLinks_t

Definition at line 317 of file TauJet_v2.h.

◆ TrackParticleLinks_t

Definition at line 242 of file TauJet_v2.h.

◆ TypelessConstAccessor

using SG::AuxElement::TypelessConstAccessor = ConstAuxElement::TypelessConstAccessor
inherited

Definition at line 516 of file AuxElement.h.

◆ VertexLink_t

Definition at line 219 of file TauJet_v2.h.

Member Enumeration Documentation

◆ PrivateStoreState

enum SG::IAuxElement::PrivateStoreState : uint8_t
strongprivateinherited

The current private data state.

Enumerator
NO_PRIVATE 
HAVE_PRIVATE 
HAD_PRIVATE 

Definition at line 131 of file IAuxElement.h.

132  {
133  NO_PRIVATE = 0,
134  HAVE_PRIVATE = 1,
135  HAD_PRIVATE = 2,
136  };

Constructor & Destructor Documentation

◆ TauJet_v2()

xAOD::TauJet_v2::TauJet_v2 ( )

Default constructor.

Definition at line 24 of file TauJet_v2.cxx.

25  : IParticle() {
26  }

Member Function Documentation

◆ addChargedPFOLink()

void xAOD::TauJet_v2::addChargedPFOLink ( const ElementLink< PFOContainer > &  pfo)

add a charged PFO to the tau

Definition at line 711 of file TauJet_v2.cxx.

711  {
712 
713  chargedPFOAcc( *this ).push_back( pfo );
714  return;
715  }

◆ addHadronicPFOLink()

void xAOD::TauJet_v2::addHadronicPFOLink ( const ElementLink< PFOContainer > &  pfo)

add a hadronic PFO to the tau

Definition at line 652 of file TauJet_v2.cxx.

652  {
653 
654  hadronicPFOAcc( *this ).push_back( pfo );
655  return;
656  }

◆ addNeutralPFOLink()

void xAOD::TauJet_v2::addNeutralPFOLink ( const ElementLink< PFOContainer > &  pfo)

add a neutral PFO to the tau

Definition at line 742 of file TauJet_v2.cxx.

742  {
743 
744  neutralPFOAcc( *this ).push_back( pfo );
745  return;
746  }

◆ addOtherTrackLink()

void xAOD::TauJet_v2::addOtherTrackLink ( const ElementLink< TrackParticleContainer > &  tr)

add a track to the tau

Definition at line 558 of file TauJet_v2.cxx.

558  {
559 
560  otherTrackAcc( *this ).push_back( tr );
561  return;
562  }

◆ addPi0PFOLink()

void xAOD::TauJet_v2::addPi0PFOLink ( const ElementLink< PFOContainer > &  pfo)

add a pi0 PFO to the tau

Definition at line 773 of file TauJet_v2.cxx.

773  {
774 
775  pi0PFOAcc( *this ).push_back( pfo );
776  return;
777  }

◆ addProtoChargedPFOLink()

void xAOD::TauJet_v2::addProtoChargedPFOLink ( const ElementLink< PFOContainer > &  pfo)

add a cellbased_charged PFO to the tau

Definition at line 807 of file TauJet_v2.cxx.

807  {
808 
809  protoChargedPFOAcc( *this ).push_back( pfo );
810  return;
811  }

◆ addProtoNeutralPFOLink()

void xAOD::TauJet_v2::addProtoNeutralPFOLink ( const ElementLink< PFOContainer > &  pfo)

add a cellbased_neutral PFO to the tau

Definition at line 837 of file TauJet_v2.cxx.

837  {
838 
839  protoNeutralPFOAcc( *this ).push_back( pfo );
840  return;
841  }

◆ addProtoPi0PFOLink()

void xAOD::TauJet_v2::addProtoPi0PFOLink ( const ElementLink< PFOContainer > &  pfo)

add a cellbased_pi0 PFO to the tau

Definition at line 868 of file TauJet_v2.cxx.

868  {
869 
870  protoPi0PFOAcc( *this ).push_back( pfo );
871  return;
872  }

◆ addShotPFOLink()

void xAOD::TauJet_v2::addShotPFOLink ( const ElementLink< PFOContainer > &  pfo)

add a shot PFO to the tau

Definition at line 681 of file TauJet_v2.cxx.

681  {
682 
683  shotPFOAcc( *this ).push_back( pfo );
684  return;
685  }

◆ addTrackLink()

void xAOD::TauJet_v2::addTrackLink ( const ElementLink< TrackParticleContainer > &  tr)

add a track to the tau

Definition at line 397 of file TauJet_v2.cxx.

397  {
398 
399  trackAcc( *this ).push_back( tr );
400  return;
401  }

◆ addWideTrackLink()

void xAOD::TauJet_v2::addWideTrackLink ( const ElementLink< TrackParticleContainer > &  tr)

add a track to the tau

Definition at line 531 of file TauJet_v2.cxx.

531  {
532 
533  wideTrackAcc( *this ).push_back( tr );
534  return;
535  }

◆ auxdata() [1/4]

template<class T , class ALLOC = AuxAllocator_t<T>>
Accessor<T, ALLOC>::reference_type SG::AuxElement::auxdata ( const std::string &  name)
inherited

Fetch an aux data variable, as a non-const reference.

Parameters
nameName of the aux variable.

This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the Accessor class.

◆ auxdata() [2/4]

template<class T , class ALLOC = AuxAllocator_t<T>>
Accessor<T, ALLOC>::const_reference_type SG::AuxElement::auxdata ( const std::string &  name) const
inherited

Fetch an aux data variable, as a const reference.

Parameters
nameName of the aux variable.

This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the Accessor or ConstAccessor classes.

◆ auxdata() [3/4]

template<class T >
T& xAOD::IParticle::auxdata ( const std::string &  name,
const std::string &  clsname = "" 
)
inlineinherited

Fetch an aux data variable, as a non-const reference.

This function provides an easy way for users to decorate objects with auxiliary data.

Take note that this function is slow. Should not be used inside time-critical code.

Parameters
nameName of the aux variable
clsnameThe name of the associated class. May be blank
Returns
A modifyable reference to the decoration

Definition at line 96 of file Event/xAOD/xAODBase/xAODBase/IParticle.h.

97  {
98 
99  return SG::AuxElement::auxdata< T >( name, clsname );
100  }

◆ auxdata() [4/4]

template<class T >
const T& xAOD::IParticle::auxdata ( const std::string &  name,
const std::string &  clsname = "" 
) const
inlineinherited

Fetch an aux data variable, as a const reference.

This function provides an easy way for users to retrieve auxiliary decorations from an object.

Take note that this function is slow. Should not be used inside time-critical code.

Parameters
nameName of the aux variable
clsnameThe name of the associated class. May be blank
Returns
A constant reference to the decoration

Definition at line 115 of file Event/xAOD/xAODBase/xAODBase/IParticle.h.

116  {
117 
118  return SG::AuxElement::auxdata< T >( name, clsname );
119  }

◆ auxdataConst() [1/2]

template<class T , class ALLOC = AuxAllocator_t<T>>
Accessor<T, ALLOC>::const_reference_type SG::AuxElement::auxdataConst ( const std::string &  name) const
inherited

Fetch an aux data variable, as a const reference.

Parameters
nameName of the aux variable.

This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the ConstAccessor class.

◆ auxdataConst() [2/2]

template<class T , class ALLOC = AuxAllocator_t<T>>
Accessor<T, ALLOC>::const_reference_type SG::AuxElement::auxdataConst ( const std::string &  name,
const std::string &  clsname 
) const
inherited

Fetch an aux data variable, as a const reference.

Parameters
nameName of the aux variable.
clsnameThe name of the associated class. May be blank.

This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the ConstAccessor class.

◆ auxdecor() [1/2]

template<class T , class ALLOC = AuxAllocator_t<T>>
Decorator<T, ALLOC>::reference_type SG::AuxElement::auxdecor ( const std::string &  name) const
inherited

Fetch an aux decoration, as a non-const reference.

Parameters
nameName of the aux variable.

This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the Accessor class.

If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.

◆ auxdecor() [2/2]

template<class T , class ALLOC = AuxAllocator_t<T>>
Decorator<T, ALLOC>::reference_type SG::AuxElement::auxdecor ( const std::string &  name,
const std::string &  clsname 
) const
inherited

Fetch an aux decoration, as a non-const reference.

Parameters
nameName of the aux variable.
clsnameThe name of the associated class. May be blank.

This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the Accessor class.

If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.

◆ charge()

float xAOD::TauJet_v2::charge ( ) const

◆ chargedPFO()

const PFO* xAOD::TauJet_v2::chargedPFO ( size_t  i) const

Get the pointer to a given charged PFO associated with this tau.

◆ chargedPFOLinks()

const PFOLinks_t& xAOD::TauJet_v2::chargedPFOLinks ( ) const

default pfos

◆ clearAux()

void SG::AuxElement::clearAux ( )
privateinherited

Clear all aux data associated with this element.

If this object has no associated store, this does nothing. If the associated aux data is const, this throws ExcConstAuxData.

Definition at line 535 of file AuxElement.cxx.

536 {
537  if (!m_container) return;
538  if (!m_container->hasStore()) return;
540  throw SG::ExcConstAuxData ("clearAux", SG::null_auxid);
541 
543  for (SG::auxid_t auxid : m_container->getWritableAuxIDs()) {
544  r.clear (auxid, *container(), index(), 1);
545  }
546 }

◆ clearCache()

void SG::AuxElement::clearCache ( )
inherited

Clear the cached aux data pointers.

You should call this any time something changes in the aux store that could invalidate the vector pointers.

Definition at line 319 of file AuxElement.cxx.

320 {
321  if (container())
322  container()->clearCache();
323 }

◆ clearChargedPFOLinks()

void xAOD::TauJet_v2::clearChargedPFOLinks ( )

Remove all charged PFOs from the tau.

Definition at line 717 of file TauJet_v2.cxx.

717  {
718  chargedPFOAcc( *this ).clear();
719  return;
720  }

◆ clearDecorations()

bool SG::AuxElement::clearDecorations ( ) const
inherited

Clear all decorations.

Erase all decorations from an associated store, restoring the state to when lock was called.

Returns true if there were any decorations that were cleared, false if the store did not contain any decorations.

Definition at line 385 of file AuxElement.cxx.

386 {
387  if (havePrivateData())
388  return m_container->clearDecorations();
389  return false;
390 }

◆ clearHadronicPFOLinks()

void xAOD::TauJet_v2::clearHadronicPFOLinks ( )

Remove all hadronic PFOs from the tau.

Definition at line 658 of file TauJet_v2.cxx.

658  {
659  hadronicPFOAcc( *this ).clear();
660  return;
661  }

◆ clearNeutralPFOLinks()

void xAOD::TauJet_v2::clearNeutralPFOLinks ( )

Remove all neutral PFOs from the tau.

Definition at line 748 of file TauJet_v2.cxx.

748  {
749  neutralPFOAcc( *this ).clear();
750  return;
751  }

◆ clearOtherTrackLinks()

void xAOD::TauJet_v2::clearOtherTrackLinks ( )

Remove all tracks from the tau.

Definition at line 564 of file TauJet_v2.cxx.

564  {
565  otherTrackAcc( *this ).clear();
566  return;
567  }

◆ clearPi0PFOLinks()

void xAOD::TauJet_v2::clearPi0PFOLinks ( )

Remove all pi0 PFOs from the tau.

Definition at line 779 of file TauJet_v2.cxx.

779  {
780  pi0PFOAcc( *this ).clear();
781  return;
782  }

◆ clearProtoChargedPFOLinks()

void xAOD::TauJet_v2::clearProtoChargedPFOLinks ( )

Remove all cellbased_charged PFOs from the tau.

Definition at line 813 of file TauJet_v2.cxx.

813  {
814  protoChargedPFOAcc( *this ).clear();
815  return;
816  }

◆ clearProtoNeutralPFOLinks()

void xAOD::TauJet_v2::clearProtoNeutralPFOLinks ( )

Remove all cellbased_neutral PFOs from the tau.

Definition at line 843 of file TauJet_v2.cxx.

843  {
844  protoNeutralPFOAcc( *this ).clear();
845  return;
846  }

◆ clearProtoPi0PFOLinks()

void xAOD::TauJet_v2::clearProtoPi0PFOLinks ( )

Remove all cellbased_pi0 PFOs from the tau.

Definition at line 874 of file TauJet_v2.cxx.

874  {
875  protoPi0PFOAcc( *this ).clear();
876  return;
877  }

◆ clearShotPFOLinks()

void xAOD::TauJet_v2::clearShotPFOLinks ( )

Remove all shot PFOs from the tau.

Definition at line 687 of file TauJet_v2.cxx.

687  {
688  shotPFOAcc( *this ).clear();
689  return;
690  }

◆ clearTrackLinks()

void xAOD::TauJet_v2::clearTrackLinks ( )

Remove all tracks from the tau.

Definition at line 403 of file TauJet_v2.cxx.

403  {
404  trackAcc( *this ).clear();
405  return;
406  }

◆ clearWideTrackLinks()

void xAOD::TauJet_v2::clearWideTrackLinks ( )

Remove all tracks from the tau.

Definition at line 537 of file TauJet_v2.cxx.

537  {
538  wideTrackAcc( *this ).clear();
539  return;
540  }

◆ container() [1/2]

SG::AuxVectorData* SG::AuxElement::container ( )
inherited

Return the container holding this element.

◆ container() [2/2]

const SG::AuxVectorData* SG::AuxElement::container ( ) const
inherited

Return the container holding this element.

◆ copyAux()

void SG::AuxElement::copyAux ( const ConstAuxElement other)
privateinherited

Copy aux data from another object.

Parameters
otherThe object from which to copy.

If this object has no associated store, this does nothing. If the associated aux data is const, this throws ExcConstAuxData.

All aux data items from other are copied to this object. Any aux data items associated with this object that are not present in other are cleared. (If other has no aux data, then all aux data items for this object are cleared.)

Definition at line 561 of file AuxElement.cxx.

562 {
563  if (!m_container) return;
564  if (!m_container->hasStore()) return;
566  throw SG::ExcConstAuxData ("copyAux");
567 
568  const SG::AuxVectorData* ocont = other.container();
569 
570  if (!ocont || !ocont->hasStore()) {
571  this->clearAux();
572  return;
573  }
574 
575  size_t oindex = other.index();
576  SG::auxid_set_t other_ids = ocont->getAuxIDs();
577 
579 
580  SG::AuxVectorData& cont = *container();
581  for (SG::auxid_t auxid : other_ids) {
582  r.copy (auxid, cont, index(), *ocont, oindex, 1);
583  }
584 
585  for (SG::auxid_t auxid : m_container->getWritableAuxIDs()) {
586  if (!other_ids.test (auxid)) {
587  r.clear (auxid, cont, index(), 1);
588  }
589  }
590 }

◆ detail() [1/3]

template<class T >
xAODTAU_return_type<T>::type xAOD::TauJet_v2::detail ( TauJetParameters::Detail  detail) const
inline

Definition at line 184 of file TauJet_v2.h.

185  {
186  T temp;
187  if (this->detail(detail,temp)) return temp;
188  else return 0;
189  }

◆ detail() [2/3]

bool xAOD::TauJet_v2::detail ( TauJetParameters::Detail  detail,
float value 
) const

Definition at line 312 of file TauJet_v2.cxx.

312  {
313  // Get the detail accessor:
314  const Accessor< float >* acc = xAODTau::detailsAccessorV2<float>( detail );
315  if( ! acc ) return false;
316  if( ! acc->isAvailable( *this ) ) return false;
317 
318  // Retrieve the detail value:
319  value = ( *acc )( *this );
320  return true;
321  }

◆ detail() [3/3]

bool xAOD::TauJet_v2::detail ( TauJetParameters::Detail  detail,
int value 
) const

Get and set values of common details variables via enum.

Definition at line 298 of file TauJet_v2.cxx.

298  {
299  // Get the detail accessor:
300  const Accessor< int >* acc = xAODTau::detailsAccessorV2<int>( detail );
301  if( ! acc ) return false;
302  if( ! acc->isAvailable( *this ) ) return false;
303 
304  // Retrieve the detail value:
305  value = ( *acc )( *this );
306  return true;
307  }

◆ discriminant()

double xAOD::TauJet_v2::discriminant ( TauJetParameters::TauID  discID) const

Get value of discriminant.

Parameters
discIDdiscriminant id requested

Definition at line 236 of file TauJet_v2.cxx.

236  {
237  // Get the discriminant accessor:
239  if( ! acc ) return -1111.0;
240 
241  // Retrieve the discriminant value:
242  return ( *acc )( *this );
243  }

◆ dump()

void xAOD::TauJet_v2::dump ( ) const

Definition at line 882 of file TauJet_v2.cxx.

882  {
883  /* keep these two lines to create the template methods. Otherwise they are optimzed away
884  * later: move these two lines into a dummy method, which nobody is calling
885  */
886  std::cout << this->detail<float>(xAOD::TauJetParameters::ipSigLeadTrk) << std::endl;
887  std::cout << this->detail<int>(xAOD::TauJetParameters::numTopoClusters) << std::endl;
888  }

◆ e()

double xAOD::TauJet_v2::e ( ) const
virtual

The total energy of the particle.

Implements xAOD::IParticle.

Definition at line 96 of file TauJet_v2.cxx.

96  {
97  return genvecP4().E();
98  }

◆ eta()

virtual double xAOD::TauJet_v2::eta ( ) const
virtual

The pseudorapidity ( \(\eta\)) of the particle.

Implements xAOD::IParticle.

◆ etaDetectorAxis()

double xAOD::TauJet_v2::etaDetectorAxis ( ) const

◆ etaIntermediateAxis()

double xAOD::TauJet_v2::etaIntermediateAxis ( ) const

◆ etaJetSeed()

double xAOD::TauJet_v2::etaJetSeed ( ) const

◆ etaPanTauCellBased()

double xAOD::TauJet_v2::etaPanTauCellBased ( ) const

◆ etaPanTauCellBasedProto()

double xAOD::TauJet_v2::etaPanTauCellBasedProto ( ) const

◆ etaTauEnergyScale()

double xAOD::TauJet_v2::etaTauEnergyScale ( ) const

◆ etaTauEtaCalib()

double xAOD::TauJet_v2::etaTauEtaCalib ( ) const

◆ etaTrigCaloOnly()

double xAOD::TauJet_v2::etaTrigCaloOnly ( ) const

◆ flag()

bool xAOD::TauJet_v2::flag ( TauJetParameters::VetoFlags  flag) const

Get veto flag.

Parameters
flagflag to check

Definition at line 285 of file TauJet_v2.cxx.

287  {
288  static const Accessor< uint32_t > acc( "vetoFlags" );
289  std::bitset<32> vetoFlags( acc( *this ) );
290  return vetoFlags[flag];
291  }

◆ genvecP4() [1/2]

TauJet_v2::GenVecFourMom_t xAOD::TauJet_v2::genvecP4 ( ) const

The full 4-momentum of the particle : internal taus type.

Definition at line 111 of file TauJet_v2.cxx.

111  {
112  return GenVecFourMom_t(pt(), eta(), phi(), m());
113  }

◆ genvecP4() [2/2]

TauJet_v2::GenVecFourMom_t xAOD::TauJet_v2::genvecP4 ( const TauJetParameters::TauCalibType  calib) const

Definition at line 155 of file TauJet_v2.cxx.

155  {
156  switch(calib) {
167  // case TauJetParameters::PanTauEFlowRecProto:
168  // return GenVecFourMom_t( ptPanTauEFlowRecProto(), etaPanTauEFlowRecProto(), phiPanTauEFlowRecProto(), mPanTauEFlowRecProto());
169  // case TauJetParameters::PanTauEFlowRec:
170  // return GenVecFourMom_t( ptPanTauEFlowRec(), etaPanTauEFlowRec(), phiPanTauEFlowRec(), mPanTauEFlowRec());
177  default:
178  return GenVecFourMom_t( pt(), eta(), phi(), m());
179  }
180  }

◆ getAuxIDs()

const SG::auxid_set_t & SG::AuxElement::getAuxIDs ( ) const
inherited

Return a set of identifiers for existing data items for this object.

If this object has a private or standalone store, then information from that will be returned. Otherwise, if this element is part of a container, then information for the container will be returned. Otherwise, return an empty set.

Definition at line 335 of file AuxElement.cxx.

336 {
337 #ifdef ATHCONTAINERS_R21_COMPAT
338  if (havePrivateData())
339  return m_container->getConstStore()->getAuxIDs();
340  if (container())
341  return container()->getAuxIDs();
342  static const SG::auxid_set_t null_set;
343  return null_set;
344 #else
346 #endif
347 }

◆ getConstStore()

const SG::IConstAuxStore * SG::AuxElement::getConstStore ( ) const
inherited

Return the current store, as a const interface.

This will be non-zero if either a const or non-const store is associated with this object. This will fetch either a private or standalone store.

Definition at line 284 of file AuxElement.cxx.

285 {
286  if (havePrivateData()) {
287  return m_container->getConstStore();
288  }
289  return 0;
290 }

◆ getStore()

SG::IAuxStore * SG::AuxElement::getStore ( ) const
inherited

Return the current store, as a non-const interface.

This will be non-zero if a non-const store is associated with this object. This will fetch either a private or standalone store.

Definition at line 299 of file AuxElement.cxx.

300 {
301  if (havePrivateData()) {
302 #ifdef ATHCONTAINERS_R21_COMPAT
304 #else
305  SG::AuxVectorData* container_nc ATLAS_THREAD_SAFE = const_cast<SG::AuxVectorData*>(container());
306 #endif
307  return container_nc->getStore();
308  }
309  return 0;
310 }

◆ hadPrivateData()

bool SG::IAuxElement::hadPrivateData ( ) const
protectedinherited

True if this element had private data before it was added to its current container.

◆ hadronicPFO()

const PFO* xAOD::TauJet_v2::hadronicPFO ( size_t  i) const

Get the pointer to a given hadronic PFO associated with this tau.

◆ hadronicPFOLinks()

const PFOLinks_t& xAOD::TauJet_v2::hadronicPFOLinks ( ) const

◆ hasDiscriminant()

bool xAOD::TauJet_v2::hasDiscriminant ( TauJetParameters::TauID  discID) const

Check if class contains requested discriminant.

Parameters
discIDdiscriminant id requested

Definition at line 225 of file TauJet_v2.cxx.

226  {
227  // Get the discriminant accessor:
229  return acc != nullptr;
230  }

◆ hasNonConstStore()

bool SG::AuxElement::hasNonConstStore ( ) const
inherited

Return true if this object has an associated non-const store.

This will be true for either a private or standalone store.

Definition at line 368 of file AuxElement.cxx.

369 {
370  if (havePrivateData())
371  return m_container->hasNonConstStore();
372  return false;
373 }

◆ hasStore()

bool SG::AuxElement::hasStore ( ) const
inherited

Return true if this object has an associated store.

This will be true for either a private or standalone store.

Definition at line 355 of file AuxElement.cxx.

356 {
357  if (havePrivateData())
358  return m_container->hasStore();
359  return false;
360 }

◆ havePrivateData()

bool SG::IAuxElement::havePrivateData ( ) const
protectedinherited

True if this element currently has private data.

◆ index() [1/2]

size_t SG::IAuxElement::index ( ) const
inherited

Return the index of this element within its container.

◆ index() [2/2]

size_t SG::IAuxElement::index
inherited

Return the index of this element within its container.

Inherited from IAuxElement.

◆ isAvailable()

template<class T >
bool xAOD::IParticle::isAvailable ( const std::string &  name,
const std::string &  clsname = "" 
) const
inlineinherited

Check if a user property is available for reading or not.

This function should be used to check if a user property which may or may not exist, is set on the object.

Parameters
nameName of the auxiliary variable
clsnameThe name of the associated class. May be blank
Returns
Whether the decoration exists or not

Definition at line 131 of file Event/xAOD/xAODBase/xAODBase/IParticle.h.

132  {
133 
134  return SG::AuxElement::isAvailable< T >( name, clsname );
135  }

◆ isAvailableWritable() [1/2]

template<class T , class ALLOC = AuxAllocator_t<T>>
bool SG::AuxElement::isAvailableWritable ( const std::string &  name,
const std::string &  clsname = "" 
)
inherited

Check if an aux variable is available for writing.

Parameters
nameName of the aux variable.
clsnameThe name of the associated class. May be blank.

This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the Accessor class.

◆ isAvailableWritable() [2/2]

template<class T >
bool xAOD::IParticle::isAvailableWritable ( const std::string &  name,
const std::string &  clsname = "" 
) const
inlineinherited

Check if a user property is available for writing or not.

This function can be used to check whether it will be possible to set a user property on the object.

Parameters
nameName of the auxiliary variable
clsnameThe name of the associated class. May be blank
Returns
Whether the decoration is possible to set

Definition at line 147 of file Event/xAOD/xAODBase/xAODBase/IParticle.h.

148  {
149 
150  return SG::AuxElement::isAvailableWritable< T >( name, clsname );
151  }

◆ isAvailableWritableAsDecoration()

template<class T , class ALLOC = AuxAllocator_t<T>>
bool SG::AuxElement::isAvailableWritableAsDecoration ( const std::string &  name,
const std::string &  clsname = "" 
) const
inherited

Check if an aux variable is available for writing as a decoration.

Parameters
nameName of the aux variable.
clsnameThe name of the associated class. May be blank.

This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the Accessor class.

◆ isTau()

bool xAOD::TauJet_v2::isTau ( TauJetParameters::IsTauFlag  flag) const

Get Flag for tau acceptance based on predefined arbitrary criteria.

Parameters
flagflag to check

Definition at line 256 of file TauJet_v2.cxx.

258  {
259  static const Accessor< uint32_t > acc( "isTauFlags" );
260  std::bitset<32> isTauFlags( acc( *this ) );
261  return isTauFlags[flag];
262  }

◆ jet()

const Jet* xAOD::TauJet_v2::jet ( ) const

◆ jetLink()

const JetLink_t& xAOD::TauJet_v2::jetLink ( ) const

◆ m()

virtual double xAOD::TauJet_v2::m ( ) const
virtual

The invariant mass of the particle.

Implements xAOD::IParticle.

◆ makePrivateStore() [1/3]

void SG::AuxElement::makePrivateStore ( )
inherited

Create a new (empty) private store for this object.

ExcBadPrivateStore will be thrown if this object is already associated with a store.

Definition at line 172 of file AuxElement.cxx.

173 {
174  if (m_container) {
175  throw SG::ExcBadPrivateStore ("store already exists");
176  }
177 
181 }

◆ makePrivateStore() [2/3]

template<class U1 >
void SG::AuxElement::makePrivateStore ( const U1 &  other)
inherited

Create a new private store for this object and copy aux data.

Parameters
otherThe object from which aux data should be copied.

ExcBadPrivateStore will be thrown if this object is already associated with a store.

If other is an object that has aux data, then those data will be copied; otherwise, nothing will be done.

◆ makePrivateStore() [3/3]

template<class U1 >
void SG::AuxElement::makePrivateStore ( const U1 *  other)
inherited

Create a new private store for this object and copy aux data.

Parameters
otherThe object from which aux data should be copied.

ExcBadPrivateStore will be thrown if this object is already associated with a store.

If other is an object that has aux data, then those data will be copied; otherwise, nothing will be done.

◆ makePrivateStore1() [1/2]

void SG::AuxElement::makePrivateStore1 ( const AuxElement other)
privateinherited

Create a new private store for this object and copy aux data.

Parameters
otherThe object from which aux data should be copied.

ExcBadPrivateStore will be thrown if this object is already associated with a store.

This overload handles the case where other does have aux data.

Definition at line 521 of file AuxElement.cxx.

522 {
524  if (other)
525  this->copyAux (*other);
526 }

◆ makePrivateStore1() [2/2]

void SG::AuxElement::makePrivateStore1 ( const void *  )
privateinherited

Create a new private store for this object and copy aux data.

Parameters
otherThe object from which aux data should be copied.

ExcBadPrivateStore will be thrown if this object is already associated with a store.

This overload handles the case where other does not have aux data.

◆ mDetectorAxis()

double xAOD::TauJet_v2::mDetectorAxis ( ) const

◆ mIntermediateAxis()

double xAOD::TauJet_v2::mIntermediateAxis ( ) const

◆ mJetSeed()

double xAOD::TauJet_v2::mJetSeed ( ) const

◆ mPanTauCellBased()

double xAOD::TauJet_v2::mPanTauCellBased ( ) const

◆ mPanTauCellBasedProto()

double xAOD::TauJet_v2::mPanTauCellBasedProto ( ) const

◆ mTauEnergyScale()

double xAOD::TauJet_v2::mTauEnergyScale ( ) const

◆ mTauEtaCalib()

double xAOD::TauJet_v2::mTauEtaCalib ( ) const

◆ mTrigCaloOnly()

double xAOD::TauJet_v2::mTrigCaloOnly ( ) const

◆ nChargedPFOs()

size_t xAOD::TauJet_v2::nChargedPFOs ( ) const

Get the number of charged PFO particles associated with this tau.

Definition at line 707 of file TauJet_v2.cxx.

707  {
708  return chargedPFOAcc( *this ).size();
709  }

◆ neutralPFO()

const PFO* xAOD::TauJet_v2::neutralPFO ( size_t  i) const

Get the pointer to a given neutral PFO associated with this tau.

◆ neutralPFOLinks()

const PFOLinks_t& xAOD::TauJet_v2::neutralPFOLinks ( ) const

◆ nHadronicPFOs()

size_t xAOD::TauJet_v2::nHadronicPFOs ( ) const

Get the number of hadronic PFO particles associated with this tau.

Definition at line 648 of file TauJet_v2.cxx.

648  {
649  return hadronicPFOAcc( *this ).size();
650  }

◆ nNeutralPFOs()

size_t xAOD::TauJet_v2::nNeutralPFOs ( ) const

Get the number of neutral PFO particles associated with this tau.

Definition at line 738 of file TauJet_v2.cxx.

738  {
739  return neutralPFOAcc( *this ).size();
740  }

◆ noPrivateData()

bool SG::IAuxElement::noPrivateData ( ) const
protectedinherited

True if this element has no private data.

◆ nOtherTracks()

size_t xAOD::TauJet_v2::nOtherTracks ( ) const

Get the number of track particles associated with this tau.

Definition at line 554 of file TauJet_v2.cxx.

554  {
555  return otherTrackAcc( *this ).size();
556  }

◆ nPi0PFOs()

size_t xAOD::TauJet_v2::nPi0PFOs ( ) const

Get the number of pi0 PFO particles associated with this tau.

Definition at line 769 of file TauJet_v2.cxx.

769  {
770  return pi0PFOAcc( *this ).size();
771  }

◆ nProtoChargedPFOs()

size_t xAOD::TauJet_v2::nProtoChargedPFOs ( ) const

Get the number of cellbased_charged PFO particles associated with this tau.

Definition at line 803 of file TauJet_v2.cxx.

803  {
804  return protoChargedPFOAcc( *this ).size();
805  }

◆ nProtoNeutralPFOs()

size_t xAOD::TauJet_v2::nProtoNeutralPFOs ( ) const

Get the number of cellbased_neutral PFO particles associated with this tau.

Definition at line 833 of file TauJet_v2.cxx.

833  {
834  return protoNeutralPFOAcc( *this ).size();
835  }

◆ nProtoPi0PFOs()

size_t xAOD::TauJet_v2::nProtoPi0PFOs ( ) const

Get the number of cellbased_pi0 PFO particles associated with this tau.

Definition at line 864 of file TauJet_v2.cxx.

864  {
865  return protoPi0PFOAcc( *this ).size();
866  }

◆ nShotPFOs()

size_t xAOD::TauJet_v2::nShotPFOs ( ) const

Get the number of shot PFO particles associated with this tau.

Definition at line 677 of file TauJet_v2.cxx.

677  {
678  return shotPFOAcc( *this ).size();
679  }

◆ nTracks()

size_t xAOD::TauJet_v2::nTracks ( ) const

Definition at line 393 of file TauJet_v2.cxx.

393  {
394  return trackAcc( *this ).size();
395  }

◆ nWideTracks()

size_t xAOD::TauJet_v2::nWideTracks ( ) const

Get the number of track particles associated with this tau.

Definition at line 527 of file TauJet_v2.cxx.

527  {
528  return wideTrackAcc( *this ).size();
529  }

◆ otherTrack()

const TrackParticle* xAOD::TauJet_v2::otherTrack ( size_t  i) const

Get the pointer to a given track associated with this tau.

◆ otherTrackLinks()

const TrackParticleLinks_t& xAOD::TauJet_v2::otherTrackLinks ( ) const

◆ p4() [1/2]

TauJet_v2::FourMom_t xAOD::TauJet_v2::p4 ( ) const
virtual

The full 4-momentum of the particle.

Implements xAOD::IParticle.

Definition at line 105 of file TauJet_v2.cxx.

105  {
106  FourMom_t p4;
107  p4.SetPtEtaPhiM( pt(), eta(), phi(),m());
108  return p4;
109  }

◆ p4() [2/2]

TauJet_v2::FourMom_t xAOD::TauJet_v2::p4 ( const TauJetParameters::TauCalibType  calib) const
virtual

Definition at line 115 of file TauJet_v2.cxx.

115  {
116  FourMom_t p4;
117  switch(calib) {
119  p4.SetPtEtaPhiM( ptJetSeed(), etaJetSeed(), phiJetSeed(), mJetSeed());
120  break;
123  break;
126  break;
129  break;
131  p4.SetPtEtaPhiM( ptTauEtaCalib(), etaTauEtaCalib(), phiTauEtaCalib(), mTauEtaCalib());
132  break;
133  // case TauJetParameters::PanTauEFlowRecProto:
134  // p4.SetPtEtaPhiM( ptPanTauEFlowRecProto(), etaPanTauEFlowRecProto(), phiPanTauEFlowRecProto(), mPanTauEFlowRecProto());
135  // break;
136  // case TauJetParameters::PanTauEFlowRec:
137  // p4.SetPtEtaPhiM( ptPanTauEFlowRec(), etaPanTauEFlowRec(), phiPanTauEFlowRec(), mPanTauEFlowRec());
138  // break;
141  break;
144  break;
147  break;
148  default:
149  p4.SetPtEtaPhiM( pt(), eta(), phi(), m());
150  }
151 
152  return p4;
153  }

◆ panTauDetail() [1/3]

template<class T >
xAODTAU_return_type<T>::type xAOD::TauJet_v2::panTauDetail ( TauJetParameters::PanTauDetails  panTauDetail) const
inline

Definition at line 199 of file TauJet_v2.h.

200  {
201  T temp;
202  if (this->panTauDetail(panTauDetail,temp)) return temp;
203  else return 0;
204  }

◆ panTauDetail() [2/3]

bool xAOD::TauJet_v2::panTauDetail ( TauJetParameters::PanTauDetails  panTauDetail,
float value 
) const

Definition at line 355 of file TauJet_v2.cxx.

355  {
356  // Get the panTauDetail accessor:
357  const Accessor< float >* acc = xAODTau::panTauDetailsAccessorV2<float>( panTauDetail );
358  if( ! acc ) return false;
359  if( ! acc->isAvailable( *this ) ) return false;
360 
361  // Retrieve the panTauDetail value:
362  value = ( *acc )( *this );
363  return true;
364  }

◆ panTauDetail() [3/3]

bool xAOD::TauJet_v2::panTauDetail ( TauJetParameters::PanTauDetails  panTauDetail,
int value 
) const

Get and set values of pantau details variables via enum.

Definition at line 341 of file TauJet_v2.cxx.

341  {
342  // Get the panTauDetail accessor:
343  const Accessor< int >* acc = xAODTau::panTauDetailsAccessorV2<int>( panTauDetail );
344  if( ! acc ) return false;
345  if( ! acc->isAvailable( *this ) ) return false;
346 
347  // Retrieve the panTauDetail value:
348  value = ( *acc )( *this );
349  return true;
350  }

◆ phi()

virtual double xAOD::TauJet_v2::phi ( ) const
virtual

The azimuthal angle ( \(\phi\)) of the particle.

Implements xAOD::IParticle.

◆ phiDetectorAxis()

double xAOD::TauJet_v2::phiDetectorAxis ( ) const

◆ phiIntermediateAxis()

double xAOD::TauJet_v2::phiIntermediateAxis ( ) const

◆ phiJetSeed()

double xAOD::TauJet_v2::phiJetSeed ( ) const

◆ phiPanTauCellBased()

double xAOD::TauJet_v2::phiPanTauCellBased ( ) const

◆ phiPanTauCellBasedProto()

double xAOD::TauJet_v2::phiPanTauCellBasedProto ( ) const

◆ phiTauEnergyScale()

double xAOD::TauJet_v2::phiTauEnergyScale ( ) const

◆ phiTauEtaCalib()

double xAOD::TauJet_v2::phiTauEtaCalib ( ) const

◆ phiTrigCaloOnly()

double xAOD::TauJet_v2::phiTrigCaloOnly ( ) const

◆ pi0ConeDR()

float xAOD::TauJet_v2::pi0ConeDR ( ) const

◆ pi0PFO()

const PFO* xAOD::TauJet_v2::pi0PFO ( size_t  i) const

Get the pointer to a given pi0 PFO associated with this tau.

◆ pi0PFOLinks()

const PFOLinks_t& xAOD::TauJet_v2::pi0PFOLinks ( ) const

◆ protoChargedPFO()

const PFO* xAOD::TauJet_v2::protoChargedPFO ( size_t  i) const

Get the pointer to a given cellbased_charged PFO associated with this tau.

◆ protoChargedPFOLinks()

const PFOLinks_t& xAOD::TauJet_v2::protoChargedPFOLinks ( ) const

cellbased pfos

◆ protoNeutralPFO()

const PFO* xAOD::TauJet_v2::protoNeutralPFO ( size_t  i) const

Get the pointer to a given cellbased_neutral PFO associated with this tau.

◆ protoNeutralPFOLinks()

const PFOLinks_t& xAOD::TauJet_v2::protoNeutralPFOLinks ( ) const

◆ protoPi0PFO()

const PFO* xAOD::TauJet_v2::protoPi0PFO ( size_t  i) const

Get the pointer to a given cellbased_pi0 PFO associated with this tau.

◆ protoPi0PFOLinks()

const PFOLinks_t& xAOD::TauJet_v2::protoPi0PFOLinks ( ) const

◆ pt()

virtual double xAOD::TauJet_v2::pt ( ) const
virtual

The transverse momentum ( \(p_T\)) of the particle.

Implements xAOD::IParticle.

◆ ptDetectorAxis()

double xAOD::TauJet_v2::ptDetectorAxis ( ) const

◆ ptIntermediateAxis()

double xAOD::TauJet_v2::ptIntermediateAxis ( ) const

◆ ptJetSeed()

double xAOD::TauJet_v2::ptJetSeed ( ) const

◆ ptPanTauCellBased()

double xAOD::TauJet_v2::ptPanTauCellBased ( ) const

◆ ptPanTauCellBasedProto()

double xAOD::TauJet_v2::ptPanTauCellBasedProto ( ) const

◆ ptTauEnergyScale()

double xAOD::TauJet_v2::ptTauEnergyScale ( ) const

◆ ptTauEtaCalib()

double xAOD::TauJet_v2::ptTauEtaCalib ( ) const

◆ ptTrigCaloOnly()

double xAOD::TauJet_v2::ptTrigCaloOnly ( ) const

◆ rapidity()

double xAOD::TauJet_v2::rapidity ( ) const
virtual

The true rapidity (y) of the particle.

Implements xAOD::IParticle.

Definition at line 101 of file TauJet_v2.cxx.

101  {
102  return genvecP4().Rapidity();
103  }

◆ releasePrivateStore()

void SG::AuxElement::releasePrivateStore ( )
inherited

Release and free any private store associated with this object.

ExcBadPrivateStore will be thrown if this object does not have a private store.

Definition at line 190 of file AuxElement.cxx.

191 {
192  if (hadPrivateData()) {
193  // We had a private store, but it was released because this object
194  // was added to a container. Just forget about it.
196  return;
197  }
198 
199  if (!havePrivateData() ||
200  !m_container ||
201  typeid(*m_container) != typeid(AuxElementPrivateData))
202  {
203  throw SG::ExcBadPrivateStore ("no private store exists");
204  }
205 
208  delete m_container;
209  m_container = 0;
210 }

◆ releasePrivateStoreForDtor()

void SG::AuxElement::releasePrivateStoreForDtor ( )
privateinherited

Out-of-line portion of destructor.

Delete a private store if we have one.

Definition at line 398 of file AuxElement.cxx.

399 {
400 #ifdef ATHCONTAINERS_R21_COMPAT
401  if (havePrivateData()) {
402  delete m_container;
403  }
404 #else
406 #endif
407 }

◆ ROIWord()

unsigned int xAOD::TauJet_v2::ROIWord ( ) const

the ROIWord, in case TauJet is used in EF trigger

◆ secondaryVertex()

const Vertex* xAOD::TauJet_v2::secondaryVertex ( ) const

◆ secondaryVertexLink()

const VertexLink_t& xAOD::TauJet_v2::secondaryVertexLink ( ) const

◆ setCharge()

void xAOD::TauJet_v2::setCharge ( float  )

◆ setChargedPFOLinks()

void xAOD::TauJet_v2::setChargedPFOLinks ( const PFOLinks_t chargedPFOs)

◆ setConstStore()

void SG::AuxElement::setConstStore ( const SG::IConstAuxStore store)
inherited

Synonym for setStore with IConstAuxStore.

Parameters
storeThe new store.

◆ setDetail() [1/2]

void xAOD::TauJet_v2::setDetail ( TauJetParameters::Detail  detail,
float  value 
)

Definition at line 333 of file TauJet_v2.cxx.

333  {
334  ( *( xAODTau::detailsAccessorV2<float>( detail ) ) )( *this ) = value;
335  }

◆ setDetail() [2/2]

void xAOD::TauJet_v2::setDetail ( TauJetParameters::Detail  detail,
int  value 
)

Definition at line 326 of file TauJet_v2.cxx.

326  {
327  ( *( xAODTau::detailsAccessorV2<int>( detail ) ) )( *this ) = value;
328  }

◆ setDiscriminant()

void xAOD::TauJet_v2::setDiscriminant ( TauJetParameters::TauID  discID,
double  disc 
)

Set value of discriminant.

Parameters
discIDdiscriminant id requested
discdiscriminant value

Definition at line 248 of file TauJet_v2.cxx.

248  {
249  ( *( xAODTau::discriminantAccessorV2( discriminant ) ) )( *this ) = value;
250  return;
251  }

◆ setFlag()

void xAOD::TauJet_v2::setFlag ( TauJetParameters::VetoFlags  flag,
bool  value 
)

Set veto flag.

Parameters
flagflag to set
valuevalue to set

Definition at line 276 of file TauJet_v2.cxx.

278  {
279  static const Accessor< uint32_t > acc( "vetoFlags" );
280  std::bitset<32> vetoFlags( acc( *this ) );
281  vetoFlags[flag] = value;
282  acc( *this ) = vetoFlags.to_ulong();
283  }

◆ setHadPrivateData()

void SG::IAuxElement::setHadPrivateData ( )
privateinherited

Record that this element used to have private data.

◆ setHadronicPFOLinks()

void xAOD::TauJet_v2::setHadronicPFOLinks ( const PFOLinks_t hadronicPFOs)

◆ setHavePrivateData()

void SG::IAuxElement::setHavePrivateData ( )
privateinherited

Record that this element currently has private data.

◆ setIndex()

void SG::AuxElement::setIndex ( size_t  index,
SG::AuxVectorData container 
)
privateinherited

Set the index/container for this element.

Parameters
indexThe index of this object within the container.
containerThe container holding this object. May be null if this object is being removed from a container.

Usually this simply sets the index and container members of this object. However, in the case where this object has an associated private store, then we need to deal with releasing the store if the object is being added to a container, or making a new store if the object is being removed from a container.

◆ setIndexPrivate()

bool SG::AuxElement::setIndexPrivate ( size_t  index,
SG::AuxVectorData container 
)
privateinherited

Set the index/container for this element.

Parameters
indexThe index of this object within the container.
containerThe container holding this object. May be null if this object is being removed from a container.

This is called from setIndex when we have a private store to deal with.

Definition at line 462 of file AuxElement.cxx.

463 {
464 #ifdef ATHCONTAINERS_R21_COMPAT
465  if (hadPrivateData()) {
466  // We had a private store, but it was released because we were added
467  // to a container.
468 
469  if (container == 0) {
470  // We're being moved out of the container. Make a new private
471  // store, copy the data, and switch to it.
472  auto privateData = new SG::AuxElementPrivateData;
473  AuxElement to (privateData, 0);
474  to.copyAux (*this);
477  m_container = privateData;
478  return true;
479  }
480  }
481  else if (havePrivateData() &&
482  typeid(*m_container) == typeid(AuxElementPrivateData))
483  {
484  // We currently have a private store.
485 
486  if (container != 0 && container != m_container) {
487  // We're being added to a container.
488  // Aux data has already been copied.
489  // Release private store.
492  delete m_container;
494  return false;
495  }
496  }
497  else {
498  // We have a standalone store.
499  throw SG::ExcBadPrivateStore ("Attempt to add/remove a standalone object "
500  "from a container.");
501  }
502 
505  return false;
506 #else
508 #endif
509 }

◆ setIsTau()

void xAOD::TauJet_v2::setIsTau ( TauJetParameters::IsTauFlag  flag,
bool  value 
)

Set Flag for tau acceptance based on predefined arbitrary criteria.

Parameters
flagflag to set
valuevalue to set

Definition at line 264 of file TauJet_v2.cxx.

266  {
267  static const Accessor< uint32_t > acc( "isTauFlags" );
268  std::bitset<32> isTauFlags( acc( *this ) );
269  isTauFlags[flag] = value;
270  acc( *this ) = isTauFlags.to_ulong();
271  }

◆ setJet()

void xAOD::TauJet_v2::setJet ( const xAOD::JetContainer cont,
const xAOD::Jet jet 
)

Definition at line 582 of file TauJet_v2.cxx.

582  {
583  if( jetAcc( *this ).isValid() )
584  jetAcc( *this ).reset();
585  jetAcc( *this ).toContainedElement( *cont, jet );
586  }

◆ setJetLink()

void xAOD::TauJet_v2::setJetLink ( const JetLink_t jetLink)

◆ setNeutralPFOLinks()

void xAOD::TauJet_v2::setNeutralPFOLinks ( const PFOLinks_t neutralPFOs)

◆ setNonConstStore()

void SG::AuxElement::setNonConstStore ( SG::IAuxStore store)
inherited

Synonym for setStore with IAuxStore.

Parameters
storeThe new store.

◆ setNoPrivateData()

void SG::IAuxElement::setNoPrivateData ( )
privateinherited

Record that this element does not have private data.

◆ setOtherTrackLinks()

void xAOD::TauJet_v2::setOtherTrackLinks ( const TrackParticleLinks_t trackParticles)

◆ setP4() [1/2]

bool xAOD::TauJet_v2::setP4 ( const TauJetParameters::TauCalibType  calib,
double  pt,
double  eta,
double  phi,
double  m 
)

Definition at line 194 of file TauJet_v2.cxx.

194  {
195  TauJetCalibTypeMapper_v1 typeMapper;
196  std::string calibString = "";
197  bool result = typeMapper.getValue(calib, calibString);
198  if (result) {
199  Accessor< float > accTauPtCalib( "pt"+calibString );
200  Accessor< float > accTauEtaCalib( "eta"+calibString );
201  Accessor< float > accTauPhiCalib( "phi"+calibString );
202  Accessor< float > accTauMCalib( "m"+calibString );
203  accTauPtCalib( *this )=pt;
204  accTauEtaCalib( *this )=eta;
205  accTauPhiCalib( *this )=phi;
206  accTauMCalib( *this )=m;
207  return true;
208  }
209  else {
210  return false;
211  }
212  }

◆ setP4() [2/2]

void xAOD::TauJet_v2::setP4 ( double  pt,
double  eta,
double  phi,
double  m 
)

Set methods for IParticle values.

Definition at line 183 of file TauJet_v2.cxx.

183  {
184  static const Accessor< float > acc1( "pt" );
185  static const Accessor< float > acc2( "eta" );
186  static const Accessor< float > acc3( "phi" );
187  static const Accessor< float > acc4( "m" );
188  acc1( *this )=pt;
189  acc2( *this )=eta;
190  acc3( *this )=phi;
191  acc4( *this )=m;
192  }

◆ setPanTauDetail() [1/2]

void xAOD::TauJet_v2::setPanTauDetail ( TauJetParameters::PanTauDetails  panTauDetail,
float  value 
)

Definition at line 376 of file TauJet_v2.cxx.

376  {
377  ( *( xAODTau::panTauDetailsAccessorV2<float>( panTauDetail ) ) )( *this ) = value;
378  }

◆ setPanTauDetail() [2/2]

void xAOD::TauJet_v2::setPanTauDetail ( TauJetParameters::PanTauDetails  panTauDetail,
int  value 
)

Definition at line 369 of file TauJet_v2.cxx.

369  {
370  ( *( xAODTau::panTauDetailsAccessorV2<int>( panTauDetail ) ) )( *this ) = value;
371  }

◆ setPi0ConeDR()

void xAOD::TauJet_v2::setPi0ConeDR ( float  )

◆ setPi0PFOLinks()

void xAOD::TauJet_v2::setPi0PFOLinks ( const PFOLinks_t pi0PFOs)

◆ setProtoChargedPFOLinks()

void xAOD::TauJet_v2::setProtoChargedPFOLinks ( const PFOLinks_t protoChargedPFOs)

◆ setProtoNeutralPFOLinks()

void xAOD::TauJet_v2::setProtoNeutralPFOLinks ( const PFOLinks_t protoNeutralPFOs)

◆ setProtoPi0PFOLinks()

void xAOD::TauJet_v2::setProtoPi0PFOLinks ( const PFOLinks_t protoPi0PFOs)

◆ setROIWord()

void xAOD::TauJet_v2::setROIWord ( unsigned int  )

◆ setSecondaryVertex()

void xAOD::TauJet_v2::setSecondaryVertex ( const xAOD::VertexContainer cont,
const xAOD::Vertex vertex 
)

Definition at line 624 of file TauJet_v2.cxx.

624  {
625  if( secondaryVertexAcc( *this ).isValid() )
626  secondaryVertexAcc( *this ).reset();
627  secondaryVertexAcc( *this ).toContainedElement( *cont, vertex );
628  }

◆ setSecondaryVertexLink()

void xAOD::TauJet_v2::setSecondaryVertexLink ( const VertexLink_t vertexLink)

◆ setShotPFOLinks()

void xAOD::TauJet_v2::setShotPFOLinks ( const PFOLinks_t shotPFOs)

◆ setStore() [1/3]

void SG::AuxElement::setStore ( const DataLink< SG::IConstAuxStore > &  store)
inherited

Set the store associated with this object.

Parameters
storeThe new store.

If store is nonzero, this adds a standalone store to the object. The object must not be in a container and must not have a private store. If store is zero, this removes a standalone store.

Parameters
storeLink to the new store.

Definition at line 249 of file AuxElement.cxx.

250 {
251  AuxElementStandaloneData* data = setStore1 (store);
252  if (store)
253  data->setStore (store);
254 }

◆ setStore() [2/3]

void SG::AuxElement::setStore ( const SG::IConstAuxStore store)
inherited

Set the store associated with this object.

Parameters
storeThe new store.

If store is nonzero, this adds a standalone store to the object. The object must not be in a container and must not have a private store. If store is zero, this removes a standalone store.

Definition at line 221 of file AuxElement.cxx.

222 {
223  AuxElementStandaloneData* data = setStore1 (store);
224  if (store)
225  data->setStore (store);
226 }

◆ setStore() [3/3]

void SG::AuxElement::setStore ( SG::IAuxStore store)
inherited

Set the store associated with this object.

Parameters
storeThe new store.

If store is nonzero, this adds a standalone store to the object. The object must not be in a container and must not have a private store. If store is zero, this removes a standalone store.

Definition at line 237 of file AuxElement.cxx.

238 {
239  AuxElementStandaloneData* data = setStore1 (store);
240  if (store)
241  data->setStore (store);
242 }

◆ setStore1()

AuxElementStandaloneData * SG::AuxElement::setStore1 ( const SG::IConstAuxStore store)
privateinherited

Set the store associated with this object.

Parameters
storeThe new store.

Helper for setStore. Creates the AuxElementStandaloneData object if needed and returns it.

Parameters
storeThe new store.

Helper for setStore. Creates the @x AuxElementStandaloneData object if needed and returns it.

Definition at line 418 of file AuxElement.cxx.

419 {
420  if (store) {
421  // Want this object be standalone.
422  if (!m_container) {
423  // Not in a container (and no private store). Make a new object.
424  AuxElementStandaloneData* data = new AuxElementStandaloneData;
426  m_container = data;
427  return data;
428  }
429  if (usingStandaloneStore()) {
430  // Standalone --- return existing object.
431  return static_cast<AuxElementStandaloneData*> (container());
432  }
433  // Otherwise, it's an error.
434  throw ExcBadPrivateStore ("Attempt to attach a standalone store to an "
435  "object in a container or with a private store.");
436  }
437 
438  else {
439  // Getting rid of a standalone store.
440  if (usingStandaloneStore()) {
442  delete m_container;
443  m_container = 0;
444  }
445  else if (m_container != 0)
446  throw ExcBadPrivateStore ("Attempt to remove a standalone store from an "
447  "object in a container or with a private store.");
448  return 0;
449  }
450 }

◆ setTrackEtaStrip()

void xAOD::TauJet_v2::setTrackEtaStrip ( unsigned int  numTrack,
float  eta 
)

Definition at line 484 of file TauJet_v2.cxx.

485  {
486  static const Accessor< std::vector <float > > trackEtaStripAcc("trackEtaStrip");
487  std::vector<float>& vec=trackEtaStripAcc(*this);
488  if (vec.size()<numTrack+1)
489  vec.resize(numTrack+1);
490  vec[numTrack]=eta;
491  }

◆ setTrackFilterProngs()

void xAOD::TauJet_v2::setTrackFilterProngs ( int  )

◆ setTrackFilterQuality()

void xAOD::TauJet_v2::setTrackFilterQuality ( int  )

◆ setTrackFlag()

void xAOD::TauJet_v2::setTrackFlag ( const TrackParticle track,
TauJetParameters::TauTrackFlag  flag,
bool  value 
)

Definition at line 436 of file TauJet_v2.cxx.

437  {
438  static const Accessor< std::vector < uint8_t > > trackFlags("trackFlags");
439  std::vector<uint8_t> vec = trackFlags(*this);
440  unsigned int totalTracks = this->nTracks() + this->nWideTracks() + this->nOtherTracks();
441  while (vec.size() < totalTracks) {
442  vec.push_back(0);
443  }
444  for (unsigned int i = 0 ; i < totalTracks ; i++) {
445  const TrackParticle* iterTrack;
446  if (i < this->nTracks()) {
447  iterTrack = this->track(i);
448  }
449  else if (i < this->nTracks() + this->nWideTracks()) {
450  iterTrack = this->wideTrack(i - this->nTracks());
451  }
452  else {
453  iterTrack = this->otherTrack(i - this->nTracks() - this->nWideTracks());
454  }
455  if (track == iterTrack) {
456  std::bitset<8> thisTracksFlags(vec[i]);
457  thisTracksFlags[flag] = value;
458  vec[i] = thisTracksFlags.to_ulong();
459  }
460  }
461  trackFlags(*this) = vec;
462  }

◆ setTrackLinks()

void xAOD::TauJet_v2::setTrackLinks ( const TrackParticleLinks_t trackParticles)

◆ setTrackPhiStrip()

void xAOD::TauJet_v2::setTrackPhiStrip ( unsigned int  numTrack,
float  phi 
)

Definition at line 504 of file TauJet_v2.cxx.

505  {
506  static const Accessor< std::vector <float > > trackPhiStripAcc("trackPhiStrip");
507  std::vector<float>& vec=trackPhiStripAcc(*this);
508  if (vec.size()<numTrack+1)
509  vec.resize(numTrack+1);
510  vec[numTrack]=phi;
511  }

◆ setVertex()

void xAOD::TauJet_v2::setVertex ( const xAOD::VertexContainer cont,
const xAOD::Vertex vertex 
)

Definition at line 603 of file TauJet_v2.cxx.

603  {
604  if( vertexAcc( *this ).isValid() )
605  vertexAcc( *this ).reset();
606  vertexAcc( *this ).toContainedElement( *cont, vertex );
607  }

◆ setVertexLink()

void xAOD::TauJet_v2::setVertexLink ( const VertexLink_t vertexLink)

◆ setWideTrackLinks()

void xAOD::TauJet_v2::setWideTrackLinks ( const TrackParticleLinks_t trackParticles)

◆ shotPFO()

const PFO* xAOD::TauJet_v2::shotPFO ( size_t  i) const

Get the pointer to a given shot PFO associated with this tau.

◆ shotPFOLinks()

const PFOLinks_t& xAOD::TauJet_v2::shotPFOLinks ( ) const

◆ track()

const TrackParticle* xAOD::TauJet_v2::track ( size_t  i) const

Get the pointer to a given track associated with this tau.

◆ trackEtaStrip()

float xAOD::TauJet_v2::trackEtaStrip ( unsigned int  numTrack) const

Definition at line 474 of file TauJet_v2.cxx.

475  {
476  static const Accessor< std::vector <float > > trackEtaStripAcc("trackEtaStrip");
477  const std::vector<float>& vec=trackEtaStripAcc(*this);
478  if (vec.size()<numTrack+1)
479  return -999.0;
480  else
481  return vec[numTrack];
482  }

◆ trackFilterProngs()

int xAOD::TauJet_v2::trackFilterProngs ( ) const

◆ trackFilterQuality()

int xAOD::TauJet_v2::trackFilterQuality ( ) const

◆ trackFlag()

bool xAOD::TauJet_v2::trackFlag ( const TrackParticle track,
TauJetParameters::TauTrackFlag  flag 
) const

Definition at line 409 of file TauJet_v2.cxx.

410  {
411  static const Accessor< std::vector < uint8_t > > trackFlags("trackFlags");
412  std::vector<uint8_t> vec = trackFlags(*this);
413  unsigned int totalTracks = this->nTracks() + this->nWideTracks() + this->nOtherTracks();
414  while (vec.size() < totalTracks) {
415  vec.push_back(0);
416  }
417  for (unsigned int i = 0 ; i < totalTracks ; i++) {
418  const TrackParticle* iterTrack;
419  if (i < this->nTracks()) {
420  iterTrack = this->track(i);
421  }
422  else if (i < this->nTracks() + this->nWideTracks()) {
423  iterTrack = this->wideTrack(i - this->nTracks());
424  }
425  else {
426  iterTrack = this->otherTrack(i - this->nTracks() - this->nWideTracks());
427  }
428  if (track == iterTrack) {
429  std::bitset<8> thisTracksFlags(vec[i]);
430  return thisTracksFlags[flag];
431  }
432  }
433  return false;
434  }

◆ trackIndices()

bool SG::AuxElement::trackIndices ( ) const
inherited

Return true if index tracking is enabled for this object.

Always returns true. Included here to be consistent with AuxVectorBase when standalone objects may be used as template parameters.

◆ trackLinks()

const TrackParticleLinks_t& xAOD::TauJet_v2::trackLinks ( ) const

◆ trackPhiStrip()

float xAOD::TauJet_v2::trackPhiStrip ( unsigned int  numTrack) const

Definition at line 494 of file TauJet_v2.cxx.

495  {
496  static const Accessor< std::vector <float > > trackPhiStripAcc("trackPhiStrip");
497  const std::vector<float>& vec=trackPhiStripAcc(*this);
498  if (vec.size()<numTrack+1)
499  return -999.0;
500  else
501  return vec[numTrack];
502  }

◆ type()

Type::ObjectType xAOD::TauJet_v2::type ( ) const
virtual

The type of the object as a simple enumeration.

Implements xAOD::IParticle.

Definition at line 215 of file TauJet_v2.cxx.

215  {
216  return Type::Tau;
217  }

◆ usingPrivateStore()

bool SG::AuxElement::usingPrivateStore ( ) const
inherited

Test to see if this object is currently using a private store.

Definition at line 260 of file AuxElement.cxx.

261 {
262  return havePrivateData() &&
263  typeid(*m_container) == typeid(AuxElementPrivateData);
264 }

◆ usingStandaloneStore()

bool SG::AuxElement::usingStandaloneStore ( ) const
inherited

Test to see if this object is currently using a standalone store.

Test to see if this object is currently using a private store.

Definition at line 270 of file AuxElement.cxx.

271 {
272  return havePrivateData() &&
273  typeid(*m_container) == typeid(AuxElementStandaloneData);
274 }

◆ vertex()

const Vertex* xAOD::TauJet_v2::vertex ( ) const

◆ vertexLink()

const VertexLink_t& xAOD::TauJet_v2::vertexLink ( ) const

◆ wideTrack()

const TrackParticle* xAOD::TauJet_v2::wideTrack ( size_t  i) const

Get the pointer to a given track associated with this tau.

◆ wideTrackLinks()

const TrackParticleLinks_t& xAOD::TauJet_v2::wideTrackLinks ( ) const

Member Data Documentation

◆ m_container

const SG::AuxVectorData* SG::ConstAuxElement::m_container
privateinherited

The container of which this object is an element.

Should be null if this object is not within a container, except that it may also point at a private store.

Definition at line 298 of file AuxElement.h.

◆ m_index

size_t SG::IAuxElement::m_index
privateinherited

The index of this element within its container.

Should be 0 if this object is not within a container.

Definition at line 128 of file IAuxElement.h.

◆ m_privateStoreState

PrivateStoreState SG::IAuxElement::m_privateStoreState
privateinherited

Definition at line 137 of file IAuxElement.h.

◆ supportsThinning

constexpr bool SG::AuxElement::supportsThinning = true
staticconstexprinherited

Mark that this type supports thinning operations.

See AthContainers/supportsThinning.h and AthenaPoolCnvSvc/T_AthenaPoolCnv.h. Helps guide which pool converter template will be used. If false, the default pool converter will be used rather than the aux store-specific one. Ordinary xAOD type should not touch this, but may be overridden in a derived class to handle certain special cases.

Definition at line 883 of file AuxElement.h.


The documentation for this class was generated from the following files:
python.CaloBCIDAvgAlgConfig.acc3
def acc3
Definition: CaloBCIDAvgAlgConfig.py:68
SG::AuxVectorData::getConstStore
const SG::IConstAuxStore * getConstStore() const
Return the current store, as a const interface.
beamspotman.r
def r
Definition: beamspotman.py:676
store
StoreGateSvc * store
Definition: fbtTestBasics.cxx:69
xAOD::TauJet_v2::mJetSeed
double mJetSeed() const
SG::ConstAuxElement::getAuxIDs
const SG::auxid_set_t & getAuxIDs() const
Return a set of identifiers for existing data items for this object.
Definition: AuxElement.cxx:152
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
xAOD::TauJet_v2::ptTauEnergyScale
double ptTauEnergyScale() const
xAOD::name
name
Definition: TriggerMenuJson_v1.cxx:29
xAOD::TauJet_v2::otherTrack
const TrackParticle * otherTrack(size_t i) const
Get the pointer to a given track associated with this tau.
xAOD::TauJet_v2::nOtherTracks
size_t nOtherTracks() const
Get the number of track particles associated with this tau.
Definition: TauJet_v2.cxx:554
get_generator_info.result
result
Definition: get_generator_info.py:21
xAOD::TauJet_v2::GenVecFourMom_t
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > GenVecFourMom_t
Base 4 Momentum type for taus.
Definition: TauJet_v2.h:66
xAOD::TauJet_v2::mDetectorAxis
double mDetectorAxis() const
xAOD::TauJet_v2::phiTauEtaCalib
double phiTauEtaCalib() const
xAOD::TauJetParameters::PanTauCellBasedProto
@ PanTauCellBasedProto
Definition: TauDefs.h:343
xAOD::TauJet_v2::etaTauEtaCalib
double etaTauEtaCalib() const
xAOD::TauJetParameters::IntermediateAxis
@ IntermediateAxis
Definition: TauDefs.h:338
xAOD::TauJet_v2::etaTrigCaloOnly
double etaTrigCaloOnly() const
xAOD::TauJet_v2::wideTrack
const TrackParticle * wideTrack(size_t i) const
Get the pointer to a given track associated with this tau.
xAOD::TauJet_v2::vertex
const Vertex * vertex() const
SG::AuxTypeRegistry::instance
static AuxTypeRegistry & instance()
Return the singleton registry instance.
Definition: AuxTypeRegistry.cxx:49
SG::Accessor< float >
SG::AuxVectorData::getWritableAuxIDs
const SG::auxid_set_t & getWritableAuxIDs() const
Return a set of identifiers for writable data items in this store.
Definition: AuxVectorData.cxx:217
index
Definition: index.py:1
xAOD::TauJet_v2::ptTauEtaCalib
double ptTauEtaCalib() const
SG::AuxElement::copyAux
void copyAux(const ConstAuxElement &other)
Copy aux data from another object.
Definition: AuxElement.cxx:561
xAOD::TauJet_v2::mTrigCaloOnly
double mTrigCaloOnly() const
SG::ConstAuxElement::m_container
const SG::AuxVectorData * m_container
The container of which this object is an element.
Definition: AuxElement.h:298
xAOD::TauJet_v2::ptPanTauCellBasedProto
double ptPanTauCellBasedProto() const
xAOD::TauJet_v2::mTauEnergyScale
double mTauEnergyScale() const
SG::AuxVectorData::hasNonConstStore
bool hasNonConstStore() const
Return true if this object has an associated non-const store.
xAOD::TauJet_v2::phiTauEnergyScale
double phiTauEnergyScale() const
athena.value
value
Definition: athena.py:122
SG::AuxElement::usingStandaloneStore
bool usingStandaloneStore() const
Test to see if this object is currently using a standalone store.
Definition: AuxElement.cxx:270
xAOD::TauJetParameters::TauEtaCalib
@ TauEtaCalib
Definition: TauDefs.h:340
detail
Definition: extract_histogram_tag.cxx:14
SG::ConstAuxElement::setIndexPrivate
bool setIndexPrivate(size_t index, const SG::AuxVectorData *container)
Set the index/container for this element.
Definition: AuxElement.cxx:96
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
SG::ExcConstAuxData
Exception — Non-const operation performed on const aux data.
Definition: Control/AthContainers/AthContainers/exceptions.h:77
SG::IAuxElement::setNoPrivateData
void setNoPrivateData()
Record that this element does not have private data.
xAOD::xAODTau::discriminantAccessorV2
const SG::AuxElement::Accessor< float > * discriminantAccessorV2(xAOD::TauJetParameters::TauID discriminant)
Helper function for managing accessors to id input and output variables defined as enums in TauDefs....
xAOD::TauJetParameters::ipSigLeadTrk
@ ipSigLeadTrk
Definition: TauDefs.h:160
xAOD::TauJetParameters::JetSeed
@ JetSeed
Definition: TauDefs.h:336
SG::AuxVectorData::getAuxIDs
const SG::auxid_set_t & getAuxIDs() const
Return a set of identifiers for existing data items in store associated with this object.
Definition: AuxVectorData.cxx:201
xAOD::TauJet_v2::phiPanTauCellBased
double phiPanTauCellBased() const
xAOD::IParticle::FourMom_t
TLorentzVector FourMom_t
Definition of the 4-momentum type.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:68
SG::AuxTypeRegistry
Handle mappings between names and auxid_t.
Definition: AuxTypeRegistry.h:62
xAOD::TauJet_v2::detail
bool detail(TauJetParameters::Detail detail, int &value) const
Get and set values of common details variables via enum.
Definition: TauJet_v2.cxx:298
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition: Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
xAOD::TauJet_v2::etaIntermediateAxis
double etaIntermediateAxis() const
xAOD::TauJet_v2::ptIntermediateAxis
double ptIntermediateAxis() const
SG::IAuxElement::index
size_t index() const
Return the index of this element within its container.
CxxUtils::vec
typename vecDetail::vec_typedef< T, N >::type vec
Define a nice alias for the vectorized type.
Definition: vec.h:207
SG::IAuxElement::setHadPrivateData
void setHadPrivateData()
Record that this element used to have private data.
SG::auxid_t
size_t auxid_t
Identifier for a particular aux data item.
Definition: AuxTypes.h:27
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
xAOD::TauJet_v2::discriminant
double discriminant(TauJetParameters::TauID discID) const
Get value of discriminant.
Definition: TauJet_v2.cxx:236
xAOD::TauJet_v2::phiJetSeed
double phiJetSeed() const
lumiFormat.i
int i
Definition: lumiFormat.py:92
xAOD::TauJet_v2::pt
virtual double pt() const
The transverse momentum ( ) of the particle.
SG::AuxElement::clearAux
void clearAux()
Clear all aux data associated with this element.
Definition: AuxElement.cxx:535
SG::AuxElement::AuxElement
AuxElement()
Default constructor.
python.CaloBCIDAvgAlgConfig.acc1
def acc1
Definition: CaloBCIDAvgAlgConfig.py:48
SG::IAuxElement::havePrivateData
bool havePrivateData() const
True if this element currently has private data.
xAOD::TauJet_v2::etaPanTauCellBased
double etaPanTauCellBased() const
SG::AuxVectorData::getStore
SG::IAuxStore * getStore()
Return the current store, as a non-const interface.
python.CaloBCIDAvgAlgConfig.acc2
def acc2
Definition: CaloBCIDAvgAlgConfig.py:58
xAOD::TauJet_v2::ptDetectorAxis
double ptDetectorAxis() const
AthenaPoolTestRead.acc
acc
Definition: AthenaPoolTestRead.py:16
SG::AuxElementPrivateData
Internal data container for private store.
Definition: AuxElement.cxx:45
xAOD::TauJet_v2::flag
bool flag(TauJetParameters::VetoFlags flag) const
Get veto flag.
Definition: TauJet_v2.cxx:285
xAOD::TauJet_v2::panTauDetail
bool panTauDetail(TauJetParameters::PanTauDetails panTauDetail, int &value) const
Get and set values of pantau details variables via enum.
Definition: TauJet_v2.cxx:341
xAOD::TauJetParameters::PanTauCellBased
@ PanTauCellBased
Definition: TauDefs.h:344
xAOD::TauJet_v2::mTauEtaCalib
double mTauEtaCalib() const
xAOD::TauJet_v2::nWideTracks
size_t nWideTracks() const
Get the number of track particles associated with this tau.
Definition: TauJet_v2.cxx:527
xAOD::TauJetParameters::numTopoClusters
@ numTopoClusters
get number of topocluster constituents of jet associated to tau candidate
Definition: TauDefs.h:173
SG::AuxVectorData::hasStore
bool hasStore() const
Return true if this object has an associated store.
python.LArRecUtilsConfig.acc4
def acc4
Definition: LArRecUtilsConfig.py:196
xAOD::TauJet_v2::ptJetSeed
double ptJetSeed() const
xAOD::TauJetParameters::TauEnergyScale
@ TauEnergyScale
Definition: TauDefs.h:339
xAOD::TauJet_v2::etaTauEnergyScale
double etaTauEnergyScale() const
xAOD::TauJet_v2::etaDetectorAxis
double etaDetectorAxis() const
xAOD::TauJet_v2::mIntermediateAxis
double mIntermediateAxis() const
xAOD::TauJet_v2::track
const TrackParticle * track(size_t i) const
Get the pointer to a given track associated with this tau.
xAOD::TauJet_v2::genvecP4
GenVecFourMom_t genvecP4() const
The full 4-momentum of the particle : internal taus type.
Definition: TauJet_v2.cxx:111
SG::IAuxElement::setHavePrivateData
void setHavePrivateData()
Record that this element currently has private data.
SG::AuxVectorData::clearCache
void clearCache()
Clear the cached aux data pointers.
xAOD::TauJet_v2::m
virtual double m() const
The invariant mass of the particle.
xAOD::TauJet_v2::mPanTauCellBased
double mPanTauCellBased() const
SG::AuxElement::makePrivateStore
void makePrivateStore()
Create a new (empty) private store for this object.
Definition: AuxElement.cxx:172
xAOD::TauJet_v2::phiTrigCaloOnly
double phiTrigCaloOnly() const
xAOD::TauJetParameters::TrigCaloOnly
@ TrigCaloOnly
Definition: TauDefs.h:345
xAOD::TauJet_v2::etaPanTauCellBasedProto
double etaPanTauCellBasedProto() const
PlotSFuncertainty.calib
calib
Definition: PlotSFuncertainty.py:110
xAOD::IParticle::IParticle
IParticle()=default
SG::IAuxElement::setIndex
void setIndex(size_t index)
Set the index of this element within its container.
xAOD::TauJet_v2::eta
virtual double eta() const
The pseudorapidity ( ) of the particle.
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
SG::AuxVectorData::clearDecorations
bool clearDecorations() const
Clear all decorations.
Definition: AuxVectorData.cxx:593
xAOD::TauJet_v2::phiIntermediateAxis
double phiIntermediateAxis() const
xAOD::TauJet_v2::ptPanTauCellBased
double ptPanTauCellBased() const
SG::ExcBadPrivateStore
Exception — Bad use of private store.
Definition: Control/AthContainers/AthContainers/exceptions.h:113
xAOD::TauJet_v2::nTracks
size_t nTracks() const
Definition: TauJet_v2.cxx:393
xAOD::TauJet_v2::p4
virtual FourMom_t p4() const
The full 4-momentum of the particle.
Definition: TauJet_v2.cxx:105
xAODType::Tau
@ Tau
The object is a tau (jet)
Definition: ObjectType.h:49
xAOD::TauJet_v2::phiDetectorAxis
double phiDetectorAxis() const
SG::auxid_set_t
A set of aux data identifiers.
Definition: AuxTypes.h:47
xAOD::TauJet_v2::ptTrigCaloOnly
double ptTrigCaloOnly() const
SG::AuxVectorData
Manage lookup of vectors of auxiliary data.
Definition: AuxVectorData.h:167
ATLAS_THREAD_SAFE
#define ATLAS_THREAD_SAFE
Definition: checker_macros.h:211
SG::ConstAuxElement::releasePrivateStoreForDtor
void releasePrivateStoreForDtor()
Out-of-line portion of destructor.
Definition: AuxElement.cxx:79
SG::AuxElement::container
const SG::AuxVectorData * container() const
Return the container holding this element.
xAOD::TauJetParameters::DetectorAxis
@ DetectorAxis
Definition: TauDefs.h:337
xAOD::TauJet_v2::etaJetSeed
double etaJetSeed() const
xAOD::TauJet_v2::mPanTauCellBasedProto
double mPanTauCellBasedProto() const
SG::IAuxElement::hadPrivateData
bool hadPrivateData() const
True if this element had private data before it was added to its current container.
xAOD::TauJet_v2::phi
virtual double phi() const
The azimuthal angle ( ) of the particle.
SG::IConstAuxStore::getAuxIDs
virtual const SG::auxid_set_t & getAuxIDs() const =0
Return a set of identifiers for existing data items in this store.
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
SG::AuxElement::setStore1
AuxElementStandaloneData * setStore1(const SG::IConstAuxStore *store)
Set the store associated with this object.
Definition: AuxElement.cxx:418
xAOD::TauJet_v2::phiPanTauCellBasedProto
double phiPanTauCellBasedProto() const