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);
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 );
233 trackAcc( *this ).push_back( linkToTrackParticle );
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;
Scalar eta() const
pseudorapidity method
#define AUXSTORE_PRIMITIVE_GETTER_WITH_CAST(CL, PERSTYPE, TRANSTYPE, NAME)
Macro creating a getter function with a type conversion.
#define AUXSTORE_OBJECT_SETTER_AND_GETTER(CL, TYPE, NAME, SETTER)
Macro creating the accessors of complex auxiliary properties.
std::vector< size_t > vec
ElementLink implementation for ROOT usage.
bool toContainedElement(BaseConstReference data, ElementType element, IProxyDict *sg=0)
Set from element pointer and a reference to the container (storable)
Helper class to provide type-safe access to aux data.
size_t nOtherTracks() const
ElementLink< xAOD::VertexContainer > VertexLink_t
const TrackParticle * track(size_t i) const
virtual FourMom_t p4() const
The full 4-momentum of the particle.
void setP4(double pt, double eta, double phi, double m)
Set methods for IParticle values.
virtual double e() const
The total energy of the particle.
virtual double eta() const
The pseudorapidity ( ) of the particle.
virtual double m() const
The invariant mass of the particle.
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > GenVecFourMom_t
Base 4 Momentum type for taus.
void setDetail(DiTauJetParameters::Detail detail, int value)
virtual double rapidity() const
The true rapidity (y) of the particle.
float fCore(unsigned int numSubjet) const
void clearIsoTrackLinks()
float subjetEta(unsigned int numSubjet) const
bool detail(DiTauJetParameters::Detail detail, int &value) const
Get and set values of common details variables via enum.
virtual double pt() const
The transverse momentum ( ) of the particle.
const TrackParticle * isoTrack(size_t i) const
const TrackParticle * otherTrack(size_t i) const
void clearOtherTrackLinks()
ElementLink< xAOD::JetContainer > JetLink_t
float subjetE(unsigned int numSubjet) const
GenVecFourMom_t genvecP4() const
The full 4-momentum of the particle : internal taus type.
void setSubjetPtEtaPhiE(unsigned int numSubjet, float pt, float eta, float phi, float e)
virtual Type::ObjectType type() const
The type of the object as a simple enumeration.
float subjetPt(unsigned int numSubjet) const
void addOtherTrack(const xAOD::TrackParticleContainer *, const xAOD::TrackParticle *)
void setJet(const xAOD::JetContainer *cont, const xAOD::Jet *jet)
float subjetPhi(unsigned int numSubjet) const
std::vector< ElementLink< xAOD::TrackParticleContainer > > TrackParticleLinks_t
virtual double phi() const
The azimuthal angle ( ) of the particle.
DiTauJet_v1()
Default constructor.
const Vertex * vertex() const
void setfCore(unsigned int numSubjet, float fCore)
void addTrack(const xAOD::TrackParticleContainer *, const xAOD::TrackParticle *)
size_t nIsoTracks() const
void addIsoTrack(const xAOD::TrackParticleContainer *, const xAOD::TrackParticle *)
void setVertex(const xAOD::VertexContainer *cont, const xAOD::Vertex *vertex)
TLorentzVector FourMom_t
Definition of the 4-momentum type.
SG::Accessor< T, ALLOC > Accessor
void reset()
Function making sure that the object is ready for persistification.
const SG::Accessor< float > * detailsAccessorV1< float >(xAOD::DiTauJetParameters::Detail detail)
const SG::Accessor< int > * detailsAccessorV1< int >(xAOD::DiTauJetParameters::Detail detail)
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Jet_v1 Jet
Definition of the current "jet version".
static const SG::AuxElement::Accessor< Vertex_v1::TrackParticleLinks_t > trackAcc("trackParticleLinks")
Accessor for the track links.
setRcore setEtHad setFside pt
TrackParticle_v1 TrackParticle
Reference the current persistent version:
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
Vertex_v1 Vertex
Define the latest version of the vertex class.
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
static const SG::AuxElement::Accessor< ElementLink< IParticleContainer > > acc("originalObjectLink")
Object used for setting/getting the dynamic decoration in question.
JetContainer_v1 JetContainer
Definition of the current "jet container version".