ATLAS Offline Software
Loading...
Searching...
No Matches
TrigBphys_v1.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
5*/
6
7// $Id: TrigBphys_v1.h 696633 2015-09-24 14:59:50Z jwalder $
8#ifndef XAODTRIGBPHYS_VERSIONS_TRIGBPHYS_V1_H
9#define XAODTRIGBPHYS_VERSIONS_TRIGBPHYS_V1_H
10
11// System include(s):
12extern "C" {
13# include <stdint.h>
14}
15#include <vector>
16#include <string>
17
18// xAOD include(s):
22
23// athena includes
24#include "AthLinks/ElementLink.h"
26
27namespace xAOD {
28
29 // forward declarations, so that we can use TrigBphysContainer_v1 in TrigBphys_v1
30 class TrigBphys_v1;
32
45
46 public:
48 enum pType {
49 PHIKK = 0,
51 BMUMU = 2,
52 BMUMUX = 3,
53 JPSIEE = 4,
56 BKMUMU = 7,
59 LBLMUMU = 10,
61 // added JW: 21/09/15 for 2016 edm running
62 LAMBDAPIP = 12, // Lambda^0 -> pi- p
63 BCDPMUMU = 13, // B_c -> D+ mu mu
64 BCDSTMUMU = 14, // B_c -> D*+ mu mu
65 OMEGALAMK = 15, // Omega- -> Lambda^0 K-
66 XILAMPI = 16, // Xi- -> Lambda^0 pi-
67 DSTDZPI = 17, // D*+ -> D0 pi+
68 DZMUKX = 18, // D0 -> mu+ K- X
69 DZKPI = 19, // D0 -> K- pi+
70 DPKPIPI = 20, // D+ -> K- pi+ pi+
71 BCPIMUMU = 21, // B_c+ -> pi+ mu mu
72 LBPQMUMU = 22, // Lambda_b0 -> P_c+(-> J/psi p) K-, pentaquark states
73 B2D0MUX = 23, // B+ -> mu+ nu_mu anti-D0(-> K+ pi-)
74 BD2DMMUX = 24, // B0 -> mu+ nu_mu D-(->K+ pi- pi-)
75 BD2DSTMUX = 25, // B0 -> mu+ nu_mu D*-(->anti-D0(->K+ pi-) pi-)
76 BS2DSMUX = 26, // B_s0 -> mu+ nu_mu D_s-(->phi(->K+ K-) pi-)
77 LB2LCMUX = 27, // anti-Lambda_b0 -> mu+ nu_mu anti-Lambda_c-(-> anti-p K+ pi-)
78 BHH = 28, // B0 or B_s0 -> h+ h-, h = pi, K
80 };
81
85 L2 = 2,
86 EF = 3,
87 HLT = 4,
89 };
90
93
94 //**clone method, essentially a replacement for a copy constructor*/
95 void clone(const TrigBphys_v1 &rhs);
96
97 //** initialise with defaults. Attempt to call this after creating a particle */
98 void initialise();
99
100 //** initialise with given parameters */
101 void initialise(uint32_t roi, float eta, float phi, float pt,
103 float mass, levelType level);
104 void initialise(uint32_t roi, float eta, float phi, pType particleType,
105 float mass, levelType level);
108 void initialise(uint32_t roi, float eta, float phi, float pt,
112 void initialise(uint32_t roi, float eta, float phi, pType particleType,
115
116 bool operator==(const TrigBphys_v1& rhs) const;
117 bool operator!=(const TrigBphys_v1& rhs) const {return !((*this)==rhs);}
118
126 float eta() const;
128 float phi() const;
130 float pt() const;
132 float mass() const;
134 float fitmass() const;
136 float fitchi2() const;
138 int fitndof() const;
140 float fitx() const;
142 float fity() const;
144 float fitz() const;
145
147 float lxy () const;
149 float lxyError() const;
151 float tau () const;
153 float tauError() const;
155 float fitmassError() const;
156
161
163 const std::vector< ElementLink< xAOD::TrackParticleContainer > >&
167 const std::vector< ElementLink< TrackParticleContainer > >& links );
169 size_t nTrackParticles() const;
171 const xAOD::TrackParticle* trackParticle( size_t i ) const;
172
174 void setEta (float);
176 void setPhi (float);
178 void setMass(float);
180 void setPt(float);
181
189 void setFitmass(float FitMass);
191 void setFitchi2(float FitChi2);
193 void setFitndof(int FitNdof);
195 void setFitx(float FitX);
197 void setFity(float FitY);
199 void setFitz(float FitZ);
204
206 void setLxy (float v);
208 void setLxyError(float v);
210 void setTau (float v);
212 void setTauError(float v);
214 void setFitmassError(float v);
215
216
218 const std::vector< uint32_t > & vecRoiIds() const;
220 void setVecRoiIds(const std::vector< uint32_t >& roiIds );
222 size_t nVecRoiIds() const;
224 uint32_t vecRoiId( size_t i ) const;
226
227
228
230 const TrigBphys_v1* lowerChain() const;
235
237 const std::vector< ElementLink< xAOD::IParticleContainer > >&
240 void setParticleLinks(const std::vector< ElementLink< IParticleContainer > >& links );
242 size_t nParticles() const;
244 const xAOD::IParticle* particle( size_t i ) const;
246
247 TrigBphys_v1& operator=(const TrigBphys_v1 & rhs) = default;
248 private:
249 //** Copy constructor */
250 TrigBphys_v1(const TrigBphys_v1 & rhs) = delete;
251
252 }; // TrigBphys
253
254} // namespace AOD
255
256#endif // XAODTRIGBPHYS_VERSIONS_TRIGBPHYS_V1_H
Scalar eta() const
pseudorapidity method
Base class for elements of a container that can have aux data.
An STL vector of pointers that by default owns its pointed-to elements.
Base class for elements of a container that can have aux data.
Definition AuxElement.h:484
Class providing the definition of the 4-vector interface.
Class describing a Bphysics online composite object.
int fitndof() const
accessor method: ndof from vertex fit
void setPhi(float)
Set the azimuth angle of the object.
float tau() const
accessor method: tau
void setFitchi2(float FitChi2)
set method: chi2 from vertex fit
size_t nTrackParticles() const
Number of tracks used to make particle.
void setTau(float v)
set method: tau
void setParticleType(pType type)
set method: particle type
void addParticleLink(const ElementLink< xAOD::IParticleContainer > &particle)
add a track to the vector of particles
void addTrackParticleLink(const ElementLink< xAOD::TrackParticleContainer > &track)
set method: add track to particle
float pt() const
accessor method: pt
void setFitx(float FitX)
set method: x position of vertex
uint32_t roiId() const
accessor method: ID of L1 RoI
void setFity(float FitY)
set method: y position of vertex
uint32_t vecRoiId(size_t i) const
Get the Nth roiId.
void setRoiId(uint32_t id)
set method: roiId
float eta() const
accessor method: eta
pType particleType() const
accessor method: particle Type
float tauError() const
accessor method: tau uncertainty
const ElementLink< TrigBphysContainer_v1 > & lowerChainLink() const
accessor method: lowerChain decay particle
size_t nParticles() const
Number of tracks used to make particle.
void setSecondaryDecayLink(const ElementLink< xAOD::TrigBphysContainer_v1 > &link)
set method: link to secondary decay particle
const TrigBphys_v1 * secondaryDecay() const
accessor method: secondary decay particle
const xAOD::TrackParticle * trackParticle(size_t i) const
Get the Nth track's pointer.
void addVecRoiId(uint32_t roiId)
add a roiId to the vector
void setParticleLinks(const std::vector< ElementLink< IParticleContainer > > &links)
Set the track particle links on the object.
float phi() const
accessor method: phi
const std::vector< ElementLink< xAOD::IParticleContainer > > & particleLinks() const
accessor method:vector of tracks used to make particle
levelType
enum to describe the level this object is operating at
float fitchi2() const
accessor method: chi2 from vertex fit
void setFitndof(int FitNdof)
set method: ndof from vertex fit
void setVecRoiIds(const std::vector< uint32_t > &roiIds)
Set the track particle links on the object.
void setFitz(float FitZ)
set method: z position of vertex
bool operator!=(const TrigBphys_v1 &rhs) const
const TrigBphys_v1 * lowerChain() const
accessor method: lowerChain decay particle
float lxy() const
accessor method: lxy
void clone(const TrigBphys_v1 &rhs)
const ElementLink< TrigBphysContainer_v1 > & secondaryDecayLink() const
accessor method: secondary decay particle
void setTauError(float v)
set method: tauError
float fitx() const
accessor method: x position of vertex
void setPt(float)
Set the pT of the object.
void setLxy(float v)
set method: lxy
void setFitmass(float FitMass)
set method: mass from vertex fit
size_t nVecRoiIds() const
Number of tracks used to make particle.
void setFitmassError(float v)
set method: fitmassError
float fitz() const
accessor method: z position of vertex
float fitmass() const
accessor method: mass from vertex fit
void setLevel(levelType type)
set method: level type
const std::vector< ElementLink< xAOD::TrackParticleContainer > > & trackParticleLinks() const
accessor method:vector of tracks used to make particle
float lxyError() const
accessor method: lxy uncertainty
const std::vector< uint32_t > & vecRoiIds() const
accessor method:vector of tracks used to make particle
float mass() const
accessor method: mass
float fitmassError() const
accessor method: fitmass uncertainty
void setEta(float)
Set the pseudorapidity of the object.
const xAOD::IParticle * particle(size_t i) const
Get the Nth track's pointer.
void setMass(float)
Set the mass of the object.
TrigBphys_v1(const TrigBphys_v1 &rhs)=delete
pType
enum for different particle types
TrigBphys_v1()
Default constructor.
float fity() const
accessor method: y position of vertex
TrigBphys_v1 & operator=(const TrigBphys_v1 &rhs)=default
levelType level() const
accessor method: level Type
void setTrackParticleLinks(const std::vector< ElementLink< TrackParticleContainer > > &links)
Set the track particle links on the object.
void setLowerChainLink(const ElementLink< xAOD::TrigBphysContainer_v1 > &link)
set method: link to lowerChain decay particle
void setLxyError(float v)
set method: lxyError
bool operator==(const TrigBphys_v1 &rhs) const
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
setStrategy setMatchFlag ElementLink< TrackParticleContainer >
setRcore setEtHad setFside pt
TrackParticle_v1 TrackParticle
Reference the current persistent version:
DataVector< xAOD::TrigBphys_v1 > TrigBphysContainer_v1
Declare the em/tau RoI container type.
setEventNumber uint32_t