|
ATLAS Offline Software
|
Go to the documentation of this file.
91 return genvecP4().E();
186 std::string calibString =
"";
193 accTauPtCalib( *
this )=
pt;
194 accTauEtaCalib( *
this )=
eta;
195 accTauPhiCalib( *
this )=
phi;
196 accTauMCalib( *
this )=
m;
219 return acc !=
nullptr;
229 if( ! acc )
return -1111.0;
232 return ( *acc )( *this );
250 std::bitset<32> isTauFlags( acc( *
this ) );
251 return isTauFlags[
flag];
258 std::bitset<32> isTauFlags( acc( *
this ) );
260 acc( *
this ) = isTauFlags.to_ulong();
270 std::bitset<32> vetoFlags( acc( *
this ) );
272 acc( *
this ) = vetoFlags.to_ulong();
279 std::bitset<32> vetoFlags( acc( *
this ) );
280 return vetoFlags[
flag];
291 if( ! acc )
return false;
292 if( ! acc->isAvailable( *
this ) )
return false;
295 value = ( *acc )( *this );
305 if( ! acc )
return false;
306 if( ! acc->isAvailable( *
this ) )
return false;
309 value = ( *acc )( *this );
317 ( *( xAODTau::detailsAccessorV1<int>(
detail ) ) )( *this ) =
value;
324 ( *( xAODTau::detailsAccessorV1<float>(
detail ) ) )( *this ) =
value;
334 if( ! acc )
return false;
335 if( ! acc->isAvailable( *
this ) )
return false;
338 value = ( *acc )( *this );
348 if( ! acc )
return false;
349 if( ! acc->isAvailable( *
this ) )
return false;
352 value = ( *acc )( *this );
367 ( *( xAODTau::panTauDetailsAccessorV1<float>(
panTauDetail ) ) )( *this ) =
value;
384 return ( *trackAcc( *
this )[
i ] );
388 return trackAcc( *this ).size();
393 trackAcc( *this ).push_back( tr );
398 trackAcc( *this ).clear();
406 const std::vector<int>&
vec=trackPassAcc(*
this);
407 if (
vec.size()<numTrack+1)
410 return vec[numTrack];
416 std::vector<int>&
vec=trackPassAcc(*
this);
417 if (
vec.size()<numTrack+1)
418 vec.resize(numTrack+1);
435 const std::vector<float>&
vec=trackEtaStripAcc(*
this);
436 if (
vec.size()<numTrack+1)
439 return vec[numTrack];
445 std::vector<float>&
vec=trackEtaStripAcc(*
this);
446 if (
vec.size()<numTrack+1)
447 vec.resize(numTrack+1);
455 const std::vector<float>&
vec=trackPhiStripAcc(*
this);
456 if (
vec.size()<numTrack+1)
459 return vec[numTrack];
465 std::vector<float>&
vec=trackPhiStripAcc(*
this);
466 if (
vec.size()<numTrack+1)
467 vec.resize(numTrack+1);
476 conversionTrackLinks,
477 setConversionTrackLinks )
482 return ( *convTrackAcc( *
this )[
i ] );
486 return convTrackAcc( *this ).size();
491 convTrackAcc( *this ).push_back( tr );
496 convTrackAcc( *this ).clear();
509 return ( *wideTrackAcc( *
this )[
i ] );
513 return wideTrackAcc( *this ).size();
518 wideTrackAcc( *this ).push_back( tr );
523 wideTrackAcc( *this ).clear();
536 return ( *otherTrackAcc( *
this )[
i ] );
540 return otherTrackAcc( *this ).size();
545 otherTrackAcc( *this ).push_back( tr );
550 otherTrackAcc( *this ).clear();
563 return ( *jetAcc( *
this ) );
568 if( jetAcc( *this ).isValid() )
569 jetAcc( *this ).reset();
570 jetAcc( *this ).toContainedElement( *cont,
jet );
584 return ( *vertexAcc( *
this ) );
589 if( vertexAcc( *this ).isValid() )
590 vertexAcc( *this ).reset();
591 vertexAcc( *this ).toContainedElement( *cont,
vertex );
600 setSecondaryVertexLink )
605 return ( *secondaryVertexAcc( *
this ) );
610 if( secondaryVertexAcc( *this ).isValid() )
611 secondaryVertexAcc( *this ).reset();
612 secondaryVertexAcc( *this ).toContainedElement( *cont,
vertex );
623 setHadronic_PFOLinks )
630 return ( *hadronic_PFOAcc( *
this )[
i ] );
634 return hadronic_PFOAcc( *this ).size();
639 hadronic_PFOAcc( *this ).push_back( pfo );
644 hadronic_PFOAcc( *this ).clear();
659 return ( *shot_PFOAcc( *
this )[
i ] );
663 return shot_PFOAcc( *this ).size();
668 shot_PFOAcc( *this ).push_back( pfo );
673 shot_PFOAcc( *this ).clear();
682 setCharged_PFOLinks )
689 return ( *charged_PFOAcc( *
this )[
i ] );
693 return charged_PFOAcc( *this ).size();
698 charged_PFOAcc( *this ).push_back( pfo );
703 charged_PFOAcc( *this ).clear();
713 setNeutral_PFOLinks )
720 return ( *neutral_PFOAcc( *
this )[
i ] );
724 return neutral_PFOAcc( *this ).size();
729 neutral_PFOAcc( *this ).push_back( pfo );
734 neutral_PFOAcc( *this ).clear();
751 return ( *pi0_PFOAcc( *
this )[
i ] );
755 return pi0_PFOAcc( *this ).size();
760 pi0_PFOAcc( *this ).push_back( pfo );
765 pi0_PFOAcc( *this ).clear();
777 cellBased_Charged_PFOLinks,
778 setCellBased_Charged_PFOLinks )
785 return ( *cellBased_Charged_PFOAcc( *
this )[
i ] );
789 return cellBased_Charged_PFOAcc( *this ).size();
794 cellBased_Charged_PFOAcc( *this ).push_back( pfo );
799 cellBased_Charged_PFOAcc( *this ).clear();
807 cellBased_Neutral_PFOLinks,
808 setCellBased_Neutral_PFOLinks )
815 return ( *cellBased_Neutral_PFOAcc( *
this )[
i ] );
819 return cellBased_Neutral_PFOAcc( *this ).size();
824 cellBased_Neutral_PFOAcc( *this ).push_back( pfo );
829 cellBased_Neutral_PFOAcc( *this ).clear();
838 cellBased_Pi0_PFOLinks,
839 setCellBased_Pi0_PFOLinks )
846 return ( *cellBased_Pi0_PFOAcc( *
this )[
i ] );
850 return cellBased_Pi0_PFOAcc( *this ).size();
855 cellBased_Pi0_PFOAcc( *this ).push_back( pfo );
860 cellBased_Pi0_PFOAcc( *this ).clear();
873 eflowRec_Charged_PFOLinks,
874 setEflowRec_Charged_PFOLinks )
881 return ( *eflowRec_Charged_PFOAcc( *
this )[
i ] );
885 return eflowRec_Charged_PFOAcc( *this ).size();
890 eflowRec_Charged_PFOAcc( *this ).push_back( pfo );
895 eflowRec_Charged_PFOAcc( *this ).clear();
903 eflowRec_Neutral_PFOLinks,
904 setEflowRec_Neutral_PFOLinks )
911 return ( *eflowRec_Neutral_PFOAcc( *
this )[
i ] );
915 return eflowRec_Neutral_PFOAcc( *this ).size();
920 eflowRec_Neutral_PFOAcc( *this ).push_back( pfo );
925 eflowRec_Neutral_PFOAcc( *this ).clear();
934 eflowRec_Pi0_PFOLinks,
935 setEflowRec_Pi0_PFOLinks )
942 return ( *eflowRec_Pi0_PFOAcc( *
this )[
i ] );
946 return eflowRec_Pi0_PFOAcc( *this ).size();
951 eflowRec_Pi0_PFOAcc( *this ).push_back( pfo );
956 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.
double etaJetSeed() const
double etaIntermediateAxis() const
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.
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
bool ptIntermediateAxis(const xAOD::TauJet &tau, double &out)
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)
const SG::AuxElement::Accessor< float > * discriminantAccessorV1(xAOD::TauJetParameters::TauID discriminant)
Helper function for managing accessors to id input and output variables defined as enums in TauDefs....
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.
bool ptDetectorAxis(const xAOD::TauJet &tau, double &out)
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
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