|
ATLAS Offline Software
|
Go to the documentation of this file.
32 p4.SetPtEtaPhiM(
pt(), eta(),
phi(),
m());
78 return ( *jetAcc( *
this ) );
83 if( jetAcc( *this ).isValid() )
84 jetAcc( *this ).reset();
85 jetAcc( *this ).toContainedElement( *cont,
jet );
95 const std::vector<float>& vPt = subjetPtAcc(*
this);
96 if (vPt.size()<numSubjet+1)
99 return vPt[numSubjet];
105 const std::vector<float>& vEta = subjetEtaAcc(*
this);
106 if (vEta.size()<numSubjet+1)
109 return vEta[numSubjet];
115 const std::vector<float>& vPhi = subjetPhiAcc(*
this);
116 if (vPhi.size()<numSubjet+1)
119 return vPhi[numSubjet];
125 const std::vector<float>& vE = subjetEAcc(*
this);
126 if (vE.size()<numSubjet+1)
129 return vE[numSubjet];
135 const std::vector<float>& vPt = subjetPtAcc(*
this);
140 float pt,
float eta,
float phi,
float e)
146 std::vector<float>& vPt = subjetPtAcc(*
this);
147 std::vector<float>& vEta = subjetEtaAcc(*
this);
148 std::vector<float>& vPhi = subjetPhiAcc(*
this);
149 std::vector<float>& vE = subjetEAcc(*
this);
150 if (vPt.size()<numSubjet+1)
151 vPt.resize(numSubjet+1);
152 if (vEta.size()<numSubjet+1)
153 vEta.resize(numSubjet+1);
154 if (vPhi.size()<numSubjet+1)
155 vPhi.resize(numSubjet+1);
156 if (vE.size()<numSubjet+1)
157 vE.resize(numSubjet+1);
160 vEta[numSubjet] =
eta;
161 vPhi[numSubjet] =
phi;
171 const std::vector<float>&
vec = fCoreAcc(*
this);
172 if (
vec.size()<numSubjet+1)
175 return vec[numSubjet];
181 std::vector<float>&
vec = fCoreAcc(*
this);
182 if (
vec.size()<numSubjet+1)
183 vec.resize(numSubjet+1);
200 return ( *vertexAcc( *
this ) );
205 if( vertexAcc( *this ).isValid() )
206 vertexAcc( *this ).reset();
207 vertexAcc( *this ).toContainedElement( *cont,
vertex );
255 return ( *trackAcc( *
this )[
i ] );
259 return trackAcc( *this ).size();
267 trackAcc( *this ).push_back( linkToTrackParticle );
273 trackAcc( *this ).clear();
287 return ( *isoTrackAcc( *
this )[
i ] );
291 return isoTrackAcc( *this ).size();
299 isoTrackAcc( *this ).push_back( linkToIsoTrackParticle );
305 isoTrackAcc( *this ).clear();
319 return ( *otherTrackAcc( *
this )[
i ] );
323 return otherTrackAcc( *this ).size();
331 otherTrackAcc( *this ).push_back( linkToOtherTrackParticle );
337 otherTrackAcc( *this ).clear();
348 if( ! acc )
return false;
349 if( ! acc->isAvailable( *
this ) )
return false;
352 value = ( *acc )( *this );
362 if( ! acc )
return false;
363 if( ! acc->isAvailable( *
this ) )
return false;
366 value = ( *acc )( *this );
376 throw std::runtime_error (
"DiTauJet_v1::setDetail: bad detail code");
378 (*acc)(*this) =
value;
387 throw std::runtime_error (
"DiTauJet_v1::setDetail: bad detail code");
389 (*acc)(*this) =
value;
390 ( *( 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