 |
ATLAS Offline Software
|
Go to the documentation of this file.
31 p4.SetPtEtaPhiM(
pt(), eta(),
phi(),
m());
77 return ( *jetAcc( *
this ) );
82 if( jetAcc( *this ).isValid() )
83 jetAcc( *this ).reset();
84 jetAcc( *this ).toContainedElement( *cont,
jet );
94 const std::vector<float>& vPt = subjetPtAcc(*
this);
95 if (vPt.size()<numSubjet+1)
98 return vPt[numSubjet];
104 const std::vector<float>& vEta = subjetEtaAcc(*
this);
105 if (vEta.size()<numSubjet+1)
108 return vEta[numSubjet];
114 const std::vector<float>& vPhi = subjetPhiAcc(*
this);
115 if (vPhi.size()<numSubjet+1)
118 return vPhi[numSubjet];
124 const std::vector<float>& vE = subjetEAcc(*
this);
125 if (vE.size()<numSubjet+1)
128 return vE[numSubjet];
134 const std::vector<float>& vPt = subjetPtAcc(*
this);
139 float pt,
float eta,
float phi,
float e)
145 std::vector<float>& vPt = subjetPtAcc(*
this);
146 std::vector<float>& vEta = subjetEtaAcc(*
this);
147 std::vector<float>& vPhi = subjetPhiAcc(*
this);
148 std::vector<float>& vE = subjetEAcc(*
this);
149 if (vPt.size()<numSubjet+1)
150 vPt.resize(numSubjet+1);
151 if (vEta.size()<numSubjet+1)
152 vEta.resize(numSubjet+1);
153 if (vPhi.size()<numSubjet+1)
154 vPhi.resize(numSubjet+1);
155 if (vE.size()<numSubjet+1)
156 vE.resize(numSubjet+1);
159 vEta[numSubjet] =
eta;
160 vPhi[numSubjet] =
phi;
170 const std::vector<float>&
vec = fCoreAcc(*
this);
171 if (
vec.size()<numSubjet+1)
174 return vec[numSubjet];
180 std::vector<float>&
vec = fCoreAcc(*
this);
181 if (
vec.size()<numSubjet+1)
182 vec.resize(numSubjet+1);
199 return ( *vertexAcc( *
this ) );
204 if( vertexAcc( *this ).isValid() )
205 vertexAcc( *this ).reset();
206 vertexAcc( *this ).toContainedElement( *cont,
vertex );
221 return ( *trackAcc( *
this )[
i ] );
225 return trackAcc( *this ).size();
233 trackAcc( *this ).push_back( linkToTrackParticle );
239 trackAcc( *this ).clear();
253 return ( *isoTrackAcc( *
this )[
i ] );
257 return isoTrackAcc( *this ).size();
265 isoTrackAcc( *this ).push_back( linkToIsoTrackParticle );
271 isoTrackAcc( *this ).clear();
285 return ( *otherTrackAcc( *
this )[
i ] );
289 return otherTrackAcc( *this ).size();
297 otherTrackAcc( *this ).push_back( linkToOtherTrackParticle );
303 otherTrackAcc( *this ).clear();
314 if( ! acc )
return false;
315 if( ! acc->isAvailable( *
this ) )
return false;
318 value = ( *acc )( *this );
328 if( ! acc )
return false;
329 if( ! acc->isAvailable( *
this ) )
return false;
332 value = ( *acc )( *this );
342 throw std::runtime_error (
"DiTauJet_v1::setDetail: bad detail code");
344 (*acc)(*this) =
value;
353 throw std::runtime_error (
"DiTauJet_v1::setDetail: bad detail code");
355 (*acc)(*this) =
value;
356 ( *( xAODDiTau::detailsAccessorV1<float>(
detail ) ) )( *this ) =
value;
virtual double m() const
The invariant mass of the particle.
void setVertex(const xAOD::VertexContainer *cont, const xAOD::Vertex *vertex)
virtual double pt() const
The transverse momentum ( ) of the particle.
std::vector< ElementLink< xAOD::TrackParticleContainer > > TrackParticleLinks_t
float fCore(unsigned int numSubjet) const
void setJet(const xAOD::JetContainer *cont, const xAOD::Jet *jet)
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > GenVecFourMom_t
Base 4 Momentum type for taus.
bool toContainedElement(BaseConstReference data, ElementType element, IProxyDict *sg=0)
Set from element pointer and a reference to the container (storable)
void clearIsoTrackLinks()
void addOtherTrack(const xAOD::TrackParticleContainer *, const xAOD::TrackParticle *)
void setDetail(DiTauJetParameters::Detail detail, int value)
DiTauJet_v1()
Default constructor.
float subjetPhi(unsigned int numSubjet) const
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
std::vector< size_t > vec
setRcore setEtHad setFside pt
virtual double eta() const
The pseudorapidity ( ) of the particle.
void setP4(double pt, double eta, double phi, double m)
Set methods for IParticle values.
Class providing the definition of the 4-vector interface.
size_t nOtherTracks() const
void clearOtherTrackLinks()
GenVecFourMom_t genvecP4() const
The full 4-momentum of the particle : internal taus type.
void addTrack(const xAOD::TrackParticleContainer *, const xAOD::TrackParticle *)
float subjetE(unsigned int numSubjet) const
TLorentzVector FourMom_t
Definition of the 4-momentum type.
void addIsoTrack(const xAOD::TrackParticleContainer *, const xAOD::TrackParticle *)
virtual double phi() const
The azimuthal angle ( ) of the particle.
const TrackParticle * track(size_t i) const
AUXSTORE_PRIMITIVE_GETTER_WITH_CAST(Muon_v1, uint8_t, Muon_v1::EnergyLossType, energyLossType) AUXSTORE_PRIMITIVE_SETTER_WITH_CAST(Muon_v1
virtual Type::ObjectType type() const
The type of the object as a simple enumeration.
void setfCore(unsigned int numSubjet, float fCore)
float subjetEta(unsigned int numSubjet) const
size_t nIsoTracks() const
ElementLink implementation for ROOT usage.
void setSubjetPtEtaPhiE(unsigned int numSubjet, float pt, float eta, float phi, float e)
bool detail(DiTauJetParameters::Detail detail, int &value) const
Get and set values of common details variables via enum.
Class describing a Vertex.
float subjetPt(unsigned int numSubjet) const
Class describing a TrackParticle.
ObjectType
Type of objects that have a representation in the xAOD EDM.
const TrackParticle * otherTrack(size_t i) const
virtual double rapidity() const
The true rapidity (y) of the particle.
Jet_v1 Jet
Definition of the current "jet version".
const TrackParticle * isoTrack(size_t i) const
const Vertex * vertex() const
virtual double e() const
The total energy of the particle.
AUXSTORE_OBJECT_SETTER_AND_GETTER(CaloRings_v1, RingSetLinks, ringSetLinks, setRingSetLinks) unsigned CaloRings_v1