|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
  164     std::string calibString = 
"";
 
  171       accTauPtCalib( *
this )=
pt;
 
  172       accTauEtaCalib( *
this )=
eta;
 
  173       accTauPhiCalib( *
this )=
phi;
 
  174       accTauMCalib( *
this )=
m;
 
  197     return acc != 
nullptr;
 
  207     if( ! acc ) 
return -1111.0;
 
  210     return ( *acc )( *this );
 
  228       std::bitset<32> isTauFlags( acc( *
this ) );
 
  229       return isTauFlags[
flag];
 
  236       std::bitset<32> isTauFlags( acc( *
this ) );
 
  238       acc( *
this ) = isTauFlags.to_ulong();
 
  248       std::bitset<32> vetoFlags( acc( *
this ) );
 
  250       acc( *
this ) = vetoFlags.to_ulong();
 
  257       std::bitset<32> vetoFlags( acc( *
this ) );
 
  258       return vetoFlags[
flag];
 
  269     if( ! acc ) 
return false;
 
  270     if( ! acc->isAvailable( *
this ) ) 
return false;    
 
  273     value = ( *acc )( *this );
 
  283     if( ! acc ) 
return false;
 
  284     if( ! acc->isAvailable( *
this ) ) 
return false;    
 
  287     value = ( *acc )( *this );
 
  295     ( *( xAODTau::detailsAccessorV1<int>( 
detail ) ) )( *this ) = 
value;
 
  302     ( *( xAODTau::detailsAccessorV1<float>( 
detail ) ) )( *this ) = 
value;
 
  312     if( ! acc ) 
return false;
 
  313     if( ! acc->isAvailable( *
this ) ) 
return false;    
 
  316     value = ( *acc )( *this );
 
  326     if( ! acc ) 
return false;
 
  327     if( ! acc->isAvailable( *
this ) ) 
return false;    
 
  330     value = ( *acc )( *this );
 
  345     ( *( xAODTau::panTauDetailsAccessorV1<float>( 
panTauDetail ) ) )( *this ) = 
value;
 
  362    return ( *trackAcc( *
this )[ 
i ] );
 
  366    return trackAcc( *this ).size();
 
  371    trackAcc( *this ).push_back( tr );
 
  376    trackAcc( *this ).clear();
 
  384     const std::vector<int>& 
vec=trackPassAcc(*
this);
 
  385     if (
vec.size()<numTrack+1)
 
  388       return vec[numTrack];
 
  394     std::vector<int>& 
vec=trackPassAcc(*
this);
 
  395     if (
vec.size()<numTrack+1)
 
  396       vec.resize(numTrack+1); 
 
  413     const std::vector<float>& 
vec=trackEtaStripAcc(*
this);
 
  414     if (
vec.size()<numTrack+1)
 
  417       return vec[numTrack];
 
  423     std::vector<float>& 
vec=trackEtaStripAcc(*
this);
 
  424     if (
vec.size()<numTrack+1)
 
  425       vec.resize(numTrack+1); 
 
  433     const std::vector<float>& 
vec=trackPhiStripAcc(*
this);
 
  434     if (
vec.size()<numTrack+1)
 
  437       return vec[numTrack];
 
  443     std::vector<float>& 
vec=trackPhiStripAcc(*
this);
 
  444     if (
vec.size()<numTrack+1)
 
  445       vec.resize(numTrack+1); 
 
  454                      conversionTrackLinks,
 
  455                      setConversionTrackLinks )
 
  460    return ( *convTrackAcc( *
this )[ 
i ] );
 
  464    return convTrackAcc( *this ).size();
 
  469    convTrackAcc( *this ).push_back( tr );
 
  474    convTrackAcc( *this ).clear();
 
  487    return ( *wideTrackAcc( *
this )[ 
i ] );
 
  491    return wideTrackAcc( *this ).size();
 
  496    wideTrackAcc( *this ).push_back( tr );
 
  501    wideTrackAcc( *this ).clear();
 
  514    return ( *otherTrackAcc( *
this )[ 
i ] );
 
  518    return otherTrackAcc( *this ).size();
 
  523    otherTrackAcc( *this ).push_back( tr );
 
  528    otherTrackAcc( *this ).clear();
 
  541    return ( *jetAcc( *
this ) );
 
  546     if( jetAcc( *this ).isValid() )
 
  547       jetAcc( *this ).reset();
 
  548     jetAcc( *this ).toContainedElement( *cont, 
jet );
 
  562    return ( *vertexAcc( *
this ) );
 
  567     if( vertexAcc( *this ).isValid() )
 
  568       vertexAcc( *this ).reset();
 
  569     vertexAcc( *this ).toContainedElement( *cont, 
vertex );
 
  578                      setSecondaryVertexLink )
 
  583    return ( *secondaryVertexAcc( *
this ) );
 
  588     if( secondaryVertexAcc( *this ).isValid() )
 
  589       secondaryVertexAcc( *this ).reset();
 
  590     secondaryVertexAcc( *this ).toContainedElement( *cont, 
vertex );
 
  601                      setHadronic_PFOLinks )
 
  608    return ( *hadronic_PFOAcc( *
this )[ 
i ] );
 
  612    return hadronic_PFOAcc( *this ).size();
 
  617    hadronic_PFOAcc( *this ).push_back( pfo );
 
  622    hadronic_PFOAcc( *this ).clear();
 
  637    return ( *shot_PFOAcc( *
this )[ 
i ] );
 
  641    return shot_PFOAcc( *this ).size();
 
  646    shot_PFOAcc( *this ).push_back( pfo );
 
  651    shot_PFOAcc( *this ).clear();
 
  660                      setCharged_PFOLinks )
 
  667    return ( *charged_PFOAcc( *
this )[ 
i ] );
 
  671    return charged_PFOAcc( *this ).size();
 
  676    charged_PFOAcc( *this ).push_back( pfo );
 
  681    charged_PFOAcc( *this ).clear();
 
  691                      setNeutral_PFOLinks )
 
  698    return ( *neutral_PFOAcc( *
this )[ 
i ] );
 
  702    return neutral_PFOAcc( *this ).size();
 
  707    neutral_PFOAcc( *this ).push_back( pfo );
 
  712    neutral_PFOAcc( *this ).clear();
 
  729    return ( *pi0_PFOAcc( *
this )[ 
i ] );
 
  733    return pi0_PFOAcc( *this ).size();
 
  738    pi0_PFOAcc( *this ).push_back( pfo );
 
  743    pi0_PFOAcc( *this ).clear();
 
  755                      cellBased_Charged_PFOLinks,
 
  756                      setCellBased_Charged_PFOLinks )
 
  763    return ( *cellBased_Charged_PFOAcc( *
this )[ 
i ] );
 
  767    return cellBased_Charged_PFOAcc( *this ).size();
 
  772    cellBased_Charged_PFOAcc( *this ).push_back( pfo );
 
  777    cellBased_Charged_PFOAcc( *this ).clear();
 
  785                      cellBased_Neutral_PFOLinks,
 
  786                      setCellBased_Neutral_PFOLinks )
 
  793    return ( *cellBased_Neutral_PFOAcc( *
this )[ 
i ] );
 
  797    return cellBased_Neutral_PFOAcc( *this ).size();
 
  802    cellBased_Neutral_PFOAcc( *this ).push_back( pfo );
 
  807    cellBased_Neutral_PFOAcc( *this ).clear();
 
  816                      cellBased_Pi0_PFOLinks,
 
  817                      setCellBased_Pi0_PFOLinks )
 
  824    return ( *cellBased_Pi0_PFOAcc( *
this )[ 
i ] );
 
  828    return cellBased_Pi0_PFOAcc( *this ).size();
 
  833    cellBased_Pi0_PFOAcc( *this ).push_back( pfo );
 
  838    cellBased_Pi0_PFOAcc( *this ).clear();
 
  851                      eflowRec_Charged_PFOLinks,
 
  852                      setEflowRec_Charged_PFOLinks )
 
  859    return ( *eflowRec_Charged_PFOAcc( *
this )[ 
i ] );
 
  863    return eflowRec_Charged_PFOAcc( *this ).size();
 
  868    eflowRec_Charged_PFOAcc( *this ).push_back( pfo );
 
  873    eflowRec_Charged_PFOAcc( *this ).clear();
 
  881                      eflowRec_Neutral_PFOLinks,
 
  882                      setEflowRec_Neutral_PFOLinks )
 
  889    return ( *eflowRec_Neutral_PFOAcc( *
this )[ 
i ] );
 
  893    return eflowRec_Neutral_PFOAcc( *this ).size();
 
  898    eflowRec_Neutral_PFOAcc( *this ).push_back( pfo );
 
  903    eflowRec_Neutral_PFOAcc( *this ).clear();
 
  912                      eflowRec_Pi0_PFOLinks,
 
  913                      setEflowRec_Pi0_PFOLinks )
 
  920    return ( *eflowRec_Pi0_PFOAcc( *
this )[ 
i ] );
 
  924    return eflowRec_Pi0_PFOAcc( *this ).size();
 
  929    eflowRec_Pi0_PFOAcc( *this ).push_back( pfo );
 
  934    eflowRec_Pi0_PFOAcc( *this ).clear();
 
  
double etaPanTauCellBasedProto() const
size_t nEflowRec_Charged_PFOs() const
Get the number of eflowRec_charged PFO particles associated with this tau.
void setVertex(const xAOD::VertexContainer *cont, const xAOD::Vertex *vertex)
AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(BTagging_v1, float, IP2D_pb, setIP2D_pb) AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(BTagging_v1
double phiTauEnergyScale() const
bool flag(TauJetParameters::VetoFlags flag) const
Get veto flag.
virtual double rapidity() const
The true rapidity (y) of the particle.
size_t nTracks() const
Get the number of track particles associated with this tau.
double ptPanTauCellBasedProto() const
const TrackParticle * track(size_t i) const
Get the pointer to a given track associated with this tau.
const TrackParticle * wideTrack(size_t i) const
Get the pointer to a given track associated with this tau.
void addShot_PFOLink(const ElementLink< PFOContainer > &pfo)
add a shot PFO to the tau
VetoFlags
Enum for Veto flags.
double etaPanTauCellBased() const
size_t nEflowRec_Neutral_PFOs() const
Get the number of eflowRec_neutral PFO particles associated with this tau.
bool ptIntermediateAxis(const xAOD::TauJet &tau, float &out)
Scalar eta() const
pseudorapidity method
double etaJetSeed() const
double etaIntermediateAxis() const
bool ptDetectorAxis(const xAOD::TauJet &tau, float &out)
double mDetectorAxis() const
std::vector< ElementLink< xAOD::PFOContainer > > PFOLinks_t
void clearEflowRec_Charged_PFOLinks()
Remove all eflowRec_charged PFOs from the tau.
void addWideTrackLink(const ElementLink< TrackParticleContainer > &tr)
add a track to the tau
void clearHadronic_PFOLinks()
Remove all hadronic PFOs from the tau.
GenVecFourMom_t genvecP4(float qOverP, float thetaT, float phiT, double m)
void addEflowRec_Charged_PFOLink(const ElementLink< PFOContainer > &pfo)
add a eflowRec_charged PFO to the tau
const PFO * eflowRec_Pi0_PFO(size_t i) const
Get the pointer to a given eflowRec_pi0 PFO associated with this tau.
const PFO * cellBased_Pi0_PFO(size_t i) const
Get the pointer to a given cellbased_pi0 PFO associated with this tau.
double mTauEtaCalib() const
void clearOtherTrackLinks()
Remove all tracks from the tau.
double phiDetectorAxis() const
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
const Vertex * vertex() const
std::vector< size_t > vec
void addCharged_PFOLink(const ElementLink< PFOContainer > &pfo)
add a charged PFO to the tau
size_t nShot_PFOs() const
Get the number of shot PFO particles associated with this tau.
double mPanTauCellBasedProto() const
setRcore setEtHad setFside pt
TauID
Enum for discriminants.
Class providing the definition of the 4-vector interface.
bool isTau(TauJetParameters::IsTauFlag flag) const
Get Flag for tau acceptance based on predefined arbitrary criteria.
size_t nOtherTracks() const
Get the number of track particles associated with this tau.
double ptTauEnergyScale() const
void addTrackLink(const ElementLink< TrackParticleContainer > &tr)
add a track to the tau
double discriminant(TauJetParameters::TauID discID) const
Get value of discriminant.
Class describing a tau jet.
void addEflowRec_Pi0_PFOLink(const ElementLink< PFOContainer > &pfo)
add a eflowRec_pi0 PFO to the tau
void clearShot_PFOLinks()
Remove all shot PFOs from the tau.
const TrackParticle * otherTrack(size_t i) const
Get the pointer to a given track associated with this tau.
void setTrackPhiStrip(unsigned int numTrack, float phi)
TLorentzVector FourMom_t
Definition of the 4-momentum type.
void clearEflowRec_Pi0_PFOLinks()
Remove all eflowRec_pi0 PFOs from the tau.
void addConversionTrackLink(const ElementLink< TrackParticleContainer > &tr)
add a track to the tau
virtual double m() const
The invariant mass of the particle.
void addNeutral_PFOLink(const ElementLink< PFOContainer > &pfo)
add a neutral PFO to the tau
const PFO * cellBased_Charged_PFO(size_t i) const
Get the pointer to a given cellbased_charged PFO associated with this tau.
double mTauEnergyScale() const
Detail
Enum for tau parameters - used mainly for backward compatibility with the analysis code.
GenVecFourMom_t genvecP4() const
The full 4-momentum of the particle : internal taus type.
const TrackParticle * conversionTrack(size_t i) const
Get the pointer to a given track associated with this tau.
double ptDetectorAxis() const
void clearCellBased_Neutral_PFOLinks()
Remove all cellbased_neutral PFOs from the tau.
double ptIntermediateAxis() const
void setPanTauDetail(TauJetParameters::PanTauDetails panTauDetail, int value)
bool getValue(TauJetParameters::TauCalibType type, std::string &stringName)
double mPanTauCellBased() const
void addCellBased_Neutral_PFOLink(const ElementLink< PFOContainer > &pfo)
add a cellbased_neutral PFO to the tau
TauCalibType
Enum for tau calib type.
size_t nPi0_PFOs() const
Get the number of pi0 PFO particles associated with this tau.
void setTrackFilterPass(unsigned int numTrack, int pass)
void setSecondaryVertex(const xAOD::VertexContainer *cont, const xAOD::Vertex *vertex)
bool detail(TauJetParameters::Detail detail, int &value) const
Get and set values of common details variables via enum.
void setFlag(TauJetParameters::VetoFlags flag, bool value)
Set veto flag.
AUXSTORE_PRIMITIVE_GETTER_WITH_CAST(Muon_v1, uint8_t, Muon_v1::EnergyLossType, energyLossType) AUXSTORE_PRIMITIVE_SETTER_WITH_CAST(Muon_v1
double phiPanTauCellBased() const
void clearConversionTrackLinks()
Remove all tracks from the tau.
double mIntermediateAxis() const
void setDetail(TauJetParameters::Detail detail, int value)
double phiIntermediateAxis() const
double phiJetSeed() const
double ptPanTauCellBased() const
double etaTauEnergyScale() const
size_t nCellBased_Pi0_PFOs() const
Get the number of cellbased_pi0 PFO particles associated with this tau.
virtual double pt() const
The transverse momentum ( ) of the particle.
void setIsTau(TauJetParameters::IsTauFlag flag, bool value)
Set Flag for tau acceptance based on predefined arbitrary criteria.
void setDiscriminant(TauJetParameters::TauID discID, double disc)
Set value of discriminant.
@ numTopoClusters
get number of topocluster constituents of jet associated to tau candidate
size_t nEflowRec_Pi0_PFOs() const
Get the number of eflowRec_pi0 PFO particles associated with this tau.
size_t nCellBased_Charged_PFOs() const
Get the number of cellbased_charged PFO particles associated with this tau.
void clearCellBased_Pi0_PFOLinks()
Remove all cellbased_pi0 PFOs from the tau.
bool panTauDetail(TauJetParameters::PanTauDetails panTauDetail, int &value) const
Get and set values of pantau details variables via enum.
virtual double eta() const
The pseudorapidity ( ) of the particle.
size_t nWideTracks() const
Get the number of track particles associated with this tau.
ElementLink implementation for ROOT usage.
double etaTauEtaCalib() const
const PFO * eflowRec_Charged_PFO(size_t i) const
Get the pointer to a given eflowRec_charged PFO associated with this tau.
TauJet_v1()
Default constructor.
const PFO * cellBased_Neutral_PFO(size_t i) const
Get the pointer to a given cellbased_neutral PFO associated with this tau.
void clearWideTrackLinks()
Remove all tracks from the tau.
void addOtherTrackLink(const ElementLink< TrackParticleContainer > &tr)
add a track to the tau
std::vector< ElementLink< xAOD::TrackParticleContainer > > TrackParticleLinks_t
const PFO * shot_PFO(size_t i) const
Get the pointer to a given shot PFO associated with this tau.
void clearTrackLinks()
Remove all tracks from the tau.
void addEflowRec_Neutral_PFOLink(const ElementLink< PFOContainer > &pfo)
add a eflowRec_neutral PFO to the tau
virtual Type::ObjectType type() const
The type of the object as a simple enumeration.
double phiTauEtaCalib() const
void clearCharged_PFOLinks()
Remove all charged PFOs from the tau.
void setJet(const xAOD::JetContainer *cont, const xAOD::Jet *jet)
double etaDetectorAxis() const
void setTrackEtaStrip(unsigned int numTrack, float eta)
const PFO * neutral_PFO(size_t i) const
Get the pointer to a given neutral PFO associated with this tau.
void clearNeutral_PFOLinks()
Remove all neutral PFOs from the tau.
PanTauDetails
Enum for tau details (scalar) calculated by pantau.
Class describing a Vertex.
void addPi0_PFOLink(const ElementLink< PFOContainer > &pfo)
add a pi0 PFO to the tau
void addHadronic_PFOLink(const ElementLink< PFOContainer > &pfo)
add a hadronic PFO to the tau
virtual double phi() const
The azimuthal angle ( ) of the particle.
size_t nCellBased_Neutral_PFOs() const
Get the number of cellbased_neutral PFO particles associated with this tau.
virtual FourMom_t p4() const
The full 4-momentum of the particle.
const PFO * hadronic_PFO(size_t i) const
Get the pointer to a given hadronic PFO associated with this tau.
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > GenVecFourMom_t
Base 4 Momentum type for taus.
IsTauFlag
Enum for IsTau flags.
const PFO * eflowRec_Neutral_PFO(size_t i) const
Get the pointer to a given eflowRec_neutral PFO associated with this tau.
double ptTauEtaCalib() const
@ Tau
The object is a tau (jet)
const PFO * charged_PFO(size_t i) const
Get the pointer to a given charged PFO associated with this tau.
size_t nConversionTracks() const
Get the number of track particles associated with this tau.
Class describing a TrackParticle.
size_t nCharged_PFOs() const
Get the number of charged PFO particles associated with this tau.
float trackPhiStrip(unsigned int numTrack) const
ObjectType
Type of objects that have a representation in the xAOD EDM.
void clearCellBased_Charged_PFOLinks()
Remove all cellbased_charged PFOs from the tau.
setBGCode setTAP setLVL2ErrorBits bool
void addCellBased_Pi0_PFOLink(const ElementLink< PFOContainer > &pfo)
add a cellbased_pi0 PFO to the tau
const PFO * pi0_PFO(size_t i) const
Get the pointer to a given pi0 PFO associated with this tau.
int trackFilterPass(unsigned int numTrack) const
const SG::Accessor< float > * discriminantAccessorV1(xAOD::TauJetParameters::TauID discriminant)
Helper function for managing accessors to id input and output variables defined as enums in TauDefs....
void addCellBased_Charged_PFOLink(const ElementLink< PFOContainer > &pfo)
add a cellbased_charged PFO to the tau
void clearPi0_PFOLinks()
Remove all pi0 PFOs from the tau.
void clearEflowRec_Neutral_PFOLinks()
Remove all eflowRec_neutral PFOs from the tau.
size_t nNeutral_PFOs() const
Get the number of neutral PFO particles associated with this tau.
void setP4(double pt, double eta, double phi, double m)
Set methods for IParticle values.
size_t nHadronic_PFOs() const
Get the number of hadronic PFO particles associated with this tau.
AUXSTORE_OBJECT_SETTER_AND_GETTER(CaloRings_v1, RingSetLinks, ringSetLinks, setRingSetLinks) unsigned CaloRings_v1
double phiPanTauCellBasedProto() const
const Vertex * secondaryVertex() const